@gravity-ui/page-constructor 6.3.0 → 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 (536) 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/components/NavigationPopup/NavigationPopup.css +2 -0
  190. package/build/cjs/navigation/components/NavigationPopup/NavigationPopup.js +13 -5
  191. package/build/cjs/navigation/components/NavigationPopup/NavigationPopup.js.map +1 -1
  192. package/build/cjs/navigation/containers/Layout/Layout.css +0 -1
  193. package/build/cjs/navigation/containers/Layout/Layout.js +1 -0
  194. package/build/cjs/navigation/containers/Layout/Layout.js.map +1 -1
  195. package/build/cjs/navigation/models.d.ts +1 -1
  196. package/build/cjs/navigation/models.js.map +1 -1
  197. package/build/cjs/schema/constants.js +2 -0
  198. package/build/cjs/schema/constants.js.map +1 -1
  199. package/build/cjs/schema/index.d.ts +256 -0
  200. package/build/cjs/schema/index.js +12 -6
  201. package/build/cjs/schema/index.js.map +1 -1
  202. package/build/cjs/sub-blocks/BackgroundCard/dynamic-form.d.ts +2 -0
  203. package/build/cjs/sub-blocks/BackgroundCard/dynamic-form.js +82 -0
  204. package/build/cjs/sub-blocks/BackgroundCard/dynamic-form.js.map +1 -0
  205. package/build/cjs/sub-blocks/BackgroundCard/index.d.ts +3 -0
  206. package/build/cjs/sub-blocks/BackgroundCard/index.js +22 -0
  207. package/build/cjs/sub-blocks/BackgroundCard/index.js.map +1 -0
  208. package/build/cjs/sub-blocks/BannerCard/BannerCard.js +2 -1
  209. package/build/cjs/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  210. package/build/cjs/sub-blocks/BannerCard/index.d.ts +3 -0
  211. package/build/cjs/sub-blocks/BannerCard/index.js +24 -0
  212. package/build/cjs/sub-blocks/BannerCard/index.js.map +1 -0
  213. package/build/cjs/sub-blocks/BasicCard/index.d.ts +3 -0
  214. package/build/cjs/sub-blocks/BasicCard/index.js +20 -0
  215. package/build/cjs/sub-blocks/BasicCard/index.js.map +1 -0
  216. package/build/cjs/sub-blocks/Content/index.d.ts +3 -0
  217. package/build/cjs/sub-blocks/Content/index.js +20 -0
  218. package/build/cjs/sub-blocks/Content/index.js.map +1 -0
  219. package/build/cjs/sub-blocks/Content/schema.d.ts +1 -0
  220. package/build/cjs/sub-blocks/Content/schema.js +1 -0
  221. package/build/cjs/sub-blocks/Content/schema.js.map +1 -1
  222. package/build/cjs/sub-blocks/Divider/index.d.ts +3 -0
  223. package/build/cjs/sub-blocks/Divider/index.js +16 -0
  224. package/build/cjs/sub-blocks/Divider/index.js.map +1 -0
  225. package/build/cjs/sub-blocks/ImageCard/ImageCard.js +1 -1
  226. package/build/cjs/sub-blocks/ImageCard/ImageCard.js.map +1 -1
  227. package/build/cjs/sub-blocks/ImageCard/index.d.ts +3 -0
  228. package/build/cjs/sub-blocks/ImageCard/index.js +20 -0
  229. package/build/cjs/sub-blocks/ImageCard/index.js.map +1 -0
  230. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +1 -1
  231. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
  232. package/build/cjs/sub-blocks/LayoutItem/index.d.ts +3 -0
  233. package/build/cjs/sub-blocks/LayoutItem/index.js +26 -0
  234. package/build/cjs/sub-blocks/LayoutItem/index.js.map +1 -0
  235. package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +211 -206
  236. package/build/cjs/sub-blocks/LayoutItem/schema.js +6 -5
  237. package/build/cjs/sub-blocks/LayoutItem/schema.js.map +1 -1
  238. package/build/cjs/sub-blocks/MediaCard/index.d.ts +3 -0
  239. package/build/cjs/sub-blocks/MediaCard/index.js +23 -0
  240. package/build/cjs/sub-blocks/MediaCard/index.js.map +1 -0
  241. package/build/cjs/sub-blocks/PriceCard/index.d.ts +3 -0
  242. package/build/cjs/sub-blocks/PriceCard/index.js +33 -0
  243. package/build/cjs/sub-blocks/PriceCard/index.js.map +1 -0
  244. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  245. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
  246. package/build/cjs/sub-blocks/PriceDetailed/index.d.ts +4 -0
  247. package/build/cjs/sub-blocks/PriceDetailed/index.js +35 -0
  248. package/build/cjs/sub-blocks/PriceDetailed/index.js.map +1 -0
  249. package/build/cjs/sub-blocks/Quote/index.d.ts +3 -0
  250. package/build/cjs/sub-blocks/Quote/index.js +23 -0
  251. package/build/cjs/sub-blocks/Quote/index.js.map +1 -0
  252. package/build/cjs/utils/editor.d.ts +2 -0
  253. package/build/cjs/utils/editor.js +25 -0
  254. package/build/cjs/utils/editor.js.map +1 -0
  255. package/build/cjs/utils/form-generator.d.ts +9 -0
  256. package/build/cjs/utils/form-generator.js +131 -0
  257. package/build/cjs/utils/form-generator.js.map +1 -0
  258. package/build/cjs/utils/index.d.ts +1 -0
  259. package/build/cjs/utils/index.js +1 -0
  260. package/build/cjs/utils/index.js.map +1 -1
  261. package/build/cjs/utils/navigation.d.ts +3 -0
  262. package/build/cjs/utils/navigation.js +14 -0
  263. package/build/cjs/utils/navigation.js.map +1 -0
  264. package/build/esm/blocks/Banner/Banner.js +2 -1
  265. package/build/esm/blocks/Banner/Banner.js.map +1 -1
  266. package/build/esm/blocks/Banner/index.d.ts +3 -0
  267. package/build/esm/blocks/Banner/index.js +21 -0
  268. package/build/esm/blocks/Banner/index.js.map +1 -0
  269. package/build/esm/blocks/CardLayout/CardLayout.css +1 -0
  270. package/build/esm/blocks/CardLayout/CardLayout.js +5 -4
  271. package/build/esm/blocks/CardLayout/CardLayout.js.map +1 -1
  272. package/build/esm/blocks/CardLayout/index.d.ts +5 -0
  273. package/build/esm/blocks/CardLayout/index.js +182 -0
  274. package/build/esm/blocks/CardLayout/index.js.map +1 -0
  275. package/build/esm/blocks/Companies/Companies.js +2 -1
  276. package/build/esm/blocks/Companies/Companies.js.map +1 -1
  277. package/build/esm/blocks/Companies/index.d.ts +3 -0
  278. package/build/esm/blocks/Companies/index.js +17 -0
  279. package/build/esm/blocks/Companies/index.js.map +1 -0
  280. package/build/esm/blocks/ContentLayout/ContentLayout.js +2 -2
  281. package/build/esm/blocks/ContentLayout/ContentLayout.js.map +1 -1
  282. package/build/esm/blocks/ContentLayout/index.d.ts +41 -0
  283. package/build/esm/blocks/ContentLayout/index.js +78 -0
  284. package/build/esm/blocks/ContentLayout/index.js.map +1 -0
  285. package/build/esm/blocks/ContentLayout/schema.d.ts +1 -0
  286. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +14 -13
  287. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  288. package/build/esm/blocks/ExtendedFeatures/index.d.ts +58 -0
  289. package/build/esm/blocks/ExtendedFeatures/index.js +74 -0
  290. package/build/esm/blocks/ExtendedFeatures/index.js.map +1 -0
  291. package/build/esm/blocks/ExtendedFeatures/schema.d.ts +1 -0
  292. package/build/esm/blocks/ExtendedFeatures/schema.js +1 -0
  293. package/build/esm/blocks/ExtendedFeatures/schema.js.map +1 -1
  294. package/build/esm/blocks/FilterBlock/FilterBlock.js +6 -6
  295. package/build/esm/blocks/FilterBlock/FilterBlock.js.map +1 -1
  296. package/build/esm/blocks/FilterBlock/index.d.ts +29 -0
  297. package/build/esm/blocks/FilterBlock/index.js +95 -0
  298. package/build/esm/blocks/FilterBlock/index.js.map +1 -0
  299. package/build/esm/blocks/Form/index.d.ts +13 -0
  300. package/build/esm/blocks/Form/index.js +17 -0
  301. package/build/esm/blocks/Form/index.js.map +1 -0
  302. package/build/esm/blocks/Header/dynamic-form.d.ts +2 -0
  303. package/build/esm/blocks/Header/dynamic-form.js +728 -0
  304. package/build/esm/blocks/Header/dynamic-form.js.map +1 -0
  305. package/build/esm/blocks/Header/index.d.ts +20 -0
  306. package/build/esm/blocks/Header/index.js +31 -0
  307. package/build/esm/blocks/Header/index.js.map +1 -0
  308. package/build/esm/blocks/HeaderSlider/HeaderSlider.js +2 -1
  309. package/build/esm/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  310. package/build/esm/blocks/HeaderSlider/index.d.ts +32 -0
  311. package/build/esm/blocks/HeaderSlider/index.js +37 -0
  312. package/build/esm/blocks/HeaderSlider/index.js.map +1 -0
  313. package/build/esm/blocks/Icons/Icons.js +8 -6
  314. package/build/esm/blocks/Icons/Icons.js.map +1 -1
  315. package/build/esm/blocks/Icons/index.d.ts +20 -0
  316. package/build/esm/blocks/Icons/index.js +61 -0
  317. package/build/esm/blocks/Icons/index.js.map +1 -0
  318. package/build/esm/blocks/Info/index.d.ts +22 -0
  319. package/build/esm/blocks/Info/index.js +40 -0
  320. package/build/esm/blocks/Info/index.js.map +1 -0
  321. package/build/esm/blocks/Map/index.d.ts +12 -0
  322. package/build/esm/blocks/Map/index.js +16 -0
  323. package/build/esm/blocks/Map/index.js.map +1 -0
  324. package/build/esm/blocks/Media/index.d.ts +39 -0
  325. package/build/esm/blocks/Media/index.js +54 -0
  326. package/build/esm/blocks/Media/index.js.map +1 -0
  327. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +15 -13
  328. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js.map +1 -1
  329. package/build/esm/blocks/PromoFeaturesBlock/index.d.ts +22 -0
  330. package/build/esm/blocks/PromoFeaturesBlock/index.js +46 -0
  331. package/build/esm/blocks/PromoFeaturesBlock/index.js.map +1 -0
  332. package/build/esm/blocks/Questions/Questions.js +7 -6
  333. package/build/esm/blocks/Questions/Questions.js.map +1 -1
  334. package/build/esm/blocks/Questions/index.d.ts +30 -0
  335. package/build/esm/blocks/Questions/index.js +46 -0
  336. package/build/esm/blocks/Questions/index.js.map +1 -0
  337. package/build/esm/blocks/Share/Share.js +11 -10
  338. package/build/esm/blocks/Share/Share.js.map +1 -1
  339. package/build/esm/blocks/Share/index.d.ts +13 -0
  340. package/build/esm/blocks/Share/index.js +17 -0
  341. package/build/esm/blocks/Share/index.js.map +1 -0
  342. package/build/esm/blocks/Slider/Slider.js +12 -10
  343. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  344. package/build/esm/blocks/Slider/dynamic-form.d.ts +3 -0
  345. package/build/esm/blocks/Slider/dynamic-form.js +223 -0
  346. package/build/esm/blocks/Slider/dynamic-form.js.map +1 -0
  347. package/build/esm/blocks/Slider/index.d.ts +28 -0
  348. package/build/esm/blocks/Slider/index.js +44 -0
  349. package/build/esm/blocks/Slider/index.js.map +1 -0
  350. package/build/esm/blocks/Table/index.d.ts +18 -0
  351. package/build/esm/blocks/Table/index.js +29 -0
  352. package/build/esm/blocks/Table/index.js.map +1 -0
  353. package/build/esm/blocks/Table/schema.d.ts +1 -0
  354. package/build/esm/blocks/Table/schema.js +1 -0
  355. package/build/esm/blocks/Table/schema.js.map +1 -1
  356. package/build/esm/blocks/Tabs/Tabs.js +5 -5
  357. package/build/esm/blocks/Tabs/Tabs.js.map +1 -1
  358. package/build/esm/blocks/Tabs/index.d.ts +17 -0
  359. package/build/esm/blocks/Tabs/index.js +28 -0
  360. package/build/esm/blocks/Tabs/index.js.map +1 -0
  361. package/build/esm/blocks/TestEditorBlock/TestEditorBlock.d.ts +5 -0
  362. package/build/esm/blocks/TestEditorBlock/TestEditorBlock.js +8 -0
  363. package/build/esm/blocks/TestEditorBlock/TestEditorBlock.js.map +1 -0
  364. package/build/esm/blocks/TestEditorBlock/form.d.ts +3 -0
  365. package/build/esm/blocks/TestEditorBlock/form.js +89 -0
  366. package/build/esm/blocks/TestEditorBlock/form.js.map +1 -0
  367. package/build/esm/blocks/TestEditorBlock/index.d.ts +11 -0
  368. package/build/esm/blocks/TestEditorBlock/index.js +14 -0
  369. package/build/esm/blocks/TestEditorBlock/index.js.map +1 -0
  370. package/build/esm/components/BlockBase/BlockBase.css +8 -16
  371. package/build/esm/components/Image/dynamic-form.d.ts +2 -0
  372. package/build/esm/components/Image/dynamic-form.js +81 -0
  373. package/build/esm/components/Image/dynamic-form.js.map +1 -0
  374. package/build/esm/components/editor/ItemWrap/ItemWrap.css +9 -0
  375. package/build/esm/components/editor/ItemWrap/ItemWrap.d.ts +7 -0
  376. package/build/esm/components/editor/ItemWrap/ItemWrap.js +11 -0
  377. package/build/esm/components/editor/ItemWrap/ItemWrap.js.map +1 -0
  378. package/build/esm/constructor-items.d.ts +22 -6
  379. package/build/esm/constructor-items.js +75 -1
  380. package/build/esm/constructor-items.js.map +1 -1
  381. package/build/esm/containers/PageConstructor/PageConstructor.d.ts +1 -1
  382. package/build/esm/containers/PageConstructor/PageConstructor.js +20 -12
  383. package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
  384. package/build/esm/containers/PageConstructor/Provider.js +2 -0
  385. package/build/esm/containers/PageConstructor/Provider.js.map +1 -1
  386. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.css +10 -6
  387. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +3 -1
  388. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  389. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +7 -6
  390. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
  391. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts +1 -1
  392. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +2 -1
  393. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js.map +1 -1
  394. package/build/esm/containers/PageConstructor/components/ConstructorLoadable/ConstructorLoadable.js +2 -1
  395. package/build/esm/containers/PageConstructor/components/ConstructorLoadable/ConstructorLoadable.js.map +1 -1
  396. package/build/esm/containers/PageConstructor/components/ConstructorRow/ConstructorRow.js +1 -2
  397. package/build/esm/containers/PageConstructor/components/ConstructorRow/ConstructorRow.js.map +1 -1
  398. package/build/esm/context/blockIdContext/blockIdContext.d.ts +2 -2
  399. package/build/esm/context/blockIdContext/blockIdContext.js +1 -1
  400. package/build/esm/context/blockIdContext/blockIdContext.js.map +1 -1
  401. package/build/esm/context/editorStoreContext/PCEditorStoreContext.d.ts +7 -0
  402. package/build/esm/context/editorStoreContext/PCEditorStoreContext.js +6 -0
  403. package/build/esm/context/editorStoreContext/PCEditorStoreContext.js.map +1 -0
  404. package/build/esm/context/editorStoreContext/PCEditorStoreProvider.d.ts +5 -0
  405. package/build/esm/context/editorStoreContext/PCEditorStoreProvider.js +29 -0
  406. package/build/esm/context/editorStoreContext/PCEditorStoreProvider.js.map +1 -0
  407. package/build/esm/context/editorStoreContext/index.d.ts +2 -0
  408. package/build/esm/context/editorStoreContext/index.js +3 -0
  409. package/build/esm/context/editorStoreContext/index.js.map +1 -0
  410. package/build/esm/editor/components/CodeEditor/CodeEditor.d.ts +1 -2
  411. package/build/esm/editor/components/CodeEditor/CodeEditor.js +4 -6
  412. package/build/esm/editor/components/CodeEditor/CodeEditor.js.map +1 -1
  413. package/build/esm/editor/data/templates/test-editor-block.json +18 -0
  414. package/build/esm/grid/Grid/Grid.css +2 -6
  415. package/build/esm/hooks/useAnalytics.js +1 -1
  416. package/build/esm/hooks/useAnalytics.js.map +1 -1
  417. package/build/esm/hooks/usePCEditorBlockMouseEvents.d.ts +8 -0
  418. package/build/esm/hooks/usePCEditorBlockMouseEvents.js +47 -0
  419. package/build/esm/hooks/usePCEditorBlockMouseEvents.js.map +1 -0
  420. package/build/esm/hooks/usePCEditorBlockSelection.d.ts +2 -0
  421. package/build/esm/hooks/usePCEditorBlockSelection.js +27 -0
  422. package/build/esm/hooks/usePCEditorBlockSelection.js.map +1 -0
  423. package/build/esm/hooks/usePCEditorInitializeEvents.d.ts +7 -0
  424. package/build/esm/hooks/usePCEditorInitializeEvents.js +58 -0
  425. package/build/esm/hooks/usePCEditorInitializeEvents.js.map +1 -0
  426. package/build/esm/hooks/usePCEditorItemWrap.d.ts +10 -0
  427. package/build/esm/hooks/usePCEditorItemWrap.js +17 -0
  428. package/build/esm/hooks/usePCEditorItemWrap.js.map +1 -0
  429. package/build/esm/hooks/usePCEditorStore.d.ts +1 -0
  430. package/build/esm/hooks/usePCEditorStore.js +8 -0
  431. package/build/esm/hooks/usePCEditorStore.js.map +1 -0
  432. package/build/esm/hooks/usePostMessageAPI.d.ts +4 -0
  433. package/build/esm/hooks/usePostMessageAPI.js +24 -0
  434. package/build/esm/hooks/usePostMessageAPI.js.map +1 -0
  435. package/build/esm/models/constructor-items/blocks.d.ts +1 -0
  436. package/build/esm/models/constructor-items/blocks.js +1 -0
  437. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  438. package/build/esm/models/constructor.d.ts +4 -1
  439. package/build/esm/models/constructor.js.map +1 -1
  440. package/build/esm/models/navigation.d.ts +2 -2
  441. package/build/esm/models/navigation.js.map +1 -1
  442. package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js +2 -2
  443. package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js.map +1 -1
  444. package/build/esm/navigation/components/Navigation/Navigation.d.ts +2 -2
  445. package/build/esm/navigation/components/Navigation/Navigation.js +1 -1
  446. package/build/esm/navigation/components/Navigation/Navigation.js.map +1 -1
  447. package/build/esm/navigation/components/NavigationItem/NavigationItem.js +4 -1
  448. package/build/esm/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  449. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +4 -1
  450. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js.map +1 -1
  451. package/build/esm/navigation/components/NavigationPopup/NavigationPopup.css +2 -0
  452. package/build/esm/navigation/components/NavigationPopup/NavigationPopup.js +13 -5
  453. package/build/esm/navigation/components/NavigationPopup/NavigationPopup.js.map +1 -1
  454. package/build/esm/navigation/containers/Layout/Layout.css +0 -1
  455. package/build/esm/navigation/containers/Layout/Layout.js +2 -1
  456. package/build/esm/navigation/containers/Layout/Layout.js.map +1 -1
  457. package/build/esm/navigation/models.d.ts +1 -1
  458. package/build/esm/navigation/models.js.map +1 -1
  459. package/build/esm/schema/constants.js +2 -0
  460. package/build/esm/schema/constants.js.map +1 -1
  461. package/build/esm/schema/index.d.ts +256 -0
  462. package/build/esm/schema/index.js +11 -5
  463. package/build/esm/schema/index.js.map +1 -1
  464. package/build/esm/sub-blocks/BackgroundCard/dynamic-form.d.ts +2 -0
  465. package/build/esm/sub-blocks/BackgroundCard/dynamic-form.js +79 -0
  466. package/build/esm/sub-blocks/BackgroundCard/dynamic-form.js.map +1 -0
  467. package/build/esm/sub-blocks/BackgroundCard/index.d.ts +3 -0
  468. package/build/esm/sub-blocks/BackgroundCard/index.js +19 -0
  469. package/build/esm/sub-blocks/BackgroundCard/index.js.map +1 -0
  470. package/build/esm/sub-blocks/BannerCard/BannerCard.js +2 -1
  471. package/build/esm/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  472. package/build/esm/sub-blocks/BannerCard/index.d.ts +3 -0
  473. package/build/esm/sub-blocks/BannerCard/index.js +21 -0
  474. package/build/esm/sub-blocks/BannerCard/index.js.map +1 -0
  475. package/build/esm/sub-blocks/BasicCard/index.d.ts +3 -0
  476. package/build/esm/sub-blocks/BasicCard/index.js +17 -0
  477. package/build/esm/sub-blocks/BasicCard/index.js.map +1 -0
  478. package/build/esm/sub-blocks/Content/index.d.ts +3 -0
  479. package/build/esm/sub-blocks/Content/index.js +17 -0
  480. package/build/esm/sub-blocks/Content/index.js.map +1 -0
  481. package/build/esm/sub-blocks/Content/schema.d.ts +1 -0
  482. package/build/esm/sub-blocks/Content/schema.js +1 -0
  483. package/build/esm/sub-blocks/Content/schema.js.map +1 -1
  484. package/build/esm/sub-blocks/Divider/index.d.ts +3 -0
  485. package/build/esm/sub-blocks/Divider/index.js +13 -0
  486. package/build/esm/sub-blocks/Divider/index.js.map +1 -0
  487. package/build/esm/sub-blocks/ImageCard/ImageCard.js +1 -1
  488. package/build/esm/sub-blocks/ImageCard/ImageCard.js.map +1 -1
  489. package/build/esm/sub-blocks/ImageCard/index.d.ts +3 -0
  490. package/build/esm/sub-blocks/ImageCard/index.js +17 -0
  491. package/build/esm/sub-blocks/ImageCard/index.js.map +1 -0
  492. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +1 -1
  493. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
  494. package/build/esm/sub-blocks/LayoutItem/index.d.ts +3 -0
  495. package/build/esm/sub-blocks/LayoutItem/index.js +23 -0
  496. package/build/esm/sub-blocks/LayoutItem/index.js.map +1 -0
  497. package/build/esm/sub-blocks/LayoutItem/schema.d.ts +211 -206
  498. package/build/esm/sub-blocks/LayoutItem/schema.js +3 -2
  499. package/build/esm/sub-blocks/LayoutItem/schema.js.map +1 -1
  500. package/build/esm/sub-blocks/MediaCard/index.d.ts +3 -0
  501. package/build/esm/sub-blocks/MediaCard/index.js +20 -0
  502. package/build/esm/sub-blocks/MediaCard/index.js.map +1 -0
  503. package/build/esm/sub-blocks/PriceCard/index.d.ts +3 -0
  504. package/build/esm/sub-blocks/PriceCard/index.js +30 -0
  505. package/build/esm/sub-blocks/PriceCard/index.js.map +1 -0
  506. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  507. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
  508. package/build/esm/sub-blocks/PriceDetailed/index.d.ts +4 -0
  509. package/build/esm/sub-blocks/PriceDetailed/index.js +32 -0
  510. package/build/esm/sub-blocks/PriceDetailed/index.js.map +1 -0
  511. package/build/esm/sub-blocks/Quote/index.d.ts +3 -0
  512. package/build/esm/sub-blocks/Quote/index.js +20 -0
  513. package/build/esm/sub-blocks/Quote/index.js.map +1 -0
  514. package/build/esm/utils/editor.d.ts +2 -0
  515. package/build/esm/utils/editor.js +21 -0
  516. package/build/esm/utils/editor.js.map +1 -0
  517. package/build/esm/utils/form-generator.d.ts +9 -0
  518. package/build/esm/utils/form-generator.js +126 -0
  519. package/build/esm/utils/form-generator.js.map +1 -0
  520. package/build/esm/utils/index.d.ts +1 -0
  521. package/build/esm/utils/index.js +1 -0
  522. package/build/esm/utils/index.js.map +1 -1
  523. package/build/esm/utils/navigation.d.ts +3 -0
  524. package/build/esm/utils/navigation.js +9 -0
  525. package/build/esm/utils/navigation.js.map +1 -0
  526. package/package.json +15 -3
  527. package/schema/index.js +1 -1
  528. package/server/models/constructor-items/blocks.d.ts +1 -0
  529. package/server/models/constructor-items/blocks.js +1 -0
  530. package/server/models/constructor.d.ts +4 -1
  531. package/server/models/navigation.d.ts +2 -2
  532. package/server/utils/index.d.ts +1 -0
  533. package/server/utils/index.js +1 -0
  534. package/server/utils/navigation.d.ts +3 -0
  535. package/server/utils/navigation.js +15 -0
  536. package/styles/mixins.scss +9 -9
@@ -0,0 +1,79 @@
1
+ import { contentThemes, textSize } from "../../schema/validators/common.js";
2
+ const textSizeEnum = textSize.map((size) => ({ value: size, content: size }));
3
+ const contentThemesEnum = contentThemes.map((size) => ({ value: size, content: size }));
4
+ export const blockConfig = {
5
+ name: 'Background Card',
6
+ inputs: [
7
+ {
8
+ type: 'oneOf',
9
+ name: 'title',
10
+ title: 'Title Object',
11
+ options: [
12
+ {
13
+ title: 'Simple',
14
+ value: 'simple',
15
+ properties: [
16
+ {
17
+ type: 'text',
18
+ name: '',
19
+ title: 'Title',
20
+ },
21
+ ],
22
+ },
23
+ {
24
+ title: 'Complex',
25
+ value: 'complex',
26
+ properties: [
27
+ {
28
+ type: 'text',
29
+ name: 'text',
30
+ title: 'Title',
31
+ },
32
+ {
33
+ type: 'select',
34
+ name: 'textSize',
35
+ title: 'Text Size',
36
+ enum: textSizeEnum,
37
+ view: 'select',
38
+ mode: 'single',
39
+ },
40
+ {
41
+ type: 'text',
42
+ name: 'url',
43
+ title: 'Url',
44
+ },
45
+ {
46
+ type: 'text',
47
+ name: 'urlTitle',
48
+ title: 'Url',
49
+ },
50
+ {
51
+ type: 'boolean',
52
+ name: 'resetMargin',
53
+ title: 'Reset Margin',
54
+ },
55
+ ],
56
+ },
57
+ ],
58
+ },
59
+ {
60
+ type: 'textarea',
61
+ name: 'text',
62
+ title: 'Description',
63
+ },
64
+ {
65
+ type: 'textarea',
66
+ name: 'additionalInfo',
67
+ title: 'Additional Info',
68
+ },
69
+ {
70
+ type: 'select',
71
+ name: 'size',
72
+ title: 'Size',
73
+ enum: contentThemesEnum,
74
+ view: 'select',
75
+ mode: 'single',
76
+ },
77
+ ],
78
+ };
79
+ //# sourceMappingURL=dynamic-form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-form.js","sourceRoot":"../../../../src","sources":["sub-blocks/BackgroundCard/dynamic-form.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,0CAAuC;AAEvE,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;AAC5E,MAAM,iBAAiB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;AAEtF,MAAM,CAAC,MAAM,WAAW,GAAgB;IACpC,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE;gBACL;oBACI,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,QAAQ;oBACf,UAAU,EAAE;wBACR;4BACI,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,EAAE;4BACR,KAAK,EAAE,OAAO;yBACjB;qBACJ;iBACJ;gBACD;oBACI,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,SAAS;oBAChB,UAAU,EAAE;wBACR;4BACI,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,OAAO;yBACjB;wBACD;4BACI,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,UAAU;4BAChB,KAAK,EAAE,WAAW;4BAClB,IAAI,EAAE,YAAY;4BAClB,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,QAAQ;yBACjB;wBACD;4BACI,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,KAAK;4BACX,KAAK,EAAE,KAAK;yBACf;wBACD;4BACI,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,UAAU;4BAChB,KAAK,EAAE,KAAK;yBACf;wBACD;4BACI,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,aAAa;4BACnB,KAAK,EAAE,cAAc;yBACxB;qBACJ;iBACJ;aACJ;SACJ;QACD;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,aAAa;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,iBAAiB;SAC3B;QACD;YACI,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;SACjB;KACJ;CACJ,CAAC","sourcesContent":["import {BlockConfig} from '../../../common/types';\nimport {contentThemes, textSize} from '../../schema/validators/common';\n\nconst textSizeEnum = textSize.map((size) => ({value: size, content: size}));\nconst contentThemesEnum = contentThemes.map((size) => ({value: size, content: size}));\n\nexport const blockConfig: BlockConfig = {\n name: 'Background Card',\n inputs: [\n {\n type: 'oneOf',\n name: 'title',\n title: 'Title Object',\n options: [\n {\n title: 'Simple',\n value: 'simple',\n properties: [\n {\n type: 'text',\n name: '',\n title: 'Title',\n },\n ],\n },\n {\n title: 'Complex',\n value: 'complex',\n properties: [\n {\n type: 'text',\n name: 'text',\n title: 'Title',\n },\n {\n type: 'select',\n name: 'textSize',\n title: 'Text Size',\n enum: textSizeEnum,\n view: 'select',\n mode: 'single',\n },\n {\n type: 'text',\n name: 'url',\n title: 'Url',\n },\n {\n type: 'text',\n name: 'urlTitle',\n title: 'Url',\n },\n {\n type: 'boolean',\n name: 'resetMargin',\n title: 'Reset Margin',\n },\n ],\n },\n ],\n },\n {\n type: 'textarea',\n name: 'text',\n title: 'Description',\n },\n {\n type: 'textarea',\n name: 'additionalInfo',\n title: 'Additional Info',\n },\n {\n type: 'select',\n name: 'size',\n title: 'Size',\n enum: contentThemesEnum,\n view: 'select',\n mode: 'single',\n },\n ],\n};\n"]}
@@ -0,0 +1,3 @@
1
+ import { BlockData } from "../../constructor-items.js";
2
+ declare const BackgroundCardConfig: BlockData;
3
+ export default BackgroundCardConfig;
@@ -0,0 +1,19 @@
1
+ import { generateFromAJV } from "../../utils/form-generator.js";
2
+ import BackgroundCard from "./BackgroundCard.js";
3
+ import { BackgroundCard as BackgroundCardSchema } from "./schema.js";
4
+ const BackgroundCardConfig = {
5
+ component: BackgroundCard,
6
+ schema: {
7
+ name: 'Background Card',
8
+ inputs: generateFromAJV(BackgroundCardSchema['background-card']),
9
+ group: 'cards',
10
+ default: {
11
+ title: 'Background Card',
12
+ text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
13
+ additionalInfo: 'Additional info',
14
+ backgroundColor: '#F0F0F0',
15
+ },
16
+ },
17
+ };
18
+ export default BackgroundCardConfig;
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["sub-blocks/BackgroundCard/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,eAAe,EAAC,sCAAmC;AAE3D,OAAO,cAAc,4BAAyB;AAC9C,OAAO,EAAC,cAAc,IAAI,oBAAoB,EAAC,oBAAiB;AAEhE,MAAM,oBAAoB,GAAc;IACpC,SAAS,EAAE,cAAc;IACzB,MAAM,EAAE;QACJ,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,eAAe,CACnB,oBAAoB,CAAC,iBAAiB,CAAkC,CAC3E;QACD,KAAK,EAAE,OAAO;QACd,OAAO,EAAE;YACL,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,6HAA6H;YACnI,cAAc,EAAE,iBAAiB;YACjC,eAAe,EAAE,SAAS;SAC7B;KACJ;CACJ,CAAC;AAEF,eAAe,oBAAoB,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {BlockData} from '../../constructor-items';\nimport {generateFromAJV} from '../../utils/form-generator';\n\nimport BackgroundCard from './BackgroundCard';\nimport {BackgroundCard as BackgroundCardSchema} from './schema';\n\nconst BackgroundCardConfig: BlockData = {\n component: BackgroundCard,\n schema: {\n name: 'Background Card',\n inputs: generateFromAJV(\n BackgroundCardSchema['background-card'] as unknown as JSONSchemaType<{}>,\n ),\n group: 'cards',\n default: {\n title: 'Background Card',\n text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',\n additionalInfo: 'Additional info',\n backgroundColor: '#F0F0F0',\n },\n },\n};\n\nexport default BackgroundCardConfig;\n"]}
@@ -5,9 +5,10 @@ import { block, getThemedValue } from "../../utils/index.js";
5
5
  import './BannerCard.css';
6
6
  const b = block('banner-card');
7
7
  export const BannerCard = (props) => {
8
- const { title, subtitle, button: { url, text, target, theme: buttonTheme = 'raised' } = {}, color, theme: textTheme = 'light', image, disableCompress, mediaView = 'full', } = props;
8
+ const { title, subtitle, button, color, theme: textTheme = 'light', image, disableCompress, mediaView = 'full', } = props;
9
9
  const theme = useTheme();
10
10
  const contentStyle = {};
11
+ const { url, text, target, theme: buttonTheme = 'raised' } = button || {};
11
12
  if (color) {
12
13
  contentStyle.backgroundColor = getThemedValue(color, theme);
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BannerCard.js","sourceRoot":"../../../../src","sources":["sub-blocks/BannerCard/BannerCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAC,kCAAyB;AACvF,OAAO,EAAC,QAAQ,EAAC,qCAA4B;AAE7C,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,6BAAoB;AAElD,OAAO,kBAAkB,CAAC;AAE1B,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;AAE/B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAE,EAAE;IACjD,MAAM,EACF,KAAK,EACL,QAAQ,EACR,MAAM,EAAE,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,QAAQ,EAAC,GAAG,EAAE,EAC/D,KAAK,EACL,KAAK,EAAE,SAAS,GAAG,OAAO,EAC1B,KAAK,EACL,eAAe,EACf,SAAS,GAAG,MAAM,GACrB,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,YAAY,GAA2B,EAAE,CAAC;IAEhD,IAAI,KAAK,EAAE,CAAC;QACR,YAAY,CAAC,eAAe,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,EAAC,CAAC,YAC5D,eAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,aAC7C,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACrB,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACrB,aAAI,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YACrB,KAAC,IAAI,cAAE,KAAK,GAAQ,GACnB,EACJ,QAAQ,IAAI,CACT,KAAC,UAAU,IACP,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,EACxB,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,GAChC,CACL,IACC,EAEL,GAAG,IAAI,CACJ,KAAC,UAAU,IAAC,IAAI,EAAE,GAAG,YACjB,KAAC,MAAM,IACH,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EACtB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAC,IAAI,EACT,IAAI,EAAE,IAAI,IAAI,EAAE,EAChB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GAChB,GACO,CAChB,IACC,EACN,KAAC,eAAe,IACZ,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EACrB,GAAG,EAAE,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,EACjC,eAAe,EAAE,eAAe,GAClC,IACA,GACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["import {BackgroundImage, Button, HTML, RouterLink, YFMWrapper} from '../../components';\nimport {useTheme} from '../../context/theme';\nimport {BannerCardProps} from '../../models';\nimport {block, getThemedValue} from '../../utils';\n\nimport './BannerCard.scss';\n\nconst b = block('banner-card');\n\nexport const BannerCard = (props: BannerCardProps) => {\n const {\n title,\n subtitle,\n button: {url, text, target, theme: buttonTheme = 'raised'} = {},\n color,\n theme: textTheme = 'light',\n image,\n disableCompress,\n mediaView = 'full',\n } = props;\n const theme = useTheme();\n const contentStyle: Record<string, string> = {};\n\n if (color) {\n contentStyle.backgroundColor = getThemedValue(color, theme);\n }\n\n return (\n <div className={b({theme: textTheme, ['media-view']: mediaView})}>\n <div className={b('content')} style={contentStyle}>\n <div className={b('info')}>\n <div className={b('text')}>\n <h2 className={b('title')}>\n <HTML>{title}</HTML>\n </h2>\n {subtitle && (\n <YFMWrapper\n className={b('subtitle')}\n content={subtitle}\n modifiers={{constructor: true}}\n />\n )}\n </div>\n\n {url && (\n <RouterLink href={url}>\n <Button\n className={b('button')}\n theme={buttonTheme}\n size=\"xl\"\n text={text ?? ''}\n url={url}\n target={target}\n />\n </RouterLink>\n )}\n </div>\n <BackgroundImage\n className={b('image')}\n src={getThemedValue(image, theme)}\n disableCompress={disableCompress}\n />\n </div>\n </div>\n );\n};\n\nexport default BannerCard;\n"]}
1
+ {"version":3,"file":"BannerCard.js","sourceRoot":"../../../../src","sources":["sub-blocks/BannerCard/BannerCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAC,kCAAyB;AACvF,OAAO,EAAC,QAAQ,EAAC,qCAA4B;AAE7C,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,6BAAoB;AAElD,OAAO,kBAAkB,CAAC;AAE1B,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;AAE/B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAE,EAAE;IACjD,MAAM,EACF,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAK,EAAE,SAAS,GAAG,OAAO,EAC1B,KAAK,EACL,eAAe,EACf,SAAS,GAAG,MAAM,GACrB,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,YAAY,GAA2B,EAAE,CAAC;IAEhD,MAAM,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,QAAQ,EAAC,GAAG,MAAM,IAAI,EAAE,CAAC;IAExE,IAAI,KAAK,EAAE,CAAC;QACR,YAAY,CAAC,eAAe,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,EAAC,CAAC,YAC5D,eAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,aAC7C,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACrB,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACrB,aAAI,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YACrB,KAAC,IAAI,cAAE,KAAK,GAAQ,GACnB,EACJ,QAAQ,IAAI,CACT,KAAC,UAAU,IACP,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,EACxB,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,GAChC,CACL,IACC,EAEL,GAAG,IAAI,CACJ,KAAC,UAAU,IAAC,IAAI,EAAE,GAAG,YACjB,KAAC,MAAM,IACH,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EACtB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAC,IAAI,EACT,IAAI,EAAE,IAAI,IAAI,EAAE,EAChB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GAChB,GACO,CAChB,IACC,EACN,KAAC,eAAe,IACZ,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EACrB,GAAG,EAAE,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,EACjC,eAAe,EAAE,eAAe,GAClC,IACA,GACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["import {BackgroundImage, Button, HTML, RouterLink, YFMWrapper} from '../../components';\nimport {useTheme} from '../../context/theme';\nimport {BannerCardProps} from '../../models';\nimport {block, getThemedValue} from '../../utils';\n\nimport './BannerCard.scss';\n\nconst b = block('banner-card');\n\nexport const BannerCard = (props: BannerCardProps) => {\n const {\n title,\n subtitle,\n button,\n color,\n theme: textTheme = 'light',\n image,\n disableCompress,\n mediaView = 'full',\n } = props;\n const theme = useTheme();\n const contentStyle: Record<string, string> = {};\n\n const {url, text, target, theme: buttonTheme = 'raised'} = button || {};\n\n if (color) {\n contentStyle.backgroundColor = getThemedValue(color, theme);\n }\n\n return (\n <div className={b({theme: textTheme, ['media-view']: mediaView})}>\n <div className={b('content')} style={contentStyle}>\n <div className={b('info')}>\n <div className={b('text')}>\n <h2 className={b('title')}>\n <HTML>{title}</HTML>\n </h2>\n {subtitle && (\n <YFMWrapper\n className={b('subtitle')}\n content={subtitle}\n modifiers={{constructor: true}}\n />\n )}\n </div>\n\n {url && (\n <RouterLink href={url}>\n <Button\n className={b('button')}\n theme={buttonTheme}\n size=\"xl\"\n text={text ?? ''}\n url={url}\n target={target}\n />\n </RouterLink>\n )}\n </div>\n <BackgroundImage\n className={b('image')}\n src={getThemedValue(image, theme)}\n disableCompress={disableCompress}\n />\n </div>\n </div>\n );\n};\n\nexport default BannerCard;\n"]}
@@ -0,0 +1,3 @@
1
+ import { BlockData } from "../../constructor-items.js";
2
+ declare const BannerCardConfig: BlockData;
3
+ export default BannerCardConfig;
@@ -0,0 +1,21 @@
1
+ import { BannerCardProps } from "../../blocks/Banner/schema.js";
2
+ import { generateFromAJV } from "../../utils/form-generator.js";
3
+ import BannerCard from "./BannerCard.js";
4
+ const BannerCardConfig = {
5
+ component: BannerCard,
6
+ schema: {
7
+ name: 'Banner Card',
8
+ group: 'cards',
9
+ inputs: generateFromAJV(BannerCardProps),
10
+ default: {
11
+ color: 'rgba(54, 151, 241, 0.4)',
12
+ title: 'Banner Card',
13
+ subtitle: 'Some sort of description.',
14
+ button: {
15
+ text: 'Read more',
16
+ },
17
+ },
18
+ },
19
+ };
20
+ export default BannerCardConfig;
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["sub-blocks/BannerCard/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,eAAe,EAAC,sCAAmC;AAE3D,OAAO,EAAC,eAAe,EAAC,sCAAmC;AAE3D,OAAO,UAAU,wBAAqB;AAEtC,MAAM,gBAAgB,GAAc;IAChC,SAAS,EAAE,UAAU;IACrB,MAAM,EAAE;QACJ,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,eAAe,CAAC,eAAgD,CAAC;QACzE,OAAO,EAAE;YACL,KAAK,EAAE,yBAAyB;YAChC,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,2BAA2B;YACrC,MAAM,EAAE;gBACJ,IAAI,EAAE,WAAW;aACpB;SACJ;KACJ;CACJ,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {BannerCardProps} from '../../blocks/Banner/schema';\nimport {BlockData} from '../../constructor-items';\nimport {generateFromAJV} from '../../utils/form-generator';\n\nimport BannerCard from './BannerCard';\n\nconst BannerCardConfig: BlockData = {\n component: BannerCard,\n schema: {\n name: 'Banner Card',\n group: 'cards',\n inputs: generateFromAJV(BannerCardProps as unknown as JSONSchemaType<{}>),\n default: {\n color: 'rgba(54, 151, 241, 0.4)',\n title: 'Banner Card',\n subtitle: 'Some sort of description.',\n button: {\n text: 'Read more',\n },\n },\n },\n};\n\nexport default BannerCardConfig;\n"]}
@@ -0,0 +1,3 @@
1
+ import { BlockData } from "../../constructor-items.js";
2
+ declare const BasicCardConfig: BlockData;
3
+ export default BasicCardConfig;
@@ -0,0 +1,17 @@
1
+ import { generateFromAJV } from "../../utils/form-generator.js";
2
+ import BasicCard from "./BasicCard.js";
3
+ import { BasicCard as BasicCardSchema } from "./schema.js";
4
+ const BasicCardConfig = {
5
+ component: BasicCard,
6
+ schema: {
7
+ name: 'Basic Card',
8
+ group: 'cards',
9
+ inputs: generateFromAJV(BasicCardSchema['basic-card']),
10
+ default: {
11
+ title: 'Basic Card',
12
+ text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
13
+ },
14
+ },
15
+ };
16
+ export default BasicCardConfig;
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["sub-blocks/BasicCard/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,eAAe,EAAC,sCAAmC;AAE3D,OAAO,SAAS,uBAAoB;AACpC,OAAO,EAAC,SAAS,IAAI,eAAe,EAAC,oBAAiB;AAEtD,MAAM,eAAe,GAAc;IAC/B,SAAS,EAAE,SAAS;IACpB,MAAM,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC,YAAY,CAAkC,CAAC;QACvF,OAAO,EAAE;YACL,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,6HAA6H;SACtI;KACJ;CACJ,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {BlockData} from '../../constructor-items';\nimport {generateFromAJV} from '../../utils/form-generator';\n\nimport BasicCard from './BasicCard';\nimport {BasicCard as BasicCardSchema} from './schema';\n\nconst BasicCardConfig: BlockData = {\n component: BasicCard,\n schema: {\n name: 'Basic Card',\n group: 'cards',\n inputs: generateFromAJV(BasicCardSchema['basic-card'] as unknown as JSONSchemaType<{}>),\n default: {\n title: 'Basic Card',\n text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',\n },\n },\n};\n\nexport default BasicCardConfig;\n"]}
@@ -0,0 +1,3 @@
1
+ import { BlockData } from "../../constructor-items.js";
2
+ declare const ContentConfig: BlockData;
3
+ export default ContentConfig;
@@ -0,0 +1,17 @@
1
+ import { generateFromAJV } from "../../utils/form-generator.js";
2
+ import Content from "./Content.js";
3
+ import { ContentBlock } from "./schema.js";
4
+ const ContentConfig = {
5
+ component: Content,
6
+ schema: {
7
+ name: 'Content',
8
+ group: 'cards',
9
+ inputs: generateFromAJV(ContentBlock['content']),
10
+ default: {
11
+ title: 'Content',
12
+ text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
13
+ },
14
+ },
15
+ };
16
+ export default ContentConfig;
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["sub-blocks/Content/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,eAAe,EAAC,sCAAmC;AAE3D,OAAO,OAAO,qBAAkB;AAChC,OAAO,EAAC,YAAY,EAAC,oBAAiB;AAEtC,MAAM,aAAa,GAAc;IAC7B,SAAS,EAAE,OAAO;IAClB,MAAM,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC,SAAS,CAAkC,CAAC;QACjF,OAAO,EAAE;YACL,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,6HAA6H;SACtI;KACJ;CACJ,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {BlockData} from '../../constructor-items';\nimport {generateFromAJV} from '../../utils/form-generator';\n\nimport Content from './Content';\nimport {ContentBlock} from './schema';\n\nconst ContentConfig: BlockData = {\n component: Content,\n schema: {\n name: 'Content',\n group: 'cards',\n inputs: generateFromAJV(ContentBlock['content'] as unknown as JSONSchemaType<{}>),\n default: {\n title: 'Content',\n text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',\n },\n },\n};\n\nexport default ContentConfig;\n"]}
@@ -139,6 +139,7 @@ export declare const ContentBase: {
139
139
  };
140
140
  export declare const ContentBlock: {
141
141
  content: {
142
+ type: string;
142
143
  additionalProperties: boolean;
143
144
  properties: {
144
145
  colSizes: {};
@@ -57,6 +57,7 @@ export const ContentBase = {
57
57
  };
58
58
  export const ContentBlock = {
59
59
  content: {
60
+ type: 'object',
60
61
  additionalProperties: false,
61
62
  properties: {
62
63
  ...ContentBase,
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["sub-blocks/Content/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,yCAAsC;AACzD,OAAO,EACH,WAAW,EACX,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,SAAS,GACZ,0CAAuC;AACxC,OAAO,EAAC,aAAa,EAAC,yCAAsC;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,UAAU,EAAE;QACR,KAAK,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,MAAM;SACtB;QACD,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,KAAK;SACrB;QACD,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC;KAC9B;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,KAAK,EAAE;QACH,KAAK,EAAE;YACH;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;gBACnB,UAAU,EAAE,MAAM;aACrB;YACD;gBACI,GAAG,UAAU;gBACb,UAAU,EAAE,SAAS;aACxB;SACJ;KACJ;IACD,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,UAAU;KACxB;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,KAAK;KACrB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;KACrB;IACD,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC;IAC/B,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC;IACnC,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,aAAa;KACtB;IACD,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC;IAChC,eAAe,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;KAC9B;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,OAAO,EAAE;QACL,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE;YACR,GAAG,WAAW;YACd,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAC,CAAC,EAAE,EAAE,CAAC;YACvF,QAAQ,EAAE;gBACN,IAAI,EAAE,SAAS;aAClB;SACJ;KACJ;CACJ,CAAC","sourcesContent":["import {ImageProps} from '../../components/Image/schema';\nimport {\n ButtonBlock,\n LinkProps,\n TitleProps,\n containerSizesArray,\n contentSizes,\n contentThemes,\n sizeNumber,\n withTheme,\n} from '../../schema/validators/common';\nimport {filteredArray} from '../../schema/validators/utils';\n\nexport const ContentItem = {\n additionalProperties: false,\n required: ['icon'],\n properties: {\n title: {\n type: 'string',\n contentType: 'text',\n },\n text: {\n type: 'string',\n contentType: 'yfm',\n },\n icon: withTheme(ImageProps),\n },\n};\n\nexport const ContentBase = {\n title: {\n oneOf: [\n {\n type: 'string',\n contentType: 'text',\n optionName: 'text',\n },\n {\n ...TitleProps,\n optionName: 'options',\n },\n ],\n },\n text: {\n type: 'string',\n contentType: 'yfm',\n inputType: 'textarea',\n },\n additionalInfo: {\n type: 'string',\n contentType: 'yfm',\n },\n size: {\n type: 'string',\n enum: contentSizes,\n },\n links: filteredArray(LinkProps),\n buttons: filteredArray(ButtonBlock),\n theme: {\n type: 'string',\n enum: contentThemes,\n },\n list: filteredArray(ContentItem),\n controlPosition: {\n type: 'string',\n enum: ['default', 'bottom'],\n },\n};\n\nexport const ContentBlock = {\n content: {\n additionalProperties: false,\n properties: {\n ...ContentBase,\n colSizes: containerSizesArray.reduce((acc, size) => ({...acc, [size]: sizeNumber}), {}),\n centered: {\n type: 'boolean',\n },\n },\n },\n};\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["sub-blocks/Content/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,yCAAsC;AACzD,OAAO,EACH,WAAW,EACX,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,SAAS,GACZ,0CAAuC;AACxC,OAAO,EAAC,aAAa,EAAC,yCAAsC;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,UAAU,EAAE;QACR,KAAK,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,MAAM;SACtB;QACD,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,KAAK;SACrB;QACD,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC;KAC9B;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,KAAK,EAAE;QACH,KAAK,EAAE;YACH;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;gBACnB,UAAU,EAAE,MAAM;aACrB;YACD;gBACI,GAAG,UAAU;gBACb,UAAU,EAAE,SAAS;aACxB;SACJ;KACJ;IACD,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,UAAU;KACxB;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,KAAK;KACrB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;KACrB;IACD,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC;IAC/B,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC;IACnC,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,aAAa;KACtB;IACD,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC;IAChC,eAAe,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;KAC9B;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,OAAO,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE;YACR,GAAG,WAAW;YACd,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAC,CAAC,EAAE,EAAE,CAAC;YACvF,QAAQ,EAAE;gBACN,IAAI,EAAE,SAAS;aAClB;SACJ;KACJ;CACJ,CAAC","sourcesContent":["import {ImageProps} from '../../components/Image/schema';\nimport {\n ButtonBlock,\n LinkProps,\n TitleProps,\n containerSizesArray,\n contentSizes,\n contentThemes,\n sizeNumber,\n withTheme,\n} from '../../schema/validators/common';\nimport {filteredArray} from '../../schema/validators/utils';\n\nexport const ContentItem = {\n additionalProperties: false,\n required: ['icon'],\n properties: {\n title: {\n type: 'string',\n contentType: 'text',\n },\n text: {\n type: 'string',\n contentType: 'yfm',\n },\n icon: withTheme(ImageProps),\n },\n};\n\nexport const ContentBase = {\n title: {\n oneOf: [\n {\n type: 'string',\n contentType: 'text',\n optionName: 'text',\n },\n {\n ...TitleProps,\n optionName: 'options',\n },\n ],\n },\n text: {\n type: 'string',\n contentType: 'yfm',\n inputType: 'textarea',\n },\n additionalInfo: {\n type: 'string',\n contentType: 'yfm',\n },\n size: {\n type: 'string',\n enum: contentSizes,\n },\n links: filteredArray(LinkProps),\n buttons: filteredArray(ButtonBlock),\n theme: {\n type: 'string',\n enum: contentThemes,\n },\n list: filteredArray(ContentItem),\n controlPosition: {\n type: 'string',\n enum: ['default', 'bottom'],\n },\n};\n\nexport const ContentBlock = {\n content: {\n type: 'object',\n additionalProperties: false,\n properties: {\n ...ContentBase,\n colSizes: containerSizesArray.reduce((acc, size) => ({...acc, [size]: sizeNumber}), {}),\n centered: {\n type: 'boolean',\n },\n },\n },\n};\n"]}
@@ -0,0 +1,3 @@
1
+ import { BlockData } from "../../constructor-items.js";
2
+ declare const DividerConfig: BlockData;
3
+ export default DividerConfig;
@@ -0,0 +1,13 @@
1
+ import { generateFromAJV } from "../../utils/form-generator.js";
2
+ import Divider from "./Divider.js";
3
+ import { Divider as DividerSchema } from "./schema.js";
4
+ const DividerConfig = {
5
+ component: Divider,
6
+ schema: {
7
+ name: 'Divider',
8
+ inputs: generateFromAJV(DividerSchema['divider']),
9
+ default: {},
10
+ },
11
+ };
12
+ export default DividerConfig;
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["sub-blocks/Divider/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,eAAe,EAAC,sCAAmC;AAE3D,OAAO,OAAO,qBAAkB;AAChC,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,oBAAiB;AAElD,MAAM,aAAa,GAAc;IAC7B,SAAS,EAAE,OAAO;IAClB,MAAM,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,eAAe,CAAC,aAAa,CAAC,SAAS,CAAkC,CAAC;QAClF,OAAO,EAAE,EAAE;KACd;CACJ,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {BlockData} from '../../constructor-items';\nimport {generateFromAJV} from '../../utils/form-generator';\n\nimport Divider from './Divider';\nimport {Divider as DividerSchema} from './schema';\n\nconst DividerConfig: BlockData = {\n component: Divider,\n schema: {\n name: 'Divider',\n inputs: generateFromAJV(DividerSchema['divider'] as unknown as JSONSchemaType<{}>),\n default: {},\n },\n};\n\nexport default DividerConfig;\n"]}
@@ -18,7 +18,7 @@ const ImageCard = (props) => {
18
18
  const themedImage = getThemedValue(image, globalTheme);
19
19
  const imageProps = getMediaImage(themedImage);
20
20
  const titleId = useUniqId();
21
- const cardContent = (_jsxs(React.Fragment, { children: [_jsx("div", { className: b('image', { margins }), children: _jsx(Image, { className: b('image_inner', { radius: enableImageBorderRadius }), ...imageProps }) }), hasContent && (_jsx("div", { className: b('content'), children: _jsx(Content, { titleId: titleId, title: title, text: text, links: links, buttons: buttons, list: list, theme: cardTheme, additionalInfo: additionalInfo, size: size, colSizes: CONTENT_COL_SIZES, controlPosition: areControlsInFooter ? 'bottom' : 'default' }) }))] }));
21
+ const cardContent = (_jsxs(React.Fragment, { children: [image && (_jsx("div", { className: b('image', { margins }), children: _jsx(Image, { className: b('image_inner', { radius: enableImageBorderRadius }), ...imageProps }) })), hasContent && (_jsx("div", { className: b('content'), children: _jsx(Content, { titleId: titleId, title: title, text: text, links: links, buttons: buttons, list: list, theme: cardTheme, additionalInfo: additionalInfo, size: size, colSizes: CONTENT_COL_SIZES, controlPosition: areControlsInFooter ? 'bottom' : 'default' }) }))] }));
22
22
  return url ? (_jsx(Link, { href: url, target: target, rel: target === '_blank' ? 'noopener noreferrer' : undefined, className: b({ border, 'with-content': hasContent, direction }), title: urlTitle, style: { backgroundColor }, extraProps: {
23
23
  draggable: false,
24
24
  onDragStart: (e) => e.preventDefault(),
@@ -1 +1 @@
1
- {"version":3,"file":"ImageCard.js","sourceRoot":"../../../../src","sources":["sub-blocks/ImageCard/ImageCard.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Link, useUniqId} from '@gravity-ui/uikit';\n\nimport {Image} from '../../components';\nimport {getMediaImage} from '../../components/Media/Image/utils';\nimport {useTheme} from '../../context/theme';\nimport {GridColumnSizesType} from '../../grid';\nimport {ImageCardDirection, ImageCardProps} from '../../models';\nimport {block, getThemedValue} from '../../utils';\nimport Content from '../Content/Content';\n\nimport './ImageCard.scss';\n\nconst b = block('image-card');\nconst CONTENT_COL_SIZES: GridColumnSizesType = {all: 12, md: 12};\n\nconst ImageCard = (props: ImageCardProps) => {\n const {\n border = 'shadow',\n title,\n text,\n image,\n enableImageBorderRadius = false,\n direction = ImageCardDirection.Direct,\n margins,\n backgroundColor,\n url,\n target,\n urlTitle,\n additionalInfo,\n links,\n buttons,\n list,\n theme: cardTheme = 'default',\n size = 's',\n controlPosition = 'content',\n } = props;\n\n const globalTheme = useTheme();\n const areControlsInFooter = controlPosition === 'footer';\n const hasContent = Boolean(text || title || buttons || links || list);\n const themedImage = getThemedValue(image, globalTheme);\n const imageProps = getMediaImage(themedImage);\n\n const titleId = useUniqId();\n\n const cardContent = (\n <React.Fragment>\n <div className={b('image', {margins})}>\n <Image\n className={b('image_inner', {radius: enableImageBorderRadius})}\n {...imageProps}\n />\n </div>\n {hasContent && (\n <div className={b('content')}>\n <Content\n titleId={titleId}\n title={title}\n text={text}\n links={links}\n buttons={buttons}\n list={list}\n theme={cardTheme}\n additionalInfo={additionalInfo}\n size={size}\n colSizes={CONTENT_COL_SIZES}\n controlPosition={areControlsInFooter ? 'bottom' : 'default'}\n />\n </div>\n )}\n </React.Fragment>\n );\n\n return url ? (\n <Link\n href={url}\n target={target}\n rel={target === '_blank' ? 'noopener noreferrer' : undefined}\n className={b({border, 'with-content': hasContent, direction})}\n title={urlTitle}\n style={{backgroundColor}}\n extraProps={{\n draggable: false,\n onDragStart: (e: React.DragEvent<HTMLAnchorElement>) => e.preventDefault(),\n }}\n >\n {cardContent}\n </Link>\n ) : (\n <div\n className={b({border, 'with-content': hasContent, direction})}\n style={{backgroundColor}}\n >\n {cardContent}\n </div>\n );\n};\n\nexport default ImageCard;\n"]}
1
+ {"version":3,"file":"ImageCard.js","sourceRoot":"../../../../src","sources":["sub-blocks/ImageCard/ImageCard.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Link, useUniqId} from '@gravity-ui/uikit';\n\nimport {Image} from '../../components';\nimport {getMediaImage} from '../../components/Media/Image/utils';\nimport {useTheme} from '../../context/theme';\nimport {GridColumnSizesType} from '../../grid';\nimport {ImageCardDirection, ImageCardProps} from '../../models';\nimport {block, getThemedValue} from '../../utils';\nimport Content from '../Content/Content';\n\nimport './ImageCard.scss';\n\nconst b = block('image-card');\nconst CONTENT_COL_SIZES: GridColumnSizesType = {all: 12, md: 12};\n\nconst ImageCard = (props: ImageCardProps) => {\n const {\n border = 'shadow',\n title,\n text,\n image,\n enableImageBorderRadius = false,\n direction = ImageCardDirection.Direct,\n margins,\n backgroundColor,\n url,\n target,\n urlTitle,\n additionalInfo,\n links,\n buttons,\n list,\n theme: cardTheme = 'default',\n size = 's',\n controlPosition = 'content',\n } = props;\n\n const globalTheme = useTheme();\n const areControlsInFooter = controlPosition === 'footer';\n const hasContent = Boolean(text || title || buttons || links || list);\n const themedImage = getThemedValue(image, globalTheme);\n const imageProps = getMediaImage(themedImage);\n\n const titleId = useUniqId();\n\n const cardContent = (\n <React.Fragment>\n {image && (\n <div className={b('image', {margins})}>\n <Image\n className={b('image_inner', {radius: enableImageBorderRadius})}\n {...imageProps}\n />\n </div>\n )}\n {hasContent && (\n <div className={b('content')}>\n <Content\n titleId={titleId}\n title={title}\n text={text}\n links={links}\n buttons={buttons}\n list={list}\n theme={cardTheme}\n additionalInfo={additionalInfo}\n size={size}\n colSizes={CONTENT_COL_SIZES}\n controlPosition={areControlsInFooter ? 'bottom' : 'default'}\n />\n </div>\n )}\n </React.Fragment>\n );\n\n return url ? (\n <Link\n href={url}\n target={target}\n rel={target === '_blank' ? 'noopener noreferrer' : undefined}\n className={b({border, 'with-content': hasContent, direction})}\n title={urlTitle}\n style={{backgroundColor}}\n extraProps={{\n draggable: false,\n onDragStart: (e: React.DragEvent<HTMLAnchorElement>) => e.preventDefault(),\n }}\n >\n {cardContent}\n </Link>\n ) : (\n <div\n className={b({border, 'with-content': hasContent, direction})}\n style={{backgroundColor}}\n >\n {cardContent}\n </div>\n );\n};\n\nexport default ImageCard;\n"]}
@@ -0,0 +1,3 @@
1
+ import { BlockData } from "../../constructor-items.js";
2
+ declare const ImageCardConfig: BlockData;
3
+ export default ImageCardConfig;
@@ -0,0 +1,17 @@
1
+ import { generateFromAJV } from "../../utils/form-generator.js";
2
+ import ImageCard from "./ImageCard.js";
3
+ import { ImageCard as ImageCardSchema } from "./schema.js";
4
+ const ImageCardConfig = {
5
+ component: ImageCard,
6
+ schema: {
7
+ name: 'Image Card',
8
+ group: 'cards',
9
+ inputs: generateFromAJV(ImageCardSchema['image-card']),
10
+ default: {
11
+ title: 'Image Card',
12
+ text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
13
+ },
14
+ },
15
+ };
16
+ export default ImageCardConfig;
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["sub-blocks/ImageCard/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,eAAe,EAAC,sCAAmC;AAE3D,OAAO,SAAS,uBAAoB;AACpC,OAAO,EAAC,SAAS,IAAI,eAAe,EAAC,oBAAiB;AAEtD,MAAM,eAAe,GAAc;IAC/B,SAAS,EAAE,SAAS;IACpB,MAAM,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC,YAAY,CAAkC,CAAC;QACvF,OAAO,EAAE;YACL,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,6HAA6H;SACtI;KACJ;CACJ,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {BlockData} from '../../constructor-items';\nimport {generateFromAJV} from '../../utils/form-generator';\n\nimport ImageCard from './ImageCard';\nimport {ImageCard as ImageCardSchema} from './schema';\n\nconst ImageCardConfig: BlockData = {\n component: ImageCard,\n schema: {\n name: 'Image Card',\n group: 'cards',\n inputs: generateFromAJV(ImageCardSchema['image-card'] as unknown as JSONSchemaType<{}>),\n default: {\n title: 'Image Card',\n text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',\n },\n },\n};\n\nexport default ImageCardConfig;\n"]}
@@ -9,7 +9,7 @@ import Content from "../Content/Content.js";
9
9
  import { getLayoutItemLinks, hasFullscreen, showFullscreenIcon } from "./utils.js";
10
10
  import './LayoutItem.css';
11
11
  const b = block('layout-item');
12
- const LayoutItem = ({ content: { links, ...content }, contentMargin = 'm', metaInfo, media, border, fullscreen, icon, className, analyticsEvents, controlPosition = 'content', }) => {
12
+ const LayoutItem = ({ content: { links = [], ...content } = {}, contentMargin = 'm', metaInfo, media, border, fullscreen, icon, className, analyticsEvents, controlPosition = 'content', }) => {
13
13
  const normalizedLinks = React.useMemo(() => getLayoutItemLinks(links), [links]);
14
14
  const areControlsInFooter = controlPosition === 'footer';
15
15
  const theme = useTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutItem.js","sourceRoot":"../../../../src","sources":["sub-blocks/LayoutItem/LayoutItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {useUniqId} from '@gravity-ui/uikit';\n\nimport {FullscreenMedia, IconWrapper, Media, MetaInfo} from '../../components';\nimport {useTheme} from '../../context/theme';\nimport {ContentBlockProps, LayoutItemProps} from '../../models';\nimport {block, getThemedValue} from '../../utils';\nimport {mergeVideoMicrodata} from '../../utils/microdata';\nimport Content from '../Content/Content';\n\nimport {getLayoutItemLinks, hasFullscreen, showFullscreenIcon} from './utils';\n\nimport './LayoutItem.scss';\n\nconst b = block('layout-item');\n\nconst LayoutItem = ({\n content: {links, ...content},\n contentMargin = 'm',\n metaInfo,\n media,\n border,\n fullscreen,\n icon,\n className,\n analyticsEvents,\n controlPosition = 'content',\n}: LayoutItemProps) => {\n const normalizedLinks = React.useMemo(() => getLayoutItemLinks(links), [links]);\n const areControlsInFooter = controlPosition === 'footer';\n const theme = useTheme();\n const themedIcon = getThemedValue(icon, theme);\n\n const contentProps: ContentBlockProps = {\n controlPosition: areControlsInFooter ? 'bottom' : 'default',\n ...content,\n links: normalizedLinks,\n size: 's',\n colSizes: {all: 12, md: 12},\n };\n const titleId = useUniqId();\n const renderMedia = () => {\n if (!media) {\n return null;\n }\n const themedMedia = getThemedValue(media, theme);\n const {title} = content;\n const mediaWithMicrodata = mergeVideoMicrodata(themedMedia, {\n name: typeof title === 'string' ? title : title?.text,\n description: content.text,\n });\n\n return fullscreen && hasFullscreen(themedMedia) ? (\n <FullscreenMedia showFullscreenIcon={showFullscreenIcon(themedMedia)}>\n {({\n className: mediaClassName,\n fullscreen: _fullscreen,\n ...fullscreenMediaProps\n } = {}) => (\n <Media\n {...mediaWithMicrodata}\n {...fullscreenMediaProps}\n className={b('media', {border}, mediaClassName)}\n analyticsEvents={analyticsEvents}\n />\n )}\n </FullscreenMedia>\n ) : (\n <Media\n {...themedMedia}\n className={b('media', {border})}\n analyticsEvents={analyticsEvents}\n />\n );\n };\n return (\n <div className={b(null, className)}>\n {renderMedia()}\n {metaInfo && <MetaInfo items={metaInfo} className={b('meta-info')} />}\n <div className={b('content', {'no-media': !media, margin: contentMargin})}>\n <IconWrapper icon={themedIcon} className={b('wrapper')}>\n <Content {...contentProps} titleId={titleId} />\n </IconWrapper>\n </div>\n </div>\n );\n};\n\nexport default LayoutItem;\n"]}
1
+ {"version":3,"file":"LayoutItem.js","sourceRoot":"../../../../src","sources":["sub-blocks/LayoutItem/LayoutItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {useUniqId} from '@gravity-ui/uikit';\n\nimport {FullscreenMedia, IconWrapper, Media, MetaInfo} from '../../components';\nimport {useTheme} from '../../context/theme';\nimport {ContentBlockProps, LayoutItemProps} from '../../models';\nimport {block, getThemedValue} from '../../utils';\nimport {mergeVideoMicrodata} from '../../utils/microdata';\nimport Content from '../Content/Content';\n\nimport {getLayoutItemLinks, hasFullscreen, showFullscreenIcon} from './utils';\n\nimport './LayoutItem.scss';\n\nconst b = block('layout-item');\n\nconst LayoutItem = ({\n content: {links = [], ...content} = {},\n contentMargin = 'm',\n metaInfo,\n media,\n border,\n fullscreen,\n icon,\n className,\n analyticsEvents,\n controlPosition = 'content',\n}: LayoutItemProps) => {\n const normalizedLinks = React.useMemo(() => getLayoutItemLinks(links), [links]);\n const areControlsInFooter = controlPosition === 'footer';\n const theme = useTheme();\n const themedIcon = getThemedValue(icon, theme);\n\n const contentProps: ContentBlockProps = {\n controlPosition: areControlsInFooter ? 'bottom' : 'default',\n ...content,\n links: normalizedLinks,\n size: 's',\n colSizes: {all: 12, md: 12},\n };\n const titleId = useUniqId();\n const renderMedia = () => {\n if (!media) {\n return null;\n }\n const themedMedia = getThemedValue(media, theme);\n const {title} = content;\n const mediaWithMicrodata = mergeVideoMicrodata(themedMedia, {\n name: typeof title === 'string' ? title : title?.text,\n description: content.text,\n });\n\n return fullscreen && hasFullscreen(themedMedia) ? (\n <FullscreenMedia showFullscreenIcon={showFullscreenIcon(themedMedia)}>\n {({\n className: mediaClassName,\n fullscreen: _fullscreen,\n ...fullscreenMediaProps\n } = {}) => (\n <Media\n {...mediaWithMicrodata}\n {...fullscreenMediaProps}\n className={b('media', {border}, mediaClassName)}\n analyticsEvents={analyticsEvents}\n />\n )}\n </FullscreenMedia>\n ) : (\n <Media\n {...themedMedia}\n className={b('media', {border})}\n analyticsEvents={analyticsEvents}\n />\n );\n };\n return (\n <div className={b(null, className)}>\n {renderMedia()}\n {metaInfo && <MetaInfo items={metaInfo} className={b('meta-info')} />}\n <div className={b('content', {'no-media': !media, margin: contentMargin})}>\n <IconWrapper icon={themedIcon} className={b('wrapper')}>\n <Content {...contentProps} titleId={titleId} />\n </IconWrapper>\n </div>\n </div>\n );\n};\n\nexport default LayoutItem;\n"]}
@@ -0,0 +1,3 @@
1
+ import { BlockData } from "../../constructor-items.js";
2
+ declare const LayoutItemConfig: BlockData;
3
+ export default LayoutItemConfig;
@@ -0,0 +1,23 @@
1
+ import { generateFromAJV } from "../../utils/form-generator.js";
2
+ import LayoutItem from "./LayoutItem.js";
3
+ import { LayoutItem as LayoutItemSchema } from "./schema.js";
4
+ const LayoutItemConfig = {
5
+ component: LayoutItem,
6
+ schema: {
7
+ name: 'Layout Item',
8
+ group: 'cards',
9
+ inputs: generateFromAJV(LayoutItemSchema),
10
+ default: {
11
+ type: 'layout-item',
12
+ content: {
13
+ title: 'Lorem ipsum',
14
+ text: 'Dolor sit amet',
15
+ },
16
+ media: {
17
+ image: 'https://storage.yandexcloud.net/yc-www-community-images/event_ecaf1ef1-bc3a-40fa-adef-827b0959e6c3.jpg',
18
+ },
19
+ },
20
+ },
21
+ };
22
+ export default LayoutItemConfig;
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["sub-blocks/LayoutItem/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,eAAe,EAAC,sCAAmC;AAE3D,OAAO,UAAU,wBAAqB;AACtC,OAAO,EAAC,UAAU,IAAI,gBAAgB,EAAC,oBAAiB;AAExD,MAAM,gBAAgB,GAAc;IAChC,SAAS,EAAE,UAAU;IACrB,MAAM,EAAE;QACJ,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,eAAe,CAAC,gBAAiD,CAAC;QAC1E,OAAO,EAAE;YACL,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE;gBACL,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,gBAAgB;aACzB;YACD,KAAK,EAAE;gBACH,KAAK,EAAE,wGAAwG;aAClH;SACJ;KACJ;CACJ,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {BlockData} from '../../constructor-items';\nimport {generateFromAJV} from '../../utils/form-generator';\n\nimport LayoutItem from './LayoutItem';\nimport {LayoutItem as LayoutItemSchema} from './schema';\n\nconst LayoutItemConfig: BlockData = {\n component: LayoutItem,\n schema: {\n name: 'Layout Item',\n group: 'cards',\n inputs: generateFromAJV(LayoutItemSchema as unknown as JSONSchemaType<{}>),\n default: {\n type: 'layout-item',\n content: {\n title: 'Lorem ipsum',\n text: 'Dolor sit amet',\n },\n media: {\n image: 'https://storage.yandexcloud.net/yc-www-community-images/event_ecaf1ef1-bc3a-40fa-adef-827b0959e6c3.jpg',\n },\n },\n },\n};\n\nexport default LayoutItemConfig;\n"]}