@gravity-ui/page-constructor 6.3.1 → 6.3.2-alpha.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 (530) hide show
  1. package/README.md +31 -1
  2. package/build/cjs/blocks/Banner/Banner.js +2 -1
  3. package/build/cjs/blocks/Banner/Banner.js.map +1 -1
  4. package/build/cjs/blocks/Banner/index.d.ts +3 -0
  5. package/build/cjs/blocks/Banner/index.js +24 -0
  6. package/build/cjs/blocks/Banner/index.js.map +1 -0
  7. package/build/cjs/blocks/CardLayout/CardLayout.css +1 -0
  8. package/build/cjs/blocks/CardLayout/CardLayout.js +4 -3
  9. package/build/cjs/blocks/CardLayout/CardLayout.js.map +1 -1
  10. package/build/cjs/blocks/CardLayout/index.d.ts +5 -0
  11. package/build/cjs/blocks/CardLayout/index.js +186 -0
  12. package/build/cjs/blocks/CardLayout/index.js.map +1 -0
  13. package/build/cjs/blocks/Companies/Companies.js +2 -1
  14. package/build/cjs/blocks/Companies/Companies.js.map +1 -1
  15. package/build/cjs/blocks/Companies/index.d.ts +3 -0
  16. package/build/cjs/blocks/Companies/index.js +20 -0
  17. package/build/cjs/blocks/Companies/index.js.map +1 -0
  18. package/build/cjs/blocks/ContentLayout/ContentLayout.js +1 -1
  19. package/build/cjs/blocks/ContentLayout/ContentLayout.js.map +1 -1
  20. package/build/cjs/blocks/ContentLayout/index.d.ts +41 -0
  21. package/build/cjs/blocks/ContentLayout/index.js +81 -0
  22. package/build/cjs/blocks/ContentLayout/index.js.map +1 -0
  23. package/build/cjs/blocks/ContentLayout/schema.d.ts +1 -0
  24. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +13 -12
  25. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  26. package/build/cjs/blocks/ExtendedFeatures/index.d.ts +58 -0
  27. package/build/cjs/blocks/ExtendedFeatures/index.js +77 -0
  28. package/build/cjs/blocks/ExtendedFeatures/index.js.map +1 -0
  29. package/build/cjs/blocks/ExtendedFeatures/schema.d.ts +1 -0
  30. package/build/cjs/blocks/ExtendedFeatures/schema.js +1 -0
  31. package/build/cjs/blocks/ExtendedFeatures/schema.js.map +1 -1
  32. package/build/cjs/blocks/FilterBlock/FilterBlock.js +5 -5
  33. package/build/cjs/blocks/FilterBlock/FilterBlock.js.map +1 -1
  34. package/build/cjs/blocks/FilterBlock/index.d.ts +29 -0
  35. package/build/cjs/blocks/FilterBlock/index.js +98 -0
  36. package/build/cjs/blocks/FilterBlock/index.js.map +1 -0
  37. package/build/cjs/blocks/Form/index.d.ts +13 -0
  38. package/build/cjs/blocks/Form/index.js +20 -0
  39. package/build/cjs/blocks/Form/index.js.map +1 -0
  40. package/build/cjs/blocks/Header/dynamic-form.d.ts +2 -0
  41. package/build/cjs/blocks/Header/dynamic-form.js +731 -0
  42. package/build/cjs/blocks/Header/dynamic-form.js.map +1 -0
  43. package/build/cjs/blocks/Header/index.d.ts +20 -0
  44. package/build/cjs/blocks/Header/index.js +34 -0
  45. package/build/cjs/blocks/Header/index.js.map +1 -0
  46. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +2 -1
  47. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  48. package/build/cjs/blocks/HeaderSlider/index.d.ts +32 -0
  49. package/build/cjs/blocks/HeaderSlider/index.js +40 -0
  50. package/build/cjs/blocks/HeaderSlider/index.js.map +1 -0
  51. package/build/cjs/blocks/Icons/Icons.js +8 -6
  52. package/build/cjs/blocks/Icons/Icons.js.map +1 -1
  53. package/build/cjs/blocks/Icons/index.d.ts +20 -0
  54. package/build/cjs/blocks/Icons/index.js +64 -0
  55. package/build/cjs/blocks/Icons/index.js.map +1 -0
  56. package/build/cjs/blocks/Info/index.d.ts +22 -0
  57. package/build/cjs/blocks/Info/index.js +43 -0
  58. package/build/cjs/blocks/Info/index.js.map +1 -0
  59. package/build/cjs/blocks/Map/index.d.ts +12 -0
  60. package/build/cjs/blocks/Map/index.js +19 -0
  61. package/build/cjs/blocks/Map/index.js.map +1 -0
  62. package/build/cjs/blocks/Media/index.d.ts +39 -0
  63. package/build/cjs/blocks/Media/index.js +57 -0
  64. package/build/cjs/blocks/Media/index.js.map +1 -0
  65. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +15 -13
  66. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js.map +1 -1
  67. package/build/cjs/blocks/PromoFeaturesBlock/index.d.ts +22 -0
  68. package/build/cjs/blocks/PromoFeaturesBlock/index.js +49 -0
  69. package/build/cjs/blocks/PromoFeaturesBlock/index.js.map +1 -0
  70. package/build/cjs/blocks/Questions/Questions.js +6 -5
  71. package/build/cjs/blocks/Questions/Questions.js.map +1 -1
  72. package/build/cjs/blocks/Questions/index.d.ts +30 -0
  73. package/build/cjs/blocks/Questions/index.js +49 -0
  74. package/build/cjs/blocks/Questions/index.js.map +1 -0
  75. package/build/cjs/blocks/Share/Share.js +11 -10
  76. package/build/cjs/blocks/Share/Share.js.map +1 -1
  77. package/build/cjs/blocks/Share/index.d.ts +13 -0
  78. package/build/cjs/blocks/Share/index.js +20 -0
  79. package/build/cjs/blocks/Share/index.js.map +1 -0
  80. package/build/cjs/blocks/Slider/Slider.js +12 -10
  81. package/build/cjs/blocks/Slider/Slider.js.map +1 -1
  82. package/build/cjs/blocks/Slider/dynamic-form.d.ts +3 -0
  83. package/build/cjs/blocks/Slider/dynamic-form.js +226 -0
  84. package/build/cjs/blocks/Slider/dynamic-form.js.map +1 -0
  85. package/build/cjs/blocks/Slider/index.d.ts +28 -0
  86. package/build/cjs/blocks/Slider/index.js +47 -0
  87. package/build/cjs/blocks/Slider/index.js.map +1 -0
  88. package/build/cjs/blocks/Table/index.d.ts +18 -0
  89. package/build/cjs/blocks/Table/index.js +32 -0
  90. package/build/cjs/blocks/Table/index.js.map +1 -0
  91. package/build/cjs/blocks/Table/schema.d.ts +1 -0
  92. package/build/cjs/blocks/Table/schema.js +1 -0
  93. package/build/cjs/blocks/Table/schema.js.map +1 -1
  94. package/build/cjs/blocks/Tabs/Tabs.js +4 -4
  95. package/build/cjs/blocks/Tabs/Tabs.js.map +1 -1
  96. package/build/cjs/blocks/Tabs/index.d.ts +17 -0
  97. package/build/cjs/blocks/Tabs/index.js +31 -0
  98. package/build/cjs/blocks/Tabs/index.js.map +1 -0
  99. package/build/cjs/blocks/TestEditorBlock/TestEditorBlock.d.ts +5 -0
  100. package/build/cjs/blocks/TestEditorBlock/TestEditorBlock.js +12 -0
  101. package/build/cjs/blocks/TestEditorBlock/TestEditorBlock.js.map +1 -0
  102. package/build/cjs/blocks/TestEditorBlock/form.d.ts +3 -0
  103. package/build/cjs/blocks/TestEditorBlock/form.js +91 -0
  104. package/build/cjs/blocks/TestEditorBlock/form.js.map +1 -0
  105. package/build/cjs/blocks/TestEditorBlock/index.d.ts +11 -0
  106. package/build/cjs/blocks/TestEditorBlock/index.js +18 -0
  107. package/build/cjs/blocks/TestEditorBlock/index.js.map +1 -0
  108. package/build/cjs/components/BlockBase/BlockBase.css +8 -16
  109. package/build/cjs/components/Image/dynamic-form.d.ts +2 -0
  110. package/build/cjs/components/Image/dynamic-form.js +85 -0
  111. package/build/cjs/components/Image/dynamic-form.js.map +1 -0
  112. package/build/cjs/components/editor/ItemWrap/ItemWrap.css +9 -0
  113. package/build/cjs/components/editor/ItemWrap/ItemWrap.d.ts +6 -0
  114. package/build/cjs/components/editor/ItemWrap/ItemWrap.js +12 -0
  115. package/build/cjs/components/editor/ItemWrap/ItemWrap.js.map +1 -0
  116. package/build/cjs/constructor-items.d.ts +22 -6
  117. package/build/cjs/constructor-items.js +80 -6
  118. package/build/cjs/constructor-items.js.map +1 -1
  119. package/build/cjs/containers/PageConstructor/PageConstructor.d.ts +1 -1
  120. package/build/cjs/containers/PageConstructor/PageConstructor.js +18 -10
  121. package/build/cjs/containers/PageConstructor/PageConstructor.js.map +1 -1
  122. package/build/cjs/containers/PageConstructor/Provider.js +2 -0
  123. package/build/cjs/containers/PageConstructor/Provider.js.map +1 -1
  124. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.css +10 -6
  125. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +3 -1
  126. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  127. package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +7 -6
  128. package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
  129. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts +1 -1
  130. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +2 -1
  131. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js.map +1 -1
  132. package/build/cjs/containers/PageConstructor/components/ConstructorLoadable/ConstructorLoadable.js +2 -1
  133. package/build/cjs/containers/PageConstructor/components/ConstructorLoadable/ConstructorLoadable.js.map +1 -1
  134. package/build/cjs/containers/PageConstructor/components/ConstructorRow/ConstructorRow.js +1 -2
  135. package/build/cjs/containers/PageConstructor/components/ConstructorRow/ConstructorRow.js.map +1 -1
  136. package/build/cjs/context/blockIdContext/blockIdContext.d.ts +2 -2
  137. package/build/cjs/context/blockIdContext/blockIdContext.js +1 -1
  138. package/build/cjs/context/blockIdContext/blockIdContext.js.map +1 -1
  139. package/build/cjs/context/editorStoreContext/PCEditorStoreContext.d.ts +7 -0
  140. package/build/cjs/context/editorStoreContext/PCEditorStoreContext.js +10 -0
  141. package/build/cjs/context/editorStoreContext/PCEditorStoreContext.js.map +1 -0
  142. package/build/cjs/context/editorStoreContext/PCEditorStoreProvider.d.ts +5 -0
  143. package/build/cjs/context/editorStoreContext/PCEditorStoreProvider.js +34 -0
  144. package/build/cjs/context/editorStoreContext/PCEditorStoreProvider.js.map +1 -0
  145. package/build/cjs/context/editorStoreContext/index.d.ts +2 -0
  146. package/build/cjs/context/editorStoreContext/index.js +6 -0
  147. package/build/cjs/context/editorStoreContext/index.js.map +1 -0
  148. package/build/cjs/editor/components/CodeEditor/CodeEditor.d.ts +1 -2
  149. package/build/cjs/editor/components/CodeEditor/CodeEditor.js +5 -6
  150. package/build/cjs/editor/components/CodeEditor/CodeEditor.js.map +1 -1
  151. package/build/cjs/editor/data/templates/test-editor-block.json +18 -0
  152. package/build/cjs/grid/Grid/Grid.css +2 -6
  153. package/build/cjs/hooks/useAnalytics.js +1 -1
  154. package/build/cjs/hooks/useAnalytics.js.map +1 -1
  155. package/build/cjs/hooks/usePCEditorBlockMouseEvents.d.ts +8 -0
  156. package/build/cjs/hooks/usePCEditorBlockMouseEvents.js +50 -0
  157. package/build/cjs/hooks/usePCEditorBlockMouseEvents.js.map +1 -0
  158. package/build/cjs/hooks/usePCEditorBlockSelection.d.ts +2 -0
  159. package/build/cjs/hooks/usePCEditorBlockSelection.js +30 -0
  160. package/build/cjs/hooks/usePCEditorBlockSelection.js.map +1 -0
  161. package/build/cjs/hooks/usePCEditorInitializeEvents.d.ts +7 -0
  162. package/build/cjs/hooks/usePCEditorInitializeEvents.js +63 -0
  163. package/build/cjs/hooks/usePCEditorInitializeEvents.js.map +1 -0
  164. package/build/cjs/hooks/usePCEditorItemWrap.d.ts +10 -0
  165. package/build/cjs/hooks/usePCEditorItemWrap.js +21 -0
  166. package/build/cjs/hooks/usePCEditorItemWrap.js.map +1 -0
  167. package/build/cjs/hooks/usePCEditorStore.d.ts +1 -0
  168. package/build/cjs/hooks/usePCEditorStore.js +13 -0
  169. package/build/cjs/hooks/usePCEditorStore.js.map +1 -0
  170. package/build/cjs/hooks/usePostMessageAPI.d.ts +4 -0
  171. package/build/cjs/hooks/usePostMessageAPI.js +30 -0
  172. package/build/cjs/hooks/usePostMessageAPI.js.map +1 -0
  173. package/build/cjs/models/constructor-items/blocks.d.ts +1 -0
  174. package/build/cjs/models/constructor-items/blocks.js +1 -0
  175. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  176. package/build/cjs/models/constructor.d.ts +4 -1
  177. package/build/cjs/models/constructor.js.map +1 -1
  178. package/build/cjs/models/navigation.d.ts +2 -2
  179. package/build/cjs/models/navigation.js.map +1 -1
  180. package/build/cjs/navigation/components/DesktopNavigation/DesktopNavigation.js +1 -1
  181. package/build/cjs/navigation/components/DesktopNavigation/DesktopNavigation.js.map +1 -1
  182. package/build/cjs/navigation/components/Navigation/Navigation.d.ts +2 -2
  183. package/build/cjs/navigation/components/Navigation/Navigation.js +1 -1
  184. package/build/cjs/navigation/components/Navigation/Navigation.js.map +1 -1
  185. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +4 -1
  186. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  187. package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +4 -1
  188. package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js.map +1 -1
  189. package/build/cjs/navigation/containers/Layout/Layout.css +0 -1
  190. package/build/cjs/navigation/containers/Layout/Layout.js +1 -0
  191. package/build/cjs/navigation/containers/Layout/Layout.js.map +1 -1
  192. package/build/cjs/navigation/models.d.ts +1 -1
  193. package/build/cjs/navigation/models.js.map +1 -1
  194. package/build/cjs/schema/constants.js +2 -0
  195. package/build/cjs/schema/constants.js.map +1 -1
  196. package/build/cjs/schema/index.d.ts +256 -0
  197. package/build/cjs/schema/index.js +12 -6
  198. package/build/cjs/schema/index.js.map +1 -1
  199. package/build/cjs/sub-blocks/BackgroundCard/dynamic-form.d.ts +2 -0
  200. package/build/cjs/sub-blocks/BackgroundCard/dynamic-form.js +82 -0
  201. package/build/cjs/sub-blocks/BackgroundCard/dynamic-form.js.map +1 -0
  202. package/build/cjs/sub-blocks/BackgroundCard/index.d.ts +3 -0
  203. package/build/cjs/sub-blocks/BackgroundCard/index.js +22 -0
  204. package/build/cjs/sub-blocks/BackgroundCard/index.js.map +1 -0
  205. package/build/cjs/sub-blocks/BannerCard/BannerCard.js +2 -1
  206. package/build/cjs/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  207. package/build/cjs/sub-blocks/BannerCard/index.d.ts +3 -0
  208. package/build/cjs/sub-blocks/BannerCard/index.js +24 -0
  209. package/build/cjs/sub-blocks/BannerCard/index.js.map +1 -0
  210. package/build/cjs/sub-blocks/BasicCard/index.d.ts +3 -0
  211. package/build/cjs/sub-blocks/BasicCard/index.js +20 -0
  212. package/build/cjs/sub-blocks/BasicCard/index.js.map +1 -0
  213. package/build/cjs/sub-blocks/Content/index.d.ts +3 -0
  214. package/build/cjs/sub-blocks/Content/index.js +20 -0
  215. package/build/cjs/sub-blocks/Content/index.js.map +1 -0
  216. package/build/cjs/sub-blocks/Content/schema.d.ts +1 -0
  217. package/build/cjs/sub-blocks/Content/schema.js +1 -0
  218. package/build/cjs/sub-blocks/Content/schema.js.map +1 -1
  219. package/build/cjs/sub-blocks/Divider/index.d.ts +3 -0
  220. package/build/cjs/sub-blocks/Divider/index.js +16 -0
  221. package/build/cjs/sub-blocks/Divider/index.js.map +1 -0
  222. package/build/cjs/sub-blocks/ImageCard/ImageCard.js +1 -1
  223. package/build/cjs/sub-blocks/ImageCard/ImageCard.js.map +1 -1
  224. package/build/cjs/sub-blocks/ImageCard/index.d.ts +3 -0
  225. package/build/cjs/sub-blocks/ImageCard/index.js +20 -0
  226. package/build/cjs/sub-blocks/ImageCard/index.js.map +1 -0
  227. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +1 -1
  228. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
  229. package/build/cjs/sub-blocks/LayoutItem/index.d.ts +3 -0
  230. package/build/cjs/sub-blocks/LayoutItem/index.js +26 -0
  231. package/build/cjs/sub-blocks/LayoutItem/index.js.map +1 -0
  232. package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +211 -206
  233. package/build/cjs/sub-blocks/LayoutItem/schema.js +6 -5
  234. package/build/cjs/sub-blocks/LayoutItem/schema.js.map +1 -1
  235. package/build/cjs/sub-blocks/MediaCard/index.d.ts +3 -0
  236. package/build/cjs/sub-blocks/MediaCard/index.js +23 -0
  237. package/build/cjs/sub-blocks/MediaCard/index.js.map +1 -0
  238. package/build/cjs/sub-blocks/PriceCard/index.d.ts +3 -0
  239. package/build/cjs/sub-blocks/PriceCard/index.js +33 -0
  240. package/build/cjs/sub-blocks/PriceCard/index.js.map +1 -0
  241. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  242. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
  243. package/build/cjs/sub-blocks/PriceDetailed/index.d.ts +4 -0
  244. package/build/cjs/sub-blocks/PriceDetailed/index.js +35 -0
  245. package/build/cjs/sub-blocks/PriceDetailed/index.js.map +1 -0
  246. package/build/cjs/sub-blocks/Quote/index.d.ts +3 -0
  247. package/build/cjs/sub-blocks/Quote/index.js +23 -0
  248. package/build/cjs/sub-blocks/Quote/index.js.map +1 -0
  249. package/build/cjs/utils/editor.d.ts +2 -0
  250. package/build/cjs/utils/editor.js +25 -0
  251. package/build/cjs/utils/editor.js.map +1 -0
  252. package/build/cjs/utils/form-generator.d.ts +9 -0
  253. package/build/cjs/utils/form-generator.js +131 -0
  254. package/build/cjs/utils/form-generator.js.map +1 -0
  255. package/build/cjs/utils/index.d.ts +1 -0
  256. package/build/cjs/utils/index.js +1 -0
  257. package/build/cjs/utils/index.js.map +1 -1
  258. package/build/cjs/utils/navigation.d.ts +3 -0
  259. package/build/cjs/utils/navigation.js +14 -0
  260. package/build/cjs/utils/navigation.js.map +1 -0
  261. package/build/esm/blocks/Banner/Banner.js +2 -1
  262. package/build/esm/blocks/Banner/Banner.js.map +1 -1
  263. package/build/esm/blocks/Banner/index.d.ts +3 -0
  264. package/build/esm/blocks/Banner/index.js +21 -0
  265. package/build/esm/blocks/Banner/index.js.map +1 -0
  266. package/build/esm/blocks/CardLayout/CardLayout.css +1 -0
  267. package/build/esm/blocks/CardLayout/CardLayout.js +5 -4
  268. package/build/esm/blocks/CardLayout/CardLayout.js.map +1 -1
  269. package/build/esm/blocks/CardLayout/index.d.ts +5 -0
  270. package/build/esm/blocks/CardLayout/index.js +182 -0
  271. package/build/esm/blocks/CardLayout/index.js.map +1 -0
  272. package/build/esm/blocks/Companies/Companies.js +2 -1
  273. package/build/esm/blocks/Companies/Companies.js.map +1 -1
  274. package/build/esm/blocks/Companies/index.d.ts +3 -0
  275. package/build/esm/blocks/Companies/index.js +17 -0
  276. package/build/esm/blocks/Companies/index.js.map +1 -0
  277. package/build/esm/blocks/ContentLayout/ContentLayout.js +2 -2
  278. package/build/esm/blocks/ContentLayout/ContentLayout.js.map +1 -1
  279. package/build/esm/blocks/ContentLayout/index.d.ts +41 -0
  280. package/build/esm/blocks/ContentLayout/index.js +78 -0
  281. package/build/esm/blocks/ContentLayout/index.js.map +1 -0
  282. package/build/esm/blocks/ContentLayout/schema.d.ts +1 -0
  283. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +14 -13
  284. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  285. package/build/esm/blocks/ExtendedFeatures/index.d.ts +58 -0
  286. package/build/esm/blocks/ExtendedFeatures/index.js +74 -0
  287. package/build/esm/blocks/ExtendedFeatures/index.js.map +1 -0
  288. package/build/esm/blocks/ExtendedFeatures/schema.d.ts +1 -0
  289. package/build/esm/blocks/ExtendedFeatures/schema.js +1 -0
  290. package/build/esm/blocks/ExtendedFeatures/schema.js.map +1 -1
  291. package/build/esm/blocks/FilterBlock/FilterBlock.js +6 -6
  292. package/build/esm/blocks/FilterBlock/FilterBlock.js.map +1 -1
  293. package/build/esm/blocks/FilterBlock/index.d.ts +29 -0
  294. package/build/esm/blocks/FilterBlock/index.js +95 -0
  295. package/build/esm/blocks/FilterBlock/index.js.map +1 -0
  296. package/build/esm/blocks/Form/index.d.ts +13 -0
  297. package/build/esm/blocks/Form/index.js +17 -0
  298. package/build/esm/blocks/Form/index.js.map +1 -0
  299. package/build/esm/blocks/Header/dynamic-form.d.ts +2 -0
  300. package/build/esm/blocks/Header/dynamic-form.js +728 -0
  301. package/build/esm/blocks/Header/dynamic-form.js.map +1 -0
  302. package/build/esm/blocks/Header/index.d.ts +20 -0
  303. package/build/esm/blocks/Header/index.js +31 -0
  304. package/build/esm/blocks/Header/index.js.map +1 -0
  305. package/build/esm/blocks/HeaderSlider/HeaderSlider.js +2 -1
  306. package/build/esm/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  307. package/build/esm/blocks/HeaderSlider/index.d.ts +32 -0
  308. package/build/esm/blocks/HeaderSlider/index.js +37 -0
  309. package/build/esm/blocks/HeaderSlider/index.js.map +1 -0
  310. package/build/esm/blocks/Icons/Icons.js +8 -6
  311. package/build/esm/blocks/Icons/Icons.js.map +1 -1
  312. package/build/esm/blocks/Icons/index.d.ts +20 -0
  313. package/build/esm/blocks/Icons/index.js +61 -0
  314. package/build/esm/blocks/Icons/index.js.map +1 -0
  315. package/build/esm/blocks/Info/index.d.ts +22 -0
  316. package/build/esm/blocks/Info/index.js +40 -0
  317. package/build/esm/blocks/Info/index.js.map +1 -0
  318. package/build/esm/blocks/Map/index.d.ts +12 -0
  319. package/build/esm/blocks/Map/index.js +16 -0
  320. package/build/esm/blocks/Map/index.js.map +1 -0
  321. package/build/esm/blocks/Media/index.d.ts +39 -0
  322. package/build/esm/blocks/Media/index.js +54 -0
  323. package/build/esm/blocks/Media/index.js.map +1 -0
  324. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +15 -13
  325. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js.map +1 -1
  326. package/build/esm/blocks/PromoFeaturesBlock/index.d.ts +22 -0
  327. package/build/esm/blocks/PromoFeaturesBlock/index.js +46 -0
  328. package/build/esm/blocks/PromoFeaturesBlock/index.js.map +1 -0
  329. package/build/esm/blocks/Questions/Questions.js +7 -6
  330. package/build/esm/blocks/Questions/Questions.js.map +1 -1
  331. package/build/esm/blocks/Questions/index.d.ts +30 -0
  332. package/build/esm/blocks/Questions/index.js +46 -0
  333. package/build/esm/blocks/Questions/index.js.map +1 -0
  334. package/build/esm/blocks/Share/Share.js +11 -10
  335. package/build/esm/blocks/Share/Share.js.map +1 -1
  336. package/build/esm/blocks/Share/index.d.ts +13 -0
  337. package/build/esm/blocks/Share/index.js +17 -0
  338. package/build/esm/blocks/Share/index.js.map +1 -0
  339. package/build/esm/blocks/Slider/Slider.js +12 -10
  340. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  341. package/build/esm/blocks/Slider/dynamic-form.d.ts +3 -0
  342. package/build/esm/blocks/Slider/dynamic-form.js +223 -0
  343. package/build/esm/blocks/Slider/dynamic-form.js.map +1 -0
  344. package/build/esm/blocks/Slider/index.d.ts +28 -0
  345. package/build/esm/blocks/Slider/index.js +44 -0
  346. package/build/esm/blocks/Slider/index.js.map +1 -0
  347. package/build/esm/blocks/Table/index.d.ts +18 -0
  348. package/build/esm/blocks/Table/index.js +29 -0
  349. package/build/esm/blocks/Table/index.js.map +1 -0
  350. package/build/esm/blocks/Table/schema.d.ts +1 -0
  351. package/build/esm/blocks/Table/schema.js +1 -0
  352. package/build/esm/blocks/Table/schema.js.map +1 -1
  353. package/build/esm/blocks/Tabs/Tabs.js +5 -5
  354. package/build/esm/blocks/Tabs/Tabs.js.map +1 -1
  355. package/build/esm/blocks/Tabs/index.d.ts +17 -0
  356. package/build/esm/blocks/Tabs/index.js +28 -0
  357. package/build/esm/blocks/Tabs/index.js.map +1 -0
  358. package/build/esm/blocks/TestEditorBlock/TestEditorBlock.d.ts +5 -0
  359. package/build/esm/blocks/TestEditorBlock/TestEditorBlock.js +8 -0
  360. package/build/esm/blocks/TestEditorBlock/TestEditorBlock.js.map +1 -0
  361. package/build/esm/blocks/TestEditorBlock/form.d.ts +3 -0
  362. package/build/esm/blocks/TestEditorBlock/form.js +89 -0
  363. package/build/esm/blocks/TestEditorBlock/form.js.map +1 -0
  364. package/build/esm/blocks/TestEditorBlock/index.d.ts +11 -0
  365. package/build/esm/blocks/TestEditorBlock/index.js +14 -0
  366. package/build/esm/blocks/TestEditorBlock/index.js.map +1 -0
  367. package/build/esm/components/BlockBase/BlockBase.css +8 -16
  368. package/build/esm/components/Image/dynamic-form.d.ts +2 -0
  369. package/build/esm/components/Image/dynamic-form.js +81 -0
  370. package/build/esm/components/Image/dynamic-form.js.map +1 -0
  371. package/build/esm/components/editor/ItemWrap/ItemWrap.css +9 -0
  372. package/build/esm/components/editor/ItemWrap/ItemWrap.d.ts +7 -0
  373. package/build/esm/components/editor/ItemWrap/ItemWrap.js +11 -0
  374. package/build/esm/components/editor/ItemWrap/ItemWrap.js.map +1 -0
  375. package/build/esm/constructor-items.d.ts +22 -6
  376. package/build/esm/constructor-items.js +75 -1
  377. package/build/esm/constructor-items.js.map +1 -1
  378. package/build/esm/containers/PageConstructor/PageConstructor.d.ts +1 -1
  379. package/build/esm/containers/PageConstructor/PageConstructor.js +20 -12
  380. package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
  381. package/build/esm/containers/PageConstructor/Provider.js +2 -0
  382. package/build/esm/containers/PageConstructor/Provider.js.map +1 -1
  383. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.css +10 -6
  384. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +3 -1
  385. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  386. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +7 -6
  387. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
  388. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts +1 -1
  389. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +2 -1
  390. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js.map +1 -1
  391. package/build/esm/containers/PageConstructor/components/ConstructorLoadable/ConstructorLoadable.js +2 -1
  392. package/build/esm/containers/PageConstructor/components/ConstructorLoadable/ConstructorLoadable.js.map +1 -1
  393. package/build/esm/containers/PageConstructor/components/ConstructorRow/ConstructorRow.js +1 -2
  394. package/build/esm/containers/PageConstructor/components/ConstructorRow/ConstructorRow.js.map +1 -1
  395. package/build/esm/context/blockIdContext/blockIdContext.d.ts +2 -2
  396. package/build/esm/context/blockIdContext/blockIdContext.js +1 -1
  397. package/build/esm/context/blockIdContext/blockIdContext.js.map +1 -1
  398. package/build/esm/context/editorStoreContext/PCEditorStoreContext.d.ts +7 -0
  399. package/build/esm/context/editorStoreContext/PCEditorStoreContext.js +6 -0
  400. package/build/esm/context/editorStoreContext/PCEditorStoreContext.js.map +1 -0
  401. package/build/esm/context/editorStoreContext/PCEditorStoreProvider.d.ts +5 -0
  402. package/build/esm/context/editorStoreContext/PCEditorStoreProvider.js +29 -0
  403. package/build/esm/context/editorStoreContext/PCEditorStoreProvider.js.map +1 -0
  404. package/build/esm/context/editorStoreContext/index.d.ts +2 -0
  405. package/build/esm/context/editorStoreContext/index.js +3 -0
  406. package/build/esm/context/editorStoreContext/index.js.map +1 -0
  407. package/build/esm/editor/components/CodeEditor/CodeEditor.d.ts +1 -2
  408. package/build/esm/editor/components/CodeEditor/CodeEditor.js +4 -6
  409. package/build/esm/editor/components/CodeEditor/CodeEditor.js.map +1 -1
  410. package/build/esm/editor/data/templates/test-editor-block.json +18 -0
  411. package/build/esm/grid/Grid/Grid.css +2 -6
  412. package/build/esm/hooks/useAnalytics.js +1 -1
  413. package/build/esm/hooks/useAnalytics.js.map +1 -1
  414. package/build/esm/hooks/usePCEditorBlockMouseEvents.d.ts +8 -0
  415. package/build/esm/hooks/usePCEditorBlockMouseEvents.js +47 -0
  416. package/build/esm/hooks/usePCEditorBlockMouseEvents.js.map +1 -0
  417. package/build/esm/hooks/usePCEditorBlockSelection.d.ts +2 -0
  418. package/build/esm/hooks/usePCEditorBlockSelection.js +27 -0
  419. package/build/esm/hooks/usePCEditorBlockSelection.js.map +1 -0
  420. package/build/esm/hooks/usePCEditorInitializeEvents.d.ts +7 -0
  421. package/build/esm/hooks/usePCEditorInitializeEvents.js +58 -0
  422. package/build/esm/hooks/usePCEditorInitializeEvents.js.map +1 -0
  423. package/build/esm/hooks/usePCEditorItemWrap.d.ts +10 -0
  424. package/build/esm/hooks/usePCEditorItemWrap.js +17 -0
  425. package/build/esm/hooks/usePCEditorItemWrap.js.map +1 -0
  426. package/build/esm/hooks/usePCEditorStore.d.ts +1 -0
  427. package/build/esm/hooks/usePCEditorStore.js +8 -0
  428. package/build/esm/hooks/usePCEditorStore.js.map +1 -0
  429. package/build/esm/hooks/usePostMessageAPI.d.ts +4 -0
  430. package/build/esm/hooks/usePostMessageAPI.js +24 -0
  431. package/build/esm/hooks/usePostMessageAPI.js.map +1 -0
  432. package/build/esm/models/constructor-items/blocks.d.ts +1 -0
  433. package/build/esm/models/constructor-items/blocks.js +1 -0
  434. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  435. package/build/esm/models/constructor.d.ts +4 -1
  436. package/build/esm/models/constructor.js.map +1 -1
  437. package/build/esm/models/navigation.d.ts +2 -2
  438. package/build/esm/models/navigation.js.map +1 -1
  439. package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js +2 -2
  440. package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js.map +1 -1
  441. package/build/esm/navigation/components/Navigation/Navigation.d.ts +2 -2
  442. package/build/esm/navigation/components/Navigation/Navigation.js +1 -1
  443. package/build/esm/navigation/components/Navigation/Navigation.js.map +1 -1
  444. package/build/esm/navigation/components/NavigationItem/NavigationItem.js +4 -1
  445. package/build/esm/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  446. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +4 -1
  447. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js.map +1 -1
  448. package/build/esm/navigation/containers/Layout/Layout.css +0 -1
  449. package/build/esm/navigation/containers/Layout/Layout.js +2 -1
  450. package/build/esm/navigation/containers/Layout/Layout.js.map +1 -1
  451. package/build/esm/navigation/models.d.ts +1 -1
  452. package/build/esm/navigation/models.js.map +1 -1
  453. package/build/esm/schema/constants.js +2 -0
  454. package/build/esm/schema/constants.js.map +1 -1
  455. package/build/esm/schema/index.d.ts +256 -0
  456. package/build/esm/schema/index.js +11 -5
  457. package/build/esm/schema/index.js.map +1 -1
  458. package/build/esm/sub-blocks/BackgroundCard/dynamic-form.d.ts +2 -0
  459. package/build/esm/sub-blocks/BackgroundCard/dynamic-form.js +79 -0
  460. package/build/esm/sub-blocks/BackgroundCard/dynamic-form.js.map +1 -0
  461. package/build/esm/sub-blocks/BackgroundCard/index.d.ts +3 -0
  462. package/build/esm/sub-blocks/BackgroundCard/index.js +19 -0
  463. package/build/esm/sub-blocks/BackgroundCard/index.js.map +1 -0
  464. package/build/esm/sub-blocks/BannerCard/BannerCard.js +2 -1
  465. package/build/esm/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  466. package/build/esm/sub-blocks/BannerCard/index.d.ts +3 -0
  467. package/build/esm/sub-blocks/BannerCard/index.js +21 -0
  468. package/build/esm/sub-blocks/BannerCard/index.js.map +1 -0
  469. package/build/esm/sub-blocks/BasicCard/index.d.ts +3 -0
  470. package/build/esm/sub-blocks/BasicCard/index.js +17 -0
  471. package/build/esm/sub-blocks/BasicCard/index.js.map +1 -0
  472. package/build/esm/sub-blocks/Content/index.d.ts +3 -0
  473. package/build/esm/sub-blocks/Content/index.js +17 -0
  474. package/build/esm/sub-blocks/Content/index.js.map +1 -0
  475. package/build/esm/sub-blocks/Content/schema.d.ts +1 -0
  476. package/build/esm/sub-blocks/Content/schema.js +1 -0
  477. package/build/esm/sub-blocks/Content/schema.js.map +1 -1
  478. package/build/esm/sub-blocks/Divider/index.d.ts +3 -0
  479. package/build/esm/sub-blocks/Divider/index.js +13 -0
  480. package/build/esm/sub-blocks/Divider/index.js.map +1 -0
  481. package/build/esm/sub-blocks/ImageCard/ImageCard.js +1 -1
  482. package/build/esm/sub-blocks/ImageCard/ImageCard.js.map +1 -1
  483. package/build/esm/sub-blocks/ImageCard/index.d.ts +3 -0
  484. package/build/esm/sub-blocks/ImageCard/index.js +17 -0
  485. package/build/esm/sub-blocks/ImageCard/index.js.map +1 -0
  486. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +1 -1
  487. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
  488. package/build/esm/sub-blocks/LayoutItem/index.d.ts +3 -0
  489. package/build/esm/sub-blocks/LayoutItem/index.js +23 -0
  490. package/build/esm/sub-blocks/LayoutItem/index.js.map +1 -0
  491. package/build/esm/sub-blocks/LayoutItem/schema.d.ts +211 -206
  492. package/build/esm/sub-blocks/LayoutItem/schema.js +3 -2
  493. package/build/esm/sub-blocks/LayoutItem/schema.js.map +1 -1
  494. package/build/esm/sub-blocks/MediaCard/index.d.ts +3 -0
  495. package/build/esm/sub-blocks/MediaCard/index.js +20 -0
  496. package/build/esm/sub-blocks/MediaCard/index.js.map +1 -0
  497. package/build/esm/sub-blocks/PriceCard/index.d.ts +3 -0
  498. package/build/esm/sub-blocks/PriceCard/index.js +30 -0
  499. package/build/esm/sub-blocks/PriceCard/index.js.map +1 -0
  500. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  501. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
  502. package/build/esm/sub-blocks/PriceDetailed/index.d.ts +4 -0
  503. package/build/esm/sub-blocks/PriceDetailed/index.js +32 -0
  504. package/build/esm/sub-blocks/PriceDetailed/index.js.map +1 -0
  505. package/build/esm/sub-blocks/Quote/index.d.ts +3 -0
  506. package/build/esm/sub-blocks/Quote/index.js +20 -0
  507. package/build/esm/sub-blocks/Quote/index.js.map +1 -0
  508. package/build/esm/utils/editor.d.ts +2 -0
  509. package/build/esm/utils/editor.js +21 -0
  510. package/build/esm/utils/editor.js.map +1 -0
  511. package/build/esm/utils/form-generator.d.ts +9 -0
  512. package/build/esm/utils/form-generator.js +126 -0
  513. package/build/esm/utils/form-generator.js.map +1 -0
  514. package/build/esm/utils/index.d.ts +1 -0
  515. package/build/esm/utils/index.js +1 -0
  516. package/build/esm/utils/index.js.map +1 -1
  517. package/build/esm/utils/navigation.d.ts +3 -0
  518. package/build/esm/utils/navigation.js +9 -0
  519. package/build/esm/utils/navigation.js.map +1 -0
  520. package/package.json +15 -3
  521. package/schema/index.js +1 -1
  522. package/server/models/constructor-items/blocks.d.ts +1 -0
  523. package/server/models/constructor-items/blocks.js +1 -0
  524. package/server/models/constructor.d.ts +4 -1
  525. package/server/models/navigation.d.ts +2 -2
  526. package/server/utils/index.d.ts +1 -0
  527. package/server/utils/index.js +1 -0
  528. package/server/utils/navigation.d.ts +3 -0
  529. package/server/utils/navigation.js +15 -0
  530. package/styles/mixins.scss +9 -9
@@ -7,6 +7,7 @@ import Title from "../../components/Title/Title.js";
7
7
  import YFMWrapper from "../../components/YFMWrapper/YFMWrapper.js";
8
8
  import { BREAKPOINTS } from "../../constants.js";
9
9
  import { useTheme } from "../../context/theme/index.js";
10
+ import { Grid } from "../../grid/index.js";
10
11
  import { block, getThemedValue } from "../../utils/index.js";
11
12
  import { mergeVideoMicrodata } from "../../utils/microdata.js";
12
13
  import './PromoFeaturesBlock.css';
@@ -20,19 +21,20 @@ const PromoFeaturesBlock = (props) => {
20
21
  const { items, title, description, theme, animated = true } = props;
21
22
  const backgroundTheme = theme || 'default';
22
23
  const globalTheme = useTheme();
23
- return (_jsxs(AnimateBlock, { className: b({ [backgroundTheme]: true }), animate: animated, children: [_jsx(FullWidthBackground, { className: b('background', { [backgroundTheme]: true }) }), _jsx(Title, { title: title, subtitle: description, className: b('header') }), _jsx(BalancedMasonry, { breakpointCols: breakpointColumns, className: b('card-container'), columnClassName: b('card-container-column'), children: items.map(({ title: cardTitle, text, media, theme: cardTheme }, index) => {
24
- const blockModifier = backgroundTheme === 'default' ? 'default' : 'light';
25
- const themeMod = cardTheme || blockModifier || '';
26
- const themedMedia = getThemedValue(media, globalTheme);
27
- const allProps = mergeVideoMicrodata(themedMedia, {
28
- name: cardTitle,
29
- description: text,
30
- });
31
- return (_jsxs("div", { className: b('card', {
32
- 'no-media': !media,
33
- [themeMod]: Boolean(themeMod),
34
- }), children: [_jsxs("div", { className: b('card-info'), children: [_jsx("h3", { className: b('card-title'), children: cardTitle }), _jsx("div", { className: b('card-text'), children: _jsx(YFMWrapper, { content: text, modifiers: { constructor: true } }) })] }), media && _jsx(Media, { className: b('card-media'), ...allProps })] }, index));
35
- }) })] }));
24
+ return (_jsx(Grid, { children: _jsxs(AnimateBlock, { className: b({ [backgroundTheme]: true }), animate: animated, children: [_jsx(FullWidthBackground, { className: b('background', { [backgroundTheme]: true }) }), _jsx(Title, { title: title, subtitle: description, className: b('header') }), _jsx(BalancedMasonry, { breakpointCols: breakpointColumns, className: b('card-container'), columnClassName: b('card-container-column'), children: items &&
25
+ items.map(({ title: cardTitle, text, media, theme: cardTheme }, index) => {
26
+ const blockModifier = backgroundTheme === 'default' ? 'default' : 'light';
27
+ const themeMod = cardTheme || blockModifier || '';
28
+ const themedMedia = getThemedValue(media, globalTheme);
29
+ const allProps = mergeVideoMicrodata(themedMedia, {
30
+ name: cardTitle,
31
+ description: text,
32
+ });
33
+ return (_jsxs("div", { className: b('card', {
34
+ 'no-media': !media,
35
+ [themeMod]: Boolean(themeMod),
36
+ }), children: [_jsxs("div", { className: b('card-info'), children: [_jsx("h3", { className: b('card-title'), children: cardTitle }), _jsx("div", { className: b('card-text'), children: _jsx(YFMWrapper, { content: text, modifiers: { constructor: true } }) })] }), media && _jsx(Media, { className: b('card-media'), ...allProps })] }, index));
37
+ }) })] }) }));
36
38
  };
37
39
  export default PromoFeaturesBlock;
38
40
  //# sourceMappingURL=PromoFeaturesBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PromoFeaturesBlock.js","sourceRoot":"../../../../src","sources":["blocks/PromoFeaturesBlock/PromoFeaturesBlock.tsx"],"names":[],"mappings":"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","sourcesContent":["import AnimateBlock from '../../components/AnimateBlock/AnimateBlock';\nimport BalancedMasonry from '../../components/BalancedMasonry/BalancedMasonry';\nimport FullWidthBackground from '../../components/FullWidthBackground/FullWidthBackground';\nimport Media from '../../components/Media/Media';\nimport Title from '../../components/Title/Title';\nimport YFMWrapper from '../../components/YFMWrapper/YFMWrapper';\nimport {BREAKPOINTS} from '../../constants';\nimport {useTheme} from '../../context/theme';\nimport {PromoFeaturesProps} from '../../models';\nimport {block, getThemedValue} from '../../utils';\nimport {mergeVideoMicrodata} from '../../utils/microdata';\n\nimport './PromoFeaturesBlock.scss';\n\nconst b = block('PromoFeaturesBlock');\n\nconst breakpointColumns = {\n [BREAKPOINTS.lg]: 3,\n [BREAKPOINTS.md]: 2,\n [BREAKPOINTS.sm]: 1,\n};\n\nconst PromoFeaturesBlock = (props: PromoFeaturesProps) => {\n const {items, title, description, theme, animated = true} = props;\n const backgroundTheme = theme || 'default';\n const globalTheme = useTheme();\n\n return (\n <AnimateBlock className={b({[backgroundTheme]: true})} animate={animated}>\n <FullWidthBackground className={b('background', {[backgroundTheme]: true})} />\n <Title title={title} subtitle={description} className={b('header')} />\n <BalancedMasonry\n breakpointCols={breakpointColumns}\n className={b('card-container')}\n columnClassName={b('card-container-column')}\n >\n {items.map(({title: cardTitle, text, media, theme: cardTheme}, index) => {\n const blockModifier = backgroundTheme === 'default' ? 'default' : 'light';\n const themeMod = cardTheme || blockModifier || '';\n const themedMedia = getThemedValue(media, globalTheme);\n const allProps = mergeVideoMicrodata(themedMedia, {\n name: cardTitle,\n description: text,\n });\n\n return (\n <div\n key={index}\n className={b('card', {\n 'no-media': !media,\n [themeMod]: Boolean(themeMod),\n })}\n >\n <div className={b('card-info')}>\n <h3 className={b('card-title')}>{cardTitle}</h3>\n <div className={b('card-text')}>\n <YFMWrapper content={text} modifiers={{constructor: true}} />\n </div>\n </div>\n {media && <Media className={b('card-media')} {...allProps} />}\n </div>\n );\n })}\n </BalancedMasonry>\n </AnimateBlock>\n );\n};\n\nexport default PromoFeaturesBlock;\n"]}
1
+ {"version":3,"file":"PromoFeaturesBlock.js","sourceRoot":"../../../../src","sources":["blocks/PromoFeaturesBlock/PromoFeaturesBlock.tsx"],"names":[],"mappings":"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","sourcesContent":["import AnimateBlock from '../../components/AnimateBlock/AnimateBlock';\nimport BalancedMasonry from '../../components/BalancedMasonry/BalancedMasonry';\nimport FullWidthBackground from '../../components/FullWidthBackground/FullWidthBackground';\nimport Media from '../../components/Media/Media';\nimport Title from '../../components/Title/Title';\nimport YFMWrapper from '../../components/YFMWrapper/YFMWrapper';\nimport {BREAKPOINTS} from '../../constants';\nimport {useTheme} from '../../context/theme';\nimport {Grid} from '../../grid';\nimport {PromoFeaturesProps} from '../../models';\nimport {block, getThemedValue} from '../../utils';\nimport {mergeVideoMicrodata} from '../../utils/microdata';\n\nimport './PromoFeaturesBlock.scss';\n\nconst b = block('PromoFeaturesBlock');\n\nconst breakpointColumns = {\n [BREAKPOINTS.lg]: 3,\n [BREAKPOINTS.md]: 2,\n [BREAKPOINTS.sm]: 1,\n};\n\nconst PromoFeaturesBlock = (props: PromoFeaturesProps) => {\n const {items, title, description, theme, animated = true} = props;\n const backgroundTheme = theme || 'default';\n const globalTheme = useTheme();\n\n return (\n <Grid>\n <AnimateBlock className={b({[backgroundTheme]: true})} animate={animated}>\n <FullWidthBackground className={b('background', {[backgroundTheme]: true})} />\n <Title title={title} subtitle={description} className={b('header')} />\n <BalancedMasonry\n breakpointCols={breakpointColumns}\n className={b('card-container')}\n columnClassName={b('card-container-column')}\n >\n {items &&\n items.map(({title: cardTitle, text, media, theme: cardTheme}, index) => {\n const blockModifier =\n backgroundTheme === 'default' ? 'default' : 'light';\n const themeMod = cardTheme || blockModifier || '';\n const themedMedia = getThemedValue(media, globalTheme);\n const allProps = mergeVideoMicrodata(themedMedia, {\n name: cardTitle,\n description: text,\n });\n\n return (\n <div\n key={index}\n className={b('card', {\n 'no-media': !media,\n [themeMod]: Boolean(themeMod),\n })}\n >\n <div className={b('card-info')}>\n <h3 className={b('card-title')}>{cardTitle}</h3>\n <div className={b('card-text')}>\n <YFMWrapper\n content={text}\n modifiers={{constructor: true}}\n />\n </div>\n </div>\n {media && <Media className={b('card-media')} {...allProps} />}\n </div>\n );\n })}\n </BalancedMasonry>\n </AnimateBlock>\n </Grid>\n );\n};\n\nexport default PromoFeaturesBlock;\n"]}
@@ -0,0 +1,22 @@
1
+ declare const PromoFeaturesBlockConfig: {
2
+ component: (props: import("../../index.js").PromoFeaturesProps) => import("react/jsx-runtime").JSX.Element;
3
+ schema: {
4
+ name: string;
5
+ group: string;
6
+ inputs: import("../../../common/types/index.js").ConfigInput[];
7
+ default: {
8
+ title: string;
9
+ theme: string;
10
+ items: ({
11
+ title: string;
12
+ text: string;
13
+ theme?: undefined;
14
+ } | {
15
+ title: string;
16
+ text: string;
17
+ theme: string;
18
+ })[];
19
+ };
20
+ };
21
+ };
22
+ export default PromoFeaturesBlockConfig;
@@ -0,0 +1,46 @@
1
+ import { generateFromAJV } from "../../utils/form-generator.js";
2
+ import PromoFeaturesBlock from "./PromoFeaturesBlock.js";
3
+ import { PromoFeaturesBlock as PromoFeaturesBlockSchema } from "./schema.js";
4
+ const PromoFeaturesBlockConfig = {
5
+ component: PromoFeaturesBlock,
6
+ schema: {
7
+ name: 'Promo Features Block',
8
+ group: 'block',
9
+ inputs: generateFromAJV(PromoFeaturesBlockSchema['promo-features-block']),
10
+ default: {
11
+ title: 'Promo Features Block',
12
+ theme: 'default',
13
+ items: [
14
+ {
15
+ title: 'Lorem ipsum dolor sit amet',
16
+ text: 'Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
17
+ },
18
+ {
19
+ title: 'Lorem ipsum dolor sit amet',
20
+ text: 'Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
21
+ },
22
+ {
23
+ title: 'Lorem ipsum dolor sit amet',
24
+ text: 'Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
25
+ },
26
+ {
27
+ title: 'Lorem ipsum dolor sit amet',
28
+ text: 'Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
29
+ theme: 'accent',
30
+ },
31
+ {
32
+ title: 'Lorem ipsum dolor sit amet',
33
+ text: 'Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
34
+ theme: 'accent-light',
35
+ },
36
+ {
37
+ title: 'Lorem ipsum dolor sit amet',
38
+ text: 'Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
39
+ theme: 'primary',
40
+ },
41
+ ],
42
+ },
43
+ },
44
+ };
45
+ export default PromoFeaturesBlockConfig;
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["blocks/PromoFeaturesBlock/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,eAAe,EAAC,sCAAmC;AAE3D,OAAO,kBAAkB,gCAA6B;AACtD,OAAO,EAAC,kBAAkB,IAAI,wBAAwB,EAAC,oBAAiB;AAExE,MAAM,wBAAwB,GAAG;IAC7B,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE;QACJ,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,eAAe,CACnB,wBAAwB,CAAC,sBAAsB,CAAkC,CACpF;QACD,OAAO,EAAE;YACL,KAAK,EAAE,sBAAsB;YAC7B,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE;gBACH;oBACI,KAAK,EAAE,4BAA4B;oBACnC,IAAI,EAAE,kUAAkU;iBAC3U;gBACD;oBACI,KAAK,EAAE,4BAA4B;oBACnC,IAAI,EAAE,kUAAkU;iBAC3U;gBACD;oBACI,KAAK,EAAE,4BAA4B;oBACnC,IAAI,EAAE,kUAAkU;iBAC3U;gBACD;oBACI,KAAK,EAAE,4BAA4B;oBACnC,IAAI,EAAE,kUAAkU;oBACxU,KAAK,EAAE,QAAQ;iBAClB;gBACD;oBACI,KAAK,EAAE,4BAA4B;oBACnC,IAAI,EAAE,kUAAkU;oBACxU,KAAK,EAAE,cAAc;iBACxB;gBACD;oBACI,KAAK,EAAE,4BAA4B;oBACnC,IAAI,EAAE,kUAAkU;oBACxU,KAAK,EAAE,SAAS;iBACnB;aACJ;SACJ;KACJ;CACJ,CAAC;AAEF,eAAe,wBAAwB,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {generateFromAJV} from '../../utils/form-generator';\n\nimport PromoFeaturesBlock from './PromoFeaturesBlock';\nimport {PromoFeaturesBlock as PromoFeaturesBlockSchema} from './schema';\n\nconst PromoFeaturesBlockConfig = {\n component: PromoFeaturesBlock,\n schema: {\n name: 'Promo Features Block',\n group: 'block',\n inputs: generateFromAJV(\n PromoFeaturesBlockSchema['promo-features-block'] as unknown as JSONSchemaType<{}>,\n ),\n default: {\n title: 'Promo Features Block',\n theme: 'default',\n items: [\n {\n title: 'Lorem ipsum dolor sit amet',\n text: 'Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',\n },\n {\n title: 'Lorem ipsum dolor sit amet',\n text: 'Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',\n },\n {\n title: 'Lorem ipsum dolor sit amet',\n text: 'Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',\n },\n {\n title: 'Lorem ipsum dolor sit amet',\n text: 'Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',\n theme: 'accent',\n },\n {\n title: 'Lorem ipsum dolor sit amet',\n text: 'Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',\n theme: 'accent-light',\n },\n {\n title: 'Lorem ipsum dolor sit amet',\n text: 'Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',\n theme: 'primary',\n },\n ],\n },\n },\n};\n\nexport default PromoFeaturesBlockConfig;\n"]}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
- import { Col, Row } from "../../grid/index.js";
3
+ import { Col, Grid, Row } from "../../grid/index.js";
4
4
  import { Content } from "../../sub-blocks/index.js";
5
5
  import { block } from "../../utils/index.js";
6
6
  import { QuestionBlockItem } from "./QuestionBlockItem/QuestionBlockItem.js";
@@ -20,11 +20,12 @@ const QuestionsBlock = (props) => {
20
20
  }
21
21
  setOpened(newState);
22
22
  };
23
- return (_jsx("div", { className: b(), itemScope: true, itemType: FaqMicrodataValues.PageType, itemID: FaqMicrodataValues.PageId, children: _jsxs(Row, { children: [_jsx(Col, { sizes: { all: 12, md: 4 }, children: _jsx("div", { className: b('title'), children: _jsx(Content, { title: title, text: text, additionalInfo: additionalInfo, links: links, list: list, buttons: buttons, colSizes: { all: 12, md: 12 } }) }) }), _jsx(Col, { sizes: { all: 12, md: 8 }, role: 'list', children: items.map(({ title: itemTitle, text: itemText, link, listStyle = 'dash' }, index) => {
24
- const isOpened = opened.includes(index);
25
- const onClick = () => toggleItem(index);
26
- return (_jsx(QuestionBlockItem, { title: itemTitle, text: itemText, link: link, listStyle: listStyle, isOpened: isOpened, onClick: onClick }, itemTitle));
27
- }) })] }) }));
23
+ return (_jsx(Grid, { children: _jsx("div", { className: b(), itemScope: true, itemType: FaqMicrodataValues.PageType, itemID: FaqMicrodataValues.PageId, children: _jsxs(Row, { children: [_jsx(Col, { sizes: { all: 12, md: 4 }, children: _jsx("div", { className: b('title'), children: _jsx(Content, { title: title, text: text, additionalInfo: additionalInfo, links: links, list: list, buttons: buttons, colSizes: { all: 12, md: 12 } }) }) }), _jsx(Col, { sizes: { all: 12, md: 8 }, role: 'list', children: items &&
24
+ items.map(({ title: itemTitle, text: itemText, link, listStyle = 'dash' }, index) => {
25
+ const isOpened = opened.includes(index);
26
+ const onClick = () => toggleItem(index);
27
+ return (_jsx(QuestionBlockItem, { title: itemTitle, text: itemText, link: link, listStyle: listStyle, isOpened: isOpened, onClick: onClick }, itemTitle));
28
+ }) })] }) }) }));
28
29
  };
29
30
  export default QuestionsBlock;
30
31
  //# sourceMappingURL=Questions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Questions.js","sourceRoot":"../../../../src","sources":["blocks/Questions/Questions.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,GAAG,EAAE,GAAG,EAAC,4BAAmB;AAEpC,OAAO,EAAC,OAAO,EAAC,kCAAyB;AACzC,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAElC,OAAO,EAAC,iBAAiB,EAAC,iDAA8C;AACxE,OAAO,EAAC,kBAAkB,EAAC,oBAAiB;AAE5C,OAAO,iBAAiB,CAAC;AAEzB,MAAM,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAElC,MAAM,cAAc,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC7C,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;IACzE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE;QACjC,IAAI,QAAQ,CAAC;QAEb,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACJ,QAAQ,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,CACH,cACI,SAAS,EAAE,CAAC,EAAE,EACd,SAAS,QACT,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EACrC,MAAM,EAAE,kBAAkB,CAAC,MAAM,YAEjC,MAAC,GAAG,eACA,KAAC,GAAG,IAAC,KAAK,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAC,YACxB,cAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YACtB,KAAC,OAAO,IACJ,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAC,GAC7B,GACA,GACJ,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAC,EAAE,IAAI,EAAE,MAAM,YACrC,KAAK,CAAC,GAAG,CACN,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,EAAC,EAAE,KAAK,EAAE,EAAE;wBACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBACxC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBAExC,OAAO,CACH,KAAC,iBAAiB,IAEd,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,IANX,SAAS,CAOhB,CACL,CAAC;oBACN,CAAC,CACJ,GACC,IACJ,GACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Col, Row} from '../../grid';\nimport {QuestionsProps} from '../../models';\nimport {Content} from '../../sub-blocks';\nimport {block} from '../../utils';\n\nimport {QuestionBlockItem} from './QuestionBlockItem/QuestionBlockItem';\nimport {FaqMicrodataValues} from './models';\n\nimport './Questions.scss';\n\nconst b = block('QuestionsBlock');\n\nconst QuestionsBlock = (props: QuestionsProps) => {\n const {title, text, additionalInfo, links, buttons, items, list} = props;\n const [opened, setOpened] = React.useState<number[]>([0]);\n\n const toggleItem = (index: number) => {\n let newState;\n\n if (opened.includes(index)) {\n newState = opened.filter((itemIndex: number) => itemIndex !== index);\n } else {\n newState = [...opened, index];\n }\n\n setOpened(newState);\n };\n\n return (\n <div\n className={b()}\n itemScope\n itemType={FaqMicrodataValues.PageType}\n itemID={FaqMicrodataValues.PageId}\n >\n <Row>\n <Col sizes={{all: 12, md: 4}}>\n <div className={b('title')}>\n <Content\n title={title}\n text={text}\n additionalInfo={additionalInfo}\n links={links}\n list={list}\n buttons={buttons}\n colSizes={{all: 12, md: 12}}\n />\n </div>\n </Col>\n <Col sizes={{all: 12, md: 8}} role={'list'}>\n {items.map(\n ({title: itemTitle, text: itemText, link, listStyle = 'dash'}, index) => {\n const isOpened = opened.includes(index);\n const onClick = () => toggleItem(index);\n\n return (\n <QuestionBlockItem\n key={itemTitle}\n title={itemTitle}\n text={itemText}\n link={link}\n listStyle={listStyle}\n isOpened={isOpened}\n onClick={onClick}\n />\n );\n },\n )}\n </Col>\n </Row>\n </div>\n );\n};\n\nexport default QuestionsBlock;\n"]}
1
+ {"version":3,"file":"Questions.js","sourceRoot":"../../../../src","sources":["blocks/Questions/Questions.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAC,4BAAmB;AAE1C,OAAO,EAAC,OAAO,EAAC,kCAAyB;AACzC,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAElC,OAAO,EAAC,iBAAiB,EAAC,iDAA8C;AACxE,OAAO,EAAC,kBAAkB,EAAC,oBAAiB;AAE5C,OAAO,iBAAiB,CAAC;AAEzB,MAAM,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAElC,MAAM,cAAc,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC7C,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;IACzE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE;QACjC,IAAI,QAAQ,CAAC;QAEb,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACJ,QAAQ,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,IAAI,cACD,cACI,SAAS,EAAE,CAAC,EAAE,EACd,SAAS,QACT,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EACrC,MAAM,EAAE,kBAAkB,CAAC,MAAM,YAEjC,MAAC,GAAG,eACA,KAAC,GAAG,IAAC,KAAK,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAC,YACxB,cAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YACtB,KAAC,OAAO,IACJ,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAC,GAC7B,GACA,GACJ,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAC,EAAE,IAAI,EAAE,MAAM,YACrC,KAAK;4BACF,KAAK,CAAC,GAAG,CACL,CACI,EAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,EAAC,EAC5D,KAAK,EACP,EAAE;gCACA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gCACxC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gCAExC,OAAO,CACH,KAAC,iBAAiB,IAEd,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,IANX,SAAS,CAOhB,CACL,CAAC;4BACN,CAAC,CACJ,GACH,IACJ,GACJ,GACH,CACV,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Col, Grid, Row} from '../../grid';\nimport {QuestionsProps} from '../../models';\nimport {Content} from '../../sub-blocks';\nimport {block} from '../../utils';\n\nimport {QuestionBlockItem} from './QuestionBlockItem/QuestionBlockItem';\nimport {FaqMicrodataValues} from './models';\n\nimport './Questions.scss';\n\nconst b = block('QuestionsBlock');\n\nconst QuestionsBlock = (props: QuestionsProps) => {\n const {title, text, additionalInfo, links, buttons, items, list} = props;\n const [opened, setOpened] = React.useState<number[]>([0]);\n\n const toggleItem = (index: number) => {\n let newState;\n\n if (opened.includes(index)) {\n newState = opened.filter((itemIndex: number) => itemIndex !== index);\n } else {\n newState = [...opened, index];\n }\n\n setOpened(newState);\n };\n\n return (\n <Grid>\n <div\n className={b()}\n itemScope\n itemType={FaqMicrodataValues.PageType}\n itemID={FaqMicrodataValues.PageId}\n >\n <Row>\n <Col sizes={{all: 12, md: 4}}>\n <div className={b('title')}>\n <Content\n title={title}\n text={text}\n additionalInfo={additionalInfo}\n links={links}\n list={list}\n buttons={buttons}\n colSizes={{all: 12, md: 12}}\n />\n </div>\n </Col>\n <Col sizes={{all: 12, md: 8}} role={'list'}>\n {items &&\n items.map(\n (\n {title: itemTitle, text: itemText, link, listStyle = 'dash'},\n index,\n ) => {\n const isOpened = opened.includes(index);\n const onClick = () => toggleItem(index);\n\n return (\n <QuestionBlockItem\n key={itemTitle}\n title={itemTitle}\n text={itemText}\n link={link}\n listStyle={listStyle}\n isOpened={isOpened}\n onClick={onClick}\n />\n );\n },\n )}\n </Col>\n </Row>\n </div>\n </Grid>\n );\n};\n\nexport default QuestionsBlock;\n"]}
@@ -0,0 +1,30 @@
1
+ declare const QuestionsBlockConfig: {
2
+ component: (props: import("../../index.js").QuestionsProps) => import("react/jsx-runtime").JSX.Element;
3
+ schema: {
4
+ name: string;
5
+ group: string;
6
+ inputs: import("../../../common/types/index.js").ConfigInput[];
7
+ default: {
8
+ type: string;
9
+ title: string;
10
+ text: string;
11
+ links: {
12
+ text: string;
13
+ url: string;
14
+ }[];
15
+ buttons: {
16
+ text: string;
17
+ theme: string;
18
+ }[];
19
+ list: {
20
+ title: string;
21
+ text: string;
22
+ }[];
23
+ items: {
24
+ title: string;
25
+ text: string;
26
+ }[];
27
+ };
28
+ };
29
+ };
30
+ export default QuestionsBlockConfig;
@@ -0,0 +1,46 @@
1
+ import { generateFromAJV } from "../../utils/form-generator.js";
2
+ import QuestionsBlock from "./Questions.js";
3
+ import { QuestionsBlock as QuestionsBlockSchema } from "./schema.js";
4
+ const QuestionsBlockConfig = {
5
+ component: QuestionsBlock,
6
+ schema: {
7
+ name: 'Questions Block',
8
+ group: 'block',
9
+ inputs: generateFromAJV(QuestionsBlockSchema['questions-block']),
10
+ default: {
11
+ type: 'questions-block',
12
+ title: 'Questions Block',
13
+ text: 'Here you can find answers.',
14
+ links: [
15
+ {
16
+ text: 'Report for 2024',
17
+ url: 'file.doc',
18
+ },
19
+ ],
20
+ buttons: [
21
+ {
22
+ text: 'Get more',
23
+ theme: 'outlined-info',
24
+ },
25
+ ],
26
+ list: [
27
+ {
28
+ title: 'Report for 2024',
29
+ text: 'Some advice here',
30
+ },
31
+ ],
32
+ items: [
33
+ {
34
+ title: 'Question 1',
35
+ text: 'Answer for question 1',
36
+ },
37
+ {
38
+ title: 'Question 2',
39
+ text: 'Answer for question 2',
40
+ },
41
+ ],
42
+ },
43
+ },
44
+ };
45
+ export default QuestionsBlockConfig;
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["blocks/Questions/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,eAAe,EAAC,sCAAmC;AAE3D,OAAO,cAAc,uBAAoB;AACzC,OAAO,EAAC,cAAc,IAAI,oBAAoB,EAAC,oBAAiB;AAEhE,MAAM,oBAAoB,GAAG;IACzB,SAAS,EAAE,cAAc;IACzB,MAAM,EAAE;QACJ,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,eAAe,CACnB,oBAAoB,CAAC,iBAAiB,CAAkC,CAC3E;QACD,OAAO,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,4BAA4B;YAClC,KAAK,EAAE;gBACH;oBACI,IAAI,EAAE,iBAAiB;oBACvB,GAAG,EAAE,UAAU;iBAClB;aACJ;YACD,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,eAAe;iBACzB;aACJ;YACD,IAAI,EAAE;gBACF;oBACI,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,kBAAkB;iBAC3B;aACJ;YACD,KAAK,EAAE;gBACH;oBACI,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,uBAAuB;iBAChC;gBACD;oBACI,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,uBAAuB;iBAChC;aACJ;SACJ;KACJ;CACJ,CAAC;AAEF,eAAe,oBAAoB,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {generateFromAJV} from '../../utils/form-generator';\n\nimport QuestionsBlock from './Questions';\nimport {QuestionsBlock as QuestionsBlockSchema} from './schema';\n\nconst QuestionsBlockConfig = {\n component: QuestionsBlock,\n schema: {\n name: 'Questions Block',\n group: 'block',\n inputs: generateFromAJV(\n QuestionsBlockSchema['questions-block'] as unknown as JSONSchemaType<{}>,\n ),\n default: {\n type: 'questions-block',\n title: 'Questions Block',\n text: 'Here you can find answers.',\n links: [\n {\n text: 'Report for 2024',\n url: 'file.doc',\n },\n ],\n buttons: [\n {\n text: 'Get more',\n theme: 'outlined-info',\n },\n ],\n list: [\n {\n title: 'Report for 2024',\n text: 'Some advice here',\n },\n ],\n items: [\n {\n title: 'Question 1',\n text: 'Answer for question 1',\n },\n {\n title: 'Question 2',\n text: 'Answer for question 2',\n },\n ],\n },\n },\n};\n\nexport default QuestionsBlockConfig;\n"]}
@@ -24,16 +24,17 @@ const Share = ({ items, title }) => {
24
24
  const { pathname, hostname } = React.useContext(LocationContext);
25
25
  const handleAnalytics = useAnalytics(DefaultEventNames.ShareButton);
26
26
  const handleButtonClick = React.useCallback(() => handleAnalytics(), [handleAnalytics]);
27
- return (_jsxs("div", { className: b(), children: [_jsx("h5", { className: b('title'), children: title || i18n('constructor-share') }), _jsx("div", { className: b('items'), children: items.map((type) => {
28
- const url = getAbsolutePath(hostname, pathname);
29
- const socialUrl = getShareLink(url, type);
30
- const icon = icons[type];
31
- const urlTitle = i18n(`${type}-title`);
32
- const buttonLabel = i18n(`${type}-label`);
33
- return (_jsx(Button, { view: "flat", size: "l", target: "_blank", href: socialUrl, className: b('item', { type: type.toLowerCase() }), onClick: handleButtonClick, title: urlTitle, extraProps: {
34
- 'aria-label': buttonLabel,
35
- }, children: icon && _jsx(Icon, { data: icon, size: 24, className: b('icon', { type }) }) }, type));
36
- }) })] }));
27
+ return (_jsxs("div", { className: b(), children: [_jsx("h5", { className: b('title'), children: title || i18n('constructor-share') }), _jsx("div", { className: b('items'), children: items &&
28
+ items.map((type) => {
29
+ const url = getAbsolutePath(hostname, pathname);
30
+ const socialUrl = getShareLink(url, type);
31
+ const icon = icons[type];
32
+ const urlTitle = i18n(`${type}-title`);
33
+ const buttonLabel = i18n(`${type}-label`);
34
+ return (_jsx(Button, { view: "flat", size: "l", target: "_blank", href: socialUrl, className: b('item', { type: type.toLowerCase() }), onClick: handleButtonClick, title: urlTitle, extraProps: {
35
+ 'aria-label': buttonLabel,
36
+ }, children: icon && (_jsx(Icon, { data: icon, size: 24, className: b('icon', { type }) })) }, type));
37
+ }) })] }));
37
38
  };
38
39
  export default Share;
39
40
  //# sourceMappingURL=Share.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Share.js","sourceRoot":"../../../../src","sources":["blocks/Share/Share.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAC,eAAe,EAAC,+CAAsC;AAC9D,OAAO,EAAC,YAAY,EAAC,6BAAoB;AACzC,OAAO,EAAC,QAAQ,EAAC,gCAA6B;AAC9C,OAAO,EAAC,QAAQ,EAAC,gCAA6B;AAC9C,OAAO,EAAC,QAAQ,EAAC,gCAA6B;AAC9C,OAAO,EAAC,OAAO,EAAC,+BAA4B;AAC5C,OAAO,EAAC,EAAE,EAAC,0BAAuB;AAClC,OAAO,EAAC,iBAAiB,EAAkB,8BAAqB;AAChE,OAAO,EAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAC,6BAAoB;AAEjE,OAAO,EAAC,IAAI,EAAC,wBAAe;AAE5B,OAAO,aAAa,CAAC;AAMrB,MAAM,KAAK,GAAe;IACtB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,QAAQ;IAClB,EAAE,EAAE,EAAE;IACN,QAAQ,EAAE,QAAQ;CACrB,CAAC;AAEF,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;AAE/B,MAAM,KAAK,GAAG,CAAC,EAAC,KAAK,EAAE,KAAK,EAAkB,EAAE,EAAE;IAC9C,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEpE,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAExF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,EAAE,aACf,aAAI,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAG,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAM,EACpE,cAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YACrB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAChB,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAChD,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;oBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;oBACvC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;oBAE1C,OAAO,CACH,KAAC,MAAM,IAEH,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,GAAG,EACR,MAAM,EAAC,QAAQ,EACf,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAC,CAAC,EAChD,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE;4BACR,YAAY,EAAE,WAAW;yBAC5B,YAEA,IAAI,IAAI,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,IAAI,EAAC,CAAC,GAAI,IAZhE,IAAI,CAaJ,CACZ,CAAC;gBACN,CAAC,CAAC,GACA,IACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Button, Icon} from '@gravity-ui/uikit';\n\nimport {LocationContext} from '../../context/locationContext';\nimport {useAnalytics} from '../../hooks';\nimport {Facebook} from '../../icons/Facebook';\nimport {Linkedin} from '../../icons/Linkedin';\nimport {Telegram} from '../../icons/Telegram';\nimport {Twitter} from '../../icons/Twitter';\nimport {Vk} from '../../icons/Vk';\nimport {DefaultEventNames, ShareBlockProps} from '../../models';\nimport {block, getAbsolutePath, getShareLink} from '../../utils';\n\nimport {i18n} from './i18n';\n\nimport './Share.scss';\n\ninterface IconsProps {\n [key: string]: React.FC<React.SVGProps<SVGSVGElement>>;\n}\n\nconst icons: IconsProps = {\n facebook: Facebook,\n twitter: Twitter,\n linkedin: Linkedin,\n vk: Vk,\n telegram: Telegram,\n};\n\nconst b = block('share-block');\n\nconst Share = ({items, title}: ShareBlockProps) => {\n const {pathname, hostname} = React.useContext(LocationContext);\n const handleAnalytics = useAnalytics(DefaultEventNames.ShareButton);\n\n const handleButtonClick = React.useCallback(() => handleAnalytics(), [handleAnalytics]);\n\n return (\n <div className={b()}>\n <h5 className={b('title')}>{title || i18n('constructor-share')}</h5>\n <div className={b('items')}>\n {items.map((type) => {\n const url = getAbsolutePath(hostname, pathname);\n const socialUrl = getShareLink(url, type);\n const icon = icons[type];\n const urlTitle = i18n(`${type}-title`);\n const buttonLabel = i18n(`${type}-label`);\n\n return (\n <Button\n key={type}\n view=\"flat\"\n size=\"l\"\n target=\"_blank\"\n href={socialUrl}\n className={b('item', {type: type.toLowerCase()})}\n onClick={handleButtonClick}\n title={urlTitle}\n extraProps={{\n 'aria-label': buttonLabel,\n }}\n >\n {icon && <Icon data={icon} size={24} className={b('icon', {type})} />}\n </Button>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default Share;\n"]}
1
+ {"version":3,"file":"Share.js","sourceRoot":"../../../../src","sources":["blocks/Share/Share.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAC,eAAe,EAAC,+CAAsC;AAC9D,OAAO,EAAC,YAAY,EAAC,6BAAoB;AACzC,OAAO,EAAC,QAAQ,EAAC,gCAA6B;AAC9C,OAAO,EAAC,QAAQ,EAAC,gCAA6B;AAC9C,OAAO,EAAC,QAAQ,EAAC,gCAA6B;AAC9C,OAAO,EAAC,OAAO,EAAC,+BAA4B;AAC5C,OAAO,EAAC,EAAE,EAAC,0BAAuB;AAClC,OAAO,EAAC,iBAAiB,EAAkB,8BAAqB;AAChE,OAAO,EAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAC,6BAAoB;AAEjE,OAAO,EAAC,IAAI,EAAC,wBAAe;AAE5B,OAAO,aAAa,CAAC;AAMrB,MAAM,KAAK,GAAe;IACtB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,QAAQ;IAClB,EAAE,EAAE,EAAE;IACN,QAAQ,EAAE,QAAQ;CACrB,CAAC;AAEF,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;AAE/B,MAAM,KAAK,GAAG,CAAC,EAAC,KAAK,EAAE,KAAK,EAAkB,EAAE,EAAE;IAC9C,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEpE,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAExF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,EAAE,aACf,aAAI,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAG,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAM,EACpE,cAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YACrB,KAAK;oBACF,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBACf,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBAChD,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;wBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;wBACvC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;wBAE1C,OAAO,CACH,KAAC,MAAM,IAEH,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,GAAG,EACR,MAAM,EAAC,QAAQ,EACf,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAC,CAAC,EAChD,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE;gCACR,YAAY,EAAE,WAAW;6BAC5B,YAEA,IAAI,IAAI,CACL,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,IAAI,EAAC,CAAC,GAAI,CAC/D,IAdI,IAAI,CAeJ,CACZ,CAAC;oBACN,CAAC,CAAC,GACJ,IACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Button, Icon} from '@gravity-ui/uikit';\n\nimport {LocationContext} from '../../context/locationContext';\nimport {useAnalytics} from '../../hooks';\nimport {Facebook} from '../../icons/Facebook';\nimport {Linkedin} from '../../icons/Linkedin';\nimport {Telegram} from '../../icons/Telegram';\nimport {Twitter} from '../../icons/Twitter';\nimport {Vk} from '../../icons/Vk';\nimport {DefaultEventNames, ShareBlockProps} from '../../models';\nimport {block, getAbsolutePath, getShareLink} from '../../utils';\n\nimport {i18n} from './i18n';\n\nimport './Share.scss';\n\ninterface IconsProps {\n [key: string]: React.FC<React.SVGProps<SVGSVGElement>>;\n}\n\nconst icons: IconsProps = {\n facebook: Facebook,\n twitter: Twitter,\n linkedin: Linkedin,\n vk: Vk,\n telegram: Telegram,\n};\n\nconst b = block('share-block');\n\nconst Share = ({items, title}: ShareBlockProps) => {\n const {pathname, hostname} = React.useContext(LocationContext);\n const handleAnalytics = useAnalytics(DefaultEventNames.ShareButton);\n\n const handleButtonClick = React.useCallback(() => handleAnalytics(), [handleAnalytics]);\n\n return (\n <div className={b()}>\n <h5 className={b('title')}>{title || i18n('constructor-share')}</h5>\n <div className={b('items')}>\n {items &&\n items.map((type) => {\n const url = getAbsolutePath(hostname, pathname);\n const socialUrl = getShareLink(url, type);\n const icon = icons[type];\n const urlTitle = i18n(`${type}-title`);\n const buttonLabel = i18n(`${type}-label`);\n\n return (\n <Button\n key={type}\n view=\"flat\"\n size=\"l\"\n target=\"_blank\"\n href={socialUrl}\n className={b('item', {type: type.toLowerCase()})}\n onClick={handleButtonClick}\n title={urlTitle}\n extraProps={{\n 'aria-label': buttonLabel,\n }}\n >\n {icon && (\n <Icon data={icon} size={24} className={b('icon', {type})} />\n )}\n </Button>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default Share;\n"]}
@@ -0,0 +1,13 @@
1
+ declare const ShareBlockConfig: {
2
+ component: ({ items, title }: import("../../index.js").ShareBlockProps) => import("react/jsx-runtime").JSX.Element;
3
+ schema: {
4
+ name: string;
5
+ group: string;
6
+ inputs: import("../../../common/types/index.js").ConfigInput[];
7
+ default: {
8
+ items: string[];
9
+ title: string;
10
+ };
11
+ };
12
+ };
13
+ export default ShareBlockConfig;
@@ -0,0 +1,17 @@
1
+ import { generateFromAJV } from "../../utils/form-generator.js";
2
+ import ShareBlock from "./Share.js";
3
+ import { ShareBlock as ShareBlockSchema } from "./schema.js";
4
+ const ShareBlockConfig = {
5
+ component: ShareBlock,
6
+ schema: {
7
+ name: 'Share Block',
8
+ group: 'block',
9
+ inputs: generateFromAJV(ShareBlockSchema['share-block']),
10
+ default: {
11
+ items: ['vk', 'telegram', 'facebook'],
12
+ title: 'Share Block',
13
+ },
14
+ },
15
+ };
16
+ export default ShareBlockConfig;
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["blocks/Share/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,eAAe,EAAC,sCAAmC;AAE3D,OAAO,UAAU,mBAAgB;AACjC,OAAO,EAAC,UAAU,IAAI,gBAAgB,EAAC,oBAAiB;AAExD,MAAM,gBAAgB,GAAG;IACrB,SAAS,EAAE,UAAU;IACrB,MAAM,EAAE;QACJ,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,eAAe,CAAC,gBAAgB,CAAC,aAAa,CAAkC,CAAC;QACzF,OAAO,EAAE;YACL,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC;YACrC,KAAK,EAAE,aAAa;SACvB;KACJ;CACJ,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {generateFromAJV} from '../../utils/form-generator';\n\nimport ShareBlock from './Share';\nimport {ShareBlock as ShareBlockSchema} from './schema';\n\nconst ShareBlockConfig = {\n component: ShareBlock,\n schema: {\n name: 'Share Block',\n group: 'block',\n inputs: generateFromAJV(ShareBlockSchema['share-block'] as unknown as JSONSchemaType<{}>),\n default: {\n items: ['vk', 'telegram', 'facebook'],\n title: 'Share Block',\n },\n },\n};\n\nexport default ShareBlockConfig;\n"]}
@@ -9,10 +9,12 @@ import Anchor from "../../components/Anchor/Anchor.js";
9
9
  import AnimateBlock from "../../components/AnimateBlock/AnimateBlock.js";
10
10
  import OutsideClick from "../../components/OutsideClick/OutsideClick.js";
11
11
  import Title from "../../components/Title/Title.js";
12
+ import ItemWrap from "../../components/editor/ItemWrap/ItemWrap.js";
12
13
  import { BREAKPOINTS } from "../../constants.js";
13
14
  import { MobileContext } from "../../context/mobileContext/index.js";
14
15
  import { SSRContext } from "../../context/ssrContext/index.js";
15
16
  import { StylesContext } from "../../context/stylesContext/StylesContext.js";
17
+ import { Grid } from "../../grid/index.js";
16
18
  import useFocus from "../../hooks/useFocus.js";
17
19
  import { SliderType, } from "../../models/index.js";
18
20
  import { block } from "../../utils/index.js";
@@ -34,11 +36,11 @@ export const SliderBlock = (props) => {
34
36
  const childrenCount = disclosedChildren.length;
35
37
  const isAutoplayEnabled = autoplaySpeed !== undefined && autoplaySpeed > 0;
36
38
  const isUserInteractionRef = React.useRef(false);
37
- const [slidesToShow] = React.useState(getSlidesToShowWithDefaults({
39
+ const slidesToShow = React.useMemo(() => getSlidesToShowWithDefaults({
38
40
  contentLength: childrenCount,
39
41
  breakpoints: props.slidesToShow,
40
42
  mobileFullscreen: Boolean(props.type && Object.values(SliderType).includes(props.type)),
41
- }));
43
+ }), [childrenCount, props.slidesToShow, props.type]);
42
44
  const slidesToShowCount = getSlidesToShowCount(slidesToShow);
43
45
  const slidesCountByBreakpoint = getSlidesCountByBreakpoint(breakpoint, slidesToShow);
44
46
  const [currentIndex, setCurrentIndex] = React.useState(0);
@@ -242,15 +244,15 @@ export const SliderBlock = (props) => {
242
244
  lazyLoad,
243
245
  accessibility: false,
244
246
  };
245
- return (_jsxs(OutsideClick, { onOutsideClick: isMobile ? unsetFocus : noop, children: [_jsx(SlickSlider, { ...settings, children: disclosedChildren }), _jsxs("div", { className: b('footer'), children: [renderDisclaimer(), renderNavigation()] })] }));
247
+ return (_jsxs(OutsideClick, { onOutsideClick: isMobile ? unsetFocus : noop, children: [_jsx(SlickSlider, { ...settings, children: React.Children.map(disclosedChildren, (child, index) => (_jsx(ItemWrap, { index: index, children: child }))) }), _jsxs("div", { className: b('footer'), children: [renderDisclaimer(), renderNavigation()] })] }));
246
248
  };
247
- return (_jsx(StylesContext.Provider, { value: { ...childStyles, setStyles: setChildStyles }, children: _jsxs("div", { className: b({
248
- 'align-left': childrenCount < slidesCountByBreakpoint,
249
- 'one-slide': childrenCount === 1,
250
- 'only-arrows': !title?.text && !description && arrows,
251
- mobile: isMobile,
252
- type,
253
- }, blockClassName), children: [anchorId && _jsx(Anchor, { id: anchorId }), _jsx(Title, { title: title, subtitle: description, className: b('header', { 'no-description': !description }) }), _jsx(AnimateBlock, { className: b('animate-slides'), animate: animated, children: renderSlider() })] }) }));
249
+ return (_jsx(StylesContext.Provider, { value: { ...childStyles, setStyles: setChildStyles }, children: _jsx(Grid, { children: _jsxs("div", { className: b({
250
+ 'align-left': childrenCount < slidesCountByBreakpoint,
251
+ 'one-slide': childrenCount === 1,
252
+ 'only-arrows': !title?.text && !description && arrows,
253
+ mobile: isMobile,
254
+ type,
255
+ }, blockClassName), children: [anchorId && _jsx(Anchor, { id: anchorId }), _jsx(Title, { title: title, subtitle: description, className: b('header', { 'no-description': !description }) }), _jsx(AnimateBlock, { className: b('animate-slides'), animate: animated, children: renderSlider() })] }) }) }));
254
256
  };
255
257
  function getSlideId(sliderId, index) {
256
258
  return `slider-${sliderId}-child-${index}`;