@gravity-ui/page-constructor 6.3.2-alpha.5 → 6.3.2-alpha.7

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 (384) hide show
  1. package/README.md +98 -10
  2. package/build/cjs/blocks/FoldableList/FoldableList.css +13 -0
  3. package/build/cjs/blocks/FoldableList/FoldableList.d.ts +3 -0
  4. package/build/cjs/blocks/FoldableList/FoldableList.js +31 -0
  5. package/build/cjs/blocks/FoldableList/FoldableList.js.map +1 -0
  6. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.css +78 -0
  7. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.d.ts +2 -0
  8. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js +20 -0
  9. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js.map +1 -0
  10. package/build/cjs/blocks/FoldableList/schema.d.ts +140 -0
  11. package/build/cjs/blocks/FoldableList/schema.js +39 -0
  12. package/build/cjs/blocks/FoldableList/schema.js.map +1 -0
  13. package/build/cjs/blocks/Header/Header.css +12 -1
  14. package/build/cjs/blocks/Header/Header.js +4 -1
  15. package/build/cjs/blocks/Header/Header.js.map +1 -1
  16. package/build/cjs/blocks/Header/schema.d.ts +10 -0
  17. package/build/cjs/blocks/Header/schema.js +5 -0
  18. package/build/cjs/blocks/Header/schema.js.map +1 -1
  19. package/build/cjs/blocks/HeaderSlider/schema.d.ts +5 -0
  20. package/build/cjs/blocks/Slider/Slider.js +4 -1
  21. package/build/cjs/blocks/Slider/Slider.js.map +1 -1
  22. package/build/cjs/blocks/index.d.ts +1 -0
  23. package/build/cjs/blocks/index.js +3 -1
  24. package/build/cjs/blocks/index.js.map +1 -1
  25. package/build/cjs/common/store.d.ts +1 -0
  26. package/build/cjs/common/store.js +1 -0
  27. package/build/cjs/common/store.js.map +1 -1
  28. package/build/cjs/common/types/forms.d.ts +12 -1
  29. package/build/cjs/common/types/forms.js.map +1 -1
  30. package/build/cjs/components/FullscreenImage/FullscreenImage.css +1 -1
  31. package/build/cjs/components/ReactPlayer/ReactPlayer.js +4 -1
  32. package/build/cjs/components/ReactPlayer/ReactPlayer.js.map +1 -1
  33. package/build/cjs/constructor-items.d.ts +1 -0
  34. package/build/cjs/constructor-items.js +4 -4
  35. package/build/cjs/constructor-items.js.map +1 -1
  36. package/build/cjs/containers/PageConstructor/PageConstructor.js +18 -1
  37. package/build/cjs/containers/PageConstructor/PageConstructor.js.map +1 -1
  38. package/build/cjs/editor-v2/components/DynamicForm/DynamicForm.js +8 -1
  39. package/build/cjs/editor-v2/components/DynamicForm/DynamicForm.js.map +1 -1
  40. package/build/cjs/editor-v2/components/DynamicForm/FieldBase/FieldBase.css +0 -1
  41. package/build/cjs/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.css +6 -0
  42. package/build/cjs/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.d.ts +9 -0
  43. package/build/cjs/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.js +35 -0
  44. package/build/cjs/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.js.map +1 -0
  45. package/build/cjs/editor-v2/components/Tabs/Tabs.css +23 -2
  46. package/build/cjs/editor-v2/containers/BlockConfigForm/BlockConfigForm.css +0 -1
  47. package/build/cjs/editor-v2/containers/BlocksList/BlocksList.css +2 -1
  48. package/build/cjs/editor-v2/containers/GlobalConfig/GlobalConfig.css +0 -1
  49. package/build/cjs/editor-v2/containers/MiddleScreen/MiddleScreen.css +30 -0
  50. package/build/cjs/editor-v2/containers/MiddleScreen/MiddleScreen.js +9 -7
  51. package/build/cjs/editor-v2/containers/MiddleScreen/MiddleScreen.js.map +1 -1
  52. package/build/cjs/editor-v2/containers/SourceCode/SourceCode.d.ts +2 -1
  53. package/build/cjs/editor-v2/containers/SourceCode/SourceCode.js +26 -4
  54. package/build/cjs/editor-v2/containers/SourceCode/SourceCode.js.map +1 -1
  55. package/build/cjs/editor-v2/containers/ViewSwitches/ViewSwitches.js +4 -4
  56. package/build/cjs/editor-v2/containers/ViewSwitches/ViewSwitches.js.map +1 -1
  57. package/build/cjs/editor-v2/hooks/useEditorTabs.js +2 -2
  58. package/build/cjs/editor-v2/hooks/useEditorTabs.js.map +1 -1
  59. package/build/cjs/editor-v2/store.d.ts +1 -0
  60. package/build/cjs/editor-v2/store.js +3 -0
  61. package/build/cjs/editor-v2/store.js.map +1 -1
  62. package/build/cjs/hooks/usePCEditorBlockMouseEvents.d.ts +1 -0
  63. package/build/cjs/hooks/usePCEditorBlockMouseEvents.js +1 -0
  64. package/build/cjs/hooks/usePCEditorBlockMouseEvents.js.map +1 -1
  65. package/build/cjs/hooks/usePCEditorItemWrap.d.ts +1 -0
  66. package/build/cjs/internal-typings/global.d.ts +1 -0
  67. package/build/cjs/models/constructor-items/blocks.d.ts +19 -1
  68. package/build/cjs/models/constructor-items/blocks.js +1 -0
  69. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  70. package/build/cjs/models/constructor-items/sub-blocks.d.ts +2 -1
  71. package/build/cjs/models/constructor-items/sub-blocks.js.map +1 -1
  72. package/build/cjs/navigation/schema.d.ts +2 -0
  73. package/build/cjs/navigation/schema.js +12 -3
  74. package/build/cjs/navigation/schema.js.map +1 -1
  75. package/build/cjs/schema/constants.js +1 -0
  76. package/build/cjs/schema/constants.js.map +1 -1
  77. package/build/cjs/schema/index.d.ts +2 -0
  78. package/build/cjs/schema/validators/blocks.d.ts +1 -0
  79. package/build/cjs/schema/validators/blocks.js +1 -0
  80. package/build/cjs/schema/validators/blocks.js.map +1 -1
  81. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -1
  82. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.js +5 -1
  83. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.js.map +1 -1
  84. package/build/cjs/sub-blocks/HubspotForm/index.js +2 -2
  85. package/build/cjs/sub-blocks/HubspotForm/index.js.map +1 -1
  86. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.d.ts +2 -0
  87. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.js +51 -0
  88. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.js.map +1 -0
  89. package/build/cjs/text-transform/config.js +25 -1
  90. package/build/cjs/text-transform/config.js.map +1 -1
  91. package/build/cjs/utils/form-generator.js +27 -0
  92. package/build/cjs/utils/form-generator.js.map +1 -1
  93. package/build/cjs/utils/hubspot.d.ts +1 -0
  94. package/build/cjs/utils/hubspot.js.map +1 -1
  95. package/build/esm/blocks/FoldableList/FoldableList.css +13 -0
  96. package/build/esm/blocks/FoldableList/FoldableList.d.ts +4 -0
  97. package/build/esm/blocks/FoldableList/FoldableList.js +29 -0
  98. package/build/esm/blocks/FoldableList/FoldableList.js.map +1 -0
  99. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.css +78 -0
  100. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.d.ts +3 -0
  101. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js +16 -0
  102. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js.map +1 -0
  103. package/build/esm/blocks/FoldableList/schema.d.ts +140 -0
  104. package/build/esm/blocks/FoldableList/schema.js +35 -0
  105. package/build/esm/blocks/FoldableList/schema.js.map +1 -0
  106. package/build/esm/blocks/Header/Header.css +12 -1
  107. package/build/esm/blocks/Header/Header.js +4 -1
  108. package/build/esm/blocks/Header/Header.js.map +1 -1
  109. package/build/esm/blocks/Header/schema.d.ts +10 -0
  110. package/build/esm/blocks/Header/schema.js +5 -0
  111. package/build/esm/blocks/Header/schema.js.map +1 -1
  112. package/build/esm/blocks/HeaderSlider/schema.d.ts +5 -0
  113. package/build/esm/blocks/Slider/Slider.js +4 -1
  114. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  115. package/build/esm/blocks/index.d.ts +1 -0
  116. package/build/esm/blocks/index.js +1 -0
  117. package/build/esm/blocks/index.js.map +1 -1
  118. package/build/esm/common/store.d.ts +1 -0
  119. package/build/esm/common/store.js +1 -0
  120. package/build/esm/common/store.js.map +1 -1
  121. package/build/esm/common/types/forms.d.ts +12 -1
  122. package/build/esm/common/types/forms.js.map +1 -1
  123. package/build/esm/components/FullscreenImage/FullscreenImage.css +1 -1
  124. package/build/esm/components/ReactPlayer/ReactPlayer.js +4 -1
  125. package/build/esm/components/ReactPlayer/ReactPlayer.js.map +1 -1
  126. package/build/esm/constructor-items.d.ts +1 -0
  127. package/build/esm/constructor-items.js +5 -5
  128. package/build/esm/constructor-items.js.map +1 -1
  129. package/build/esm/containers/PageConstructor/PageConstructor.js +18 -1
  130. package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
  131. package/build/esm/editor-v2/components/DynamicForm/DynamicForm.js +8 -1
  132. package/build/esm/editor-v2/components/DynamicForm/DynamicForm.js.map +1 -1
  133. package/build/esm/editor-v2/components/DynamicForm/FieldBase/FieldBase.css +0 -1
  134. package/build/esm/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.css +6 -0
  135. package/build/esm/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.d.ts +10 -0
  136. package/build/esm/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.js +33 -0
  137. package/build/esm/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.js.map +1 -0
  138. package/build/esm/editor-v2/components/Tabs/Tabs.css +23 -2
  139. package/build/esm/editor-v2/containers/BlockConfigForm/BlockConfigForm.css +0 -1
  140. package/build/esm/editor-v2/containers/BlocksList/BlocksList.css +2 -1
  141. package/build/esm/editor-v2/containers/GlobalConfig/GlobalConfig.css +0 -1
  142. package/build/esm/editor-v2/containers/MiddleScreen/MiddleScreen.css +30 -0
  143. package/build/esm/editor-v2/containers/MiddleScreen/MiddleScreen.js +10 -8
  144. package/build/esm/editor-v2/containers/MiddleScreen/MiddleScreen.js.map +1 -1
  145. package/build/esm/editor-v2/containers/SourceCode/SourceCode.d.ts +2 -1
  146. package/build/esm/editor-v2/containers/SourceCode/SourceCode.js +26 -4
  147. package/build/esm/editor-v2/containers/SourceCode/SourceCode.js.map +1 -1
  148. package/build/esm/editor-v2/containers/ViewSwitches/ViewSwitches.js +5 -5
  149. package/build/esm/editor-v2/containers/ViewSwitches/ViewSwitches.js.map +1 -1
  150. package/build/esm/editor-v2/hooks/useEditorTabs.js +2 -2
  151. package/build/esm/editor-v2/hooks/useEditorTabs.js.map +1 -1
  152. package/build/esm/editor-v2/store.d.ts +1 -0
  153. package/build/esm/editor-v2/store.js +3 -0
  154. package/build/esm/editor-v2/store.js.map +1 -1
  155. package/build/esm/hooks/usePCEditorBlockMouseEvents.d.ts +1 -0
  156. package/build/esm/hooks/usePCEditorBlockMouseEvents.js +1 -0
  157. package/build/esm/hooks/usePCEditorBlockMouseEvents.js.map +1 -1
  158. package/build/esm/hooks/usePCEditorItemWrap.d.ts +1 -0
  159. package/build/esm/internal-typings/global.d.ts +1 -0
  160. package/build/esm/models/constructor-items/blocks.d.ts +19 -1
  161. package/build/esm/models/constructor-items/blocks.js +1 -0
  162. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  163. package/build/esm/models/constructor-items/sub-blocks.d.ts +2 -1
  164. package/build/esm/models/constructor-items/sub-blocks.js.map +1 -1
  165. package/build/esm/navigation/schema.d.ts +2 -0
  166. package/build/esm/navigation/schema.js +12 -3
  167. package/build/esm/navigation/schema.js.map +1 -1
  168. package/build/esm/schema/constants.js +2 -1
  169. package/build/esm/schema/constants.js.map +1 -1
  170. package/build/esm/schema/index.d.ts +2 -0
  171. package/build/esm/schema/validators/blocks.d.ts +1 -0
  172. package/build/esm/schema/validators/blocks.js +1 -0
  173. package/build/esm/schema/validators/blocks.js.map +1 -1
  174. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -1
  175. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.js +5 -1
  176. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.js.map +1 -1
  177. package/build/esm/sub-blocks/HubspotForm/index.js +2 -2
  178. package/build/esm/sub-blocks/HubspotForm/index.js.map +1 -1
  179. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.d.ts +2 -0
  180. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.js +47 -0
  181. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.js.map +1 -0
  182. package/build/esm/text-transform/config.js +25 -1
  183. package/build/esm/text-transform/config.js.map +1 -1
  184. package/build/esm/utils/form-generator.js +27 -0
  185. package/build/esm/utils/form-generator.js.map +1 -1
  186. package/build/esm/utils/hubspot.d.ts +1 -0
  187. package/build/esm/utils/hubspot.js.map +1 -1
  188. package/package.json +13 -15
  189. package/schema/index.js +1 -1
  190. package/server/models/constructor-items/blocks.d.ts +19 -1
  191. package/server/models/constructor-items/blocks.js +1 -0
  192. package/server/models/constructor-items/sub-blocks.d.ts +2 -1
  193. package/server/text-transform/config.js +25 -1
  194. package/server/utils/hubspot.d.ts +1 -0
  195. package/widget/{5287.index.js → 1092.index.js} +1 -1
  196. package/widget/{8092.index.js → 1130.index.js} +1 -1
  197. package/widget/1219.index.js +1 -0
  198. package/widget/{2390.index.js → 122.index.js} +1 -1
  199. package/widget/{6817.index.js → 1289.index.js} +1 -1
  200. package/widget/{2921.index.js → 1335.index.js} +1 -1
  201. package/widget/{1876.index.js → 1340.index.js} +1 -1
  202. package/widget/{3901.index.js → 1349.index.js} +1 -1
  203. package/widget/1532.index.js +1 -0
  204. package/widget/{2957.index.js → 1750.index.js} +1 -1
  205. package/widget/{5105.index.js → 1995.index.js} +1 -1
  206. package/widget/{5418.index.js → 2010.index.js} +1 -1
  207. package/widget/{9517.index.js → 2026.index.js} +1 -1
  208. package/widget/{1794.index.js → 2187.index.js} +1 -1
  209. package/widget/{7548.index.js → 2218.index.js} +1 -1
  210. package/widget/225.index.js +1 -0
  211. package/widget/2338.index.js +1 -0
  212. package/widget/{4653.index.js → 2355.index.js} +1 -1
  213. package/widget/{5001.index.js → 2369.index.js} +1 -1
  214. package/widget/{4127.index.js → 2487.index.js} +1 -1
  215. package/widget/{6165.index.js → 2498.index.js} +1 -1
  216. package/widget/{5254.index.js → 2509.index.js} +1 -1
  217. package/widget/2544.index.js +1 -1
  218. package/widget/2619.index.js +1 -0
  219. package/widget/{5941.index.js → 2673.index.js} +1 -1
  220. package/widget/{4717.index.js → 2698.index.js} +1 -1
  221. package/widget/{7427.index.js → 2706.index.js} +1 -1
  222. package/widget/{8602.index.js → 2739.index.js} +1 -1
  223. package/widget/2745.index.js +1 -0
  224. package/widget/2796.index.js +1 -0
  225. package/widget/{7573.index.js → 2830.index.js} +1 -1
  226. package/widget/{3237.index.js → 2878.index.js} +1 -1
  227. package/widget/292.index.js +1 -0
  228. package/widget/2979.index.js +1 -0
  229. package/widget/3187.index.js +1 -0
  230. package/widget/321.index.js +1 -0
  231. package/widget/{5437.index.js → 3222.index.js} +1 -1
  232. package/widget/{1987.index.js → 3225.index.js} +1 -1
  233. package/widget/{7719.index.js → 3309.index.js} +1 -1
  234. package/widget/{4254.index.js → 3433.index.js} +1 -1
  235. package/widget/{2722.index.js → 3473.index.js} +1 -1
  236. package/widget/3532.index.js +1 -0
  237. package/widget/3562.index.js +1 -0
  238. package/widget/{6148.index.js → 3672.index.js} +1 -1
  239. package/widget/{4990.index.js → 3713.index.js} +1 -1
  240. package/widget/{8894.index.js → 3860.index.js} +1 -1
  241. package/widget/{5551.index.js → 3900.index.js} +1 -1
  242. package/widget/{6629.index.js → 4007.index.js} +1 -1
  243. package/widget/{7467.index.js → 4061.index.js} +1 -1
  244. package/widget/{5423.index.js → 4072.index.js} +1 -1
  245. package/widget/{4144.index.js → 4173.index.js} +1 -1
  246. package/widget/4288.index.js +1 -0
  247. package/widget/{8242.index.js → 4309.index.js} +1 -1
  248. package/widget/{8146.index.js → 4334.index.js} +1 -1
  249. package/widget/{9339.index.js → 4405.index.js} +1 -1
  250. package/widget/4457.index.js +1 -0
  251. package/widget/{8768.index.js → 4485.index.js} +1 -1
  252. package/widget/4509.index.js +1 -0
  253. package/widget/{4067.index.js → 4608.index.js} +1 -1
  254. package/widget/465.index.js +1 -0
  255. package/widget/{7118.index.js → 4719.index.js} +1 -1
  256. package/widget/4734.index.js +1 -0
  257. package/widget/4780.index.js +1 -0
  258. package/widget/4895.index.js +1 -0
  259. package/widget/{790.index.js → 494.index.js} +1 -1
  260. package/widget/5012.index.js +1 -0
  261. package/widget/{4722.index.js → 5084.index.js} +1 -1
  262. package/widget/5285.index.js +1 -0
  263. package/widget/5376.index.js +1 -0
  264. package/widget/539.index.js +1 -0
  265. package/widget/5414.index.js +1 -0
  266. package/widget/{8980.index.js → 5513.index.js} +1 -1
  267. package/widget/5530.index.js +1 -0
  268. package/widget/5571.index.js +1 -0
  269. package/widget/{8540.index.js → 5592.index.js} +1 -1
  270. package/widget/5616.index.js +1 -0
  271. package/widget/{5903.index.js → 5662.index.js} +1 -1
  272. package/widget/{7109.index.js → 5665.index.js} +1 -1
  273. package/widget/{8792.index.js → 5681.index.js} +1 -1
  274. package/widget/5760.index.js +1 -0
  275. package/widget/{6257.index.js → 5811.index.js} +1 -1
  276. package/widget/{5054.index.js → 5826.index.js} +1 -1
  277. package/widget/{1560.index.js → 5877.index.js} +1 -1
  278. package/widget/{9149.index.js → 5944.index.js} +1 -1
  279. package/widget/{8341.index.js → 5977.index.js} +1 -1
  280. package/widget/{3646.index.js → 5993.index.js} +1 -1
  281. package/widget/{2009.index.js → 6007.index.js} +1 -1
  282. package/widget/{3852.index.js → 6033.index.js} +1 -1
  283. package/widget/{5567.index.js → 6101.index.js} +1 -1
  284. package/widget/623.index.js +1 -0
  285. package/widget/{7989.index.js → 6290.index.js} +1 -1
  286. package/widget/6364.index.js +1 -0
  287. package/widget/{7387.index.js → 6400.index.js} +1 -1
  288. package/widget/{5473.index.js → 6462.index.js} +1 -1
  289. package/widget/6467.index.js +1 -0
  290. package/widget/{6622.index.js → 6481.index.js} +1 -1
  291. package/widget/{4888.index.js → 6605.index.js} +1 -1
  292. package/widget/{2966.index.js → 6803.index.js} +1 -1
  293. package/widget/{5627.index.js → 6847.index.js} +1 -1
  294. package/widget/{2019.index.js → 7081.index.js} +1 -1
  295. package/widget/7205.index.js +1 -0
  296. package/widget/{5596.index.js → 7250.index.js} +1 -1
  297. package/widget/{7763.index.js → 7317.index.js} +1 -1
  298. package/widget/7329.index.js +1 -0
  299. package/widget/{5159.index.js → 7406.index.js} +1 -1
  300. package/widget/{7632.index.js → 7409.index.js} +1 -1
  301. package/widget/{3783.index.js → 7420.index.js} +1 -1
  302. package/widget/{7101.index.js → 7439.index.js} +1 -1
  303. package/widget/{9197.index.js → 7674.index.js} +1 -1
  304. package/widget/{5805.index.js → 7690.index.js} +1 -1
  305. package/widget/{2641.index.js → 7741.index.js} +1 -1
  306. package/widget/{4724.index.js → 7933.index.js} +1 -1
  307. package/widget/{9132.index.js → 8003.index.js} +1 -1
  308. package/widget/813.index.js +1 -0
  309. package/widget/{6513.index.js → 8142.index.js} +1 -1
  310. package/widget/{8562.index.js → 8298.index.js} +1 -1
  311. package/widget/{7200.index.js → 8361.index.js} +1 -1
  312. package/widget/{4855.index.js → 8418.index.js} +1 -1
  313. package/widget/860.index.js +1 -0
  314. package/widget/{1796.index.js → 8615.index.js} +1 -1
  315. package/widget/{6312.index.js → 8660.index.js} +1 -1
  316. package/widget/880.index.js +1 -0
  317. package/widget/8804.index.js +1 -0
  318. package/widget/8809.index.js +1 -0
  319. package/widget/{9157.index.js → 8928.index.js} +1 -1
  320. package/widget/912.index.js +1 -0
  321. package/widget/9160.index.js +1 -0
  322. package/widget/{5914.index.js → 9252.index.js} +1 -1
  323. package/widget/{3706.index.js → 9286.index.js} +1 -1
  324. package/widget/{2502.index.js → 9294.index.js} +1 -1
  325. package/widget/{9182.index.js → 9423.index.js} +1 -1
  326. package/widget/{8477.index.js → 9464.index.js} +1 -1
  327. package/widget/950.index.js +1 -0
  328. package/widget/952.index.js +1 -0
  329. package/widget/9677.index.js +1 -0
  330. package/widget/9751.index.js +1 -0
  331. package/widget/{3220.index.js → 9836.index.js} +1 -1
  332. package/widget/{2376.index.js → 9865.index.js} +1 -1
  333. package/widget/{5109.index.js → 9881.index.js} +1 -1
  334. package/widget/9911.index.js +1 -1
  335. package/widget/{7822.index.js → 9964.index.js} +1 -1
  336. package/widget/{9091.index.js → 9990.index.js} +1 -1
  337. package/widget/9998.index.js +1 -0
  338. package/widget/index.js +1 -1
  339. package/widget/1113.index.js +0 -1
  340. package/widget/123.index.js +0 -1
  341. package/widget/1573.index.js +0 -1
  342. package/widget/2030.index.js +0 -1
  343. package/widget/229.index.js +0 -1
  344. package/widget/261.index.js +0 -1
  345. package/widget/302.index.js +0 -1
  346. package/widget/3035.index.js +0 -1
  347. package/widget/313.index.js +0 -1
  348. package/widget/3521.index.js +0 -1
  349. package/widget/3864.index.js +0 -1
  350. package/widget/3939.index.js +0 -1
  351. package/widget/4017.index.js +0 -1
  352. package/widget/4149.index.js +0 -1
  353. package/widget/4502.index.js +0 -1
  354. package/widget/466.index.js +0 -1
  355. package/widget/504.index.js +0 -1
  356. package/widget/5321.index.js +0 -1
  357. package/widget/5742.index.js +0 -1
  358. package/widget/5817.index.js +0 -1
  359. package/widget/600.index.js +0 -1
  360. package/widget/6023.index.js +0 -1
  361. package/widget/6159.index.js +0 -1
  362. package/widget/617.index.js +0 -1
  363. package/widget/6183.index.js +0 -1
  364. package/widget/6509.index.js +0 -1
  365. package/widget/6636.index.js +0 -1
  366. package/widget/6831.index.js +0 -1
  367. package/widget/6953.index.js +0 -1
  368. package/widget/7296.index.js +0 -1
  369. package/widget/7486.index.js +0 -1
  370. package/widget/7496.index.js +0 -1
  371. package/widget/7553.index.js +0 -1
  372. package/widget/758.index.js +0 -1
  373. package/widget/772.index.js +0 -1
  374. package/widget/7797.index.js +0 -1
  375. package/widget/8066.index.js +0 -1
  376. package/widget/8507.index.js +0 -1
  377. package/widget/8529.index.js +0 -1
  378. package/widget/8727.index.js +0 -1
  379. package/widget/8864.index.js +0 -1
  380. package/widget/8889.index.js +0 -1
  381. package/widget/953.index.js +0 -1
  382. package/widget/9670.index.js +0 -1
  383. package/widget/9682.index.js +0 -1
  384. package/widget/9928.index.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["blocks/Header/schema.ts"],"names":[],"mappings":"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","sourcesContent":["import {ImageProps} from '../../components/Image/schema';\nimport {\n BlockBaseProps,\n ButtonBlock,\n MediaProps,\n VideoProps,\n mediaView,\n withTheme,\n} from '../../schema/validators/common';\nimport {filteredArray} from '../../schema/validators/utils';\n\nexport const HeaderBackgroundProps = {\n type: 'object',\n additionalProperties: false,\n required: [],\n properties: {\n ...MediaProps,\n fullWidth: {type: 'boolean'},\n fullWidthMedia: {type: 'boolean'},\n },\n};\n\nexport const HeaderProperties = {\n title: {\n type: 'string',\n contentType: 'text',\n },\n overtitle: {\n type: 'string',\n contentType: 'text',\n },\n description: {\n type: 'string',\n contentType: 'yfm',\n inputType: 'textarea',\n },\n width: {\n type: 'string',\n enum: ['s', 'm', 'l'],\n },\n buttons: filteredArray(ButtonBlock),\n offset: {\n type: 'string',\n enum: ['default', 'large'],\n },\n image: withTheme(ImageProps),\n video: withTheme(VideoProps),\n mediaView: {\n type: 'string',\n enum: mediaView,\n },\n backLink: {\n type: 'object',\n required: ['url', 'title'],\n properties: {\n url: {\n type: 'string',\n },\n title: {\n type: 'string',\n contentType: 'text',\n },\n },\n },\n imageSize: {\n type: 'string',\n enum: ['s', 'm'],\n },\n verticalOffset: {\n type: 'string',\n enum: ['0', 's', 'm', 'l', 'xl'],\n },\n background: withTheme(HeaderBackgroundProps),\n theme: {\n type: 'string',\n enum: ['default', 'dark'],\n },\n breadcrumbs: {\n type: 'object',\n additionalProperties: false,\n required: ['items'],\n properties: {\n items: {\n type: 'array',\n items: {\n type: 'object',\n additionalProperties: false,\n required: ['url', 'text'],\n properties: {\n url: {\n type: 'string',\n },\n text: {\n type: 'string',\n contentType: 'text',\n },\n },\n },\n },\n theme: {type: 'string', enum: ['light', 'dark']},\n },\n },\n status: {\n type: 'string',\n },\n centered: {\n type: 'boolean',\n },\n};\n\nexport const HeaderBlock = {\n 'header-block': {\n additionalProperties: false,\n required: ['title'],\n properties: {\n ...BlockBaseProps,\n ...HeaderProperties,\n },\n },\n};\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["blocks/Header/schema.ts"],"names":[],"mappings":";;;AAAA,6DAAyD;AACzD,8DAOwC;AACxC,4DAA4D;AAE/C,QAAA,qBAAqB,GAAG;IACjC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE;QACR,GAAG,mBAAU;QACb,SAAS,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC;QAC5B,cAAc,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC;KACpC;CACJ,CAAC;AAEW,QAAA,gBAAgB,GAAG;IAC5B,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,MAAM;KACtB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,MAAM;KACtB;IACD,WAAW,EAAE;QACT,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,UAAU;KACxB;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,UAAU;KACxB;IACD,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACxB;IACD,OAAO,EAAE,IAAA,qBAAa,EAAC,oBAAW,CAAC;IACnC,MAAM,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;KAC7B;IACD,KAAK,EAAE,IAAA,kBAAS,EAAC,mBAAU,CAAC;IAC5B,KAAK,EAAE,IAAA,kBAAS,EAAC,mBAAU,CAAC;IAC5B,SAAS,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,kBAAS;KAClB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;QAC1B,UAAU,EAAE;YACR,GAAG,EAAE;gBACD,IAAI,EAAE,QAAQ;aACjB;YACD,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;aACtB;SACJ;KACJ;IACD,SAAS,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KACnB;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;KACnC;IACD,UAAU,EAAE,IAAA,kBAAS,EAAC,6BAAqB,CAAC;IAC5C,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B;IACD,WAAW,EAAE;QACT,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,OAAO,CAAC;QACnB,UAAU,EAAE;YACR,KAAK,EAAE;gBACH,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,oBAAoB,EAAE,KAAK;oBAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;oBACzB,UAAU,EAAE;wBACR,GAAG,EAAE;4BACD,IAAI,EAAE,QAAQ;yBACjB;wBACD,IAAI,EAAE;4BACF,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,MAAM;yBACtB;qBACJ;iBACJ;aACJ;YACD,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAC;SACnD;KACJ;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,QAAQ;KACjB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,SAAS;KAClB;CACJ,CAAC;AAEW,QAAA,WAAW,GAAG;IACvB,cAAc,EAAE;QACZ,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,OAAO,CAAC;QACnB,UAAU,EAAE;YACR,GAAG,uBAAc;YACjB,GAAG,wBAAgB;SACtB;KACJ;CACJ,CAAC","sourcesContent":["import {ImageProps} from '../../components/Image/schema';\nimport {\n BlockBaseProps,\n ButtonBlock,\n MediaProps,\n VideoProps,\n mediaView,\n withTheme,\n} from '../../schema/validators/common';\nimport {filteredArray} from '../../schema/validators/utils';\n\nexport const HeaderBackgroundProps = {\n type: 'object',\n additionalProperties: false,\n required: [],\n properties: {\n ...MediaProps,\n fullWidth: {type: 'boolean'},\n fullWidthMedia: {type: 'boolean'},\n },\n};\n\nexport const HeaderProperties = {\n title: {\n type: 'string',\n contentType: 'text',\n },\n overtitle: {\n type: 'string',\n contentType: 'text',\n },\n description: {\n type: 'string',\n contentType: 'yfm',\n inputType: 'textarea',\n },\n additionalInfo: {\n type: 'string',\n contentType: 'yfm',\n inputType: 'textarea',\n },\n width: {\n type: 'string',\n enum: ['s', 'm', 'l'],\n },\n buttons: filteredArray(ButtonBlock),\n offset: {\n type: 'string',\n enum: ['default', 'large'],\n },\n image: withTheme(ImageProps),\n video: withTheme(VideoProps),\n mediaView: {\n type: 'string',\n enum: mediaView,\n },\n backLink: {\n type: 'object',\n required: ['url', 'title'],\n properties: {\n url: {\n type: 'string',\n },\n title: {\n type: 'string',\n contentType: 'text',\n },\n },\n },\n imageSize: {\n type: 'string',\n enum: ['s', 'm'],\n },\n verticalOffset: {\n type: 'string',\n enum: ['0', 's', 'm', 'l', 'xl'],\n },\n background: withTheme(HeaderBackgroundProps),\n theme: {\n type: 'string',\n enum: ['default', 'dark'],\n },\n breadcrumbs: {\n type: 'object',\n additionalProperties: false,\n required: ['items'],\n properties: {\n items: {\n type: 'array',\n items: {\n type: 'object',\n additionalProperties: false,\n required: ['url', 'text'],\n properties: {\n url: {\n type: 'string',\n },\n text: {\n type: 'string',\n contentType: 'text',\n },\n },\n },\n },\n theme: {type: 'string', enum: ['light', 'dark']},\n },\n },\n status: {\n type: 'string',\n },\n centered: {\n type: 'boolean',\n },\n};\n\nexport const HeaderBlock = {\n 'header-block': {\n additionalProperties: false,\n required: ['title'],\n properties: {\n ...BlockBaseProps,\n ...HeaderProperties,\n },\n },\n};\n"]}
@@ -23,6 +23,11 @@ export declare const HeaderSliderBlock: {
23
23
  contentType: string;
24
24
  inputType: string;
25
25
  };
26
+ additionalInfo: {
27
+ type: string;
28
+ contentType: string;
29
+ inputType: string;
30
+ };
26
31
  width: {
27
32
  type: string;
28
33
  enum: string[];
@@ -29,6 +29,9 @@ const b = (0, utils_1.block)('SliderBlock');
29
29
  const slick = (0, utils_1.block)('slick-origin');
30
30
  const DOT_WIDTH = 8;
31
31
  const DOT_GAP = 16;
32
+ const SlickSlider = 'default' in react_slick_1.default && react_slick_1.default.default
33
+ ? react_slick_1.default.default
34
+ : react_slick_1.default;
32
35
  const SliderBlock = (props) => {
33
36
  const { animated, title, description, type, anchorId, arrows = true, adaptive, autoplay: autoplaySpeed, dots = true, dotsClassName, disclaimer, children, className, blockClassName, lazyLoad, arrowSize, onAfterChange: handleAfterChange, onBeforeChange: handleBeforeChange, } = props;
34
37
  const { isServer } = React.useContext(ssrContext_1.SSRContext);
@@ -247,7 +250,7 @@ const SliderBlock = (props) => {
247
250
  lazyLoad,
248
251
  accessibility: false,
249
252
  };
250
- return ((0, jsx_runtime_1.jsxs)(OutsideClick_1.default, { onOutsideClick: isMobile ? unsetFocus : noop_1.default, children: [(0, jsx_runtime_1.jsx)(react_slick_1.default, { ...settings, children: React.Children.map(disclosedChildren, (child, index) => ((0, jsx_runtime_1.jsx)(ItemWrap_1.default, { index: index, children: child }))) }), (0, jsx_runtime_1.jsxs)("div", { className: b('footer'), children: [renderDisclaimer(), renderNavigation()] })] }));
253
+ return ((0, jsx_runtime_1.jsxs)(OutsideClick_1.default, { onOutsideClick: isMobile ? unsetFocus : noop_1.default, children: [(0, jsx_runtime_1.jsx)(SlickSlider, { ...settings, children: React.Children.map(disclosedChildren, (child, index) => ((0, jsx_runtime_1.jsx)(ItemWrap_1.default, { index: index, children: child }))) }), (0, jsx_runtime_1.jsxs)("div", { className: b('footer'), children: [renderDisclaimer(), renderNavigation()] })] }));
251
254
  };
252
255
  return ((0, jsx_runtime_1.jsx)(StylesContext_1.StylesContext.Provider, { value: { ...childStyles, setStyles: setChildStyles }, children: (0, jsx_runtime_1.jsx)(grid_1.Grid, { children: (0, jsx_runtime_1.jsxs)("div", { className: b({
253
256
  'align-left': childrenCount < slidesCountByBreakpoint,
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","sourceRoot":"../../../../src","sources":["blocks/Slider/Slider.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {useUniqId} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\nimport get from 'lodash/get';\nimport noop from 'lodash/noop';\nimport SlickSlider, {Settings} from 'react-slick';\n\nimport Anchor from '../../components/Anchor/Anchor';\nimport AnimateBlock from '../../components/AnimateBlock/AnimateBlock';\nimport OutsideClick from '../../components/OutsideClick/OutsideClick';\nimport Title from '../../components/Title/Title';\nimport ItemWrap from '../../components/editor/ItemWrap/ItemWrap';\nimport {BREAKPOINTS} from '../../constants';\nimport {MobileContext} from '../../context/mobileContext';\nimport {SSRContext} from '../../context/ssrContext';\nimport {StylesContext} from '../../context/stylesContext/StylesContext';\nimport {Grid} from '../../grid';\nimport useFocus from '../../hooks/useFocus';\nimport {\n ClassNameProps,\n Refable,\n SliderProps as SliderParams,\n SliderType,\n Timeout,\n} from '../../models';\nimport {block} from '../../utils';\n\nimport Arrow, {ArrowType} from './Arrow/Arrow';\nimport {i18n} from './i18n';\nimport {SliderBreakpointParams} from './models';\nimport {\n getSliderResponsiveParams,\n getSlidesCountByBreakpoint,\n getSlidesToShowCount,\n getSlidesToShowWithDefaults,\n isFocusable,\n useRovingTabIndex,\n} from './utils';\n\nimport './Slider.scss';\n\nconst b = block('SliderBlock');\nconst slick = block('slick-origin');\n\nconst DOT_WIDTH = 8;\nconst DOT_GAP = 16;\n\nexport interface SliderProps\n extends Omit<SliderParams, 'children'>,\n Refable<HTMLDivElement>,\n ClassNameProps,\n Pick<Settings, 'lazyLoad'> {\n type?: string;\n anchorId?: string;\n onAfterChange?: (index: number) => void;\n onBeforeChange?: (current: number, next: number) => void;\n dotsClassName?: string;\n blockClassName?: string;\n arrowSize?: number;\n}\n\nexport const SliderBlock = (props: React.PropsWithChildren<SliderProps>) => {\n const {\n animated,\n title,\n description,\n type,\n anchorId,\n arrows = true,\n adaptive,\n autoplay: autoplaySpeed,\n dots = true,\n dotsClassName,\n disclaimer,\n children,\n className,\n blockClassName,\n lazyLoad,\n arrowSize,\n onAfterChange: handleAfterChange,\n onBeforeChange: handleBeforeChange,\n } = props;\n\n const {isServer} = React.useContext(SSRContext);\n const isMobile = React.useContext(MobileContext);\n const [breakpoint, setBreakpoint] = React.useState<number>(BREAKPOINTS.xl);\n const sliderId = useUniqId();\n const disclosedChildren = React.useMemo<React.ReactElement[]>(\n () => discloseAllNestedChildren(children as React.ReactElement[], sliderId),\n [children, sliderId],\n );\n const childrenCount = disclosedChildren.length;\n const isAutoplayEnabled = autoplaySpeed !== undefined && autoplaySpeed > 0;\n const isUserInteractionRef = React.useRef(false);\n\n const slidesToShow = React.useMemo<SliderBreakpointParams>(\n () =>\n getSlidesToShowWithDefaults({\n contentLength: childrenCount,\n breakpoints: props.slidesToShow,\n mobileFullscreen: Boolean(\n props.type && Object.values(SliderType).includes(props.type as SliderType),\n ),\n }),\n [childrenCount, props.slidesToShow, props.type],\n );\n\n const slidesToShowCount = getSlidesToShowCount(slidesToShow);\n const slidesCountByBreakpoint = getSlidesCountByBreakpoint(breakpoint, slidesToShow);\n\n const [currentIndex, setCurrentIndex] = React.useState<number>(0);\n const [childStyles, setChildStyles] = React.useState<Object>({});\n const [slider, setSlider] = React.useState<SlickSlider>();\n const prevIndexRef = React.useRef<number>(0);\n const autoplayTimeId = React.useRef<Timeout>();\n const {hasFocus, unsetFocus} = useFocus(slider?.innerSlider?.list);\n\n const asUserInteraction =\n <T extends unknown[], R>(fn: (...args: T) => R) =>\n (...args: T): R => {\n isUserInteractionRef.current = true;\n return fn(...args);\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const onResize = React.useCallback(\n debounce(() => {\n if (!slider) {\n return;\n }\n\n const newBreakpoint = get(slider, 'state.breakpoint') || BREAKPOINTS.xl;\n\n if (newBreakpoint !== breakpoint) {\n setBreakpoint(newBreakpoint);\n setCurrentIndex(0);\n\n slider.slickGoTo(0);\n }\n }, 100),\n [slider, breakpoint],\n );\n\n const scrollLastSlide = React.useCallback(\n (current: number) => {\n const lastSlide = childrenCount - slidesToShowCount;\n\n if (isAutoplayEnabled && lastSlide === current) {\n // Slick doesn't support autoplay with no infinity scroll\n autoplayTimeId.current = setTimeout(() => {\n if (slider) {\n slider.slickGoTo(0, false);\n slider.slickPause();\n }\n setTimeout(() => {\n if (slider) {\n slider.slickPlay();\n }\n }, 500);\n }, autoplaySpeed);\n }\n },\n [autoplaySpeed, childrenCount, isAutoplayEnabled, slider, slidesToShowCount],\n );\n\n React.useEffect(() => {\n if (hasFocus && autoplayTimeId.current) {\n clearTimeout(autoplayTimeId.current);\n } else {\n scrollLastSlide(currentIndex);\n }\n }, [currentIndex, hasFocus, scrollLastSlide]);\n\n React.useEffect(() => {\n onResize();\n\n window.addEventListener('resize', onResize, {passive: true});\n\n return () => window.removeEventListener('resize', onResize);\n }, [onResize]);\n\n const handleArrowClick = (direction: ArrowType) => {\n let nextIndex;\n\n if (direction === 'right') {\n nextIndex =\n currentIndex === childrenCount - slidesCountByBreakpoint ? 0 : currentIndex + 1;\n } else {\n nextIndex =\n currentIndex === 0 ? childrenCount - slidesCountByBreakpoint : currentIndex - 1;\n }\n\n if (slider) {\n slider.slickGoTo(nextIndex);\n }\n };\n\n const onBeforeChange = React.useCallback(\n (current: number, next: number) => {\n if (handleBeforeChange) {\n handleBeforeChange(current, next);\n }\n\n prevIndexRef.current = current;\n\n setCurrentIndex(Math.ceil(next));\n },\n [handleBeforeChange],\n );\n\n const onAfterChange = React.useCallback(\n (current: number) => {\n if (handleAfterChange) {\n handleAfterChange(current);\n }\n\n if (autoplayTimeId.current) {\n clearTimeout(autoplayTimeId.current);\n }\n\n if (!hasFocus) {\n scrollLastSlide(current);\n }\n\n if (isUserInteractionRef.current) {\n const focusIndex =\n prevIndexRef.current >= current\n ? current\n : Math.max(current, prevIndexRef.current + slidesCountByBreakpoint);\n\n const firstNewSlide = document.getElementById(getSlideId(sliderId, focusIndex));\n if (firstNewSlide) {\n const focusableChild = Array.from(firstNewSlide.querySelectorAll('*')).find(\n isFocusable,\n ) as HTMLElement | undefined;\n focusableChild?.focus();\n }\n }\n\n isUserInteractionRef.current = false;\n },\n [handleAfterChange, hasFocus, scrollLastSlide, sliderId, slidesCountByBreakpoint],\n );\n\n const handleDotClick = (index: number) => {\n const nextIndex = index > currentIndex ? index + 1 - slidesCountByBreakpoint : index;\n\n if (slider) {\n slider.slickGoTo(nextIndex);\n }\n };\n\n const barSlidesCount = childrenCount - slidesCountByBreakpoint + 1;\n const barPosition = (DOT_GAP + DOT_WIDTH) * currentIndex;\n const barWidth = DOT_WIDTH + (DOT_GAP + DOT_WIDTH) * (slidesCountByBreakpoint - 1);\n\n const {getRovingItemProps, rovingListProps} = useRovingTabIndex({\n itemCount: barSlidesCount,\n activeIndex: currentIndex + 1,\n firstIndex: 1,\n uniqId: sliderId,\n });\n\n const renderBar = () => {\n return (\n slidesCountByBreakpoint > 1 && (\n <li\n className={b('bar')}\n style={{\n left: barPosition,\n width: barWidth,\n }}\n />\n )\n );\n };\n\n // renders additional bar, not visible in the layout but visible for screenreaders\n const renderAccessibleBar = (index: number) => {\n return (\n // To have this key differ from keys used in renderDot function, added `-accessible-bar` part\n <React.Fragment key={`${index}-accessible-bar`}>\n {slidesCountByBreakpoint > 0 && (\n <li\n className={b('accessible-bar')}\n role=\"menuitemradio\"\n aria-checked\n aria-label={i18n('dot-label', {\n index: currentIndex + 1,\n count: barSlidesCount,\n })}\n style={{\n left: barPosition,\n width: barWidth,\n }}\n {...getRovingItemProps(currentIndex + 1)}\n />\n )}\n </React.Fragment>\n );\n };\n\n const getCurrentSlideNumber = (index: number) => {\n const currentIndexDiff = index - currentIndex;\n\n let currentSlideNumber;\n if (0 <= currentIndexDiff && currentIndexDiff < slidesCountByBreakpoint) {\n currentSlideNumber = currentIndex + 1;\n } else if (currentIndexDiff >= slidesCountByBreakpoint) {\n currentSlideNumber = index - slidesCountByBreakpoint + 2;\n } else {\n currentSlideNumber = index + 1;\n }\n return currentSlideNumber;\n };\n const isVisibleSlide = (index: number) => {\n const currentIndexDiff = index - currentIndex;\n\n const result =\n slidesCountByBreakpoint > 0 &&\n 0 <= currentIndexDiff &&\n currentIndexDiff < slidesCountByBreakpoint;\n return result;\n };\n\n const renderDot = (index: number) => {\n const isVisible = isVisibleSlide(index);\n const currentSlideNumber = getCurrentSlideNumber(index);\n const rovingItemProps = isVisible ? undefined : getRovingItemProps(currentSlideNumber);\n return (\n <li\n key={index}\n className={b('dot', {active: index === currentIndex})}\n onClick={asUserInteraction(() => handleDotClick(index))}\n onKeyDown={(e) => {\n const key = e.key.toLowerCase();\n if (key === 'space' || key === 'enter') {\n e.currentTarget.click();\n }\n }}\n role=\"menuitemradio\"\n aria-checked={false}\n tabIndex={-1}\n aria-hidden={isVisible}\n aria-label={i18n('dot-label', {\n index: currentSlideNumber,\n count: barSlidesCount,\n })}\n {...rovingItemProps}\n />\n );\n };\n\n const renderNavigation = () => {\n if (childrenCount <= slidesCountByBreakpoint || !dots || childrenCount === 1) {\n return null;\n }\n const dotsList = Array(childrenCount)\n .fill(null)\n .map((_item, index) => renderDot(index));\n dotsList.splice(currentIndex, 0, renderAccessibleBar(currentIndex));\n\n return (\n <div className={b('dots', dotsClassName)}>\n <ul\n className={b('dots-list')}\n role=\"menu\"\n aria-label={i18n('pagination-label')}\n {...rovingListProps}\n >\n {renderBar()}\n {dotsList}\n </ul>\n </div>\n );\n };\n\n const renderDisclaimer = () => {\n return disclaimer ? (\n <div className={b('disclaimer', {size: disclaimer.size || 'm'})}>{disclaimer.text}</div>\n ) : null;\n };\n\n const renderSlider = () => {\n /* Disable adding of width in inline styles when SSR to prevent overriding of default styles */\n /* Calculate appropriate breakpoint for mobile devices with user agent */\n const variableWidth = isServer && isMobile;\n\n const settings = {\n ref: (slickSlider: SlickSlider) => setSlider(slickSlider),\n className: slick(null, className),\n arrows,\n variableWidth,\n infinite: false,\n speed: 1000,\n adaptiveHeight: adaptive,\n autoplay: isAutoplayEnabled,\n autoplaySpeed,\n slidesToShow: slidesToShowCount,\n slidesToScroll: 1,\n responsive: getSliderResponsiveParams(slidesToShow),\n beforeChange: onBeforeChange,\n afterChange: onAfterChange,\n initialSlide: 0,\n nextArrow: (\n <Arrow\n type=\"right\"\n handleClick={asUserInteraction(handleArrowClick)}\n size={arrowSize}\n />\n ),\n prevArrow: (\n <Arrow\n type=\"left\"\n handleClick={asUserInteraction(handleArrowClick)}\n size={arrowSize}\n />\n ),\n lazyLoad,\n accessibility: false,\n };\n\n return (\n <OutsideClick onOutsideClick={isMobile ? unsetFocus : noop}>\n <SlickSlider {...settings}>\n {React.Children.map(disclosedChildren, (child, index) => (\n <ItemWrap index={index}>{child}</ItemWrap>\n ))}\n </SlickSlider>\n\n <div className={b('footer')}>\n {renderDisclaimer()}\n {renderNavigation()}\n </div>\n </OutsideClick>\n );\n };\n\n return (\n <StylesContext.Provider value={{...childStyles, setStyles: setChildStyles}}>\n <Grid>\n <div\n className={b(\n {\n 'align-left': childrenCount < slidesCountByBreakpoint,\n 'one-slide': childrenCount === 1,\n 'only-arrows': !title?.text && !description && arrows,\n mobile: isMobile,\n type,\n },\n blockClassName,\n )}\n >\n {anchorId && <Anchor id={anchorId} />}\n <Title\n title={title}\n subtitle={description}\n className={b('header', {'no-description': !description})}\n />\n <AnimateBlock className={b('animate-slides')} animate={animated}>\n {renderSlider()}\n </AnimateBlock>\n </div>\n </Grid>\n </StylesContext.Provider>\n );\n};\n\nfunction getSlideId(sliderId: string, index: number) {\n return `slider-${sliderId}-child-${index}`;\n}\n\n// TODO remove this and rework PriceDetailed CLOUDFRONT-12230\nfunction discloseAllNestedChildren(\n children: React.ReactElement[],\n sliderId: string,\n): React.ReactElement[] {\n if (!children) {\n return [];\n }\n\n let childIndex = 0;\n const wrapped = (child: React.ReactElement) => {\n const id = getSlideId(sliderId, childIndex++);\n\n return (\n <div key={id} id={id}>\n {child}\n </div>\n );\n };\n\n return React.Children.map(children, (child) => {\n if (child) {\n // TODO: if child has 'items' then 'items' determinate like nested children for Slider.\n const nestedChildren = child.props.data?.items;\n\n if (nestedChildren) {\n return nestedChildren.map((nestedChild: React.ReactElement) => {\n return wrapped(\n React.cloneElement(child, {\n data: {\n ...child.props.data,\n items: [nestedChild],\n },\n }),\n );\n });\n }\n }\n return child && wrapped(child);\n }).filter(Boolean);\n}\n\nexport default SliderBlock;\n"]}
1
+ {"version":3,"file":"Slider.js","sourceRoot":"../../../../src","sources":["blocks/Slider/Slider.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {useUniqId} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\nimport get from 'lodash/get';\nimport noop from 'lodash/noop';\nimport _SlickSlider, {Settings} from 'react-slick';\n\nimport Anchor from '../../components/Anchor/Anchor';\nimport AnimateBlock from '../../components/AnimateBlock/AnimateBlock';\nimport OutsideClick from '../../components/OutsideClick/OutsideClick';\nimport Title from '../../components/Title/Title';\nimport ItemWrap from '../../components/editor/ItemWrap/ItemWrap';\nimport {BREAKPOINTS} from '../../constants';\nimport {MobileContext} from '../../context/mobileContext';\nimport {SSRContext} from '../../context/ssrContext';\nimport {StylesContext} from '../../context/stylesContext/StylesContext';\nimport {Grid} from '../../grid';\nimport useFocus from '../../hooks/useFocus';\nimport {\n ClassNameProps,\n Refable,\n SliderProps as SliderParams,\n SliderType,\n Timeout,\n} from '../../models';\nimport {block} from '../../utils';\n\nimport Arrow, {ArrowType} from './Arrow/Arrow';\nimport {i18n} from './i18n';\nimport {SliderBreakpointParams} from './models';\nimport {\n getSliderResponsiveParams,\n getSlidesCountByBreakpoint,\n getSlidesToShowCount,\n getSlidesToShowWithDefaults,\n isFocusable,\n useRovingTabIndex,\n} from './utils';\n\nimport './Slider.scss';\n\nconst b = block('SliderBlock');\nconst slick = block('slick-origin');\n\nconst DOT_WIDTH = 8;\nconst DOT_GAP = 16;\n\nconst SlickSlider =\n 'default' in _SlickSlider && _SlickSlider.default\n ? (_SlickSlider.default as typeof _SlickSlider)\n : _SlickSlider;\n\nexport interface SliderProps\n extends Omit<SliderParams, 'children'>,\n Refable<HTMLDivElement>,\n ClassNameProps,\n Pick<Settings, 'lazyLoad'> {\n type?: string;\n anchorId?: string;\n onAfterChange?: (index: number) => void;\n onBeforeChange?: (current: number, next: number) => void;\n dotsClassName?: string;\n blockClassName?: string;\n arrowSize?: number;\n}\n\nexport const SliderBlock = (props: React.PropsWithChildren<SliderProps>) => {\n const {\n animated,\n title,\n description,\n type,\n anchorId,\n arrows = true,\n adaptive,\n autoplay: autoplaySpeed,\n dots = true,\n dotsClassName,\n disclaimer,\n children,\n className,\n blockClassName,\n lazyLoad,\n arrowSize,\n onAfterChange: handleAfterChange,\n onBeforeChange: handleBeforeChange,\n } = props;\n\n const {isServer} = React.useContext(SSRContext);\n const isMobile = React.useContext(MobileContext);\n const [breakpoint, setBreakpoint] = React.useState<number>(BREAKPOINTS.xl);\n const sliderId = useUniqId();\n const disclosedChildren = React.useMemo<React.ReactElement[]>(\n () => discloseAllNestedChildren(children as React.ReactElement[], sliderId),\n [children, sliderId],\n );\n const childrenCount = disclosedChildren.length;\n const isAutoplayEnabled = autoplaySpeed !== undefined && autoplaySpeed > 0;\n const isUserInteractionRef = React.useRef(false);\n\n const slidesToShow = React.useMemo<SliderBreakpointParams>(\n () =>\n getSlidesToShowWithDefaults({\n contentLength: childrenCount,\n breakpoints: props.slidesToShow,\n mobileFullscreen: Boolean(\n props.type && Object.values(SliderType).includes(props.type as SliderType),\n ),\n }),\n [childrenCount, props.slidesToShow, props.type],\n );\n\n const slidesToShowCount = getSlidesToShowCount(slidesToShow);\n const slidesCountByBreakpoint = getSlidesCountByBreakpoint(breakpoint, slidesToShow);\n\n const [currentIndex, setCurrentIndex] = React.useState<number>(0);\n const [childStyles, setChildStyles] = React.useState<Object>({});\n const [slider, setSlider] = React.useState<_SlickSlider>();\n const prevIndexRef = React.useRef<number>(0);\n const autoplayTimeId = React.useRef<Timeout>();\n const {hasFocus, unsetFocus} = useFocus(slider?.innerSlider?.list);\n\n const asUserInteraction =\n <T extends unknown[], R>(fn: (...args: T) => R) =>\n (...args: T): R => {\n isUserInteractionRef.current = true;\n return fn(...args);\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const onResize = React.useCallback(\n debounce(() => {\n if (!slider) {\n return;\n }\n\n const newBreakpoint = get(slider, 'state.breakpoint') || BREAKPOINTS.xl;\n\n if (newBreakpoint !== breakpoint) {\n setBreakpoint(newBreakpoint);\n setCurrentIndex(0);\n\n slider.slickGoTo(0);\n }\n }, 100),\n [slider, breakpoint],\n );\n\n const scrollLastSlide = React.useCallback(\n (current: number) => {\n const lastSlide = childrenCount - slidesToShowCount;\n\n if (isAutoplayEnabled && lastSlide === current) {\n // Slick doesn't support autoplay with no infinity scroll\n autoplayTimeId.current = setTimeout(() => {\n if (slider) {\n slider.slickGoTo(0, false);\n slider.slickPause();\n }\n setTimeout(() => {\n if (slider) {\n slider.slickPlay();\n }\n }, 500);\n }, autoplaySpeed);\n }\n },\n [autoplaySpeed, childrenCount, isAutoplayEnabled, slider, slidesToShowCount],\n );\n\n React.useEffect(() => {\n if (hasFocus && autoplayTimeId.current) {\n clearTimeout(autoplayTimeId.current);\n } else {\n scrollLastSlide(currentIndex);\n }\n }, [currentIndex, hasFocus, scrollLastSlide]);\n\n React.useEffect(() => {\n onResize();\n\n window.addEventListener('resize', onResize, {passive: true});\n\n return () => window.removeEventListener('resize', onResize);\n }, [onResize]);\n\n const handleArrowClick = (direction: ArrowType) => {\n let nextIndex;\n\n if (direction === 'right') {\n nextIndex =\n currentIndex === childrenCount - slidesCountByBreakpoint ? 0 : currentIndex + 1;\n } else {\n nextIndex =\n currentIndex === 0 ? childrenCount - slidesCountByBreakpoint : currentIndex - 1;\n }\n\n if (slider) {\n slider.slickGoTo(nextIndex);\n }\n };\n\n const onBeforeChange = React.useCallback(\n (current: number, next: number) => {\n if (handleBeforeChange) {\n handleBeforeChange(current, next);\n }\n\n prevIndexRef.current = current;\n\n setCurrentIndex(Math.ceil(next));\n },\n [handleBeforeChange],\n );\n\n const onAfterChange = React.useCallback(\n (current: number) => {\n if (handleAfterChange) {\n handleAfterChange(current);\n }\n\n if (autoplayTimeId.current) {\n clearTimeout(autoplayTimeId.current);\n }\n\n if (!hasFocus) {\n scrollLastSlide(current);\n }\n\n if (isUserInteractionRef.current) {\n const focusIndex =\n prevIndexRef.current >= current\n ? current\n : Math.max(current, prevIndexRef.current + slidesCountByBreakpoint);\n\n const firstNewSlide = document.getElementById(getSlideId(sliderId, focusIndex));\n if (firstNewSlide) {\n const focusableChild = Array.from(firstNewSlide.querySelectorAll('*')).find(\n isFocusable,\n ) as HTMLElement | undefined;\n focusableChild?.focus();\n }\n }\n\n isUserInteractionRef.current = false;\n },\n [handleAfterChange, hasFocus, scrollLastSlide, sliderId, slidesCountByBreakpoint],\n );\n\n const handleDotClick = (index: number) => {\n const nextIndex = index > currentIndex ? index + 1 - slidesCountByBreakpoint : index;\n\n if (slider) {\n slider.slickGoTo(nextIndex);\n }\n };\n\n const barSlidesCount = childrenCount - slidesCountByBreakpoint + 1;\n const barPosition = (DOT_GAP + DOT_WIDTH) * currentIndex;\n const barWidth = DOT_WIDTH + (DOT_GAP + DOT_WIDTH) * (slidesCountByBreakpoint - 1);\n\n const {getRovingItemProps, rovingListProps} = useRovingTabIndex({\n itemCount: barSlidesCount,\n activeIndex: currentIndex + 1,\n firstIndex: 1,\n uniqId: sliderId,\n });\n\n const renderBar = () => {\n return (\n slidesCountByBreakpoint > 1 && (\n <li\n className={b('bar')}\n style={{\n left: barPosition,\n width: barWidth,\n }}\n />\n )\n );\n };\n\n // renders additional bar, not visible in the layout but visible for screenreaders\n const renderAccessibleBar = (index: number) => {\n return (\n // To have this key differ from keys used in renderDot function, added `-accessible-bar` part\n <React.Fragment key={`${index}-accessible-bar`}>\n {slidesCountByBreakpoint > 0 && (\n <li\n className={b('accessible-bar')}\n role=\"menuitemradio\"\n aria-checked\n aria-label={i18n('dot-label', {\n index: currentIndex + 1,\n count: barSlidesCount,\n })}\n style={{\n left: barPosition,\n width: barWidth,\n }}\n {...getRovingItemProps(currentIndex + 1)}\n />\n )}\n </React.Fragment>\n );\n };\n\n const getCurrentSlideNumber = (index: number) => {\n const currentIndexDiff = index - currentIndex;\n\n let currentSlideNumber;\n if (0 <= currentIndexDiff && currentIndexDiff < slidesCountByBreakpoint) {\n currentSlideNumber = currentIndex + 1;\n } else if (currentIndexDiff >= slidesCountByBreakpoint) {\n currentSlideNumber = index - slidesCountByBreakpoint + 2;\n } else {\n currentSlideNumber = index + 1;\n }\n return currentSlideNumber;\n };\n const isVisibleSlide = (index: number) => {\n const currentIndexDiff = index - currentIndex;\n\n const result =\n slidesCountByBreakpoint > 0 &&\n 0 <= currentIndexDiff &&\n currentIndexDiff < slidesCountByBreakpoint;\n return result;\n };\n\n const renderDot = (index: number) => {\n const isVisible = isVisibleSlide(index);\n const currentSlideNumber = getCurrentSlideNumber(index);\n const rovingItemProps = isVisible ? undefined : getRovingItemProps(currentSlideNumber);\n return (\n <li\n key={index}\n className={b('dot', {active: index === currentIndex})}\n onClick={asUserInteraction(() => handleDotClick(index))}\n onKeyDown={(e) => {\n const key = e.key.toLowerCase();\n if (key === 'space' || key === 'enter') {\n e.currentTarget.click();\n }\n }}\n role=\"menuitemradio\"\n aria-checked={false}\n tabIndex={-1}\n aria-hidden={isVisible}\n aria-label={i18n('dot-label', {\n index: currentSlideNumber,\n count: barSlidesCount,\n })}\n {...rovingItemProps}\n />\n );\n };\n\n const renderNavigation = () => {\n if (childrenCount <= slidesCountByBreakpoint || !dots || childrenCount === 1) {\n return null;\n }\n const dotsList = Array(childrenCount)\n .fill(null)\n .map((_item, index) => renderDot(index));\n dotsList.splice(currentIndex, 0, renderAccessibleBar(currentIndex));\n\n return (\n <div className={b('dots', dotsClassName)}>\n <ul\n className={b('dots-list')}\n role=\"menu\"\n aria-label={i18n('pagination-label')}\n {...rovingListProps}\n >\n {renderBar()}\n {dotsList}\n </ul>\n </div>\n );\n };\n\n const renderDisclaimer = () => {\n return disclaimer ? (\n <div className={b('disclaimer', {size: disclaimer.size || 'm'})}>{disclaimer.text}</div>\n ) : null;\n };\n\n const renderSlider = () => {\n /* Disable adding of width in inline styles when SSR to prevent overriding of default styles */\n /* Calculate appropriate breakpoint for mobile devices with user agent */\n const variableWidth = isServer && isMobile;\n\n const settings = {\n ref: (slickSlider: _SlickSlider) => setSlider(slickSlider),\n className: slick(null, className),\n arrows,\n variableWidth,\n infinite: false,\n speed: 1000,\n adaptiveHeight: adaptive,\n autoplay: isAutoplayEnabled,\n autoplaySpeed,\n slidesToShow: slidesToShowCount,\n slidesToScroll: 1,\n responsive: getSliderResponsiveParams(slidesToShow),\n beforeChange: onBeforeChange,\n afterChange: onAfterChange,\n initialSlide: 0,\n nextArrow: (\n <Arrow\n type=\"right\"\n handleClick={asUserInteraction(handleArrowClick)}\n size={arrowSize}\n />\n ),\n prevArrow: (\n <Arrow\n type=\"left\"\n handleClick={asUserInteraction(handleArrowClick)}\n size={arrowSize}\n />\n ),\n lazyLoad,\n accessibility: false,\n };\n\n return (\n <OutsideClick onOutsideClick={isMobile ? unsetFocus : noop}>\n <SlickSlider {...settings}>\n {React.Children.map(disclosedChildren, (child, index) => (\n <ItemWrap index={index}>{child}</ItemWrap>\n ))}\n </SlickSlider>\n\n <div className={b('footer')}>\n {renderDisclaimer()}\n {renderNavigation()}\n </div>\n </OutsideClick>\n );\n };\n\n return (\n <StylesContext.Provider value={{...childStyles, setStyles: setChildStyles}}>\n <Grid>\n <div\n className={b(\n {\n 'align-left': childrenCount < slidesCountByBreakpoint,\n 'one-slide': childrenCount === 1,\n 'only-arrows': !title?.text && !description && arrows,\n mobile: isMobile,\n type,\n },\n blockClassName,\n )}\n >\n {anchorId && <Anchor id={anchorId} />}\n <Title\n title={title}\n subtitle={description}\n className={b('header', {'no-description': !description})}\n />\n <AnimateBlock className={b('animate-slides')} animate={animated}>\n {renderSlider()}\n </AnimateBlock>\n </div>\n </Grid>\n </StylesContext.Provider>\n );\n};\n\nfunction getSlideId(sliderId: string, index: number) {\n return `slider-${sliderId}-child-${index}`;\n}\n\n// TODO remove this and rework PriceDetailed CLOUDFRONT-12230\nfunction discloseAllNestedChildren(\n children: React.ReactElement[],\n sliderId: string,\n): React.ReactElement[] {\n if (!children) {\n return [];\n }\n\n let childIndex = 0;\n const wrapped = (child: React.ReactElement) => {\n const id = getSlideId(sliderId, childIndex++);\n\n return (\n <div key={id} id={id}>\n {child}\n </div>\n );\n };\n\n return React.Children.map(children, (child) => {\n if (child) {\n // TODO: if child has 'items' then 'items' determinate like nested children for Slider.\n const nestedChildren = child.props.data?.items;\n\n if (nestedChildren) {\n return nestedChildren.map((nestedChild: React.ReactElement) => {\n return wrapped(\n React.cloneElement(child, {\n data: {\n ...child.props.data,\n items: [nestedChild],\n },\n }),\n );\n });\n }\n }\n return child && wrapped(child);\n }).filter(Boolean);\n}\n\nexport default SliderBlock;\n"]}
@@ -7,6 +7,7 @@ export { default as SliderBlock } from "./Slider/Slider.js";
7
7
  export { default as ExtendedFeaturesBlock } from "./ExtendedFeatures/ExtendedFeatures.js";
8
8
  export { default as PromoFeaturesBlock } from "./PromoFeaturesBlock/PromoFeaturesBlock.js";
9
9
  export { default as QuestionsBlock } from "./Questions/Questions.js";
10
+ export { default as FoldableListBlock } from "./FoldableList/FoldableList.js";
10
11
  export { default as TableBlock } from "./Table/Table.js";
11
12
  export { default as TabsBlock } from "./Tabs/Tabs.js";
12
13
  export { default as HeaderBlock } from "./Header/Header.js";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FormBlock = exports.FilterBlock = exports.ShareBlock = exports.ContentLayoutBlock = exports.CardLayoutBlock = exports.HeaderSliderBlock = exports.IconsBlock = exports.HeaderBlock = exports.TabsBlock = exports.TableBlock = exports.QuestionsBlock = exports.PromoFeaturesBlock = exports.ExtendedFeaturesBlock = exports.SliderBlock = exports.MapBlock = exports.MediaBlock = exports.InfoBlock = exports.CompaniesBlock = exports.BannerBlock = void 0;
3
+ exports.FormBlock = exports.FilterBlock = exports.ShareBlock = exports.ContentLayoutBlock = exports.CardLayoutBlock = exports.HeaderSliderBlock = exports.IconsBlock = exports.HeaderBlock = exports.TabsBlock = exports.TableBlock = exports.FoldableListBlock = exports.QuestionsBlock = exports.PromoFeaturesBlock = exports.ExtendedFeaturesBlock = exports.SliderBlock = exports.MapBlock = exports.MediaBlock = exports.InfoBlock = exports.CompaniesBlock = exports.BannerBlock = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  var Banner_1 = require("./Banner/Banner.js");
6
6
  Object.defineProperty(exports, "BannerBlock", { enumerable: true, get: function () { return tslib_1.__importDefault(Banner_1).default; } });
@@ -20,6 +20,8 @@ var PromoFeaturesBlock_1 = require("./PromoFeaturesBlock/PromoFeaturesBlock.js")
20
20
  Object.defineProperty(exports, "PromoFeaturesBlock", { enumerable: true, get: function () { return tslib_1.__importDefault(PromoFeaturesBlock_1).default; } });
21
21
  var Questions_1 = require("./Questions/Questions.js");
22
22
  Object.defineProperty(exports, "QuestionsBlock", { enumerable: true, get: function () { return tslib_1.__importDefault(Questions_1).default; } });
23
+ var FoldableList_1 = require("./FoldableList/FoldableList.js");
24
+ Object.defineProperty(exports, "FoldableListBlock", { enumerable: true, get: function () { return tslib_1.__importDefault(FoldableList_1).default; } });
23
25
  var Table_1 = require("./Table/Table.js");
24
26
  Object.defineProperty(exports, "TableBlock", { enumerable: true, get: function () { return tslib_1.__importDefault(Table_1).default; } });
25
27
  var Tabs_1 = require("./Tabs/Tabs.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["blocks/index.ts"],"names":[],"mappings":";;;;AAAA,6CAAuD;AAA/C,8HAAA,OAAO,OAAe;AAC9B,sDAAgE;AAAxD,oIAAA,OAAO,OAAkB;AACjC,uCAAiD;AAAzC,0HAAA,OAAO,OAAa;AAC5B,0CAAoD;AAA5C,4HAAA,OAAO,OAAc;AAC7B,oCAA8C;AAAtC,wHAAA,OAAO,OAAY;AAC3B,6CAAuD;AAA/C,8HAAA,OAAO,OAAe;AAC9B,2EAAqF;AAA7E,kJAAA,OAAO,OAAyB;AACxC,iFAAsF;AAA9E,iJAAA,OAAO,OAAsB;AACrC,sDAAgE;AAAxD,oIAAA,OAAO,OAAkB;AACjC,0CAAoD;AAA5C,4HAAA,OAAO,OAAc;AAC7B,uCAAiD;AAAzC,0HAAA,OAAO,OAAa;AAC5B,6CAAuD;AAA/C,8HAAA,OAAO,OAAe;AAC9B,0CAAoD;AAA5C,4HAAA,OAAO,OAAc;AAC7B,+DAAyE;AAAjE,0IAAA,OAAO,OAAqB;AACpC,yDAAmE;AAA3D,sIAAA,OAAO,OAAmB;AAClC,kEAA4E;AAApE,4IAAA,OAAO,OAAsB;AACrC,0CAAoD;AAA5C,4HAAA,OAAO,OAAc;AAC7B,4DAAiE;AAAzD,mIAAA,OAAO,OAAe;AAC9B,uCAAiD;AAAzC,0HAAA,OAAO,OAAa","sourcesContent":["export {default as BannerBlock} from './Banner/Banner';\nexport {default as CompaniesBlock} from './Companies/Companies';\nexport {default as InfoBlock} from './Info/Info';\nexport {default as MediaBlock} from './Media/Media';\nexport {default as MapBlock} from './Map/Map';\nexport {default as SliderBlock} from './Slider/Slider';\nexport {default as ExtendedFeaturesBlock} from './ExtendedFeatures/ExtendedFeatures';\nexport {default as PromoFeaturesBlock} from './PromoFeaturesBlock/PromoFeaturesBlock';\nexport {default as QuestionsBlock} from './Questions/Questions';\nexport {default as TableBlock} from './Table/Table';\nexport {default as TabsBlock} from './Tabs/Tabs';\nexport {default as HeaderBlock} from './Header/Header';\nexport {default as IconsBlock} from './Icons/Icons';\nexport {default as HeaderSliderBlock} from './HeaderSlider/HeaderSlider';\nexport {default as CardLayoutBlock} from './CardLayout/CardLayout';\nexport {default as ContentLayoutBlock} from './ContentLayout/ContentLayout';\nexport {default as ShareBlock} from './Share/Share';\nexport {default as FilterBlock} from './FilterBlock/FilterBlock';\nexport {default as FormBlock} from './Form/Form';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["blocks/index.ts"],"names":[],"mappings":";;;;AAAA,6CAAuD;AAA/C,8HAAA,OAAO,OAAe;AAC9B,sDAAgE;AAAxD,oIAAA,OAAO,OAAkB;AACjC,uCAAiD;AAAzC,0HAAA,OAAO,OAAa;AAC5B,0CAAoD;AAA5C,4HAAA,OAAO,OAAc;AAC7B,oCAA8C;AAAtC,wHAAA,OAAO,OAAY;AAC3B,6CAAuD;AAA/C,8HAAA,OAAO,OAAe;AAC9B,2EAAqF;AAA7E,kJAAA,OAAO,OAAyB;AACxC,iFAAsF;AAA9E,iJAAA,OAAO,OAAsB;AACrC,sDAAgE;AAAxD,oIAAA,OAAO,OAAkB;AACjC,+DAAyE;AAAjE,0IAAA,OAAO,OAAqB;AACpC,0CAAoD;AAA5C,4HAAA,OAAO,OAAc;AAC7B,uCAAiD;AAAzC,0HAAA,OAAO,OAAa;AAC5B,6CAAuD;AAA/C,8HAAA,OAAO,OAAe;AAC9B,0CAAoD;AAA5C,4HAAA,OAAO,OAAc;AAC7B,+DAAyE;AAAjE,0IAAA,OAAO,OAAqB;AACpC,yDAAmE;AAA3D,sIAAA,OAAO,OAAmB;AAClC,kEAA4E;AAApE,4IAAA,OAAO,OAAsB;AACrC,0CAAoD;AAA5C,4HAAA,OAAO,OAAc;AAC7B,4DAAiE;AAAzD,mIAAA,OAAO,OAAe;AAC9B,uCAAiD;AAAzC,0HAAA,OAAO,OAAa","sourcesContent":["export {default as BannerBlock} from './Banner/Banner';\nexport {default as CompaniesBlock} from './Companies/Companies';\nexport {default as InfoBlock} from './Info/Info';\nexport {default as MediaBlock} from './Media/Media';\nexport {default as MapBlock} from './Map/Map';\nexport {default as SliderBlock} from './Slider/Slider';\nexport {default as ExtendedFeaturesBlock} from './ExtendedFeatures/ExtendedFeatures';\nexport {default as PromoFeaturesBlock} from './PromoFeaturesBlock/PromoFeaturesBlock';\nexport {default as QuestionsBlock} from './Questions/Questions';\nexport {default as FoldableListBlock} from './FoldableList/FoldableList';\nexport {default as TableBlock} from './Table/Table';\nexport {default as TabsBlock} from './Tabs/Tabs';\nexport {default as HeaderBlock} from './Header/Header';\nexport {default as IconsBlock} from './Icons/Icons';\nexport {default as HeaderSliderBlock} from './HeaderSlider/HeaderSlider';\nexport {default as CardLayoutBlock} from './CardLayout/CardLayout';\nexport {default as ContentLayoutBlock} from './ContentLayout/ContentLayout';\nexport {default as ShareBlock} from './Share/Share';\nexport {default as FilterBlock} from './FilterBlock/FilterBlock';\nexport {default as FormBlock} from './Form/Form';\n"]}
@@ -7,6 +7,7 @@ export interface EditorState {
7
7
  manipulateOverlayMode: 'insert' | 'reorder' | false;
8
8
  selectedBlock: number[] | null;
9
9
  initialized: boolean;
10
+ isPreviewMode: boolean;
10
11
  content: PageContentWithNavigation;
11
12
  blocks: Array<ItemConfig>;
12
13
  subBlocks: Array<ItemConfig>;
@@ -9,6 +9,7 @@ exports.initialStore = {
9
9
  manipulateOverlayMode: false,
10
10
  selectedBlock: null,
11
11
  initialized: false,
12
+ isPreviewMode: false,
12
13
  content: { blocks: [] },
13
14
  blocks: [],
14
15
  subBlocks: [],
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"../../../src","sources":["common/store.ts"],"names":[],"mappings":";;;AAKA,sCAAwC;AAoB3B,QAAA,YAAY,GAAgB;IACrC,MAAM,EAAE,GAAG;IACX,WAAW,EAAE,MAAM;IACnB,IAAI,EAAE,GAAG;IACT,qBAAqB,EAAE,KAAK;IAC5B,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,EAAC,MAAM,EAAE,EAAE,EAAC;IACrB,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,kBAAkB,EAAE,IAAI;IACxB,mBAAmB,EAAE,IAAI;CAC5B,CAAC;AAEW,QAAA,mBAAmB,GAAG,IAAA,uBAAe,EAAc,oBAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC","sourcesContent":["import _ from 'lodash';\n\nimport {PageContentWithNavigation} from '../models';\n\nimport {ConfigInput, ItemConfig} from './types';\nimport {initializeStore} from './utils';\n\nexport interface EditorState {\n height?: number;\n deviceWidth?: string;\n zoom: number;\n\n manipulateOverlayMode: 'insert' | 'reorder' | false;\n selectedBlock: number[] | null;\n initialized: boolean;\n\n content: PageContentWithNavigation;\n blocks: Array<ItemConfig>;\n subBlocks: Array<ItemConfig>;\n global: Array<ConfigInput>;\n\n preInsertBlockType: string | null;\n preReorderBlockPath: number[] | null;\n}\n\nexport const initialStore: EditorState = {\n height: 100,\n deviceWidth: '100%',\n zoom: 100,\n manipulateOverlayMode: false,\n selectedBlock: null,\n initialized: false,\n content: {blocks: []},\n blocks: [],\n subBlocks: [],\n global: [],\n preInsertBlockType: null,\n preReorderBlockPath: null,\n};\n\nexport const createPCEditorStore = initializeStore<EditorState>(initialStore, () => ({}));\n"]}
1
+ {"version":3,"file":"store.js","sourceRoot":"../../../src","sources":["common/store.ts"],"names":[],"mappings":";;;AAKA,sCAAwC;AAqB3B,QAAA,YAAY,GAAgB;IACrC,MAAM,EAAE,GAAG;IACX,WAAW,EAAE,MAAM;IACnB,IAAI,EAAE,GAAG;IACT,qBAAqB,EAAE,KAAK;IAC5B,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,EAAC,MAAM,EAAE,EAAE,EAAC;IACrB,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,kBAAkB,EAAE,IAAI;IACxB,mBAAmB,EAAE,IAAI;CAC5B,CAAC;AAEW,QAAA,mBAAmB,GAAG,IAAA,uBAAe,EAAc,oBAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC","sourcesContent":["import _ from 'lodash';\n\nimport {PageContentWithNavigation} from '../models';\n\nimport {ConfigInput, ItemConfig} from './types';\nimport {initializeStore} from './utils';\n\nexport interface EditorState {\n height?: number;\n deviceWidth?: string;\n zoom: number;\n\n manipulateOverlayMode: 'insert' | 'reorder' | false;\n selectedBlock: number[] | null;\n initialized: boolean;\n isPreviewMode: boolean;\n\n content: PageContentWithNavigation;\n blocks: Array<ItemConfig>;\n subBlocks: Array<ItemConfig>;\n global: Array<ConfigInput>;\n\n preInsertBlockType: string | null;\n preReorderBlockPath: number[] | null;\n}\n\nexport const initialStore: EditorState = {\n height: 100,\n deviceWidth: '100%',\n zoom: 100,\n manipulateOverlayMode: false,\n selectedBlock: null,\n initialized: false,\n isPreviewMode: false,\n content: {blocks: []},\n blocks: [],\n subBlocks: [],\n global: [],\n preInsertBlockType: null,\n preReorderBlockPath: null,\n};\n\nexport const createPCEditorStore = initializeStore<EditorState>(initialStore, () => ({}));\n"]}
@@ -91,7 +91,18 @@ export interface OneOfInput {
91
91
  properties: Array<ConfigInput>;
92
92
  }[];
93
93
  }
94
+ export interface AnyOfInput {
95
+ type: 'anyOf';
96
+ name: string;
97
+ key?: string;
98
+ title: string;
99
+ options: {
100
+ value: string;
101
+ title: string;
102
+ properties: Array<ConfigInput>;
103
+ }[];
104
+ }
94
105
  export interface GeneralProps {
95
106
  showIf?: string;
96
107
  }
97
- export type ConfigInput = (TextInput | BooleanInput | NumberInput | TextAreaInput | SelectSingleInput | SelectMultipleInput | ObjectInput | ArrayTextInput | ArrayObjectInput | OneOfInput) & GeneralProps;
108
+ export type ConfigInput = (TextInput | BooleanInput | NumberInput | TextAreaInput | SelectSingleInput | SelectMultipleInput | ObjectInput | ArrayTextInput | ArrayObjectInput | OneOfInput | AnyOfInput) & GeneralProps;
@@ -1 +1 @@
1
- {"version":3,"file":"forms.js","sourceRoot":"../../../../src","sources":["common/types/forms.ts"],"names":[],"mappings":"","sourcesContent":["import {PageContentWithNavigation} from '../../models';\n\nexport type DynamicFormValue =\n | string\n | number\n | []\n | object\n | boolean\n | PageContentWithNavigation\n | undefined;\n\nexport interface BlockConfig {\n name: string;\n inputs: Array<ConfigInput>;\n group?: string;\n default?: object;\n previewImg?: string;\n}\n\nexport interface TextInput {\n type: 'text';\n name: string;\n title: string;\n}\n\nexport interface BooleanInput {\n type: 'boolean';\n name: string;\n title: string;\n}\n\nexport interface NumberInput {\n type: 'number';\n name: string;\n title: string;\n}\n\nexport interface TextAreaInput {\n type: 'textarea';\n name: string;\n title: string;\n}\n\nexport interface SelectBaseInput {\n type: 'select';\n name: string;\n title: string;\n view: 'select' | 'radiobutton';\n mode: 'single' | 'multiple';\n enum: Array<{content: string; value: string}>;\n}\n\nexport interface SelectSingleInput extends SelectBaseInput {\n type: 'select';\n name: string;\n title: string;\n view: 'select' | 'radiobutton';\n mode: 'single';\n enum: Array<{content: string; value: string}>;\n}\n\nexport interface SelectMultipleInput extends SelectBaseInput {\n type: 'select';\n name: string;\n title: string;\n view: 'select';\n mode: 'multiple';\n enum: Array<{content: string; value: string}>;\n}\n\nexport interface ObjectInput {\n type: 'object';\n name: string;\n title: string;\n properties: Array<ConfigInput>;\n}\n\nexport interface ArrayBaseInput {\n type: 'array';\n arrayType: 'object' | 'text';\n name: string;\n title: string;\n buttonText: string;\n}\n\nexport interface ArrayTextInput extends ArrayBaseInput {\n arrayType: 'text';\n}\n\nexport interface ArrayObjectInput extends ArrayBaseInput {\n arrayType: 'object';\n properties: Array<ConfigInput>;\n}\n\nexport interface OneOfInput {\n type: 'oneOf';\n name: string;\n key?: string;\n title: string;\n options: {\n value: string;\n title: string;\n properties: Array<ConfigInput>;\n }[];\n}\n\nexport interface GeneralProps {\n showIf?: string;\n}\n\nexport type ConfigInput = (\n | TextInput\n | BooleanInput\n | NumberInput\n | TextAreaInput\n | SelectSingleInput\n | SelectMultipleInput\n | ObjectInput\n | ArrayTextInput\n | ArrayObjectInput\n | OneOfInput\n) &\n GeneralProps;\n"]}
1
+ {"version":3,"file":"forms.js","sourceRoot":"../../../../src","sources":["common/types/forms.ts"],"names":[],"mappings":"","sourcesContent":["import {PageContentWithNavigation} from '../../models';\n\nexport type DynamicFormValue =\n | string\n | number\n | []\n | object\n | boolean\n | PageContentWithNavigation\n | undefined;\n\nexport interface BlockConfig {\n name: string;\n inputs: Array<ConfigInput>;\n group?: string;\n default?: object;\n previewImg?: string;\n}\n\nexport interface TextInput {\n type: 'text';\n name: string;\n title: string;\n}\n\nexport interface BooleanInput {\n type: 'boolean';\n name: string;\n title: string;\n}\n\nexport interface NumberInput {\n type: 'number';\n name: string;\n title: string;\n}\n\nexport interface TextAreaInput {\n type: 'textarea';\n name: string;\n title: string;\n}\n\nexport interface SelectBaseInput {\n type: 'select';\n name: string;\n title: string;\n view: 'select' | 'radiobutton';\n mode: 'single' | 'multiple';\n enum: Array<{content: string; value: string}>;\n}\n\nexport interface SelectSingleInput extends SelectBaseInput {\n type: 'select';\n name: string;\n title: string;\n view: 'select' | 'radiobutton';\n mode: 'single';\n enum: Array<{content: string; value: string}>;\n}\n\nexport interface SelectMultipleInput extends SelectBaseInput {\n type: 'select';\n name: string;\n title: string;\n view: 'select';\n mode: 'multiple';\n enum: Array<{content: string; value: string}>;\n}\n\nexport interface ObjectInput {\n type: 'object';\n name: string;\n title: string;\n properties: Array<ConfigInput>;\n}\n\nexport interface ArrayBaseInput {\n type: 'array';\n arrayType: 'object' | 'text';\n name: string;\n title: string;\n buttonText: string;\n}\n\nexport interface ArrayTextInput extends ArrayBaseInput {\n arrayType: 'text';\n}\n\nexport interface ArrayObjectInput extends ArrayBaseInput {\n arrayType: 'object';\n properties: Array<ConfigInput>;\n}\n\nexport interface OneOfInput {\n type: 'oneOf';\n name: string;\n key?: string;\n title: string;\n options: {\n value: string;\n title: string;\n properties: Array<ConfigInput>;\n }[];\n}\n\nexport interface AnyOfInput {\n type: 'anyOf';\n name: string;\n key?: string;\n title: string;\n options: {\n value: string;\n title: string;\n properties: Array<ConfigInput>;\n }[];\n}\n\nexport interface GeneralProps {\n showIf?: string;\n}\n\nexport type ConfigInput = (\n | TextInput\n | BooleanInput\n | NumberInput\n | TextAreaInput\n | SelectSingleInput\n | SelectMultipleInput\n | ObjectInput\n | ArrayTextInput\n | ArrayObjectInput\n | OneOfInput\n | AnyOfInput\n) &\n GeneralProps;\n"]}
@@ -53,7 +53,7 @@ unpredictable css rules order in build */
53
53
  .pc-fullscreen-image__icon-wrapper:focus:not(:focus-visible) {
54
54
  outline: 0;
55
55
  }
56
- .pc-fullscreen-image__icon-wrapper:focus {
56
+ .pc-fullscreen-image__icon-wrapper_visible {
57
57
  opacity: 1;
58
58
  }
59
59
  .pc-fullscreen-image__icon {
@@ -19,6 +19,9 @@ const utils_2 = require("./utils.js");
19
19
  const youtube_1 = require("./utils/youtube.js");
20
20
  const b = (0, utils_1.block)('ReactPlayer');
21
21
  const FPS = 60;
22
+ const ReactPlayer = 'default' in react_player_1.default && react_player_1.default.default
23
+ ? react_player_1.default.default
24
+ : react_player_1.default;
22
25
  // eslint-disable-next-line react/display-name
23
26
  exports.ReactPlayerBlock = React.forwardRef((props, originRef) => {
24
27
  const isMobile = React.useContext(mobileContext_1.MobileContext);
@@ -242,7 +245,7 @@ exports.ReactPlayerBlock = React.forwardRef((props, originRef) => {
242
245
  controls,
243
246
  contain,
244
247
  'auto-ratio': autoRatio,
245
- }, className), ref: ref, onClick: handleClick, onMouseEnter: onFocusIn, onMouseLeave: onFocusOut, onFocus: onFocusIn, onBlur: onFocusOut, onKeyDown: handleKeyDown, role: "button", tabIndex: 0, children: isMounted ? ((0, jsx_runtime_1.jsxs)(React.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_player_1.default, { className: b('player'), url: videoSrc, muted: muted, controls: controls === models_1.MediaVideoControlsType.Default, height: currentHeight || '100%', width: width || '100%', light: previewImgUrl, playing: isPlaying, playIcon: playIcon, progressInterval: FPS, onClickPreview: handleClickPreview, onStart: onStart, onReady: onReady, onPlay: onPlay, onPause: autoPlay && customControlsType !== models_1.CustomControlsType.WithMuteButton
248
+ }, className), ref: ref, onClick: handleClick, onMouseEnter: onFocusIn, onMouseLeave: onFocusOut, onFocus: onFocusIn, onBlur: onFocusOut, onKeyDown: handleKeyDown, role: "button", tabIndex: 0, children: isMounted ? ((0, jsx_runtime_1.jsxs)(React.Fragment, { children: [(0, jsx_runtime_1.jsx)(ReactPlayer, { className: b('player'), url: videoSrc, muted: muted, controls: controls === models_1.MediaVideoControlsType.Default, height: currentHeight || '100%', width: width || '100%', light: previewImgUrl, playing: isPlaying, playIcon: playIcon, progressInterval: FPS, onClickPreview: handleClickPreview, onStart: onStart, onReady: onReady, onPlay: onPlay, onPause: autoPlay && customControlsType !== models_1.CustomControlsType.WithMuteButton
246
249
  ? undefined
247
250
  : onPause, onProgress: onProgress, onEnded: onEnded, "aria-label": ariaLabel, previewTabIndex: -1, config: {
248
251
  file: {
@@ -1 +1 @@
1
- {"version":3,"file":"ReactPlayer.js","sourceRoot":"../../../../src","sources":["components/ReactPlayer/ReactPlayer.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {PlayFill} from '@gravity-ui/icons';\nimport {Icon} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\nimport ReactPlayer from 'react-player';\n\nimport {MobileContext} from '../../context/mobileContext';\nimport {VideoContext} from '../../context/videoContext';\nimport {useAnalytics, useMount} from '../../hooks';\nimport {\n AnalyticsEvent,\n ClassNameProps,\n CustomControlsButtonPositioning,\n CustomControlsType,\n DefaultEventNames,\n MediaVideoControlsType,\n MediaVideoProps,\n PlayButtonProps,\n PlayButtonThemes,\n PlayButtonType,\n PredefinedEventTypes,\n ReactPlayerBlockHandler,\n} from '../../models';\nimport {block} from '../../utils';\n\nimport CustomBarControls from './CustomBarControls';\nimport {i18n} from './i18n';\nimport {checkYoutubeVideos} from './utils';\nimport {isYoutubePlayerInstance} from './utils/youtube';\n\nimport './ReactPlayer.scss';\n\nconst b = block('ReactPlayer');\n\nconst FPS = 60;\n\nexport interface ReactPlayerBlockProps\n extends Omit<MediaVideoProps, 'loop' | 'src'>,\n ClassNameProps {\n src: string | string[];\n previewImgUrl?: string;\n loop?: boolean;\n customBarControlsClassName?: string;\n showPreview?: boolean;\n onClickPreview?: () => void;\n height?: number;\n ratio?: number;\n autoRatio?: boolean;\n children?: React.ReactNode;\n}\n\ninterface PlayerPropgress {\n played: number;\n}\n\n// eslint-disable-next-line react/display-name\nexport const ReactPlayerBlock = React.forwardRef<ReactPlayerBlockHandler, ReactPlayerBlockProps>(\n (props, originRef) => {\n const isMobile = React.useContext(MobileContext);\n const {\n src,\n previewImgUrl,\n loop = false,\n controls = MediaVideoControlsType.Default,\n customControlsOptions = {},\n muted: initiallyMuted = false,\n elapsedTime,\n playButton,\n className,\n customBarControlsClassName,\n showPreview,\n onClickPreview,\n analyticsEvents,\n height,\n ariaLabel,\n ratio,\n autoRatio,\n contain = true,\n } = props;\n\n const {\n type = PlayButtonType.Default,\n theme = PlayButtonThemes.Blue,\n text,\n className: buttonClassName,\n } = playButton || ({} as PlayButtonProps);\n const {\n type: customControlsType = CustomControlsType.WithMuteButton,\n muteButtonShown,\n positioning = CustomControlsButtonPositioning.Center,\n } = customControlsOptions;\n\n const autoPlay = Boolean(!isMobile && !previewImgUrl && props.autoplay);\n const mute = initiallyMuted || autoPlay;\n\n const {playingVideoRef, setProps} = React.useContext(VideoContext);\n\n const ref = React.useRef<HTMLDivElement>(null);\n const buttonRef = React.useRef<HTMLButtonElement>(null);\n\n const [playerRef, setPlayerRef] = React.useState<ReactPlayer>();\n const [isPlaying, setIsPlaying] = React.useState(autoPlay);\n const [playedPercent, setPlayedPercent] = React.useState<number>(0);\n const [currentHeight, setCurrentHeight] = React.useState(height);\n const [width, setWidth] = React.useState<number>(0);\n const [actualRatio, setActualRatio] = React.useState<number>();\n const [muted, setMuted] = React.useState<boolean>(mute);\n const [started, setStarted] = React.useState(autoPlay);\n const [ended, setEnded] = React.useState<boolean>(false);\n const [isMounted, setIsMounted] = React.useState(false);\n const [hovered, setHovered] = React.useState(isMobile);\n\n useMount(() => setIsMounted(true));\n\n const videoSrc = React.useMemo(() => checkYoutubeVideos(src), [src]);\n\n const eventsArray = React.useMemo(() => {\n if (analyticsEvents) {\n return Array.isArray(analyticsEvents) ? analyticsEvents : [analyticsEvents];\n }\n\n return [];\n }, [analyticsEvents]);\n const handleAnalytics = useAnalytics(DefaultEventNames.ReactPlayerControls);\n\n React.useImperativeHandle(originRef, () => {\n if (!playerRef) {\n return;\n }\n\n let play, pause, addEventListener;\n const videoInstance = playerRef.getInternalPlayer();\n if (isYoutubePlayerInstance(videoInstance)) {\n ({pauseVideo: pause, playVideo: play, addEventListener} = videoInstance);\n } else {\n // it is assumed that `videoInstance` is HTMLVideoElement by default\n ({play, pause, addEventListener} = videoInstance);\n }\n\n // eslint-disable-next-line consistent-return\n return {\n play: play.bind(videoInstance),\n pause: pause.bind(videoInstance),\n addEventListener: addEventListener.bind(videoInstance),\n };\n }, [playerRef]);\n\n React.useEffect(() => {\n if (ref.current && !playingVideoRef?.contains(ref.current)) {\n setMuted(true);\n }\n }, [playingVideoRef]);\n\n React.useEffect(() => {\n if (showPreview) {\n playerRef?.showPreview();\n }\n }, [showPreview, playerRef]);\n\n React.useEffect(() => {\n if (playerRef && !started) {\n setIsPlaying(autoPlay);\n }\n }, [autoPlay, playerRef, started]);\n\n React.useEffect(() => setMuted(mute), [mute]);\n\n React.useEffect(() => {\n if (!started && isPlaying) {\n setStarted(true);\n }\n }, [isPlaying, started]);\n\n React.useEffect(() => {\n if (started && !Number.isNaN(Number(elapsedTime))) {\n playerRef?.seekTo(elapsedTime ?? 0, 'seconds');\n }\n }, [elapsedTime, playerRef, started]);\n\n React.useEffect(() => {\n const updateSize = debounce(() => {\n if (ref.current) {\n // We need to get parent's width does not equal 0\n const parentElement = getParentElement(ref.current);\n const {paddingLeft, paddingRight} = getComputedStyle(parentElement);\n const newWidth =\n parentElement.offsetWidth -\n parseFloat(paddingLeft) -\n parseFloat(paddingRight);\n\n setWidth(newWidth);\n setCurrentHeight(\n Math.floor(\n getHeight(newWidth, ratio ?? (autoRatio ? actualRatio : undefined)),\n ),\n );\n }\n }, 200);\n\n updateSize();\n window.addEventListener('resize', updateSize, {passive: true});\n return () => {\n window.removeEventListener('resize', updateSize);\n };\n }, [actualRatio, autoRatio, ratio]);\n\n const playEvents = React.useMemo(\n () => eventsArray?.filter((e: AnalyticsEvent) => e.type === PredefinedEventTypes.Play),\n [eventsArray],\n );\n const stopEvents = React.useMemo(\n () => eventsArray?.filter((e: AnalyticsEvent) => e.type === PredefinedEventTypes.Stop),\n [eventsArray],\n );\n\n const playIcon = React.useMemo(() => {\n let playButtonContent;\n\n switch (type) {\n case PlayButtonType.Text:\n playButtonContent = text;\n break;\n case PlayButtonType.Default:\n default:\n playButtonContent = <Icon className={b('icon')} data={PlayFill} size={24} />;\n break;\n }\n\n return (\n <button\n className={b('button', {theme, text: Boolean(text)}, buttonClassName)}\n aria-label={i18n('play')}\n ref={buttonRef}\n >\n {playButtonContent}\n </button>\n );\n }, [type, theme, text, buttonClassName]);\n\n const changeMute = React.useCallback(\n (isMuted: boolean) => {\n if (\n isMuted &&\n playerRef &&\n controls === MediaVideoControlsType.Custom &&\n customControlsType === CustomControlsType.WithMuteButton\n ) {\n playerRef.seekTo(0);\n setPlayedPercent(0);\n }\n\n const events = isMuted ? playEvents : stopEvents;\n handleAnalytics(events);\n\n if (isMuted) {\n setProps({playingVideoRef: ref.current});\n }\n\n // In order to the progress bar to update (equals 0) before displaying\n setTimeout(() => setMuted(!isMuted), 0);\n },\n [\n playerRef,\n customControlsType,\n playEvents,\n stopEvents,\n handleAnalytics,\n setProps,\n controls,\n ],\n );\n\n const handleClickPreview = React.useCallback(() => {\n setIsPlaying(true);\n onClickPreview?.();\n\n handleAnalytics(playEvents);\n }, [onClickPreview, handleAnalytics, playEvents]);\n\n const onPause = React.useCallback(() => {\n // For support correct state for youtube\n if (\n controls !== MediaVideoControlsType.Custom ||\n customControlsType !== CustomControlsType.WithMuteButton\n ) {\n setIsPlaying(false);\n }\n }, [controls, customControlsType]);\n\n const onStart = React.useCallback(() => {\n if (!autoPlay && !initiallyMuted) {\n setMuted(false);\n }\n }, [autoPlay, initiallyMuted]);\n\n const onPlay = React.useCallback(() => {\n setIsPlaying(true);\n\n if (\n controls === MediaVideoControlsType.Custom &&\n customControlsType === CustomControlsType.WithMuteButton\n ) {\n if (ended) {\n changeMute(false);\n } else if (!isPlaying) {\n changeMute(muted);\n }\n setEnded(false);\n }\n }, [changeMute, controls, customControlsType, ended, isPlaying, muted]);\n\n const onReady = React.useCallback((player: ReactPlayer) => {\n setPlayerRef(player);\n const videoElement = player.getInternalPlayer();\n const videoWidth = videoElement.videoWidth as number | undefined;\n const videoHeight = videoElement.videoHeight as number | undefined;\n if (videoWidth && videoHeight) {\n setActualRatio(videoHeight / videoWidth);\n }\n }, []);\n\n const onProgress = React.useCallback((progress: PlayerPropgress) => {\n setPlayedPercent(progress.played);\n\n if (progress.played === 1) {\n setMuted(true);\n }\n }, []);\n\n const onEnded = React.useCallback(() => {\n // Youtube videos not muted after finishing playing and start again.\n // 'onEnded' does not fire when 'loop' is set to true.\n // It is custom loop with muted sound after finishing playing and start again.\n if (loop) {\n setPlayedPercent(0);\n setIsPlaying(true);\n playerRef?.seekTo(0);\n }\n\n setEnded(true);\n }, [loop, playerRef]);\n\n const onPlayClick = React.useCallback(() => {\n if (isPlaying) {\n onPause();\n } else {\n onPlay();\n }\n }, [isPlaying, onPlay, onPause]);\n\n const handleClick = React.useCallback(() => {\n buttonRef.current?.click();\n\n if (controls === MediaVideoControlsType.Custom) {\n if (customControlsType === CustomControlsType.WithMuteButton) {\n changeMute(muted);\n } else {\n onPlayClick();\n }\n }\n }, [controls, customControlsType, changeMute, muted, onPlayClick]);\n\n const handleKeyDown = React.useCallback((e: React.KeyboardEvent) => {\n const key = e.key.toLowerCase();\n\n if (key === 'enter') {\n buttonRef.current?.click();\n }\n }, []);\n\n const onFocusIn = React.useCallback(() => setHovered(true), []);\n const onFocusOut = React.useCallback(() => setHovered(false), []);\n\n return (\n <div\n className={b(\n {\n wrapper: !currentHeight,\n controls,\n contain,\n 'auto-ratio': autoRatio,\n },\n className,\n )}\n ref={ref}\n onClick={handleClick}\n onMouseEnter={onFocusIn}\n onMouseLeave={onFocusOut}\n onFocus={onFocusIn}\n onBlur={onFocusOut}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={0}\n >\n {isMounted ? (\n <React.Fragment>\n <ReactPlayer\n className={b('player')}\n url={videoSrc}\n muted={muted}\n controls={controls === MediaVideoControlsType.Default}\n height={currentHeight || '100%'}\n width={width || '100%'}\n light={previewImgUrl}\n playing={isPlaying}\n playIcon={playIcon}\n progressInterval={FPS}\n onClickPreview={handleClickPreview}\n onStart={onStart}\n onReady={onReady}\n onPlay={onPlay}\n onPause={\n autoPlay && customControlsType !== CustomControlsType.WithMuteButton\n ? undefined\n : onPause\n } // to prevent pause icon flickering when autoplayed video ends\n onProgress={onProgress}\n onEnded={onEnded}\n aria-label={ariaLabel}\n previewTabIndex={-1}\n config={{\n file: {\n attributes: {\n pip: isMobile ? 'false' : undefined,\n playsinline: isMobile ? '' : undefined,\n disablepictureinpicture: isMobile ? '' : undefined,\n },\n },\n }}\n />\n {controls === MediaVideoControlsType.Custom && (\n <CustomBarControls\n className={customBarControlsClassName}\n mute={{\n isMuted: muted,\n changeMute: (event: React.MouseEvent) => {\n event.stopPropagation();\n changeMute(muted);\n },\n }}\n elapsedTimePercent={playedPercent}\n type={customControlsType}\n isPaused={!isPlaying}\n onPlayClick={onPlayClick}\n muteButtonShown={muteButtonShown}\n shown={hovered && ((!started && !previewImgUrl) || started)}\n positioning={positioning}\n />\n )}\n </React.Fragment>\n ) : null}\n </div>\n );\n },\n);\n\nfunction getHeight(width: number, ratio: number = 9 / 16): number {\n return width * ratio;\n}\n\nfunction getParentElement(element: HTMLElement): HTMLElement {\n const parentElement = element.parentElement;\n\n if (!parentElement) {\n return element;\n }\n\n return parentElement.offsetWidth ? parentElement : getParentElement(parentElement);\n}\n\nexport default ReactPlayerBlock;\n"]}
1
+ {"version":3,"file":"ReactPlayer.js","sourceRoot":"../../../../src","sources":["components/ReactPlayer/ReactPlayer.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {PlayFill} from '@gravity-ui/icons';\nimport {Icon} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\nimport _ReactPlayer from 'react-player';\n\nimport {MobileContext} from '../../context/mobileContext';\nimport {VideoContext} from '../../context/videoContext';\nimport {useAnalytics, useMount} from '../../hooks';\nimport {\n AnalyticsEvent,\n ClassNameProps,\n CustomControlsButtonPositioning,\n CustomControlsType,\n DefaultEventNames,\n MediaVideoControlsType,\n MediaVideoProps,\n PlayButtonProps,\n PlayButtonThemes,\n PlayButtonType,\n PredefinedEventTypes,\n ReactPlayerBlockHandler,\n} from '../../models';\nimport {block} from '../../utils';\n\nimport CustomBarControls from './CustomBarControls';\nimport {i18n} from './i18n';\nimport {checkYoutubeVideos} from './utils';\nimport {isYoutubePlayerInstance} from './utils/youtube';\n\nimport './ReactPlayer.scss';\n\nconst b = block('ReactPlayer');\n\nconst FPS = 60;\n\nconst ReactPlayer =\n 'default' in _ReactPlayer && _ReactPlayer.default\n ? (_ReactPlayer.default as typeof _ReactPlayer)\n : _ReactPlayer;\n\nexport interface ReactPlayerBlockProps\n extends Omit<MediaVideoProps, 'loop' | 'src'>,\n ClassNameProps {\n src: string | string[];\n previewImgUrl?: string;\n loop?: boolean;\n customBarControlsClassName?: string;\n showPreview?: boolean;\n onClickPreview?: () => void;\n height?: number;\n ratio?: number;\n autoRatio?: boolean;\n children?: React.ReactNode;\n}\n\ninterface PlayerPropgress {\n played: number;\n}\n\n// eslint-disable-next-line react/display-name\nexport const ReactPlayerBlock = React.forwardRef<ReactPlayerBlockHandler, ReactPlayerBlockProps>(\n (props, originRef) => {\n const isMobile = React.useContext(MobileContext);\n const {\n src,\n previewImgUrl,\n loop = false,\n controls = MediaVideoControlsType.Default,\n customControlsOptions = {},\n muted: initiallyMuted = false,\n elapsedTime,\n playButton,\n className,\n customBarControlsClassName,\n showPreview,\n onClickPreview,\n analyticsEvents,\n height,\n ariaLabel,\n ratio,\n autoRatio,\n contain = true,\n } = props;\n\n const {\n type = PlayButtonType.Default,\n theme = PlayButtonThemes.Blue,\n text,\n className: buttonClassName,\n } = playButton || ({} as PlayButtonProps);\n const {\n type: customControlsType = CustomControlsType.WithMuteButton,\n muteButtonShown,\n positioning = CustomControlsButtonPositioning.Center,\n } = customControlsOptions;\n\n const autoPlay = Boolean(!isMobile && !previewImgUrl && props.autoplay);\n const mute = initiallyMuted || autoPlay;\n\n const {playingVideoRef, setProps} = React.useContext(VideoContext);\n\n const ref = React.useRef<HTMLDivElement>(null);\n const buttonRef = React.useRef<HTMLButtonElement>(null);\n\n const [playerRef, setPlayerRef] = React.useState<_ReactPlayer>();\n const [isPlaying, setIsPlaying] = React.useState(autoPlay);\n const [playedPercent, setPlayedPercent] = React.useState<number>(0);\n const [currentHeight, setCurrentHeight] = React.useState(height);\n const [width, setWidth] = React.useState<number>(0);\n const [actualRatio, setActualRatio] = React.useState<number>();\n const [muted, setMuted] = React.useState<boolean>(mute);\n const [started, setStarted] = React.useState(autoPlay);\n const [ended, setEnded] = React.useState<boolean>(false);\n const [isMounted, setIsMounted] = React.useState(false);\n const [hovered, setHovered] = React.useState(isMobile);\n\n useMount(() => setIsMounted(true));\n\n const videoSrc = React.useMemo(() => checkYoutubeVideos(src), [src]);\n\n const eventsArray = React.useMemo(() => {\n if (analyticsEvents) {\n return Array.isArray(analyticsEvents) ? analyticsEvents : [analyticsEvents];\n }\n\n return [];\n }, [analyticsEvents]);\n const handleAnalytics = useAnalytics(DefaultEventNames.ReactPlayerControls);\n\n React.useImperativeHandle(originRef, () => {\n if (!playerRef) {\n return;\n }\n\n let play, pause, addEventListener;\n const videoInstance = playerRef.getInternalPlayer();\n if (isYoutubePlayerInstance(videoInstance)) {\n ({pauseVideo: pause, playVideo: play, addEventListener} = videoInstance);\n } else {\n // it is assumed that `videoInstance` is HTMLVideoElement by default\n ({play, pause, addEventListener} = videoInstance);\n }\n\n // eslint-disable-next-line consistent-return\n return {\n play: play.bind(videoInstance),\n pause: pause.bind(videoInstance),\n addEventListener: addEventListener.bind(videoInstance),\n };\n }, [playerRef]);\n\n React.useEffect(() => {\n if (ref.current && !playingVideoRef?.contains(ref.current)) {\n setMuted(true);\n }\n }, [playingVideoRef]);\n\n React.useEffect(() => {\n if (showPreview) {\n playerRef?.showPreview();\n }\n }, [showPreview, playerRef]);\n\n React.useEffect(() => {\n if (playerRef && !started) {\n setIsPlaying(autoPlay);\n }\n }, [autoPlay, playerRef, started]);\n\n React.useEffect(() => setMuted(mute), [mute]);\n\n React.useEffect(() => {\n if (!started && isPlaying) {\n setStarted(true);\n }\n }, [isPlaying, started]);\n\n React.useEffect(() => {\n if (started && !Number.isNaN(Number(elapsedTime))) {\n playerRef?.seekTo(elapsedTime ?? 0, 'seconds');\n }\n }, [elapsedTime, playerRef, started]);\n\n React.useEffect(() => {\n const updateSize = debounce(() => {\n if (ref.current) {\n // We need to get parent's width does not equal 0\n const parentElement = getParentElement(ref.current);\n const {paddingLeft, paddingRight} = getComputedStyle(parentElement);\n const newWidth =\n parentElement.offsetWidth -\n parseFloat(paddingLeft) -\n parseFloat(paddingRight);\n\n setWidth(newWidth);\n setCurrentHeight(\n Math.floor(\n getHeight(newWidth, ratio ?? (autoRatio ? actualRatio : undefined)),\n ),\n );\n }\n }, 200);\n\n updateSize();\n window.addEventListener('resize', updateSize, {passive: true});\n return () => {\n window.removeEventListener('resize', updateSize);\n };\n }, [actualRatio, autoRatio, ratio]);\n\n const playEvents = React.useMemo(\n () => eventsArray?.filter((e: AnalyticsEvent) => e.type === PredefinedEventTypes.Play),\n [eventsArray],\n );\n const stopEvents = React.useMemo(\n () => eventsArray?.filter((e: AnalyticsEvent) => e.type === PredefinedEventTypes.Stop),\n [eventsArray],\n );\n\n const playIcon = React.useMemo(() => {\n let playButtonContent;\n\n switch (type) {\n case PlayButtonType.Text:\n playButtonContent = text;\n break;\n case PlayButtonType.Default:\n default:\n playButtonContent = <Icon className={b('icon')} data={PlayFill} size={24} />;\n break;\n }\n\n return (\n <button\n className={b('button', {theme, text: Boolean(text)}, buttonClassName)}\n aria-label={i18n('play')}\n ref={buttonRef}\n >\n {playButtonContent}\n </button>\n );\n }, [type, theme, text, buttonClassName]);\n\n const changeMute = React.useCallback(\n (isMuted: boolean) => {\n if (\n isMuted &&\n playerRef &&\n controls === MediaVideoControlsType.Custom &&\n customControlsType === CustomControlsType.WithMuteButton\n ) {\n playerRef.seekTo(0);\n setPlayedPercent(0);\n }\n\n const events = isMuted ? playEvents : stopEvents;\n handleAnalytics(events);\n\n if (isMuted) {\n setProps({playingVideoRef: ref.current});\n }\n\n // In order to the progress bar to update (equals 0) before displaying\n setTimeout(() => setMuted(!isMuted), 0);\n },\n [\n playerRef,\n customControlsType,\n playEvents,\n stopEvents,\n handleAnalytics,\n setProps,\n controls,\n ],\n );\n\n const handleClickPreview = React.useCallback(() => {\n setIsPlaying(true);\n onClickPreview?.();\n\n handleAnalytics(playEvents);\n }, [onClickPreview, handleAnalytics, playEvents]);\n\n const onPause = React.useCallback(() => {\n // For support correct state for youtube\n if (\n controls !== MediaVideoControlsType.Custom ||\n customControlsType !== CustomControlsType.WithMuteButton\n ) {\n setIsPlaying(false);\n }\n }, [controls, customControlsType]);\n\n const onStart = React.useCallback(() => {\n if (!autoPlay && !initiallyMuted) {\n setMuted(false);\n }\n }, [autoPlay, initiallyMuted]);\n\n const onPlay = React.useCallback(() => {\n setIsPlaying(true);\n\n if (\n controls === MediaVideoControlsType.Custom &&\n customControlsType === CustomControlsType.WithMuteButton\n ) {\n if (ended) {\n changeMute(false);\n } else if (!isPlaying) {\n changeMute(muted);\n }\n setEnded(false);\n }\n }, [changeMute, controls, customControlsType, ended, isPlaying, muted]);\n\n const onReady = React.useCallback((player: _ReactPlayer) => {\n setPlayerRef(player);\n const videoElement = player.getInternalPlayer();\n const videoWidth = videoElement.videoWidth as number | undefined;\n const videoHeight = videoElement.videoHeight as number | undefined;\n if (videoWidth && videoHeight) {\n setActualRatio(videoHeight / videoWidth);\n }\n }, []);\n\n const onProgress = React.useCallback((progress: PlayerPropgress) => {\n setPlayedPercent(progress.played);\n\n if (progress.played === 1) {\n setMuted(true);\n }\n }, []);\n\n const onEnded = React.useCallback(() => {\n // Youtube videos not muted after finishing playing and start again.\n // 'onEnded' does not fire when 'loop' is set to true.\n // It is custom loop with muted sound after finishing playing and start again.\n if (loop) {\n setPlayedPercent(0);\n setIsPlaying(true);\n playerRef?.seekTo(0);\n }\n\n setEnded(true);\n }, [loop, playerRef]);\n\n const onPlayClick = React.useCallback(() => {\n if (isPlaying) {\n onPause();\n } else {\n onPlay();\n }\n }, [isPlaying, onPlay, onPause]);\n\n const handleClick = React.useCallback(() => {\n buttonRef.current?.click();\n\n if (controls === MediaVideoControlsType.Custom) {\n if (customControlsType === CustomControlsType.WithMuteButton) {\n changeMute(muted);\n } else {\n onPlayClick();\n }\n }\n }, [controls, customControlsType, changeMute, muted, onPlayClick]);\n\n const handleKeyDown = React.useCallback((e: React.KeyboardEvent) => {\n const key = e.key.toLowerCase();\n\n if (key === 'enter') {\n buttonRef.current?.click();\n }\n }, []);\n\n const onFocusIn = React.useCallback(() => setHovered(true), []);\n const onFocusOut = React.useCallback(() => setHovered(false), []);\n\n return (\n <div\n className={b(\n {\n wrapper: !currentHeight,\n controls,\n contain,\n 'auto-ratio': autoRatio,\n },\n className,\n )}\n ref={ref}\n onClick={handleClick}\n onMouseEnter={onFocusIn}\n onMouseLeave={onFocusOut}\n onFocus={onFocusIn}\n onBlur={onFocusOut}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={0}\n >\n {isMounted ? (\n <React.Fragment>\n <ReactPlayer\n className={b('player')}\n url={videoSrc}\n muted={muted}\n controls={controls === MediaVideoControlsType.Default}\n height={currentHeight || '100%'}\n width={width || '100%'}\n light={previewImgUrl}\n playing={isPlaying}\n playIcon={playIcon}\n progressInterval={FPS}\n onClickPreview={handleClickPreview}\n onStart={onStart}\n onReady={onReady}\n onPlay={onPlay}\n onPause={\n autoPlay && customControlsType !== CustomControlsType.WithMuteButton\n ? undefined\n : onPause\n } // to prevent pause icon flickering when autoplayed video ends\n onProgress={onProgress}\n onEnded={onEnded}\n aria-label={ariaLabel}\n previewTabIndex={-1}\n config={{\n file: {\n attributes: {\n pip: isMobile ? 'false' : undefined,\n playsinline: isMobile ? '' : undefined,\n disablepictureinpicture: isMobile ? '' : undefined,\n },\n },\n }}\n />\n {controls === MediaVideoControlsType.Custom && (\n <CustomBarControls\n className={customBarControlsClassName}\n mute={{\n isMuted: muted,\n changeMute: (event: React.MouseEvent) => {\n event.stopPropagation();\n changeMute(muted);\n },\n }}\n elapsedTimePercent={playedPercent}\n type={customControlsType}\n isPaused={!isPlaying}\n onPlayClick={onPlayClick}\n muteButtonShown={muteButtonShown}\n shown={hovered && ((!started && !previewImgUrl) || started)}\n positioning={positioning}\n />\n )}\n </React.Fragment>\n ) : null}\n </div>\n );\n },\n);\n\nfunction getHeight(width: number, ratio: number = 9 / 16): number {\n return width * ratio;\n}\n\nfunction getParentElement(element: HTMLElement): HTMLElement {\n const parentElement = element.parentElement;\n\n if (!parentElement) {\n return element;\n }\n\n return parentElement.offsetWidth ? parentElement : getParentElement(parentElement);\n}\n\nexport default ReactPlayerBlock;\n"]}
@@ -9,6 +9,7 @@ export declare const blockMap: {
9
9
  "extended-features-block": ({ title, description, items, colSizes, animated, }: import("./models/index.js").ExtendedFeaturesProps) => import("react/jsx-runtime").JSX.Element;
10
10
  "promo-features-block": (props: import("./models/index.js").PromoFeaturesProps) => import("react/jsx-runtime").JSX.Element;
11
11
  "questions-block": (props: import("./models/index.js").QuestionsProps) => import("react/jsx-runtime").JSX.Element;
12
+ "foldable-list-block": (props: import("./models/index.js").FoldableListProps) => import("react/jsx-runtime").JSX.Element;
12
13
  "banner-block": (props: import("./models/index.js").BannerBlockProps) => import("react/jsx-runtime").JSX.Element;
13
14
  "companies-block": ({ title, description, images, animated }: import("./models/index.js").CompaniesBlockProps) => import("react/jsx-runtime").JSX.Element;
14
15
  "media-block": (props: import("./models/index.js").MediaBlockProps) => import("react/jsx-runtime").JSX.Element;
@@ -8,7 +8,7 @@ const CardLayout_1 = tslib_1.__importDefault(require("./blocks/CardLayout/index.
8
8
  const Companies_1 = tslib_1.__importDefault(require("./blocks/Companies/index.js"));
9
9
  const ContentLayout_1 = tslib_1.__importDefault(require("./blocks/ContentLayout/index.js"));
10
10
  const ExtendedFeatures_1 = tslib_1.__importDefault(require("./blocks/ExtendedFeatures/index.js"));
11
- const FilterBlock_1 = tslib_1.__importDefault(require("./blocks/FilterBlock/index.js"));
11
+ // import FilterBlockConfig from './blocks/FilterBlock';
12
12
  const Form_1 = tslib_1.__importDefault(require("./blocks/Form/index.js"));
13
13
  const Header_1 = tslib_1.__importDefault(require("./blocks/Header/index.js"));
14
14
  const HeaderSlider_1 = tslib_1.__importDefault(require("./blocks/HeaderSlider/index.js"));
@@ -38,7 +38,6 @@ const ImageCard_1 = tslib_1.__importDefault(require("./sub-blocks/ImageCard/inde
38
38
  const LayoutItem_1 = tslib_1.__importDefault(require("./sub-blocks/LayoutItem/index.js"));
39
39
  const MediaCard_1 = tslib_1.__importDefault(require("./sub-blocks/MediaCard/index.js"));
40
40
  const PriceCard_1 = tslib_1.__importDefault(require("./sub-blocks/PriceCard/index.js"));
41
- const PriceDetailed_1 = tslib_1.__importDefault(require("./sub-blocks/PriceDetailed/index.js"));
42
41
  const Quote_1 = tslib_1.__importDefault(require("./sub-blocks/Quote/index.js"));
43
42
  /**
44
43
  * TODO: remove it
@@ -49,6 +48,7 @@ exports.blockMap = {
49
48
  [models_1.BlockType.ExtendedFeaturesBlock]: blocks_1.ExtendedFeaturesBlock,
50
49
  [models_1.BlockType.PromoFeaturesBlock]: blocks_1.PromoFeaturesBlock,
51
50
  [models_1.BlockType.QuestionsBlock]: blocks_1.QuestionsBlock,
51
+ [models_1.BlockType.FoldableListBlock]: blocks_1.FoldableListBlock,
52
52
  [models_1.BlockType.BannerBlock]: blocks_1.BannerBlock,
53
53
  [models_1.BlockType.CompaniesBlock]: blocks_1.CompaniesBlock,
54
54
  [models_1.BlockType.MediaBlock]: blocks_1.MediaBlock,
@@ -109,12 +109,12 @@ exports.blockDataMap = {
109
109
  [models_1.BlockType.ContentLayoutBlock]: ContentLayout_1.default,
110
110
  [models_1.BlockType.ShareBlock]: Share_1.default,
111
111
  [models_1.BlockType.MapBlock]: Map_1.default,
112
- [models_1.BlockType.FilterBlock]: FilterBlock_1.default,
112
+ // TODO: fix items prop for editor compatibility
113
+ // [BlockType.FilterBlock]: FilterBlockConfig,
113
114
  [models_1.BlockType.FormBlock]: Form_1.default,
114
115
  [models_1.BlockType.TestEditorBlock]: TestEditorBlock_1.default,
115
116
  [models_1.BlockType.SliderBlock]: Slider_1.default,
116
117
  [models_1.SubBlockType.Divider]: Divider_1.default,
117
- [models_1.SubBlockType.PriceDetailed]: PriceDetailed_1.default,
118
118
  [models_1.SubBlockType.MediaCard]: MediaCard_1.default,
119
119
  [models_1.SubBlockType.BannerCard]: BannerCard_1.default,
120
120
  [models_1.SubBlockType.LayoutItem]: LayoutItem_1.default,