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

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 (374) 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/Fields/AnyOf/AnyOf.css +6 -0
  41. package/build/cjs/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.d.ts +9 -0
  42. package/build/cjs/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.js +35 -0
  43. package/build/cjs/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.js.map +1 -0
  44. package/build/cjs/editor-v2/containers/MiddleScreen/MiddleScreen.css +30 -0
  45. package/build/cjs/editor-v2/containers/MiddleScreen/MiddleScreen.js +9 -7
  46. package/build/cjs/editor-v2/containers/MiddleScreen/MiddleScreen.js.map +1 -1
  47. package/build/cjs/editor-v2/containers/SourceCode/SourceCode.d.ts +2 -1
  48. package/build/cjs/editor-v2/containers/SourceCode/SourceCode.js +26 -4
  49. package/build/cjs/editor-v2/containers/SourceCode/SourceCode.js.map +1 -1
  50. package/build/cjs/editor-v2/containers/ViewSwitches/ViewSwitches.js +2 -2
  51. package/build/cjs/editor-v2/containers/ViewSwitches/ViewSwitches.js.map +1 -1
  52. package/build/cjs/editor-v2/hooks/useEditorTabs.js +2 -2
  53. package/build/cjs/editor-v2/hooks/useEditorTabs.js.map +1 -1
  54. package/build/cjs/editor-v2/store.d.ts +1 -0
  55. package/build/cjs/editor-v2/store.js +3 -0
  56. package/build/cjs/editor-v2/store.js.map +1 -1
  57. package/build/cjs/hooks/usePCEditorBlockMouseEvents.d.ts +1 -0
  58. package/build/cjs/hooks/usePCEditorBlockMouseEvents.js +1 -0
  59. package/build/cjs/hooks/usePCEditorBlockMouseEvents.js.map +1 -1
  60. package/build/cjs/hooks/usePCEditorItemWrap.d.ts +1 -0
  61. package/build/cjs/internal-typings/global.d.ts +1 -0
  62. package/build/cjs/models/constructor-items/blocks.d.ts +19 -1
  63. package/build/cjs/models/constructor-items/blocks.js +1 -0
  64. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  65. package/build/cjs/models/constructor-items/sub-blocks.d.ts +2 -1
  66. package/build/cjs/models/constructor-items/sub-blocks.js.map +1 -1
  67. package/build/cjs/navigation/schema.d.ts +2 -0
  68. package/build/cjs/navigation/schema.js +12 -3
  69. package/build/cjs/navigation/schema.js.map +1 -1
  70. package/build/cjs/schema/constants.js +1 -0
  71. package/build/cjs/schema/constants.js.map +1 -1
  72. package/build/cjs/schema/index.d.ts +2 -0
  73. package/build/cjs/schema/validators/blocks.d.ts +1 -0
  74. package/build/cjs/schema/validators/blocks.js +1 -0
  75. package/build/cjs/schema/validators/blocks.js.map +1 -1
  76. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -1
  77. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.js +5 -1
  78. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.js.map +1 -1
  79. package/build/cjs/sub-blocks/HubspotForm/index.js +2 -2
  80. package/build/cjs/sub-blocks/HubspotForm/index.js.map +1 -1
  81. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.d.ts +2 -0
  82. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.js +51 -0
  83. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.js.map +1 -0
  84. package/build/cjs/text-transform/config.js +25 -1
  85. package/build/cjs/text-transform/config.js.map +1 -1
  86. package/build/cjs/utils/form-generator.js +27 -0
  87. package/build/cjs/utils/form-generator.js.map +1 -1
  88. package/build/cjs/utils/hubspot.d.ts +1 -0
  89. package/build/cjs/utils/hubspot.js.map +1 -1
  90. package/build/esm/blocks/FoldableList/FoldableList.css +13 -0
  91. package/build/esm/blocks/FoldableList/FoldableList.d.ts +4 -0
  92. package/build/esm/blocks/FoldableList/FoldableList.js +29 -0
  93. package/build/esm/blocks/FoldableList/FoldableList.js.map +1 -0
  94. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.css +78 -0
  95. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.d.ts +3 -0
  96. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js +16 -0
  97. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js.map +1 -0
  98. package/build/esm/blocks/FoldableList/schema.d.ts +140 -0
  99. package/build/esm/blocks/FoldableList/schema.js +35 -0
  100. package/build/esm/blocks/FoldableList/schema.js.map +1 -0
  101. package/build/esm/blocks/Header/Header.css +12 -1
  102. package/build/esm/blocks/Header/Header.js +4 -1
  103. package/build/esm/blocks/Header/Header.js.map +1 -1
  104. package/build/esm/blocks/Header/schema.d.ts +10 -0
  105. package/build/esm/blocks/Header/schema.js +5 -0
  106. package/build/esm/blocks/Header/schema.js.map +1 -1
  107. package/build/esm/blocks/HeaderSlider/schema.d.ts +5 -0
  108. package/build/esm/blocks/Slider/Slider.js +4 -1
  109. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  110. package/build/esm/blocks/index.d.ts +1 -0
  111. package/build/esm/blocks/index.js +1 -0
  112. package/build/esm/blocks/index.js.map +1 -1
  113. package/build/esm/common/store.d.ts +1 -0
  114. package/build/esm/common/store.js +1 -0
  115. package/build/esm/common/store.js.map +1 -1
  116. package/build/esm/common/types/forms.d.ts +12 -1
  117. package/build/esm/common/types/forms.js.map +1 -1
  118. package/build/esm/components/FullscreenImage/FullscreenImage.css +1 -1
  119. package/build/esm/components/ReactPlayer/ReactPlayer.js +4 -1
  120. package/build/esm/components/ReactPlayer/ReactPlayer.js.map +1 -1
  121. package/build/esm/constructor-items.d.ts +1 -0
  122. package/build/esm/constructor-items.js +5 -5
  123. package/build/esm/constructor-items.js.map +1 -1
  124. package/build/esm/containers/PageConstructor/PageConstructor.js +18 -1
  125. package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
  126. package/build/esm/editor-v2/components/DynamicForm/DynamicForm.js +8 -1
  127. package/build/esm/editor-v2/components/DynamicForm/DynamicForm.js.map +1 -1
  128. package/build/esm/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.css +6 -0
  129. package/build/esm/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.d.ts +10 -0
  130. package/build/esm/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.js +33 -0
  131. package/build/esm/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.js.map +1 -0
  132. package/build/esm/editor-v2/containers/MiddleScreen/MiddleScreen.css +30 -0
  133. package/build/esm/editor-v2/containers/MiddleScreen/MiddleScreen.js +10 -8
  134. package/build/esm/editor-v2/containers/MiddleScreen/MiddleScreen.js.map +1 -1
  135. package/build/esm/editor-v2/containers/SourceCode/SourceCode.d.ts +2 -1
  136. package/build/esm/editor-v2/containers/SourceCode/SourceCode.js +26 -4
  137. package/build/esm/editor-v2/containers/SourceCode/SourceCode.js.map +1 -1
  138. package/build/esm/editor-v2/containers/ViewSwitches/ViewSwitches.js +3 -3
  139. package/build/esm/editor-v2/containers/ViewSwitches/ViewSwitches.js.map +1 -1
  140. package/build/esm/editor-v2/hooks/useEditorTabs.js +2 -2
  141. package/build/esm/editor-v2/hooks/useEditorTabs.js.map +1 -1
  142. package/build/esm/editor-v2/store.d.ts +1 -0
  143. package/build/esm/editor-v2/store.js +3 -0
  144. package/build/esm/editor-v2/store.js.map +1 -1
  145. package/build/esm/hooks/usePCEditorBlockMouseEvents.d.ts +1 -0
  146. package/build/esm/hooks/usePCEditorBlockMouseEvents.js +1 -0
  147. package/build/esm/hooks/usePCEditorBlockMouseEvents.js.map +1 -1
  148. package/build/esm/hooks/usePCEditorItemWrap.d.ts +1 -0
  149. package/build/esm/internal-typings/global.d.ts +1 -0
  150. package/build/esm/models/constructor-items/blocks.d.ts +19 -1
  151. package/build/esm/models/constructor-items/blocks.js +1 -0
  152. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  153. package/build/esm/models/constructor-items/sub-blocks.d.ts +2 -1
  154. package/build/esm/models/constructor-items/sub-blocks.js.map +1 -1
  155. package/build/esm/navigation/schema.d.ts +2 -0
  156. package/build/esm/navigation/schema.js +12 -3
  157. package/build/esm/navigation/schema.js.map +1 -1
  158. package/build/esm/schema/constants.js +2 -1
  159. package/build/esm/schema/constants.js.map +1 -1
  160. package/build/esm/schema/index.d.ts +2 -0
  161. package/build/esm/schema/validators/blocks.d.ts +1 -0
  162. package/build/esm/schema/validators/blocks.js +1 -0
  163. package/build/esm/schema/validators/blocks.js.map +1 -1
  164. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -1
  165. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.js +5 -1
  166. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.js.map +1 -1
  167. package/build/esm/sub-blocks/HubspotForm/index.js +2 -2
  168. package/build/esm/sub-blocks/HubspotForm/index.js.map +1 -1
  169. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.d.ts +2 -0
  170. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.js +47 -0
  171. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.js.map +1 -0
  172. package/build/esm/text-transform/config.js +25 -1
  173. package/build/esm/text-transform/config.js.map +1 -1
  174. package/build/esm/utils/form-generator.js +27 -0
  175. package/build/esm/utils/form-generator.js.map +1 -1
  176. package/build/esm/utils/hubspot.d.ts +1 -0
  177. package/build/esm/utils/hubspot.js.map +1 -1
  178. package/package.json +13 -15
  179. package/schema/index.js +1 -1
  180. package/server/models/constructor-items/blocks.d.ts +19 -1
  181. package/server/models/constructor-items/blocks.js +1 -0
  182. package/server/models/constructor-items/sub-blocks.d.ts +2 -1
  183. package/server/text-transform/config.js +25 -1
  184. package/server/utils/hubspot.d.ts +1 -0
  185. package/widget/{5287.index.js → 1092.index.js} +1 -1
  186. package/widget/{8092.index.js → 1130.index.js} +1 -1
  187. package/widget/1219.index.js +1 -0
  188. package/widget/{2390.index.js → 122.index.js} +1 -1
  189. package/widget/{6817.index.js → 1289.index.js} +1 -1
  190. package/widget/{2921.index.js → 1335.index.js} +1 -1
  191. package/widget/{1876.index.js → 1340.index.js} +1 -1
  192. package/widget/{3901.index.js → 1349.index.js} +1 -1
  193. package/widget/1532.index.js +1 -0
  194. package/widget/{2957.index.js → 1750.index.js} +1 -1
  195. package/widget/{5105.index.js → 1995.index.js} +1 -1
  196. package/widget/{5418.index.js → 2010.index.js} +1 -1
  197. package/widget/{9517.index.js → 2026.index.js} +1 -1
  198. package/widget/{1794.index.js → 2187.index.js} +1 -1
  199. package/widget/{7548.index.js → 2218.index.js} +1 -1
  200. package/widget/225.index.js +1 -0
  201. package/widget/2338.index.js +1 -0
  202. package/widget/{4653.index.js → 2355.index.js} +1 -1
  203. package/widget/{5001.index.js → 2369.index.js} +1 -1
  204. package/widget/{4127.index.js → 2487.index.js} +1 -1
  205. package/widget/{6165.index.js → 2498.index.js} +1 -1
  206. package/widget/{5254.index.js → 2509.index.js} +1 -1
  207. package/widget/2544.index.js +1 -1
  208. package/widget/2619.index.js +1 -0
  209. package/widget/{5941.index.js → 2673.index.js} +1 -1
  210. package/widget/{4717.index.js → 2698.index.js} +1 -1
  211. package/widget/{7427.index.js → 2706.index.js} +1 -1
  212. package/widget/{8602.index.js → 2739.index.js} +1 -1
  213. package/widget/2745.index.js +1 -0
  214. package/widget/2796.index.js +1 -0
  215. package/widget/{7573.index.js → 2830.index.js} +1 -1
  216. package/widget/{3237.index.js → 2878.index.js} +1 -1
  217. package/widget/292.index.js +1 -0
  218. package/widget/2979.index.js +1 -0
  219. package/widget/3187.index.js +1 -0
  220. package/widget/321.index.js +1 -0
  221. package/widget/{5437.index.js → 3222.index.js} +1 -1
  222. package/widget/{1987.index.js → 3225.index.js} +1 -1
  223. package/widget/{7719.index.js → 3309.index.js} +1 -1
  224. package/widget/{4254.index.js → 3433.index.js} +1 -1
  225. package/widget/{2722.index.js → 3473.index.js} +1 -1
  226. package/widget/3532.index.js +1 -0
  227. package/widget/3562.index.js +1 -0
  228. package/widget/{6148.index.js → 3672.index.js} +1 -1
  229. package/widget/{4990.index.js → 3713.index.js} +1 -1
  230. package/widget/{8894.index.js → 3860.index.js} +1 -1
  231. package/widget/{5551.index.js → 3900.index.js} +1 -1
  232. package/widget/{6629.index.js → 4007.index.js} +1 -1
  233. package/widget/{7467.index.js → 4061.index.js} +1 -1
  234. package/widget/{5423.index.js → 4072.index.js} +1 -1
  235. package/widget/{4144.index.js → 4173.index.js} +1 -1
  236. package/widget/4288.index.js +1 -0
  237. package/widget/{8242.index.js → 4309.index.js} +1 -1
  238. package/widget/{8146.index.js → 4334.index.js} +1 -1
  239. package/widget/{9339.index.js → 4405.index.js} +1 -1
  240. package/widget/4457.index.js +1 -0
  241. package/widget/{8768.index.js → 4485.index.js} +1 -1
  242. package/widget/4509.index.js +1 -0
  243. package/widget/{4067.index.js → 4608.index.js} +1 -1
  244. package/widget/465.index.js +1 -0
  245. package/widget/{7118.index.js → 4719.index.js} +1 -1
  246. package/widget/4734.index.js +1 -0
  247. package/widget/4780.index.js +1 -0
  248. package/widget/4895.index.js +1 -0
  249. package/widget/{790.index.js → 494.index.js} +1 -1
  250. package/widget/5012.index.js +1 -0
  251. package/widget/{4722.index.js → 5084.index.js} +1 -1
  252. package/widget/5285.index.js +1 -0
  253. package/widget/5376.index.js +1 -0
  254. package/widget/539.index.js +1 -0
  255. package/widget/5414.index.js +1 -0
  256. package/widget/{8980.index.js → 5513.index.js} +1 -1
  257. package/widget/5530.index.js +1 -0
  258. package/widget/5571.index.js +1 -0
  259. package/widget/{8540.index.js → 5592.index.js} +1 -1
  260. package/widget/5616.index.js +1 -0
  261. package/widget/{5903.index.js → 5662.index.js} +1 -1
  262. package/widget/{7109.index.js → 5665.index.js} +1 -1
  263. package/widget/{8792.index.js → 5681.index.js} +1 -1
  264. package/widget/5760.index.js +1 -0
  265. package/widget/{6257.index.js → 5811.index.js} +1 -1
  266. package/widget/{5054.index.js → 5826.index.js} +1 -1
  267. package/widget/{1560.index.js → 5877.index.js} +1 -1
  268. package/widget/{9149.index.js → 5944.index.js} +1 -1
  269. package/widget/{8341.index.js → 5977.index.js} +1 -1
  270. package/widget/{3646.index.js → 5993.index.js} +1 -1
  271. package/widget/{2009.index.js → 6007.index.js} +1 -1
  272. package/widget/{3852.index.js → 6033.index.js} +1 -1
  273. package/widget/{5567.index.js → 6101.index.js} +1 -1
  274. package/widget/623.index.js +1 -0
  275. package/widget/{7989.index.js → 6290.index.js} +1 -1
  276. package/widget/6364.index.js +1 -0
  277. package/widget/{7387.index.js → 6400.index.js} +1 -1
  278. package/widget/{5473.index.js → 6462.index.js} +1 -1
  279. package/widget/6467.index.js +1 -0
  280. package/widget/{6622.index.js → 6481.index.js} +1 -1
  281. package/widget/{4888.index.js → 6605.index.js} +1 -1
  282. package/widget/{2966.index.js → 6803.index.js} +1 -1
  283. package/widget/{5627.index.js → 6847.index.js} +1 -1
  284. package/widget/{2019.index.js → 7081.index.js} +1 -1
  285. package/widget/7205.index.js +1 -0
  286. package/widget/{5596.index.js → 7250.index.js} +1 -1
  287. package/widget/{7763.index.js → 7317.index.js} +1 -1
  288. package/widget/7329.index.js +1 -0
  289. package/widget/{5159.index.js → 7406.index.js} +1 -1
  290. package/widget/{7632.index.js → 7409.index.js} +1 -1
  291. package/widget/{3783.index.js → 7420.index.js} +1 -1
  292. package/widget/{7101.index.js → 7439.index.js} +1 -1
  293. package/widget/{9197.index.js → 7674.index.js} +1 -1
  294. package/widget/{5805.index.js → 7690.index.js} +1 -1
  295. package/widget/{2641.index.js → 7741.index.js} +1 -1
  296. package/widget/{4724.index.js → 7933.index.js} +1 -1
  297. package/widget/{9132.index.js → 8003.index.js} +1 -1
  298. package/widget/813.index.js +1 -0
  299. package/widget/{6513.index.js → 8142.index.js} +1 -1
  300. package/widget/{8562.index.js → 8298.index.js} +1 -1
  301. package/widget/{7200.index.js → 8361.index.js} +1 -1
  302. package/widget/{4855.index.js → 8418.index.js} +1 -1
  303. package/widget/860.index.js +1 -0
  304. package/widget/{1796.index.js → 8615.index.js} +1 -1
  305. package/widget/{6312.index.js → 8660.index.js} +1 -1
  306. package/widget/880.index.js +1 -0
  307. package/widget/8804.index.js +1 -0
  308. package/widget/8809.index.js +1 -0
  309. package/widget/{9157.index.js → 8928.index.js} +1 -1
  310. package/widget/912.index.js +1 -0
  311. package/widget/9160.index.js +1 -0
  312. package/widget/{5914.index.js → 9252.index.js} +1 -1
  313. package/widget/{3706.index.js → 9286.index.js} +1 -1
  314. package/widget/{2502.index.js → 9294.index.js} +1 -1
  315. package/widget/{9182.index.js → 9423.index.js} +1 -1
  316. package/widget/{8477.index.js → 9464.index.js} +1 -1
  317. package/widget/950.index.js +1 -0
  318. package/widget/952.index.js +1 -0
  319. package/widget/9677.index.js +1 -0
  320. package/widget/9751.index.js +1 -0
  321. package/widget/{3220.index.js → 9836.index.js} +1 -1
  322. package/widget/{2376.index.js → 9865.index.js} +1 -1
  323. package/widget/{5109.index.js → 9881.index.js} +1 -1
  324. package/widget/9911.index.js +1 -1
  325. package/widget/{7822.index.js → 9964.index.js} +1 -1
  326. package/widget/{9091.index.js → 9990.index.js} +1 -1
  327. package/widget/9998.index.js +1 -0
  328. package/widget/index.js +1 -1
  329. package/widget/1113.index.js +0 -1
  330. package/widget/123.index.js +0 -1
  331. package/widget/1573.index.js +0 -1
  332. package/widget/2030.index.js +0 -1
  333. package/widget/229.index.js +0 -1
  334. package/widget/261.index.js +0 -1
  335. package/widget/302.index.js +0 -1
  336. package/widget/3035.index.js +0 -1
  337. package/widget/313.index.js +0 -1
  338. package/widget/3521.index.js +0 -1
  339. package/widget/3864.index.js +0 -1
  340. package/widget/3939.index.js +0 -1
  341. package/widget/4017.index.js +0 -1
  342. package/widget/4149.index.js +0 -1
  343. package/widget/4502.index.js +0 -1
  344. package/widget/466.index.js +0 -1
  345. package/widget/504.index.js +0 -1
  346. package/widget/5321.index.js +0 -1
  347. package/widget/5742.index.js +0 -1
  348. package/widget/5817.index.js +0 -1
  349. package/widget/600.index.js +0 -1
  350. package/widget/6023.index.js +0 -1
  351. package/widget/6159.index.js +0 -1
  352. package/widget/617.index.js +0 -1
  353. package/widget/6183.index.js +0 -1
  354. package/widget/6509.index.js +0 -1
  355. package/widget/6636.index.js +0 -1
  356. package/widget/6831.index.js +0 -1
  357. package/widget/6953.index.js +0 -1
  358. package/widget/7296.index.js +0 -1
  359. package/widget/7486.index.js +0 -1
  360. package/widget/7496.index.js +0 -1
  361. package/widget/7553.index.js +0 -1
  362. package/widget/758.index.js +0 -1
  363. package/widget/772.index.js +0 -1
  364. package/widget/7797.index.js +0 -1
  365. package/widget/8066.index.js +0 -1
  366. package/widget/8507.index.js +0 -1
  367. package/widget/8529.index.js +0 -1
  368. package/widget/8727.index.js +0 -1
  369. package/widget/8864.index.js +0 -1
  370. package/widget/8889.index.js +0 -1
  371. package/widget/953.index.js +0 -1
  372. package/widget/9670.index.js +0 -1
  373. package/widget/9682.index.js +0 -1
  374. package/widget/9928.index.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"HubspotFormContainer.js","sourceRoot":"../../../../src","sources":["sub-blocks/HubspotForm/HubspotFormContainer.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,gDAAqC;AAGrC,uFAAoD;AAapD,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CACzC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACX,MAAM,EACF,SAAS,EAET,MAAM,EACN,cAAc,EACd,QAAQ,EACR,MAAM,EACN,aAAa,EACb,gBAAgB,GACnB,GAAG,KAAK,CAAC;IAEV,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,EAAkB,CAAC;IAEtD,oEAAoE;IACpE,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAQ,CAAC,CAAC;IAE5D,MAAM,WAAW,GAAG,cAAc;QAC9B,CAAC,CAAC,gBAAgB,MAAM,IAAI,cAAc,EAAE;QAC5C,CAAC,CAAC,gBAAgB,MAAM,EAAE,CAAC;IAE/B,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,IAAI,YAAY,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACtE,cAAc,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACvD,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;YAC7B,cAAc,CAAC,OAAO,CAAC,EAAE,GAAG,WAAW,CAAC;YACxC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,gBAAgB,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAC9C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;oBACtB,MAAM;oBACN,QAAQ;oBACR,MAAM;oBACN,MAAM,EAAE,IAAI,WAAW,EAAE;oBACzB,QAAQ,EAAE,aAAa;oBACvB,cAAc;iBACjB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IAEF,IAAA,gBAAQ,EAAC,GAAG,EAAE;QACV,CAAC,KAAK,IAAI,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,IAAA,2BAAiB,GAAE,CAAC;YAC9B,CAAC;YAED,UAAU,EAAE,CAAC;QACjB,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,GAAG,EAAE;YACR,IAAI,gBAAgB,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC7E,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrE,CAAC;QACL,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,OAAO,gCAAK,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,GAAI,CAAC;AAC7E,CAAC,CACJ,CAAC;AAEF,oBAAoB,CAAC,WAAW,GAAG,sBAAsB,CAAC;AAE1D,kBAAe,oBAAoB,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {useMount} from '../../hooks';\nimport {HubspotFormProps} from '../../models';\n\nimport loadHubspotScript from './loadHubspotScript';\n\ntype HubspotFormContainerPropsKeys =\n | 'className'\n | 'formId'\n | 'formInstanceId'\n | 'portalId'\n | 'region'\n | 'formClassName'\n | 'createDOMElement';\n\ntype HubspotFormContainerProps = Pick<HubspotFormProps, HubspotFormContainerPropsKeys>;\n\nconst HubspotFormContainer = React.forwardRef<HTMLDivElement, HubspotFormContainerProps>(\n (props, ref) => {\n const {\n className,\n\n formId,\n formInstanceId,\n portalId,\n region,\n formClassName,\n createDOMElement,\n } = props;\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const hsContainerRef = React.useRef<HTMLDivElement>();\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n React.useImperativeHandle(ref, () => containerRef.current!);\n\n const containerId = formInstanceId\n ? `hubspot-form-${formId}-${formInstanceId}`\n : `hubspot-form-${formId}`;\n\n const createForm = () => {\n if (containerRef.current && !hsContainerRef.current && createDOMElement) {\n hsContainerRef.current = document.createElement('div');\n containerRef.current.id = '';\n hsContainerRef.current.id = containerId;\n containerRef.current.appendChild(hsContainerRef.current);\n }\n\n if (!createDOMElement || hsContainerRef.current) {\n if (window.hbspt) {\n window.hbspt.forms.create({\n region,\n portalId,\n formId,\n target: `#${containerId}`,\n cssClass: formClassName,\n formInstanceId,\n });\n }\n }\n };\n\n useMount(() => {\n (async () => {\n if (!window.hbspt) {\n await loadHubspotScript();\n }\n\n createForm();\n })();\n\n return () => {\n if (createDOMElement && containerRef.current && containerRef.current.lastChild) {\n containerRef.current.removeChild(containerRef.current.lastChild);\n }\n };\n });\n\n return <div className={className} id={containerId} ref={containerRef} />;\n },\n);\n\nHubspotFormContainer.displayName = 'HubspotFormContainer';\n\nexport default HubspotFormContainer;\n"]}
1
+ {"version":3,"file":"HubspotFormContainer.js","sourceRoot":"../../../../src","sources":["sub-blocks/HubspotForm/HubspotFormContainer.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,gDAAqC;AAGrC,uFAAoD;AACpD,0EAAkE;AAclE,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CACzC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACX,MAAM,EACF,SAAS,EAET,MAAM,EACN,cAAc,EACd,QAAQ,EACR,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,aAAa,GAChB,GAAG,KAAK,CAAC;IAEV,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,EAAkB,CAAC;IAEtD,oEAAoE;IACpE,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAQ,CAAC,CAAC;IAE5D,MAAM,WAAW,GAAG,cAAc;QAC9B,CAAC,CAAC,gBAAgB,MAAM,IAAI,cAAc,EAAE;QAC5C,CAAC,CAAC,gBAAgB,MAAM,EAAE,CAAC;IAE/B,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,IAAI,YAAY,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACtE,cAAc,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACvD,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;YAC7B,cAAc,CAAC,OAAO,CAAC,EAAE,GAAG,WAAW,CAAC;YACxC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,gBAAgB,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAC9C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;oBACtB,MAAM;oBACN,QAAQ;oBACR,MAAM;oBACN,MAAM,EAAE,IAAI,WAAW,EAAE;oBACzB,QAAQ,EAAE,aAAa;oBACvB,cAAc;oBACd,WAAW,EAAE,aAAa;wBACtB,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,iDAAuB,EAAC,IAAI,EAAE,aAAa,CAAC;wBACxD,CAAC,CAAC,SAAS;iBAClB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IAEF,IAAA,gBAAQ,EAAC,GAAG,EAAE;QACV,CAAC,KAAK,IAAI,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,IAAA,2BAAiB,GAAE,CAAC;YAC9B,CAAC;YAED,UAAU,EAAE,CAAC;QACjB,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,GAAG,EAAE;YACR,IAAI,gBAAgB,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC7E,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrE,CAAC;QACL,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,OAAO,gCAAK,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,GAAI,CAAC;AAC7E,CAAC,CACJ,CAAC;AAEF,oBAAoB,CAAC,WAAW,GAAG,sBAAsB,CAAC;AAE1D,kBAAe,oBAAoB,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {useMount} from '../../hooks';\nimport {HubspotFormProps} from '../../models';\n\nimport loadHubspotScript from './loadHubspotScript';\nimport {setHubspotDefaultValues} from './setHubspotDefaultValues';\n\ntype HubspotFormContainerPropsKeys =\n | 'className'\n | 'formId'\n | 'formInstanceId'\n | 'portalId'\n | 'region'\n | 'formClassName'\n | 'createDOMElement'\n | 'defaultValues';\n\ntype HubspotFormContainerProps = Pick<HubspotFormProps, HubspotFormContainerPropsKeys>;\n\nconst HubspotFormContainer = React.forwardRef<HTMLDivElement, HubspotFormContainerProps>(\n (props, ref) => {\n const {\n className,\n\n formId,\n formInstanceId,\n portalId,\n region,\n formClassName,\n createDOMElement,\n defaultValues,\n } = props;\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const hsContainerRef = React.useRef<HTMLDivElement>();\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n React.useImperativeHandle(ref, () => containerRef.current!);\n\n const containerId = formInstanceId\n ? `hubspot-form-${formId}-${formInstanceId}`\n : `hubspot-form-${formId}`;\n\n const createForm = () => {\n if (containerRef.current && !hsContainerRef.current && createDOMElement) {\n hsContainerRef.current = document.createElement('div');\n containerRef.current.id = '';\n hsContainerRef.current.id = containerId;\n containerRef.current.appendChild(hsContainerRef.current);\n }\n\n if (!createDOMElement || hsContainerRef.current) {\n if (window.hbspt) {\n window.hbspt.forms.create({\n region,\n portalId,\n formId,\n target: `#${containerId}`,\n cssClass: formClassName,\n formInstanceId,\n onFormReady: defaultValues\n ? (form) => setHubspotDefaultValues(form, defaultValues)\n : undefined,\n });\n }\n }\n };\n\n useMount(() => {\n (async () => {\n if (!window.hbspt) {\n await loadHubspotScript();\n }\n\n createForm();\n })();\n\n return () => {\n if (createDOMElement && containerRef.current && containerRef.current.lastChild) {\n containerRef.current.removeChild(containerRef.current.lastChild);\n }\n };\n });\n\n return <div className={className} id={containerId} ref={containerRef} />;\n },\n);\n\nHubspotFormContainer.displayName = 'HubspotFormContainer';\n\nexport default HubspotFormContainer;\n"]}
@@ -13,7 +13,7 @@ const b = (0, utils_1.block)('hubspot-form');
13
13
  const HubspotForm = React.forwardRef((props, ref) => {
14
14
  const { className, theme: themeProp, isMobile: isMobileProp, formId, formInstanceId, portalId, region, formClassName,
15
15
  // hubspotEvents, // TODO: decide how to handle them
16
- analyticsEvents, onBeforeSubmit, onSubmit, onBeforeLoad, onLoad, createDOMElement, onSubmitError, } = props;
16
+ analyticsEvents, onBeforeSubmit, onSubmit, onBeforeLoad, onLoad, createDOMElement, onSubmitError, defaultValues, } = props;
17
17
  const themeValue = (0, theme_1.useTheme)();
18
18
  const handleAnalytics = (0, hooks_1.useAnalytics)(models_1.DefaultEventNames.HubspotFormSubmit);
19
19
  const isMobileValue = React.useContext(mobileContext_1.MobileContext);
@@ -38,7 +38,7 @@ const HubspotForm = React.forwardRef((props, ref) => {
38
38
  onSubmitError,
39
39
  ]);
40
40
  (0, hooks_1.useHandleHubspotEvents)(handlers, formId);
41
- return ((0, jsx_runtime_1.jsx)(HubspotFormContainer_1.default, { createDOMElement: createDOMElement, className: b({ theme, mobile }, className), formClassName: formClassName, formId: formId, portalId: portalId, formInstanceId: formInstanceId, region: region, ref: ref }, [formClassName, formId, formInstanceId, portalId, region].join()));
41
+ return ((0, jsx_runtime_1.jsx)(HubspotFormContainer_1.default, { createDOMElement: createDOMElement, className: b({ theme, mobile }, className), formClassName: formClassName, formId: formId, portalId: portalId, formInstanceId: formInstanceId, region: region, defaultValues: defaultValues, ref: ref }, [formClassName, formId, formInstanceId, portalId, region].join()));
42
42
  });
43
43
  HubspotForm.displayName = 'HubspotForm';
44
44
  exports.default = HubspotForm;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["sub-blocks/HubspotForm/index.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,wEAA0D;AAC1D,wDAA6C;AAC7C,gDAAiE;AACjE,kDAAiE;AACjE,gDAAwD;AAExD,6FAA0D;AAI1D,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,cAAc,CAAC,CAAC;AAEhC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAmC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAClF,MAAM,EACF,SAAS,EACT,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,YAAY,EACtB,MAAM,EACN,cAAc,EACd,QAAQ,EACR,MAAM,EACN,aAAa;IACb,oDAAoD;IACpD,eAAe,EACf,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,gBAAgB,EAChB,aAAa,GAChB,GAAG,KAAK,CAAC;IAEV,MAAM,UAAU,GAAG,IAAA,gBAAQ,GAAE,CAAC;IAC9B,MAAM,eAAe,GAAG,IAAA,oBAAY,EAAC,0BAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,6BAAa,CAAC,CAAC;IAEtD,MAAM,KAAK,GAAG,SAAS,IAAI,UAAU,CAAC;IACtC,MAAM,MAAM,GAAG,YAAY,IAAI,aAAa,CAAC;IAE7C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAC1B,GAAG,EAAE,CAAC,CAAC;QACH,YAAY;QACZ,cAAc;QACd,MAAM;QACN,aAAa;QACb,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAChB,eAAe,CAAC,eAAe,CAAC,CAAC;YACjC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;KACJ,CAAC,EACF;QACI,YAAY;QACZ,cAAc;QACd,MAAM;QACN,eAAe;QACf,eAAe;QACf,QAAQ;QACR,aAAa;KAChB,CACJ,CAAC;IAEF,IAAA,8BAAsB,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,CACH,uBAAC,8BAAoB,IACjB,gBAAgB,EAAE,gBAAgB,EAElC,SAAS,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,MAAM,EAAC,EAAE,SAAS,CAAC,EACxC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,IAPH,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAQvE,CACL,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,kBAAe,WAAW,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {MobileContext} from '../../context/mobileContext';\nimport {useTheme} from '../../context/theme';\nimport {useAnalytics, useHandleHubspotEvents} from '../../hooks';\nimport {DefaultEventNames, HubspotFormProps} from '../../models';\nimport {HubspotEventHandlers, block} from '../../utils';\n\nimport HubspotFormContainer from './HubspotFormContainer';\n\nimport './HubspotForm.scss';\n\nconst b = block('hubspot-form');\n\nconst HubspotForm = React.forwardRef<HTMLDivElement, HubspotFormProps>((props, ref) => {\n const {\n className,\n theme: themeProp,\n isMobile: isMobileProp,\n formId,\n formInstanceId,\n portalId,\n region,\n formClassName,\n // hubspotEvents, // TODO: decide how to handle them\n analyticsEvents,\n onBeforeSubmit,\n onSubmit,\n onBeforeLoad,\n onLoad,\n createDOMElement,\n onSubmitError,\n } = props;\n\n const themeValue = useTheme();\n const handleAnalytics = useAnalytics(DefaultEventNames.HubspotFormSubmit);\n const isMobileValue = React.useContext(MobileContext);\n\n const theme = themeProp ?? themeValue;\n const mobile = isMobileProp ?? isMobileValue;\n\n const handlers = React.useMemo<HubspotEventHandlers>(\n () => ({\n onBeforeLoad,\n onBeforeSubmit,\n onLoad,\n onSubmitError,\n onSubmit: (event) => {\n handleAnalytics(analyticsEvents);\n onSubmit?.(event);\n },\n }),\n [\n onBeforeLoad,\n onBeforeSubmit,\n onLoad,\n handleAnalytics,\n analyticsEvents,\n onSubmit,\n onSubmitError,\n ],\n );\n\n useHandleHubspotEvents(handlers, formId);\n return (\n <HubspotFormContainer\n createDOMElement={createDOMElement}\n key={[formClassName, formId, formInstanceId, portalId, region].join()}\n className={b({theme, mobile}, className)}\n formClassName={formClassName}\n formId={formId}\n portalId={portalId}\n formInstanceId={formInstanceId}\n region={region}\n ref={ref}\n />\n );\n});\n\nHubspotForm.displayName = 'HubspotForm';\n\nexport default HubspotForm;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["sub-blocks/HubspotForm/index.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,wEAA0D;AAC1D,wDAA6C;AAC7C,gDAAiE;AACjE,kDAAiE;AACjE,gDAAwD;AAExD,6FAA0D;AAI1D,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,cAAc,CAAC,CAAC;AAEhC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAmC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAClF,MAAM,EACF,SAAS,EACT,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,YAAY,EACtB,MAAM,EACN,cAAc,EACd,QAAQ,EACR,MAAM,EACN,aAAa;IACb,oDAAoD;IACpD,eAAe,EACf,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,aAAa,GAChB,GAAG,KAAK,CAAC;IAEV,MAAM,UAAU,GAAG,IAAA,gBAAQ,GAAE,CAAC;IAC9B,MAAM,eAAe,GAAG,IAAA,oBAAY,EAAC,0BAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,6BAAa,CAAC,CAAC;IAEtD,MAAM,KAAK,GAAG,SAAS,IAAI,UAAU,CAAC;IACtC,MAAM,MAAM,GAAG,YAAY,IAAI,aAAa,CAAC;IAE7C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAC1B,GAAG,EAAE,CAAC,CAAC;QACH,YAAY;QACZ,cAAc;QACd,MAAM;QACN,aAAa;QACb,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAChB,eAAe,CAAC,eAAe,CAAC,CAAC;YACjC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;KACJ,CAAC,EACF;QACI,YAAY;QACZ,cAAc;QACd,MAAM;QACN,eAAe;QACf,eAAe;QACf,QAAQ;QACR,aAAa;KAChB,CACJ,CAAC;IAEF,IAAA,8BAAsB,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,CACH,uBAAC,8BAAoB,IACjB,gBAAgB,EAAE,gBAAgB,EAElC,SAAS,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,MAAM,EAAC,EAAE,SAAS,CAAC,EACxC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,GAAG,IARH,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CASvE,CACL,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,kBAAe,WAAW,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {MobileContext} from '../../context/mobileContext';\nimport {useTheme} from '../../context/theme';\nimport {useAnalytics, useHandleHubspotEvents} from '../../hooks';\nimport {DefaultEventNames, HubspotFormProps} from '../../models';\nimport {HubspotEventHandlers, block} from '../../utils';\n\nimport HubspotFormContainer from './HubspotFormContainer';\n\nimport './HubspotForm.scss';\n\nconst b = block('hubspot-form');\n\nconst HubspotForm = React.forwardRef<HTMLDivElement, HubspotFormProps>((props, ref) => {\n const {\n className,\n theme: themeProp,\n isMobile: isMobileProp,\n formId,\n formInstanceId,\n portalId,\n region,\n formClassName,\n // hubspotEvents, // TODO: decide how to handle them\n analyticsEvents,\n onBeforeSubmit,\n onSubmit,\n onBeforeLoad,\n onLoad,\n createDOMElement,\n onSubmitError,\n defaultValues,\n } = props;\n\n const themeValue = useTheme();\n const handleAnalytics = useAnalytics(DefaultEventNames.HubspotFormSubmit);\n const isMobileValue = React.useContext(MobileContext);\n\n const theme = themeProp ?? themeValue;\n const mobile = isMobileProp ?? isMobileValue;\n\n const handlers = React.useMemo<HubspotEventHandlers>(\n () => ({\n onBeforeLoad,\n onBeforeSubmit,\n onLoad,\n onSubmitError,\n onSubmit: (event) => {\n handleAnalytics(analyticsEvents);\n onSubmit?.(event);\n },\n }),\n [\n onBeforeLoad,\n onBeforeSubmit,\n onLoad,\n handleAnalytics,\n analyticsEvents,\n onSubmit,\n onSubmitError,\n ],\n );\n\n useHandleHubspotEvents(handlers, formId);\n return (\n <HubspotFormContainer\n createDOMElement={createDOMElement}\n key={[formClassName, formId, formInstanceId, portalId, region].join()}\n className={b({theme, mobile}, className)}\n formClassName={formClassName}\n formId={formId}\n portalId={portalId}\n formInstanceId={formInstanceId}\n region={region}\n defaultValues={defaultValues}\n ref={ref}\n />\n );\n});\n\nHubspotForm.displayName = 'HubspotForm';\n\nexport default HubspotForm;\n"]}
@@ -0,0 +1,2 @@
1
+ import { HubspotFormDefaultValues } from "../../utils/hubspot.js";
2
+ export declare const setHubspotDefaultValues: (form: HTMLFormElement, defaultValues: HubspotFormDefaultValues) => void;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setHubspotDefaultValues = void 0;
4
+ const setInputValue = (inputs, value) => {
5
+ const input = inputs[0];
6
+ const type = input.type;
7
+ switch (type) {
8
+ case 'checkbox':
9
+ input.checked = Boolean(value);
10
+ return;
11
+ case 'radio':
12
+ inputs.forEach((radio) => {
13
+ if (radio.value === String(value)) {
14
+ input.checked = true;
15
+ }
16
+ });
17
+ return;
18
+ default:
19
+ input.value = String(value);
20
+ }
21
+ };
22
+ const setSelectValue = (select, value) => {
23
+ const options = Array.from(select.querySelectorAll('option'));
24
+ options.forEach((option) => {
25
+ if (option.value === String(value)) {
26
+ option.selected = true;
27
+ }
28
+ });
29
+ };
30
+ const setValue = (elements, value) => {
31
+ const element = elements[0];
32
+ switch (element.tagName.toLowerCase()) {
33
+ case 'input':
34
+ setInputValue(elements, value);
35
+ return;
36
+ case 'textarea':
37
+ element.value = String(value);
38
+ return;
39
+ case 'select':
40
+ setSelectValue(element, value);
41
+ return;
42
+ }
43
+ };
44
+ const setHubspotDefaultValues = (form, defaultValues) => {
45
+ Object.entries(defaultValues).forEach(([name, value]) => {
46
+ const inputs = Array.from(form.querySelectorAll(`[name="${name}"]`));
47
+ setValue(inputs, value);
48
+ });
49
+ };
50
+ exports.setHubspotDefaultValues = setHubspotDefaultValues;
51
+ //# sourceMappingURL=setHubspotDefaultValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setHubspotDefaultValues.js","sourceRoot":"../../../../src","sources":["sub-blocks/HubspotForm/setHubspotDefaultValues.ts"],"names":[],"mappings":";;;AAOA,MAAM,aAAa,GAAG,CAAC,MAA0B,EAAE,KAAwB,EAAE,EAAE;IAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAExB,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,UAAU;YACX,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO;QACX,KAAK,OAAO;YACR,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrB,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;gBACzB,CAAC;YACL,CAAC,CAAC,CAAC;YACH,OAAO;QACX;YACI,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,MAAyB,EAAE,KAAwB,EAAE,EAAE;IAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9D,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACvB,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC3B,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,QAAmB,EAAE,KAAwB,EAAE,EAAE;IAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5B,QAAQ,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACpC,KAAK,OAAO;YACR,aAAa,CAAC,QAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO;QACX,KAAK,UAAU;YACV,OAA+B,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACvD,OAAO;QACX,KAAK,QAAQ;YACT,cAAc,CAAC,OAA4B,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO;IACf,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,uBAAuB,GAAG,CACnC,IAAqB,EACrB,aAAuC,EACzC,EAAE;IACA,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QACpD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;QACrE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AARW,QAAA,uBAAuB,2BAQlC","sourcesContent":["import {HubspotFormDefaultValues} from '../../utils/hubspot';\n\n/* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n/* eslint-disable no-param-reassign */\n\ntype HubspotInputValue = HubspotFormDefaultValues[string];\n\nconst setInputValue = (inputs: HTMLInputElement[], value: HubspotInputValue) => {\n const input = inputs[0];\n const type = input.type;\n\n switch (type) {\n case 'checkbox':\n input.checked = Boolean(value);\n return;\n case 'radio':\n inputs.forEach((radio) => {\n if (radio.value === String(value)) {\n input.checked = true;\n }\n });\n return;\n default:\n input.value = String(value);\n }\n};\n\nconst setSelectValue = (select: HTMLSelectElement, value: HubspotInputValue) => {\n const options = Array.from(select.querySelectorAll('option'));\n\n options.forEach((option) => {\n if (option.value === String(value)) {\n option.selected = true;\n }\n });\n};\n\nconst setValue = (elements: Element[], value: HubspotInputValue) => {\n const element = elements[0];\n\n switch (element.tagName.toLowerCase()) {\n case 'input':\n setInputValue(elements as HTMLInputElement[], value);\n return;\n case 'textarea':\n (element as HTMLTextAreaElement).value = String(value);\n return;\n case 'select':\n setSelectValue(element as HTMLSelectElement, value);\n return;\n }\n};\n\nexport const setHubspotDefaultValues = (\n form: HTMLFormElement,\n defaultValues: HubspotFormDefaultValues,\n) => {\n Object.entries(defaultValues).forEach(([name, value]) => {\n const inputs = Array.from(form.querySelectorAll(`[name=\"${name}\"]`));\n setValue(inputs, value);\n });\n};\n"]}
@@ -88,6 +88,10 @@ function parseContentLayoutTitle(transformer, content) {
88
88
  }
89
89
  return content;
90
90
  }
91
+ const parseBackgroundCardItems = (transformer, items) => items.map(({ text, ...rest }) => ({
92
+ text: text && parseTitle(transformer, text),
93
+ ...rest,
94
+ }));
91
95
  exports.blockHeaderTransformer = [
92
96
  {
93
97
  fields: ['title'],
@@ -119,6 +123,11 @@ exports.config = {
119
123
  fields: ['title'],
120
124
  transformer: common_1.typografTransformer,
121
125
  },
126
+ {
127
+ fields: ['list'],
128
+ parser: parseBackgroundCardItems,
129
+ transformer: common_1.typografTransformer,
130
+ },
122
131
  ],
123
132
  [models_1.SubBlockType.ImageCard]: [
124
133
  {
@@ -195,6 +204,21 @@ exports.config = {
195
204
  parser: parseFeatures,
196
205
  },
197
206
  ],
207
+ [models_1.BlockType.FoldableListBlock]: [
208
+ {
209
+ fields: ['title'],
210
+ transformer: common_1.typografTransformer,
211
+ },
212
+ {
213
+ fields: ['text', 'additionalInfo'],
214
+ transformer: common_1.yfmTransformer,
215
+ },
216
+ {
217
+ fields: ['items'],
218
+ transformer: common_1.yfmTransformer,
219
+ parser: parseFeatures,
220
+ },
221
+ ],
198
222
  [models_1.BlockType.BannerBlock]: [
199
223
  {
200
224
  fields: ['title'],
@@ -274,7 +298,7 @@ exports.config = {
274
298
  ],
275
299
  [models_1.BlockType.HeaderBlock]: [
276
300
  {
277
- fields: ['description'],
301
+ fields: ['description', 'additionalInfo'],
278
302
  transformer: common_1.yfmTransformer,
279
303
  },
280
304
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"../../../src","sources":["text-transform/config.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,4EAA4E;;;AAE5E,+CAWmB;AAEnB,wCAOkB;AAElB,SAAS,eAAe,CAAC,WAAwB,EAAE,OAAmB;IAClE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAE/B,OAAO;QACH,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;KAChE,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,WAAwB,EAAE,KAA6B;IAC1E,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,KAAK,EAAE,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC;QAClC,IAAI,EAAE,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC;QAC/B,GAAG,IAAI;KACV,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAwB,EAAE,KAA0B;IAC5E,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,GAAG,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;QACvB,GAAG,IAAI;KACV,CAAC,CAAC,CAAC;AACR,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,WAAwB,EAAE,KAA8B,EAAE,EAAE,CAC5E,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;IACxC,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC;IAC3C,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;AAEtC,MAAM,eAAe,GAAG,CAAC,WAAwB,EAAE,KAA6B,EAAE,EAAE,CAChF,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,GAAG,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;IAC7B,KAAK,EAAE,KAAK,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC;IAC9C,GAAG,IAAI;CACV,CAAC,CAAC,CAAC;AAER,SAAS,uBAAuB,CAAC,WAAwB,EAAE,KAAyB;IAChF,MAAM,EAAC,SAAS,EAAC,GAAG,KAAK,CAAC;IAE1B,4EAA4E;IAC5E,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,EAAC,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAC,GAAG,IAAI,CAAC;QAEhD,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC7D,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAEtD,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,GAAI,OAAuC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACjE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAE3E,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,2EAA2E;IAE3E,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,WAAwB,EAAE,OAA0B,EAAE,EAAE;IAChF,IAAI,OAAO,EAAE,CAAC;QACV,MAAM,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAC,GAAG,OAAO,CAAC;QAE7C,4EAA4E;QAC5E,IAAI,IAAI,EAAE,CAAC;YACP,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACjB,OAAO,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACP,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;oBACb,OAAO;wBACH,GAAG,IAAI;wBACP,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;qBAC/B,CAAC;gBACN,CAAC;gBAED,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,2EAA2E;IAC/E,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAEF,SAAS,uBAAuB,CAAC,WAAwB,EAAE,OAA0B;IACjF,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACjB,MAAM,EAAC,KAAK,EAAC,GAAG,OAAO,CAAC;QAExB,mFAAmF;QACnF,OAAO,CAAC,KAAK,GAAG,KAAK,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAEY,QAAA,sBAAsB,GAAG;IAClC;QACI,MAAM,EAAE,CAAC,OAAO,CAAC;QACjB,WAAW,EAAE,4BAAmB;QAChC,MAAM,EAAE,UAAU;KACrB;IACD;QACI,MAAM,EAAE,CAAC,aAAa,CAAC;QACvB,WAAW,EAAE,uBAAc;KAC9B;CACJ,CAAC;AAUW,QAAA,MAAM,GAAiB;IAChC,CAAC,qBAAY,CAAC,SAAS,CAAC,EAAE;QACtB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,4BAAmB;SACnC;QACD;YACI,MAAM,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC;YAClC,WAAW,EAAE,uBAAc;SAC9B;KACJ;IACD,CAAC,qBAAY,CAAC,cAAc,CAAC,EAAE;QAC3B;YACI,MAAM,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC;YAClC,WAAW,EAAE,uBAAc;SAC9B;QACD;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,4BAAmB;SACnC;KACJ;IACD,CAAC,qBAAY,CAAC,SAAS,CAAC,EAAE;QACtB;YACI,MAAM,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC;YAClC,WAAW,EAAE,uBAAc;SAC9B;QACD;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,4BAAmB;SACnC;KACJ;IACD,CAAC,qBAAY,CAAC,UAAU,CAAC,EAAE;QACvB;YACI,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,MAAM,EAAE,kBAAkB;YAC1B,WAAW,EAAE,uBAAc;SAC9B;QACD;YACI,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,MAAM,EAAE,uBAAuB;YAC/B,WAAW,EAAE,4BAAmB;SACnC;QACD;YACI,MAAM,EAAE,CAAC,UAAU,CAAC;YACpB,MAAM,EAAE,IAAA,0BAAiB,EAAC,EAAE,CAAC;YAC7B,WAAW,EAAE,uBAAc;SAC9B;KACJ;IACD,CAAC,qBAAY,CAAC,KAAK,CAAC,EAAE;QAClB;YACI,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,4BAAmB;SACnC;QACD;YACI,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,WAAW,EAAE,uBAAc;SAC9B;KACJ;IACD,CAAC,kBAAS,CAAC,qBAAqB,CAAC,EAAE;QAC/B,GAAG,8BAAsB;QACzB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,4BAAmB;YAChC,MAAM,EAAE,IAAA,0BAAiB,EAAC,CAAC,OAAO,CAAC,CAAC;SACvC;QACD;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,uBAAc;YAC3B,MAAM,EAAE,IAAA,0BAAiB,EAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;SACxD;KACJ;IACD,CAAC,kBAAS,CAAC,kBAAkB,CAAC,EAAE;QAC5B,GAAG,8BAAsB;QACzB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,uBAAc;YAC3B,MAAM,EAAE,kBAAkB;SAC7B;KACJ;IACD,CAAC,kBAAS,CAAC,WAAW,CAAC,EAAE,8BAAsB;IAC/C,CAAC,kBAAS,CAAC,cAAc,CAAC,EAAE,8BAAsB;IAClD,CAAC,kBAAS,CAAC,cAAc,CAAC,EAAE;QACxB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,4BAAmB;SACnC;QACD;YACI,MAAM,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC;YAClC,WAAW,EAAE,uBAAc;SAC9B;QACD;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,uBAAc;YAC3B,MAAM,EAAE,aAAa;SACxB;KACJ;IAED,CAAC,kBAAS,CAAC,WAAW,CAAC,EAAE;QACrB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,4BAAmB;SACnC;QACD;YACI,MAAM,EAAE,CAAC,UAAU,CAAC;YACpB,WAAW,EAAE,uBAAc;SAC9B;KACJ;IACD,CAAC,qBAAY,CAAC,UAAU,CAAC,EAAE;QACvB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,4BAAmB;SACnC;QACD;YACI,MAAM,EAAE,CAAC,UAAU,CAAC;YACpB,WAAW,EAAE,uBAAc;SAC9B;KACJ;IACD,CAAC,kBAAS,CAAC,UAAU,CAAC,EAAE;QACpB,GAAG,8BAAsB;QACzB;YACI,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC;YACnC,WAAW,EAAE,uBAAc;SAC9B;QACD;YACI,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,uBAAc;YAC3B,MAAM,EAAE,IAAA,0BAAiB,EAAC,CAAC,MAAM,CAAC,CAAC;SACtC;KACJ;IACD,CAAC,kBAAS,CAAC,QAAQ,CAAC,EAAE;QAClB,GAAG,8BAAsB;QACzB;YACI,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC;YACnC,WAAW,EAAE,uBAAc;SAC9B;KACJ;IACD,CAAC,kBAAS,CAAC,SAAS,CAAC,EAAE;QACnB,GAAG,8BAAsB;QACzB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,uBAAc;YAC3B,MAAM,EAAE,IAAA,0BAAiB,EAAC,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;SACnE;QACD;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,4BAAmB;YAChC,MAAM,EAAE,eAAe;SAC1B;KACJ;IACD,CAAC,kBAAS,CAAC,UAAU,CAAC,EAAE;QACpB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,uBAAc;YAC3B,MAAM,EAAE,eAAe;SAC1B;KACJ;IACD,CAAC,kBAAS,CAAC,iBAAiB,CAAC,EAAE;QAC3B;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,4BAAmB;YAChC,MAAM,EAAE,IAAA,0BAAiB,EAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SACpD;QACD;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,uBAAc;YAC3B,MAAM,EAAE,IAAA,0BAAiB,EAAC,CAAC,aAAa,CAAC,CAAC;SAC7C;KACJ;IACD,CAAC,qBAAY,CAAC,aAAa,CAAC,EAAE;QAC1B;YACI,WAAW,EAAE,uBAAc;YAC3B,MAAM,EAAE,uBAAuB;SAClC;KACJ;IACD,CAAC,kBAAS,CAAC,WAAW,CAAC,EAAE;QACrB;YACI,MAAM,EAAE,CAAC,aAAa,CAAC;YACvB,WAAW,EAAE,uBAAc;SAC9B;KACJ;IACD,CAAC,kBAAS,CAAC,kBAAkB,CAAC,EAAE;QAC5B;YACI,MAAM,EAAE,CAAC,aAAa,CAAC;YACvB,WAAW,EAAE,uBAAc;YAC3B,MAAM,EAAE,kBAAkB;SAC7B;QACD;YACI,MAAM,EAAE,CAAC,aAAa,CAAC;YACvB,WAAW,EAAE,4BAAmB;YAChC,MAAM,EAAE,uBAAuB;SAClC;KACJ;IACD,CAAC,qBAAY,CAAC,OAAO,CAAC,EAAE;QACpB;YACI,MAAM,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC;YAClC,WAAW,EAAE,uBAAc;SAC9B;QACD;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,4BAAmB;YAChC,MAAM,EAAE,UAAU;SACrB;QACD;YACI,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,uBAAc;YAC3B,MAAM,EAAE,IAAA,0BAAiB,EAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SAC/C;KACJ;IACD,CAAC,kBAAS,CAAC,SAAS,CAAC,EAAE;QACnB;YACI,MAAM,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC;YACvC,WAAW,EAAE,uBAAc;YAC3B,MAAM,EAAE,kBAAkB;SAC7B;QACD;YACI,MAAM,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC;YACvC,WAAW,EAAE,4BAAmB;YAChC,MAAM,EAAE,uBAAuB;SAClC;KACJ;IACD,CAAC,kBAAS,CAAC,UAAU,CAAC,EAAE;QACpB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,4BAAmB;SACnC;KACJ;IACD,CAAC,kBAAS,CAAC,eAAe,CAAC,EAAE,8BAAsB;IACnD,CAAC,kBAAS,CAAC,WAAW,CAAC,EAAE,8BAAsB;IAC/C,CAAC,kBAAS,CAAC,UAAU,CAAC,EAAE,8BAAsB;IAC9C,CAAC,qBAAY,CAAC,SAAS,CAAC,EAAE;QACtB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,4BAAmB;SACnC;QACD;YACI,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,uBAAc;YAC3B,MAAM,EAAE,IAAA,0BAAiB,EAAC,CAAC,MAAM,CAAC,CAAC;SACtC;KACJ;IACD,CAAC,kBAAS,CAAC,SAAS,CAAC,EAAE;QACnB;YACI,MAAM,EAAE,CAAC,aAAa,CAAC;YACvB,WAAW,EAAE,uBAAc;YAC3B,MAAM,EAAE,kBAAkB;SAC7B;QACD;YACI,MAAM,EAAE,CAAC,aAAa,CAAC;YACvB,WAAW,EAAE,4BAAmB;YAChC,MAAM,EAAE,uBAAuB;SAClC;KACJ;CACJ,CAAC","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n\nimport {\n BlockType,\n ContentBlockProps,\n ExtendedFeaturesItem,\n PriceDetailedProps,\n PriceDetailsListProps,\n PriceDetailsSettingsProps,\n PromoFeaturesItem,\n SubBlockType,\n TableProps,\n TitleItemProps,\n} from '../models';\n\nimport {\n Parser,\n Transformer,\n TransformerRaw,\n createItemsParser,\n typografTransformer,\n yfmTransformer,\n} from './common';\n\nfunction parseTableBlock(transformer: Transformer, content: TableProps) {\n const legend = content?.legend;\n\n return {\n ...(content || {}),\n legend: legend && legend.map((string) => transformer(string)),\n };\n}\n\nfunction parseFeatures(transformer: Transformer, items: ExtendedFeaturesItem[]) {\n return items.map(({title, text, ...rest}) => ({\n title: title && transformer(title),\n text: text && transformer(text),\n ...rest,\n }));\n}\n\nfunction parsePromoFeatures(transformer: Transformer, items: PromoFeaturesItem[]) {\n return items.map(({text, ...rest}) => ({\n text: transformer(text),\n ...rest,\n }));\n}\n\nconst parseTitle = (transformer: Transformer, title: TitleItemProps | string) =>\n typeof title === 'object' && 'text' in title\n ? {...title, text: transformer(title.text)}\n : title && transformer(title);\n\nconst parseItemsTitle = (transformer: Transformer, items: ExtendedFeaturesItem[]) =>\n items.map(({title, ...rest}) => ({\n title: title && parseTitle(transformer, title),\n ...rest,\n }));\n\nfunction parsePriceDetailedBlock(transformer: Transformer, block: PriceDetailedProps) {\n const {priceType} = block;\n\n /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n block.items = block.items.map((item) => {\n const {description, items: details = []} = item;\n\n if (priceType === 'marked-list') {\n item.items = (details as PriceDetailsListProps[]).map((detail) => {\n detail.text = detail.text && transformer(detail.text);\n\n return detail;\n });\n } else {\n item.items = (details as PriceDetailsSettingsProps[]).map((detail) => {\n detail.description = detail.description && transformer(detail.description);\n\n return detail;\n });\n }\n\n item.description = transformer(description);\n\n return item;\n });\n /* eslint-enable no-not-accumulator-reassign/no-not-accumulator-reassign */\n\n return block;\n}\n\nconst parseContentLayout = (transformer: Transformer, content: ContentBlockProps) => {\n if (content) {\n const {text, additionalInfo, list} = content;\n\n /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n if (text) {\n content.text = transformer(text);\n }\n\n if (additionalInfo) {\n content.additionalInfo = transformer(additionalInfo);\n }\n\n if (list) {\n content.list = list.map((item) => {\n if (item?.text) {\n return {\n ...item,\n text: transformer(item.text),\n };\n }\n\n return item;\n });\n }\n /* eslint-enable no-not-accumulator-reassign/no-not-accumulator-reassign */\n }\n\n return content;\n};\n\nfunction parseContentLayoutTitle(transformer: Transformer, content: ContentBlockProps) {\n if (content?.title) {\n const {title} = content;\n\n // eslint-disable-next-line no-not-accumulator-reassign/no-not-accumulator-reassign\n content.title = title && parseTitle(transformer, title);\n }\n\n return content;\n}\n\nexport const blockHeaderTransformer = [\n {\n fields: ['title'],\n transformer: typografTransformer,\n parser: parseTitle,\n },\n {\n fields: ['description'],\n transformer: yfmTransformer,\n },\n];\n\ninterface BlockConfig {\n transformer: TransformerRaw;\n fields?: string[];\n parser?: Parser;\n}\n\nexport type BlocksConfig = Record<string, BlockConfig | BlockConfig[]>;\n\nexport const config: BlocksConfig = {\n [SubBlockType.BasicCard]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.BackgroundCard]: [\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n ],\n [SubBlockType.ImageCard]: [\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n ],\n [SubBlockType.LayoutItem]: [\n {\n fields: ['content'],\n parser: parseContentLayout,\n transformer: yfmTransformer,\n },\n {\n fields: ['content'],\n parser: parseContentLayoutTitle,\n transformer: typografTransformer,\n },\n {\n fields: ['metaInfo'],\n parser: createItemsParser([]),\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.Quote]: [\n {\n fields: ['text'],\n transformer: typografTransformer,\n },\n {\n fields: ['yfmText'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.ExtendedFeaturesBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: typografTransformer,\n parser: createItemsParser(['title']),\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text', 'additionalInfo']),\n },\n ],\n [BlockType.PromoFeaturesBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parsePromoFeatures,\n },\n ],\n [BlockType.SliderBlock]: blockHeaderTransformer,\n [BlockType.CompaniesBlock]: blockHeaderTransformer,\n [BlockType.QuestionsBlock]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parseFeatures,\n },\n ],\n\n [BlockType.BannerBlock]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['subtitle'],\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.BannerCard]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['subtitle'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.MediaBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['title', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text']),\n },\n ],\n [BlockType.MapBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['title', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.TabsBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text', 'additionalInfo', 'caption']),\n },\n {\n fields: ['items'],\n transformer: typografTransformer,\n parser: parseItemsTitle,\n },\n ],\n [BlockType.TableBlock]: [\n {\n fields: ['table'],\n transformer: yfmTransformer,\n parser: parseTableBlock,\n },\n ],\n [BlockType.HeaderSliderBlock]: [\n {\n fields: ['items'],\n transformer: typografTransformer,\n parser: createItemsParser(['title', 'overtitle']),\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['description']),\n },\n ],\n [SubBlockType.PriceDetailed]: [\n {\n transformer: yfmTransformer,\n parser: parsePriceDetailedBlock,\n },\n ],\n [BlockType.HeaderBlock]: [\n {\n fields: ['description'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.ContentLayoutBlock]: [\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['textContent'],\n transformer: typografTransformer,\n parser: parseContentLayoutTitle,\n },\n ],\n [SubBlockType.Content]: [\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['title'],\n transformer: typografTransformer,\n parser: parseTitle,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['title', 'text']),\n },\n ],\n [BlockType.InfoBlock]: [\n {\n fields: ['rightContent', 'leftContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['rightContent', 'leftContent'],\n transformer: typografTransformer,\n parser: parseContentLayoutTitle,\n },\n ],\n [BlockType.ShareBlock]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n ],\n [BlockType.CardLayoutBlock]: blockHeaderTransformer,\n [BlockType.FilterBlock]: blockHeaderTransformer,\n [BlockType.IconsBlock]: blockHeaderTransformer,\n [SubBlockType.PriceCard]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text']),\n },\n ],\n [BlockType.FormBlock]: [\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['textContent'],\n transformer: typografTransformer,\n parser: parseContentLayoutTitle,\n },\n ],\n};\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"../../../src","sources":["text-transform/config.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n\nimport {\n BlockType,\n ContentBlockProps,\n ContentItemProps,\n ExtendedFeaturesItem,\n PriceDetailedProps,\n PriceDetailsListProps,\n PriceDetailsSettingsProps,\n PromoFeaturesItem,\n SubBlockType,\n TableProps,\n TitleItemProps,\n} from '../models';\n\nimport {\n Parser,\n Transformer,\n TransformerRaw,\n createItemsParser,\n typografTransformer,\n yfmTransformer,\n} from './common';\n\nfunction parseTableBlock(transformer: Transformer, content: TableProps) {\n const legend = content?.legend;\n\n return {\n ...(content || {}),\n legend: legend && legend.map((string) => transformer(string)),\n };\n}\n\nfunction parseFeatures(transformer: Transformer, items: ExtendedFeaturesItem[]) {\n return items.map(({title, text, ...rest}) => ({\n title: title && transformer(title),\n text: text && transformer(text),\n ...rest,\n }));\n}\n\nfunction parsePromoFeatures(transformer: Transformer, items: PromoFeaturesItem[]) {\n return items.map(({text, ...rest}) => ({\n text: transformer(text),\n ...rest,\n }));\n}\n\nconst parseTitle = (transformer: Transformer, title: TitleItemProps | string) =>\n typeof title === 'object' && 'text' in title\n ? {...title, text: transformer(title.text)}\n : title && transformer(title);\n\nconst parseItemsTitle = (transformer: Transformer, items: ExtendedFeaturesItem[]) =>\n items.map(({title, ...rest}) => ({\n title: title && parseTitle(transformer, title),\n ...rest,\n }));\n\nfunction parsePriceDetailedBlock(transformer: Transformer, block: PriceDetailedProps) {\n const {priceType} = block;\n\n /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n block.items = block.items.map((item) => {\n const {description, items: details = []} = item;\n\n if (priceType === 'marked-list') {\n item.items = (details as PriceDetailsListProps[]).map((detail) => {\n detail.text = detail.text && transformer(detail.text);\n\n return detail;\n });\n } else {\n item.items = (details as PriceDetailsSettingsProps[]).map((detail) => {\n detail.description = detail.description && transformer(detail.description);\n\n return detail;\n });\n }\n\n item.description = transformer(description);\n\n return item;\n });\n /* eslint-enable no-not-accumulator-reassign/no-not-accumulator-reassign */\n\n return block;\n}\n\nconst parseContentLayout = (transformer: Transformer, content: ContentBlockProps) => {\n if (content) {\n const {text, additionalInfo, list} = content;\n\n /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n if (text) {\n content.text = transformer(text);\n }\n\n if (additionalInfo) {\n content.additionalInfo = transformer(additionalInfo);\n }\n\n if (list) {\n content.list = list.map((item) => {\n if (item?.text) {\n return {\n ...item,\n text: transformer(item.text),\n };\n }\n\n return item;\n });\n }\n /* eslint-enable no-not-accumulator-reassign/no-not-accumulator-reassign */\n }\n\n return content;\n};\n\nfunction parseContentLayoutTitle(transformer: Transformer, content: ContentBlockProps) {\n if (content?.title) {\n const {title} = content;\n\n // eslint-disable-next-line no-not-accumulator-reassign/no-not-accumulator-reassign\n content.title = title && parseTitle(transformer, title);\n }\n\n return content;\n}\n\nconst parseBackgroundCardItems = (transformer: Transformer, items: ContentItemProps[]) =>\n items.map(({text, ...rest}) => ({\n text: text && parseTitle(transformer, text),\n ...rest,\n }));\n\nexport const blockHeaderTransformer = [\n {\n fields: ['title'],\n transformer: typografTransformer,\n parser: parseTitle,\n },\n {\n fields: ['description'],\n transformer: yfmTransformer,\n },\n];\n\ninterface BlockConfig {\n transformer: TransformerRaw;\n fields?: string[];\n parser?: Parser;\n}\n\nexport type BlocksConfig = Record<string, BlockConfig | BlockConfig[]>;\n\nexport const config: BlocksConfig = {\n [SubBlockType.BasicCard]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.BackgroundCard]: [\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['list'],\n parser: parseBackgroundCardItems,\n transformer: typografTransformer,\n },\n ],\n [SubBlockType.ImageCard]: [\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n ],\n [SubBlockType.LayoutItem]: [\n {\n fields: ['content'],\n parser: parseContentLayout,\n transformer: yfmTransformer,\n },\n {\n fields: ['content'],\n parser: parseContentLayoutTitle,\n transformer: typografTransformer,\n },\n {\n fields: ['metaInfo'],\n parser: createItemsParser([]),\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.Quote]: [\n {\n fields: ['text'],\n transformer: typografTransformer,\n },\n {\n fields: ['yfmText'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.ExtendedFeaturesBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: typografTransformer,\n parser: createItemsParser(['title']),\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text', 'additionalInfo']),\n },\n ],\n [BlockType.PromoFeaturesBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parsePromoFeatures,\n },\n ],\n [BlockType.SliderBlock]: blockHeaderTransformer,\n [BlockType.CompaniesBlock]: blockHeaderTransformer,\n [BlockType.QuestionsBlock]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parseFeatures,\n },\n ],\n [BlockType.FoldableListBlock]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parseFeatures,\n },\n ],\n\n [BlockType.BannerBlock]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['subtitle'],\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.BannerCard]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['subtitle'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.MediaBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['title', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text']),\n },\n ],\n [BlockType.MapBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['title', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.TabsBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text', 'additionalInfo', 'caption']),\n },\n {\n fields: ['items'],\n transformer: typografTransformer,\n parser: parseItemsTitle,\n },\n ],\n [BlockType.TableBlock]: [\n {\n fields: ['table'],\n transformer: yfmTransformer,\n parser: parseTableBlock,\n },\n ],\n [BlockType.HeaderSliderBlock]: [\n {\n fields: ['items'],\n transformer: typografTransformer,\n parser: createItemsParser(['title', 'overtitle']),\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['description']),\n },\n ],\n [SubBlockType.PriceDetailed]: [\n {\n transformer: yfmTransformer,\n parser: parsePriceDetailedBlock,\n },\n ],\n [BlockType.HeaderBlock]: [\n {\n fields: ['description', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.ContentLayoutBlock]: [\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['textContent'],\n transformer: typografTransformer,\n parser: parseContentLayoutTitle,\n },\n ],\n [SubBlockType.Content]: [\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['title'],\n transformer: typografTransformer,\n parser: parseTitle,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['title', 'text']),\n },\n ],\n [BlockType.InfoBlock]: [\n {\n fields: ['rightContent', 'leftContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['rightContent', 'leftContent'],\n transformer: typografTransformer,\n parser: parseContentLayoutTitle,\n },\n ],\n [BlockType.ShareBlock]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n ],\n [BlockType.CardLayoutBlock]: blockHeaderTransformer,\n [BlockType.FilterBlock]: blockHeaderTransformer,\n [BlockType.IconsBlock]: blockHeaderTransformer,\n [SubBlockType.PriceCard]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text']),\n },\n ],\n [BlockType.FormBlock]: [\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['textContent'],\n transformer: typografTransformer,\n parser: parseContentLayoutTitle,\n },\n ],\n};\n"]}
@@ -54,6 +54,33 @@ const generateSingleEntity = (key, schema) => {
54
54
  }),
55
55
  };
56
56
  }
57
+ if (schema.anyOf) {
58
+ return {
59
+ type: 'anyOf',
60
+ name: key,
61
+ title: key,
62
+ options: schema.anyOf.map((item) => {
63
+ let properties;
64
+ if (item.properties) {
65
+ properties = (0, exports.generateFromAJV)(item);
66
+ }
67
+ else {
68
+ properties = [
69
+ (0, exports.generateSingleEntity)('', {
70
+ ...item,
71
+ name: '',
72
+ title: item.optionName,
73
+ }),
74
+ ];
75
+ }
76
+ return {
77
+ value: item.optionName,
78
+ title: item.optionName,
79
+ properties: properties,
80
+ };
81
+ }),
82
+ };
83
+ }
57
84
  switch (type) {
58
85
  case 'string': {
59
86
  if (schema.inputType === 'textarea') {
@@ -1 +1 @@
1
- {"version":3,"file":"form-generator.js","sourceRoot":"../../../src","sources":["utils/form-generator.ts"],"names":[],"mappings":"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","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {\n ArrayBaseInput,\n BooleanInput,\n ConfigInput,\n NumberInput,\n ObjectInput,\n SelectBaseInput,\n TextAreaInput,\n TextInput,\n} from '../common/types';\n\nexport const generateFromAJV = (schema: JSONSchemaType<{}>): ConfigInput[] => {\n if (schema && schema.properties) {\n const obj = Object.entries(schema.properties).map(([key, value]) => {\n const innerSchema = value as JSONSchemaType<{}>;\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return generateSingleEntity(key, innerSchema);\n });\n\n return obj.filter(Boolean) as ConfigInput[];\n }\n return [];\n};\n\nexport const generateSingleEntity = (key: string, schema: JSONSchemaType<{}>) => {\n const type = schema.type;\n\n if (!type && schema.enum) {\n return {\n type: 'select',\n view: 'select',\n name: key,\n title: key,\n enum: schema.enum.map((enumValue: string) => ({\n content: enumValue,\n value: enumValue,\n })),\n } as SelectBaseInput;\n }\n\n if (schema.oneOf) {\n return {\n type: 'oneOf',\n name: key,\n title: key,\n options: schema.oneOf.map((item: JSONSchemaType<{}>) => {\n let properties;\n if (item.properties) {\n properties = generateFromAJV(item);\n } else {\n properties = [\n generateSingleEntity('', {\n ...item,\n name: '',\n title: item.optionName,\n }),\n ];\n }\n\n return {\n value: item.optionName,\n title: item.optionName,\n properties: properties,\n };\n }),\n };\n }\n\n switch (type) {\n case 'string': {\n if (schema.inputType === 'textarea') {\n return {\n type: 'textarea',\n name: key,\n title: key,\n } as TextAreaInput;\n }\n if (schema.enum) {\n return {\n type: 'select',\n view: 'select',\n name: key,\n title: key,\n enum: schema.enum.map((enumValue: string) => ({\n content: enumValue,\n value: enumValue,\n })),\n } as SelectBaseInput;\n }\n return {\n type: 'text',\n name: key,\n title: key,\n } as TextInput;\n }\n case 'number': {\n return {\n type: 'number',\n name: key,\n title: key,\n } as NumberInput;\n }\n case 'object': {\n return {\n type: 'object',\n name: key,\n title: key,\n properties: generateFromAJV(schema),\n } as ObjectInput;\n }\n case 'boolean': {\n return {\n type: 'boolean',\n name: key,\n title: key,\n properties: generateFromAJV(schema),\n } as BooleanInput;\n }\n case 'array': {\n if (schema.items.type === 'string') {\n return {\n type: 'array',\n name: key,\n title: key,\n properties: generateFromAJV(schema.items),\n buttonText: 'Add',\n arrayType: 'text',\n } as ArrayBaseInput;\n }\n\n return {\n type: 'array',\n name: key,\n title: key,\n properties: generateFromAJV(schema.items),\n buttonText: 'Add',\n arrayType: 'object',\n } as ArrayBaseInput;\n }\n }\n\n return undefined;\n};\n"]}
1
+ {"version":3,"file":"form-generator.js","sourceRoot":"../../../src","sources":["utils/form-generator.ts"],"names":[],"mappings":"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","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {\n ArrayBaseInput,\n BooleanInput,\n ConfigInput,\n NumberInput,\n ObjectInput,\n SelectBaseInput,\n TextAreaInput,\n TextInput,\n} from '../common/types';\n\nexport const generateFromAJV = (schema: JSONSchemaType<{}>): ConfigInput[] => {\n if (schema && schema.properties) {\n const obj = Object.entries(schema.properties).map(([key, value]) => {\n const innerSchema = value as JSONSchemaType<{}>;\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return generateSingleEntity(key, innerSchema);\n });\n\n return obj.filter(Boolean) as ConfigInput[];\n }\n return [];\n};\n\nexport const generateSingleEntity = (key: string, schema: JSONSchemaType<{}>) => {\n const type = schema.type;\n\n if (!type && schema.enum) {\n return {\n type: 'select',\n view: 'select',\n name: key,\n title: key,\n enum: schema.enum.map((enumValue: string) => ({\n content: enumValue,\n value: enumValue,\n })),\n } as SelectBaseInput;\n }\n\n if (schema.oneOf) {\n return {\n type: 'oneOf',\n name: key,\n title: key,\n options: schema.oneOf.map((item: JSONSchemaType<{}>) => {\n let properties;\n if (item.properties) {\n properties = generateFromAJV(item);\n } else {\n properties = [\n generateSingleEntity('', {\n ...item,\n name: '',\n title: item.optionName,\n }),\n ];\n }\n\n return {\n value: item.optionName,\n title: item.optionName,\n properties: properties,\n };\n }),\n };\n }\n\n if (schema.anyOf) {\n return {\n type: 'anyOf',\n name: key,\n title: key,\n options: schema.anyOf.map((item: JSONSchemaType<{}>) => {\n let properties;\n if (item.properties) {\n properties = generateFromAJV(item);\n } else {\n properties = [\n generateSingleEntity('', {\n ...item,\n name: '',\n title: item.optionName,\n }),\n ];\n }\n\n return {\n value: item.optionName,\n title: item.optionName,\n properties: properties,\n };\n }),\n };\n }\n\n switch (type) {\n case 'string': {\n if (schema.inputType === 'textarea') {\n return {\n type: 'textarea',\n name: key,\n title: key,\n } as TextAreaInput;\n }\n if (schema.enum) {\n return {\n type: 'select',\n view: 'select',\n name: key,\n title: key,\n enum: schema.enum.map((enumValue: string) => ({\n content: enumValue,\n value: enumValue,\n })),\n } as SelectBaseInput;\n }\n return {\n type: 'text',\n name: key,\n title: key,\n } as TextInput;\n }\n case 'number': {\n return {\n type: 'number',\n name: key,\n title: key,\n } as NumberInput;\n }\n case 'object': {\n return {\n type: 'object',\n name: key,\n title: key,\n properties: generateFromAJV(schema),\n } as ObjectInput;\n }\n case 'boolean': {\n return {\n type: 'boolean',\n name: key,\n title: key,\n properties: generateFromAJV(schema),\n } as BooleanInput;\n }\n case 'array': {\n if (schema.items.type === 'string') {\n return {\n type: 'array',\n name: key,\n title: key,\n properties: generateFromAJV(schema.items),\n buttonText: 'Add',\n arrayType: 'text',\n } as ArrayBaseInput;\n }\n\n return {\n type: 'array',\n name: key,\n title: key,\n properties: generateFromAJV(schema.items),\n buttonText: 'Add',\n arrayType: 'object',\n } as ArrayBaseInput;\n }\n }\n\n return undefined;\n};\n"]}
@@ -5,6 +5,7 @@ export interface HubspotEventData {
5
5
  id: string;
6
6
  data?: unknown;
7
7
  }
8
+ export type HubspotFormDefaultValues = Record<string, string | number | boolean>;
8
9
  export declare function isHubspotEventData(maybeData: unknown): maybeData is HubspotEventData;
9
10
  export interface HubspotEventHandlers {
10
11
  onBeforeLoad?: (arg: HubspotEventData) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"hubspot.js","sourceRoot":"../../../src","sources":["utils/hubspot.ts"],"names":[],"mappings":";;AAeA,gDAOC;AAUD,sDAgBC;AAED,kDAmCC;AAtED,SAAgB,kBAAkB,CAAC,SAAkB;IACjD,OAAO,CACH,OAAO,SAAS,KAAK,QAAQ;QAC7B,SAAS,KAAK,IAAI;QAClB,MAAM,IAAI,SAAS;QAClB,SAAqC,CAAC,MAAM,CAAC,KAAK,gBAAgB,CACtE,CAAC;AACN,CAAC;AAUD,SAAgB,qBAAqB,CAAC,MAAc;IAChD,OAAO,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAe,EAAQ,EAAE;QAClD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QAEA,MAAwB,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,mBAAmB,CAAC,QAA8B,EAAE,MAAc;IAC9E,OAAO,CAAC,EAAC,IAAI,EAAe,EAAQ,EAAE;QAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QAED,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACtB,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM;YACV,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACjB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM;YACV,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM;YACV,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACrB,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM;YACV,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACjB,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACV,CAAC;YACD;gBACI,MAAM;QACd,CAAC;IACL,CAAC,CAAC;AACN,CAAC","sourcesContent":["export type HubspotEventName =\n | 'onBeforeFormInit'\n | 'onFormReady'\n | 'onFormSubmit'\n | 'onFormSubmitted'\n | 'onFormError'\n | `_${string}`;\n\nexport interface HubspotEventData {\n type: HubspotEventName | string;\n eventName: HubspotEventName;\n id: string;\n data?: unknown;\n}\n\nexport function isHubspotEventData(maybeData: unknown): maybeData is HubspotEventData {\n return (\n typeof maybeData === 'object' &&\n maybeData !== null &&\n 'type' in maybeData &&\n (maybeData as Record<string, unknown>)['type'] === 'hsFormCallback'\n );\n}\n\nexport interface HubspotEventHandlers {\n onBeforeLoad?: (arg: HubspotEventData) => void;\n onBeforeSubmit?: (arg: HubspotEventData) => void;\n onSubmit?: (arg: HubspotEventData) => void;\n onLoad?: (arg: HubspotEventData) => void;\n onSubmitError?: (arg: HubspotEventData) => void;\n}\n\nexport function loopBackHabspotEvents(formId: string) {\n return ({data, source, origin}: MessageEvent): void => {\n if (!isHubspotEventData(data)) {\n return;\n }\n\n if (data.id !== formId) {\n return;\n }\n\n if (source === window) {\n return;\n }\n\n (source as Window | null)?.postMessage(data, origin);\n };\n}\n\nexport function handleHubspotEvents(handlers: HubspotEventHandlers, formId: string) {\n return ({data}: MessageEvent): void => {\n if (!isHubspotEventData(data)) {\n return;\n }\n\n if (data.id !== formId) {\n return;\n }\n\n switch (data.eventName) {\n case 'onBeforeFormInit': {\n handlers.onBeforeLoad?.(data);\n break;\n }\n case 'onFormReady': {\n handlers.onLoad?.(data);\n break;\n }\n case 'onFormSubmit': {\n handlers.onBeforeSubmit?.(data);\n break;\n }\n case 'onFormSubmitted': {\n handlers.onSubmit?.(data);\n break;\n }\n case 'onFormError': {\n handlers.onSubmitError?.(data);\n break;\n }\n default:\n break;\n }\n };\n}\n"]}
1
+ {"version":3,"file":"hubspot.js","sourceRoot":"../../../src","sources":["utils/hubspot.ts"],"names":[],"mappings":";;AAiBA,gDAOC;AAUD,sDAgBC;AAED,kDAmCC;AAtED,SAAgB,kBAAkB,CAAC,SAAkB;IACjD,OAAO,CACH,OAAO,SAAS,KAAK,QAAQ;QAC7B,SAAS,KAAK,IAAI;QAClB,MAAM,IAAI,SAAS;QAClB,SAAqC,CAAC,MAAM,CAAC,KAAK,gBAAgB,CACtE,CAAC;AACN,CAAC;AAUD,SAAgB,qBAAqB,CAAC,MAAc;IAChD,OAAO,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAe,EAAQ,EAAE;QAClD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QAEA,MAAwB,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,mBAAmB,CAAC,QAA8B,EAAE,MAAc;IAC9E,OAAO,CAAC,EAAC,IAAI,EAAe,EAAQ,EAAE;QAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QAED,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACtB,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM;YACV,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACjB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM;YACV,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM;YACV,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACrB,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM;YACV,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACjB,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACV,CAAC;YACD;gBACI,MAAM;QACd,CAAC;IACL,CAAC,CAAC;AACN,CAAC","sourcesContent":["export type HubspotEventName =\n | 'onBeforeFormInit'\n | 'onFormReady'\n | 'onFormSubmit'\n | 'onFormSubmitted'\n | 'onFormError'\n | `_${string}`;\n\nexport interface HubspotEventData {\n type: HubspotEventName | string;\n eventName: HubspotEventName;\n id: string;\n data?: unknown;\n}\n\nexport type HubspotFormDefaultValues = Record<string, string | number | boolean>;\n\nexport function isHubspotEventData(maybeData: unknown): maybeData is HubspotEventData {\n return (\n typeof maybeData === 'object' &&\n maybeData !== null &&\n 'type' in maybeData &&\n (maybeData as Record<string, unknown>)['type'] === 'hsFormCallback'\n );\n}\n\nexport interface HubspotEventHandlers {\n onBeforeLoad?: (arg: HubspotEventData) => void;\n onBeforeSubmit?: (arg: HubspotEventData) => void;\n onSubmit?: (arg: HubspotEventData) => void;\n onLoad?: (arg: HubspotEventData) => void;\n onSubmitError?: (arg: HubspotEventData) => void;\n}\n\nexport function loopBackHabspotEvents(formId: string) {\n return ({data, source, origin}: MessageEvent): void => {\n if (!isHubspotEventData(data)) {\n return;\n }\n\n if (data.id !== formId) {\n return;\n }\n\n if (source === window) {\n return;\n }\n\n (source as Window | null)?.postMessage(data, origin);\n };\n}\n\nexport function handleHubspotEvents(handlers: HubspotEventHandlers, formId: string) {\n return ({data}: MessageEvent): void => {\n if (!isHubspotEventData(data)) {\n return;\n }\n\n if (data.id !== formId) {\n return;\n }\n\n switch (data.eventName) {\n case 'onBeforeFormInit': {\n handlers.onBeforeLoad?.(data);\n break;\n }\n case 'onFormReady': {\n handlers.onLoad?.(data);\n break;\n }\n case 'onFormSubmit': {\n handlers.onBeforeSubmit?.(data);\n break;\n }\n case 'onFormSubmitted': {\n handlers.onSubmit?.(data);\n break;\n }\n case 'onFormError': {\n handlers.onSubmitError?.(data);\n break;\n }\n default:\n break;\n }\n };\n}\n"]}
@@ -0,0 +1,13 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-FoldableList__title {
4
+ top: calc(var(--header-height) + 32px);
5
+ position: sticky;
6
+ margin-bottom: 32px;
7
+ margin-right: 64px;
8
+ }
9
+ @media (max-width: 769px) {
10
+ .pc-FoldableList__title {
11
+ margin-right: 0;
12
+ }
13
+ }
@@ -0,0 +1,4 @@
1
+ import { FoldableListProps } from "../../models/index.js";
2
+ import './FoldableList.css';
3
+ declare const FoldableListBlock: (props: FoldableListProps) => import("react/jsx-runtime").JSX.Element;
4
+ export default FoldableListBlock;
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { Col, Row } from "../../grid/index.js";
4
+ import { Content } from "../../sub-blocks/index.js";
5
+ import { block } from "../../utils/index.js";
6
+ import { FoldableListBlockItem } from "./FoldableListBlockItem/FoldableListBlockItem.js";
7
+ import './FoldableList.css';
8
+ const b = block('FoldableList');
9
+ const FoldableListBlock = (props) => {
10
+ const { title, text, additionalInfo, links, buttons, items, list } = props;
11
+ const [opened, setOpened] = React.useState([0]);
12
+ const toggleItem = (index) => {
13
+ let newState;
14
+ if (opened.includes(index)) {
15
+ newState = opened.filter((itemIndex) => itemIndex !== index);
16
+ }
17
+ else {
18
+ newState = [...opened, index];
19
+ }
20
+ setOpened(newState);
21
+ };
22
+ return (_jsx("div", { className: b(), itemScope: true, children: _jsxs(Row, { children: [_jsx(Col, { sizes: { all: 12, md: 4 }, children: _jsx("div", { className: b('title'), children: _jsx(Content, { title: title, text: text, additionalInfo: additionalInfo, links: links, list: list, buttons: buttons, colSizes: { all: 12, md: 12 } }) }) }), _jsx(Col, { sizes: { all: 12, md: 8 }, role: 'list', children: items.map(({ title: itemTitle, text: itemText, link, listStyle = 'dash' }, index) => {
23
+ const isOpened = opened.includes(index);
24
+ const onClick = () => toggleItem(index);
25
+ return (_jsx(FoldableListBlockItem, { title: itemTitle, text: itemText, link: link, listStyle: listStyle, isOpened: isOpened, onClick: onClick }, itemTitle));
26
+ }) })] }) }));
27
+ };
28
+ export default FoldableListBlock;
29
+ //# sourceMappingURL=FoldableList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FoldableList.js","sourceRoot":"../../../../src","sources":["blocks/FoldableList/FoldableList.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,GAAG,EAAE,GAAG,EAAC,4BAAmB;AAEpC,OAAO,EAAC,OAAO,EAAC,kCAAyB;AACzC,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAElC,OAAO,EAAC,qBAAqB,EAAC,yDAAsD;AAEpF,OAAO,oBAAoB,CAAC;AAE5B,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AAEhC,MAAM,iBAAiB,GAAG,CAAC,KAAwB,EAAE,EAAE;IACnD,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;IACzE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE;QACjC,IAAI,QAAQ,CAAC;QAEb,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACJ,QAAQ,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS,kBAC1B,MAAC,GAAG,eACA,KAAC,GAAG,IAAC,KAAK,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAC,YACxB,cAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YACtB,KAAC,OAAO,IACJ,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAC,GAC7B,GACA,GACJ,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAC,EAAE,IAAI,EAAE,MAAM,YACrC,KAAK,CAAC,GAAG,CACN,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,EAAC,EAAE,KAAK,EAAE,EAAE;wBACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBACxC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBAExC,OAAO,CACH,KAAC,qBAAqB,IAElB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,IANX,SAAS,CAOhB,CACL,CAAC;oBACN,CAAC,CACJ,GACC,IACJ,GACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Col, Row} from '../../grid';\nimport {FoldableListProps} from '../../models';\nimport {Content} from '../../sub-blocks';\nimport {block} from '../../utils';\n\nimport {FoldableListBlockItem} from './FoldableListBlockItem/FoldableListBlockItem';\n\nimport './FoldableList.scss';\n\nconst b = block('FoldableList');\n\nconst FoldableListBlock = (props: FoldableListProps) => {\n const {title, text, additionalInfo, links, buttons, items, list} = props;\n const [opened, setOpened] = React.useState<number[]>([0]);\n\n const toggleItem = (index: number) => {\n let newState;\n\n if (opened.includes(index)) {\n newState = opened.filter((itemIndex: number) => itemIndex !== index);\n } else {\n newState = [...opened, index];\n }\n\n setOpened(newState);\n };\n\n return (\n <div className={b()} itemScope>\n <Row>\n <Col sizes={{all: 12, md: 4}}>\n <div className={b('title')}>\n <Content\n title={title}\n text={text}\n additionalInfo={additionalInfo}\n links={links}\n list={list}\n buttons={buttons}\n colSizes={{all: 12, md: 12}}\n />\n </div>\n </Col>\n <Col sizes={{all: 12, md: 8}} role={'list'}>\n {items.map(\n ({title: itemTitle, text: itemText, link, listStyle = 'dash'}, index) => {\n const isOpened = opened.includes(index);\n const onClick = () => toggleItem(index);\n\n return (\n <FoldableListBlockItem\n key={itemTitle}\n title={itemTitle}\n text={itemText}\n link={link}\n listStyle={listStyle}\n isOpened={isOpened}\n onClick={onClick}\n />\n );\n },\n )}\n </Col>\n </Row>\n </div>\n );\n};\n\nexport default FoldableListBlock;\n"]}
@@ -0,0 +1,78 @@
1
+ .pc-FoldableListBlockItem__title {
2
+ margin: 0;
3
+ }
4
+
5
+ /* use this for style redefinitions to awoid problems with
6
+ unpredictable css rules order in build */
7
+ .pc-FoldableListBlockItem {
8
+ padding-bottom: 32px;
9
+ border-bottom: 1px solid var(--g-color-line-generic);
10
+ }
11
+ .pc-FoldableListBlockItem + .pc-FoldableListBlockItem {
12
+ padding-top: 32px;
13
+ }
14
+ .pc-FoldableListBlockItem__title {
15
+ display: inline-block;
16
+ margin: 0;
17
+ padding: 0;
18
+ font: inherit;
19
+ border: none;
20
+ outline: none;
21
+ color: inherit;
22
+ background: none;
23
+ cursor: pointer;
24
+ font-size: var(--g-text-header-1-font-size);
25
+ line-height: var(--g-text-header-1-line-height);
26
+ color: var(--pc-text-header-color);
27
+ font-weight: var(--g-text-accent-font-weight);
28
+ position: relative;
29
+ display: block;
30
+ width: 100%;
31
+ padding-right: 24px;
32
+ text-align: start;
33
+ cursor: pointer;
34
+ border-radius: var(--g-focus-border-radius);
35
+ }
36
+ .pc-FoldableListBlockItem__title:focus {
37
+ outline: 2px solid var(--g-color-line-focus);
38
+ outline-offset: 0;
39
+ }
40
+ .pc-FoldableListBlockItem__title:focus:not(:focus-visible) {
41
+ outline: 0;
42
+ }
43
+ .pc-FoldableListBlockItem__title a {
44
+ outline: none;
45
+ color: var(--g-color-text-link);
46
+ text-decoration: none;
47
+ cursor: pointer;
48
+ }
49
+ .utilityfocus .pc-FoldableListBlockItem__title a:focus {
50
+ outline: 2px solid #ffdb4d;
51
+ }
52
+ .pc-FoldableListBlockItem__title a:hover, .pc-FoldableListBlockItem__title a:active {
53
+ --pc-text-header-color: var(--g-color-text-link-hover);
54
+ color: var(--g-color-text-link-hover);
55
+ }
56
+ .pc-FoldableListBlockItem__arrow {
57
+ position: absolute;
58
+ right: 0;
59
+ top: 0;
60
+ bottom: 0;
61
+ margin: auto;
62
+ color: var(--g-color-text-primary);
63
+ }
64
+ .pc-FoldableListBlockItem__link {
65
+ font-size: var(--g-text-body-2-font-size);
66
+ line-height: var(--g-text-body-2-line-height);
67
+ }
68
+ .pc-FoldableListBlockItem__link.pc-FoldableListBlockItem__link a {
69
+ outline-offset: -2px;
70
+ border-radius: calc(var(--g-focus-border-radius) + 2px);
71
+ display: inline-block;
72
+ }
73
+
74
+ .pc-FoldableListBlockItem__text {
75
+ font-size: var(--g-text-body-2-font-size);
76
+ line-height: var(--g-text-body-2-line-height);
77
+ margin-top: 12px;
78
+ }
@@ -0,0 +1,3 @@
1
+ import { FoldableListBlockItemProps } from "../../../models/index.js";
2
+ import './FoldableListBlockItem.css';
3
+ export declare const FoldableListBlockItem: ({ title: itemTitle, text: itemText, link, listStyle, isOpened, onClick, }: FoldableListBlockItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useActionHandlers } from '@gravity-ui/uikit';
3
+ import { Foldable, HTML, ToggleArrow, YFMWrapper } from "../../../components/index.js";
4
+ import Link from "../../../components/Link/Link.js";
5
+ import { block } from "../../../utils/index.js";
6
+ import './FoldableListBlockItem.css';
7
+ const b = block('FoldableListBlockItem');
8
+ export const FoldableListBlockItem = ({ title: itemTitle, text: itemText, link, listStyle = 'dash', isOpened, onClick, }) => {
9
+ const { onKeyDown } = useActionHandlers(onClick);
10
+ return (_jsxs("div", { className: b(), itemScope: true, role: 'listitem', children: [_jsxs("button", { className: b('title'), onClick: onClick, "aria-expanded": isOpened, onKeyDown: onKeyDown, children: [_jsx(HTML, { children: itemTitle }), _jsx(ToggleArrow, { open: isOpened, size: 16, type: 'vertical', iconType: "navigation", className: b('arrow') })] }), _jsx(Foldable, { isOpened: isOpened, children: _jsxs("div", { className: b('text'), "aria-hidden": !isOpened, children: [_jsx(YFMWrapper, { content: itemText, modifiers: {
11
+ constructor: true,
12
+ constructorListStyle: true,
13
+ constructorListStyleDash: listStyle === 'dash',
14
+ } }), link && _jsx(Link, { ...link, tabIndex: isOpened ? 0 : -1, className: b('link') })] }) })] }));
15
+ };
16
+ //# sourceMappingURL=FoldableListBlockItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FoldableListBlockItem.js","sourceRoot":"../../../../../src","sources":["blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAC,qCAA4B;AAC5E,OAAO,IAAI,yCAAsC;AAEjD,OAAO,EAAC,KAAK,EAAC,gCAAuB;AAErC,OAAO,6BAA6B,CAAC;AAErC,MAAM,CAAC,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAClC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,QAAQ,EACd,IAAI,EACJ,SAAS,GAAG,MAAM,EAClB,QAAQ,EACR,OAAO,GACkB,EAAE,EAAE;IAC7B,MAAM,EAAC,SAAS,EAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE/C,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS,QAAC,IAAI,EAAE,UAAU,aAC3C,kBACI,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EACrB,OAAO,EAAE,OAAO,mBACD,QAAQ,EACvB,SAAS,EAAE,SAAS,aAEpB,KAAC,IAAI,cAAE,SAAS,GAAQ,EACxB,KAAC,WAAW,IACR,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAC,YAAY,EACrB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,GACvB,IACG,EACT,KAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,YACxB,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAe,CAAC,QAAQ,aAC7C,KAAC,UAAU,IACP,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE;gCACP,WAAW,EAAE,IAAI;gCACjB,oBAAoB,EAAE,IAAI;gCAC1B,wBAAwB,EAAE,SAAS,KAAK,MAAM;6BACjD,GACH,EACD,IAAI,IAAI,KAAC,IAAI,OAAK,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,GAAI,IAC5E,GACC,IACT,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import {useActionHandlers} from '@gravity-ui/uikit';\n\nimport {Foldable, HTML, ToggleArrow, YFMWrapper} from '../../../components';\nimport Link from '../../../components/Link/Link';\nimport {FoldableListBlockItemProps} from '../../../models';\nimport {block} from '../../../utils';\n\nimport './FoldableListBlockItem.scss';\n\nconst b = block('FoldableListBlockItem');\n\nexport const FoldableListBlockItem = ({\n title: itemTitle,\n text: itemText,\n link,\n listStyle = 'dash',\n isOpened,\n onClick,\n}: FoldableListBlockItemProps) => {\n const {onKeyDown} = useActionHandlers(onClick);\n\n return (\n <div className={b()} itemScope role={'listitem'}>\n <button\n className={b('title')}\n onClick={onClick}\n aria-expanded={isOpened}\n onKeyDown={onKeyDown}\n >\n <HTML>{itemTitle}</HTML>\n <ToggleArrow\n open={isOpened}\n size={16}\n type={'vertical'}\n iconType=\"navigation\"\n className={b('arrow')}\n />\n </button>\n <Foldable isOpened={isOpened}>\n <div className={b('text')} aria-hidden={!isOpened}>\n <YFMWrapper\n content={itemText}\n modifiers={{\n constructor: true,\n constructorListStyle: true,\n constructorListStyleDash: listStyle === 'dash',\n }}\n />\n {link && <Link {...link} tabIndex={isOpened ? 0 : -1} className={b('link')} />}\n </div>\n </Foldable>\n </div>\n );\n};\n"]}