@gravity-ui/page-constructor 8.5.0-alpha.0 → 8.5.0-alpha.2

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 (176) hide show
  1. package/build/cjs/blocks/Banner/icon.d.ts +2 -0
  2. package/build/cjs/blocks/Banner/icon.js +13 -0
  3. package/build/cjs/blocks/Banner/icon.js.map +1 -0
  4. package/build/cjs/blocks/Banner/index.js +2 -2
  5. package/build/cjs/blocks/Banner/index.js.map +1 -1
  6. package/build/cjs/blocks/CardLayout/icon.d.ts +2 -0
  7. package/build/cjs/blocks/CardLayout/icon.js +19 -0
  8. package/build/cjs/blocks/CardLayout/icon.js.map +1 -0
  9. package/build/cjs/blocks/CardLayout/index.js +17 -2
  10. package/build/cjs/blocks/CardLayout/index.js.map +1 -1
  11. package/build/cjs/blocks/ContentLayout/icon.d.ts +2 -0
  12. package/build/cjs/blocks/ContentLayout/icon.js +15 -0
  13. package/build/cjs/blocks/ContentLayout/icon.js.map +1 -0
  14. package/build/cjs/blocks/ContentLayout/index.js +2 -2
  15. package/build/cjs/blocks/ContentLayout/index.js.map +1 -1
  16. package/build/cjs/blocks/ExtendedFeatures/icon.d.ts +2 -0
  17. package/build/cjs/blocks/ExtendedFeatures/icon.js +20 -0
  18. package/build/cjs/blocks/ExtendedFeatures/icon.js.map +1 -0
  19. package/build/cjs/blocks/ExtendedFeatures/index.js +2 -2
  20. package/build/cjs/blocks/ExtendedFeatures/index.js.map +1 -1
  21. package/build/cjs/blocks/Header/icon.d.ts +2 -0
  22. package/build/cjs/blocks/Header/icon.js +13 -0
  23. package/build/cjs/blocks/Header/icon.js.map +1 -0
  24. package/build/cjs/blocks/Header/index.js +2 -2
  25. package/build/cjs/blocks/Header/index.js.map +1 -1
  26. package/build/cjs/blocks/Info/icon.d.ts +2 -0
  27. package/build/cjs/blocks/Info/icon.js +18 -0
  28. package/build/cjs/blocks/Info/icon.js.map +1 -0
  29. package/build/cjs/blocks/Info/index.js +2 -2
  30. package/build/cjs/blocks/Info/index.js.map +1 -1
  31. package/build/cjs/blocks/Media/icon.d.ts +2 -0
  32. package/build/cjs/blocks/Media/icon.js +13 -0
  33. package/build/cjs/blocks/Media/icon.js.map +1 -0
  34. package/build/cjs/blocks/Media/index.js +2 -2
  35. package/build/cjs/blocks/Media/index.js.map +1 -1
  36. package/build/cjs/blocks/Media/index_deprecated.js +2 -2
  37. package/build/cjs/blocks/Media/index_deprecated.js.map +1 -1
  38. package/build/cjs/blocks/Questions/icon.d.ts +2 -0
  39. package/build/cjs/blocks/Questions/icon.js +19 -0
  40. package/build/cjs/blocks/Questions/icon.js.map +1 -0
  41. package/build/cjs/blocks/Questions/index.js +2 -2
  42. package/build/cjs/blocks/Questions/index.js.map +1 -1
  43. package/build/cjs/blocks/Slider/icon.d.ts +2 -0
  44. package/build/cjs/blocks/Slider/icon.js +55 -0
  45. package/build/cjs/blocks/Slider/icon.js.map +1 -0
  46. package/build/cjs/blocks/Slider/index.js +2 -2
  47. package/build/cjs/blocks/Slider/index.js.map +1 -1
  48. package/build/cjs/blocks/Tabs/icon.d.ts +2 -0
  49. package/build/cjs/blocks/Tabs/icon.js +16 -0
  50. package/build/cjs/blocks/Tabs/icon.js.map +1 -0
  51. package/build/cjs/blocks/Tabs/index.js +2 -2
  52. package/build/cjs/blocks/Tabs/index.js.map +1 -1
  53. package/build/cjs/common/postMessage.js +1 -1
  54. package/build/cjs/common/postMessage.js.map +1 -1
  55. package/build/cjs/containers/PageConstructor/PageConstructor.d.ts +0 -1
  56. package/build/cjs/containers/PageConstructor/PageConstructor.js +0 -1
  57. package/build/cjs/containers/PageConstructor/PageConstructor.js.map +1 -1
  58. package/build/cjs/editor-v2/containers/BigOverlay/BigOverlay.js +7 -2
  59. package/build/cjs/editor-v2/containers/BigOverlay/BigOverlay.js.map +1 -1
  60. package/build/cjs/editor-v2/containers/Editor/Editor.d.ts +3 -3
  61. package/build/cjs/editor-v2/containers/Editor/Editor.js +4 -4
  62. package/build/cjs/editor-v2/containers/Editor/Editor.js.map +1 -1
  63. package/build/cjs/editor-v2/hooks/useMainEditorInitialize.d.ts +1 -1
  64. package/build/cjs/editor-v2/hooks/useMainEditorInitialize.js +5 -5
  65. package/build/cjs/editor-v2/hooks/useMainEditorInitialize.js.map +1 -1
  66. package/build/cjs/hooks/usePCEditorInitializeEvents.js +2 -2
  67. package/build/cjs/hooks/usePCEditorInitializeEvents.js.map +1 -1
  68. package/build/cjs/hooks/usePostMessageAPI.js +1 -1
  69. package/build/cjs/hooks/usePostMessageAPI.js.map +1 -1
  70. package/build/cjs/sub-blocks/ImageCard/icon.d.ts +2 -0
  71. package/build/cjs/sub-blocks/ImageCard/icon.js +11 -0
  72. package/build/cjs/sub-blocks/ImageCard/icon.js.map +1 -0
  73. package/build/cjs/sub-blocks/ImageCard/index.js +2 -2
  74. package/build/cjs/sub-blocks/ImageCard/index.js.map +1 -1
  75. package/build/cjs/sub-blocks/MediaCard/icon.d.ts +2 -0
  76. package/build/cjs/sub-blocks/MediaCard/icon.js +11 -0
  77. package/build/cjs/sub-blocks/MediaCard/icon.js.map +1 -0
  78. package/build/cjs/sub-blocks/MediaCard/index.js +2 -2
  79. package/build/cjs/sub-blocks/MediaCard/index.js.map +1 -1
  80. package/build/cjs/utils/index.d.ts +1 -0
  81. package/build/cjs/utils/index.js +1 -0
  82. package/build/cjs/utils/index.js.map +1 -1
  83. package/build/cjs/utils/svg.d.ts +1 -0
  84. package/build/cjs/utils/svg.js +4 -0
  85. package/build/cjs/utils/svg.js.map +1 -1
  86. package/build/esm/blocks/Banner/icon.d.ts +2 -0
  87. package/{widget/e939f84b0589c88eda82.svg → build/esm/blocks/Banner/icon.js} +4 -2
  88. package/build/esm/blocks/Banner/icon.js.map +1 -0
  89. package/build/esm/blocks/Banner/index.js +1 -1
  90. package/build/esm/blocks/Banner/index.js.map +1 -1
  91. package/build/esm/blocks/CardLayout/icon.d.ts +2 -0
  92. package/{widget/f077b7db51dd159290d7.svg → build/esm/blocks/CardLayout/icon.js} +4 -2
  93. package/build/esm/blocks/CardLayout/icon.js.map +1 -0
  94. package/build/esm/blocks/CardLayout/index.js +16 -1
  95. package/build/esm/blocks/CardLayout/index.js.map +1 -1
  96. package/build/esm/blocks/ContentLayout/icon.d.ts +2 -0
  97. package/{widget/6bd40d99d7acda70c988.svg → build/esm/blocks/ContentLayout/icon.js} +4 -2
  98. package/build/esm/blocks/ContentLayout/icon.js.map +1 -0
  99. package/build/esm/blocks/ContentLayout/index.js +1 -1
  100. package/build/esm/blocks/ContentLayout/index.js.map +1 -1
  101. package/build/esm/blocks/ExtendedFeatures/icon.d.ts +2 -0
  102. package/{widget/8eee8263ebe9e3a9a5ec.svg → build/esm/blocks/ExtendedFeatures/icon.js} +4 -2
  103. package/build/esm/blocks/ExtendedFeatures/icon.js.map +1 -0
  104. package/build/esm/blocks/ExtendedFeatures/index.js +1 -1
  105. package/build/esm/blocks/ExtendedFeatures/index.js.map +1 -1
  106. package/build/esm/blocks/Header/icon.d.ts +2 -0
  107. package/{widget/e0148e2f56361cf735a0.svg → build/esm/blocks/Header/icon.js} +4 -2
  108. package/build/esm/blocks/Header/icon.js.map +1 -0
  109. package/build/esm/blocks/Header/index.js +1 -1
  110. package/build/esm/blocks/Header/index.js.map +1 -1
  111. package/build/esm/blocks/Info/icon.d.ts +2 -0
  112. package/{widget/dd2cee88264c25f71647.svg → build/esm/blocks/Info/icon.js} +4 -2
  113. package/build/esm/blocks/Info/icon.js.map +1 -0
  114. package/build/esm/blocks/Info/index.js +1 -1
  115. package/build/esm/blocks/Info/index.js.map +1 -1
  116. package/build/esm/blocks/Media/icon.d.ts +2 -0
  117. package/{widget/59e86539ac1545c64458.svg → build/esm/blocks/Media/icon.js} +4 -2
  118. package/build/esm/blocks/Media/icon.js.map +1 -0
  119. package/build/esm/blocks/Media/index.js +1 -1
  120. package/build/esm/blocks/Media/index.js.map +1 -1
  121. package/build/esm/blocks/Media/index_deprecated.js +1 -1
  122. package/build/esm/blocks/Media/index_deprecated.js.map +1 -1
  123. package/build/esm/blocks/Questions/icon.d.ts +2 -0
  124. package/{widget/b4759683d7f3c55b222d.svg → build/esm/blocks/Questions/icon.js} +4 -2
  125. package/build/esm/blocks/Questions/icon.js.map +1 -0
  126. package/build/esm/blocks/Questions/index.js +1 -1
  127. package/build/esm/blocks/Questions/index.js.map +1 -1
  128. package/build/esm/blocks/Slider/icon.d.ts +2 -0
  129. package/{widget/f8de93d922c0adc378bb.svg → build/esm/blocks/Slider/icon.js} +4 -2
  130. package/build/esm/blocks/Slider/icon.js.map +1 -0
  131. package/build/esm/blocks/Slider/index.js +1 -1
  132. package/build/esm/blocks/Slider/index.js.map +1 -1
  133. package/build/esm/blocks/Tabs/icon.d.ts +2 -0
  134. package/{widget/48692712e33c3bdae70f.svg → build/esm/blocks/Tabs/icon.js} +4 -2
  135. package/build/esm/blocks/Tabs/icon.js.map +1 -0
  136. package/build/esm/blocks/Tabs/index.js +1 -1
  137. package/build/esm/blocks/Tabs/index.js.map +1 -1
  138. package/build/esm/common/postMessage.js +1 -1
  139. package/build/esm/common/postMessage.js.map +1 -1
  140. package/build/esm/containers/PageConstructor/PageConstructor.d.ts +0 -1
  141. package/build/esm/containers/PageConstructor/PageConstructor.js +0 -1
  142. package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
  143. package/build/esm/editor-v2/containers/BigOverlay/BigOverlay.js +7 -2
  144. package/build/esm/editor-v2/containers/BigOverlay/BigOverlay.js.map +1 -1
  145. package/build/esm/editor-v2/containers/Editor/Editor.d.ts +3 -3
  146. package/build/esm/editor-v2/containers/Editor/Editor.js +4 -4
  147. package/build/esm/editor-v2/containers/Editor/Editor.js.map +1 -1
  148. package/build/esm/editor-v2/hooks/useMainEditorInitialize.d.ts +1 -1
  149. package/build/esm/editor-v2/hooks/useMainEditorInitialize.js +5 -5
  150. package/build/esm/editor-v2/hooks/useMainEditorInitialize.js.map +1 -1
  151. package/build/esm/hooks/usePCEditorInitializeEvents.js +2 -2
  152. package/build/esm/hooks/usePCEditorInitializeEvents.js.map +1 -1
  153. package/build/esm/hooks/usePostMessageAPI.js +1 -1
  154. package/build/esm/hooks/usePostMessageAPI.js.map +1 -1
  155. package/build/esm/sub-blocks/ImageCard/icon.d.ts +2 -0
  156. package/{widget/d0f61f0a190743ed85bf.svg → build/esm/sub-blocks/ImageCard/icon.js} +4 -2
  157. package/build/esm/sub-blocks/ImageCard/icon.js.map +1 -0
  158. package/build/esm/sub-blocks/ImageCard/index.js +1 -1
  159. package/build/esm/sub-blocks/ImageCard/index.js.map +1 -1
  160. package/build/esm/sub-blocks/MediaCard/icon.d.ts +2 -0
  161. package/build/esm/sub-blocks/MediaCard/icon.js +9 -0
  162. package/build/esm/sub-blocks/MediaCard/icon.js.map +1 -0
  163. package/build/esm/sub-blocks/MediaCard/index.js +1 -1
  164. package/build/esm/sub-blocks/MediaCard/index.js.map +1 -1
  165. package/build/esm/utils/index.d.ts +1 -0
  166. package/build/esm/utils/index.js +1 -0
  167. package/build/esm/utils/index.js.map +1 -1
  168. package/build/esm/utils/svg.d.ts +1 -0
  169. package/build/esm/utils/svg.js +3 -0
  170. package/build/esm/utils/svg.js.map +1 -1
  171. package/package.json +2 -2
  172. package/server/utils/index.d.ts +1 -0
  173. package/server/utils/index.js +1 -0
  174. package/server/utils/svg.d.ts +4 -0
  175. package/server/utils/svg.js +11 -0
  176. package/widget/index.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["blocks/Slider/index.ts"],"names":[],"mappings":";;;AAEA,0GAAwG;AAExG,iEAAmC;AACnC,wCAA0D;AAE1D,kEAA8B;AAE9B,MAAM,iBAAiB,GAAG;IACtB,IAAI,EAAE,2CAA2C;IACjD,SAAS,EAAE,gBAAW;IACtB,MAAM,EAAE;QACJ,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,6CAA6C;QACpD,sCAAsC;QACtC,MAAM,EAAE,IAAA,2DAA+B,EACnC,oBAAiB,CAAC,cAAc,CAAkC,CACrE;QACD,OAAO,EAAE;YACL,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,+BAA+B;YACtC,WAAW,EAAE,sCAAsC;YACnD,YAAY,EAAE,CAAC;YACf,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE;gBACN;oBACI,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,6HAA6H;oBACnI,GAAG,EAAE,qBAAqB;oBAC1B,MAAM,EAAE;wBACJ,SAAS,EAAE,OAAO;wBAClB,UAAU,EAAE,OAAO;wBACnB,WAAW,EAAE,aAAa;qBAC7B;iBACJ;gBACD;oBACI,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,6HAA6H;oBACnI,GAAG,EAAE,qBAAqB;oBAC1B,MAAM,EAAE;wBACJ,SAAS,EAAE,OAAO;wBAClB,UAAU,EAAE,OAAO;wBACnB,WAAW,EAAE,aAAa;qBAC7B;iBACJ;aACJ;SACJ;QACD,UAAU,EAAE,kBAAI;KACnB;CACJ,CAAC;AAEF,kBAAe,iBAAiB,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {generateFormFieldsFromAjvSchema} from '../../form-generator-v2/utils/generateFormFieldsFromAjv';\n\nimport SliderBlock from './Slider';\nimport {SliderBlock as SliderBlockSchema} from './schema';\n\nimport icon from './icon.svg';\n\nconst SliderBlockConfig = {\n type: '@gravity-ui/page-constructor/slider-block',\n component: SliderBlock,\n schema: {\n name: 'Slider Block',\n group: '@gravity-ui/page-constructor/CardContainers',\n // TODO: change to custom block schema\n inputs: generateFormFieldsFromAjvSchema(\n SliderBlockSchema['slider-block'] as unknown as JSONSchemaType<{}>,\n ),\n default: {\n dots: true,\n type: 'slider-block',\n title: 'Slider Block with Quote Cards',\n description: 'You can insert any card inside block',\n slidesToShow: 1,\n arrows: true,\n children: [\n {\n type: 'quote',\n text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',\n url: 'https://example.com',\n author: {\n firstName: 'Lorem',\n secondName: 'ipsum',\n description: 'Lorem ipsum',\n },\n },\n {\n type: 'quote',\n text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',\n url: 'https://example.com',\n author: {\n firstName: 'Lorem',\n secondName: 'ipsum',\n description: 'Lorem ipsum',\n },\n },\n ],\n },\n previewImg: icon,\n },\n};\n\nexport default SliderBlockConfig;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["blocks/Slider/index.ts"],"names":[],"mappings":";;;AAEA,0GAAwG;AAExG,iEAAmC;AACnC,6DAA0B;AAC1B,wCAA0D;AAE1D,MAAM,iBAAiB,GAAG;IACtB,IAAI,EAAE,2CAA2C;IACjD,SAAS,EAAE,gBAAW;IACtB,MAAM,EAAE;QACJ,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,6CAA6C;QACpD,sCAAsC;QACtC,MAAM,EAAE,IAAA,2DAA+B,EACnC,oBAAiB,CAAC,cAAc,CAAkC,CACrE;QACD,OAAO,EAAE;YACL,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,+BAA+B;YACtC,WAAW,EAAE,sCAAsC;YACnD,YAAY,EAAE,CAAC;YACf,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE;gBACN;oBACI,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,6HAA6H;oBACnI,GAAG,EAAE,qBAAqB;oBAC1B,MAAM,EAAE;wBACJ,SAAS,EAAE,OAAO;wBAClB,UAAU,EAAE,OAAO;wBACnB,WAAW,EAAE,aAAa;qBAC7B;iBACJ;gBACD;oBACI,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,6HAA6H;oBACnI,GAAG,EAAE,qBAAqB;oBAC1B,MAAM,EAAE;wBACJ,SAAS,EAAE,OAAO;wBAClB,UAAU,EAAE,OAAO;wBACnB,WAAW,EAAE,aAAa;qBAC7B;iBACJ;aACJ;SACJ;QACD,UAAU,EAAE,cAAI;KACnB;CACJ,CAAC;AAEF,kBAAe,iBAAiB,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {generateFormFieldsFromAjvSchema} from '../../form-generator-v2/utils/generateFormFieldsFromAjv';\n\nimport SliderBlock from './Slider';\nimport icon from './icon';\nimport {SliderBlock as SliderBlockSchema} from './schema';\n\nconst SliderBlockConfig = {\n type: '@gravity-ui/page-constructor/slider-block',\n component: SliderBlock,\n schema: {\n name: 'Slider Block',\n group: '@gravity-ui/page-constructor/CardContainers',\n // TODO: change to custom block schema\n inputs: generateFormFieldsFromAjvSchema(\n SliderBlockSchema['slider-block'] as unknown as JSONSchemaType<{}>,\n ),\n default: {\n dots: true,\n type: 'slider-block',\n title: 'Slider Block with Quote Cards',\n description: 'You can insert any card inside block',\n slidesToShow: 1,\n arrows: true,\n children: [\n {\n type: 'quote',\n text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',\n url: 'https://example.com',\n author: {\n firstName: 'Lorem',\n secondName: 'ipsum',\n description: 'Lorem ipsum',\n },\n },\n {\n type: 'quote',\n text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',\n url: 'https://example.com',\n author: {\n firstName: 'Lorem',\n secondName: 'ipsum',\n description: 'Lorem ipsum',\n },\n },\n ],\n },\n previewImg: icon,\n },\n};\n\nexport default SliderBlockConfig;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const _default: string;
2
+ export default _default;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const svg_1 = require("../../utils/svg.js");
4
+ exports.default = (0, svg_1.svgToDataUri)(`<svg width="100" height="50" viewBox="0 0 100 50" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <rect width="100" height="50" rx="7.97674" fill="white"/>
6
+ <rect x="9.11628" y="8.5" width="10" height="2" rx="0.569767" fill="black"/>
7
+ <rect x="20.1163" y="8.5" width="10" height="2" rx="0.569767" fill="black"/>
8
+ <rect x="31.1163" y="8.5" width="10" height="2" rx="0.569767" fill="black"/>
9
+ <rect x="42.1163" y="8.5" width="10" height="2" rx="0.569767" fill="black"/>
10
+ <rect x="9.11628" y="12.5" width="52" height="29" rx="3" fill="black"/>
11
+ <rect x="63.1163" y="12.5" width="13" height="2" rx="0.569767" fill="#262626"/>
12
+ <rect x="63.1163" y="15.5" width="23.7674" height="2" rx="0.569767" fill="#262626"/>
13
+ <rect x="63.1163" y="18.5" width="23.7674" height="2" rx="0.569767" fill="#262626"/>
14
+ <rect x="63.1163" y="22.5" width="7" height="2" rx="0.569767" fill="#262626"/>
15
+ </svg>`);
16
+ //# sourceMappingURL=icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.js","sourceRoot":"../../../../src","sources":["blocks/Tabs/icon.ts"],"names":[],"mappings":";;AAAA,4CAA6C;AAE7C,kBAAe,IAAA,kBAAY,EACvB;;;;;;;;;;;OAWG,CACN,CAAC","sourcesContent":["import {svgToDataUri} from '../../utils/svg';\n\nexport default svgToDataUri(\n `<svg width=\"100\" height=\"50\" viewBox=\"0 0 100 50\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<rect width=\"100\" height=\"50\" rx=\"7.97674\" fill=\"white\"/>\n<rect x=\"9.11628\" y=\"8.5\" width=\"10\" height=\"2\" rx=\"0.569767\" fill=\"black\"/>\n<rect x=\"20.1163\" y=\"8.5\" width=\"10\" height=\"2\" rx=\"0.569767\" fill=\"black\"/>\n<rect x=\"31.1163\" y=\"8.5\" width=\"10\" height=\"2\" rx=\"0.569767\" fill=\"black\"/>\n<rect x=\"42.1163\" y=\"8.5\" width=\"10\" height=\"2\" rx=\"0.569767\" fill=\"black\"/>\n<rect x=\"9.11628\" y=\"12.5\" width=\"52\" height=\"29\" rx=\"3\" fill=\"black\"/>\n<rect x=\"63.1163\" y=\"12.5\" width=\"13\" height=\"2\" rx=\"0.569767\" fill=\"#262626\"/>\n<rect x=\"63.1163\" y=\"15.5\" width=\"23.7674\" height=\"2\" rx=\"0.569767\" fill=\"#262626\"/>\n<rect x=\"63.1163\" y=\"18.5\" width=\"23.7674\" height=\"2\" rx=\"0.569767\" fill=\"#262626\"/>\n<rect x=\"63.1163\" y=\"22.5\" width=\"7\" height=\"2\" rx=\"0.569767\" fill=\"#262626\"/>\n</svg>`,\n);\n"]}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const generateFormFieldsFromAjv_1 = require("../../form-generator-v2/utils/generateFormFieldsFromAjv.js");
5
5
  const Tabs_1 = tslib_1.__importDefault(require("./Tabs.js"));
6
+ const icon_1 = tslib_1.__importDefault(require("./icon.js"));
6
7
  const schema_1 = require("./schema.js");
7
- const icon_svg_1 = tslib_1.__importDefault(require("./icon.svg"));
8
8
  const TabsBlockConfig = {
9
9
  type: '@gravity-ui/page-constructor/tabs-block',
10
10
  component: Tabs_1.default,
@@ -27,7 +27,7 @@ const TabsBlockConfig = {
27
27
  },
28
28
  ],
29
29
  },
30
- previewImg: icon_svg_1.default,
30
+ previewImg: icon_1.default,
31
31
  },
32
32
  };
33
33
  exports.default = TabsBlockConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["blocks/Tabs/index.ts"],"names":[],"mappings":";;;AAEA,0GAAwG;AAExG,6DAA+B;AAC/B,wCAAsD;AAEtD,kEAA8B;AAE9B,MAAM,eAAe,GAAG;IACpB,IAAI,EAAE,yCAAyC;IAC/C,SAAS,EAAE,cAAS;IACpB,MAAM,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,qCAAqC;QAC5C,MAAM,EAAE,IAAA,2DAA+B,EACnC,kBAAe,CAAC,YAAY,CAAkC,CACjE;QACD,OAAO,EAAE;YACL,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE;gBACH;oBACI,OAAO,EAAE,WAAW;oBACpB,IAAI,EAAE,mBAAmB;oBACzB,KAAK,EAAE,iBAAiB;iBAC3B;gBACD;oBACI,IAAI,EAAE,oBAAoB;oBAC1B,KAAK,EAAE,kBAAkB;oBACzB,OAAO,EAAE,YAAY;iBACxB;aACJ;SACJ;QACD,UAAU,EAAE,kBAAI;KACnB;CACJ,CAAC;AAEF,kBAAe,eAAe,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {generateFormFieldsFromAjvSchema} from '../../form-generator-v2/utils/generateFormFieldsFromAjv';\n\nimport TabsBlock from './Tabs';\nimport {TabsBlock as TabsBlockSchema} from './schema';\n\nimport icon from './icon.svg';\n\nconst TabsBlockConfig = {\n type: '@gravity-ui/page-constructor/tabs-block',\n component: TabsBlock,\n schema: {\n name: 'Tabs Block',\n group: '@gravity-ui/page-constructor/Blocks',\n inputs: generateFormFieldsFromAjvSchema(\n TabsBlockSchema['tabs-block'] as unknown as JSONSchemaType<{}>,\n ),\n default: {\n title: 'Tabs Block',\n items: [\n {\n tabName: 'First Tab',\n text: 'First Tab Content',\n title: 'First Tab Title',\n },\n {\n text: 'Second Tab Content',\n title: 'Second Tab Title',\n tabName: 'Second Tab',\n },\n ],\n },\n previewImg: icon,\n },\n};\n\nexport default TabsBlockConfig;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["blocks/Tabs/index.ts"],"names":[],"mappings":";;;AAEA,0GAAwG;AAExG,6DAA+B;AAC/B,6DAA0B;AAC1B,wCAAsD;AAEtD,MAAM,eAAe,GAAG;IACpB,IAAI,EAAE,yCAAyC;IAC/C,SAAS,EAAE,cAAS;IACpB,MAAM,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,qCAAqC;QAC5C,MAAM,EAAE,IAAA,2DAA+B,EACnC,kBAAe,CAAC,YAAY,CAAkC,CACjE;QACD,OAAO,EAAE;YACL,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE;gBACH;oBACI,OAAO,EAAE,WAAW;oBACpB,IAAI,EAAE,mBAAmB;oBACzB,KAAK,EAAE,iBAAiB;iBAC3B;gBACD;oBACI,IAAI,EAAE,oBAAoB;oBAC1B,KAAK,EAAE,kBAAkB;oBACzB,OAAO,EAAE,YAAY;iBACxB;aACJ;SACJ;QACD,UAAU,EAAE,cAAI;KACnB;CACJ,CAAC;AAEF,kBAAe,eAAe,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {generateFormFieldsFromAjvSchema} from '../../form-generator-v2/utils/generateFormFieldsFromAjv';\n\nimport TabsBlock from './Tabs';\nimport icon from './icon';\nimport {TabsBlock as TabsBlockSchema} from './schema';\n\nconst TabsBlockConfig = {\n type: '@gravity-ui/page-constructor/tabs-block',\n component: TabsBlock,\n schema: {\n name: 'Tabs Block',\n group: '@gravity-ui/page-constructor/Blocks',\n inputs: generateFormFieldsFromAjvSchema(\n TabsBlockSchema['tabs-block'] as unknown as JSONSchemaType<{}>,\n ),\n default: {\n title: 'Tabs Block',\n items: [\n {\n tabName: 'First Tab',\n text: 'First Tab Content',\n title: 'First Tab Title',\n },\n {\n text: 'Second Tab Content',\n title: 'Second Tab Title',\n tabName: 'Second Tab',\n },\n ],\n },\n previewImg: icon,\n },\n};\n\nexport default TabsBlockConfig;\n"]}
@@ -7,7 +7,7 @@ const tslib_1 = require("tslib");
7
7
  const React = tslib_1.__importStar(require("react"));
8
8
  function requestActionPostMessage(action, data, destinationElement) {
9
9
  const message = { action, data };
10
- destinationElement.postMessage(message);
10
+ destinationElement.postMessage(message, '*');
11
11
  }
12
12
  function listenPostMessageEvents(action, callback) {
13
13
  const onMessage = (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"postMessage.js","sourceRoot":"../../../src","sources":["common/postMessage.ts"],"names":[],"mappings":";;AAIA,4DAOC;AAED,0DAmBC;AAED,8DASC;;AA3CD,qDAA+B;AAI/B,SAAgB,wBAAwB,CACpC,MAAS,EACT,IAA2B,EAC3B,kBAA0B;IAE1B,MAAM,OAAO,GAAG,EAAC,MAAM,EAAE,IAAI,EAA6B,CAAC;IAC3D,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,uBAAuB,CACnC,MAAS,EACT,QAA8C;IAE9C,MAAM,SAAS,GAAG,CAAC,CAAe,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAgC,CAAC;QAEnD,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACnD,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE9C,OAAO,GAAG,EAAE;QACR,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,yBAAyB,CACrC,MAAS,EACT,QAA8C,EAC9C,OAAkB,EAAE;IAEpB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,OAAO,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjD,uDAAuD;IAC3D,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAClB,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ActionMessageTypes, EventMessageTypes, PostMessageAPIMessage} from './types';\n\nexport function requestActionPostMessage<K extends keyof ActionMessageTypes>(\n action: K,\n data: ActionMessageTypes[K],\n destinationElement: Window,\n) {\n const message = {action, data} as PostMessageAPIMessage<K>;\n destinationElement.postMessage(message);\n}\n\nexport function listenPostMessageEvents<K extends keyof EventMessageTypes>(\n action: K,\n callback: (data: EventMessageTypes[K]) => void,\n) {\n const onMessage = (e: MessageEvent) => {\n const message = e.data as PostMessageAPIMessage<K>;\n\n if ('action' in message && message.action === action) {\n return callback(message.data);\n }\n\n return undefined;\n };\n\n window.addEventListener('message', onMessage);\n\n return () => {\n window.removeEventListener('message', onMessage);\n };\n}\n\nexport function usePostMessageAPIListener<K extends keyof EventMessageTypes>(\n action: K,\n callback: (data: EventMessageTypes[K]) => void,\n deps: unknown[] = [],\n) {\n React.useEffect(() => {\n return listenPostMessageEvents(action, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...deps]);\n}\n"]}
1
+ {"version":3,"file":"postMessage.js","sourceRoot":"../../../src","sources":["common/postMessage.ts"],"names":[],"mappings":";;AAIA,4DAOC;AAED,0DAmBC;AAED,8DASC;;AA3CD,qDAA+B;AAI/B,SAAgB,wBAAwB,CACpC,MAAS,EACT,IAA2B,EAC3B,kBAA0B;IAE1B,MAAM,OAAO,GAAG,EAAC,MAAM,EAAE,IAAI,EAA6B,CAAC;IAC3D,kBAAkB,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,SAAgB,uBAAuB,CACnC,MAAS,EACT,QAA8C;IAE9C,MAAM,SAAS,GAAG,CAAC,CAAe,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAgC,CAAC;QAEnD,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACnD,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE9C,OAAO,GAAG,EAAE;QACR,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,yBAAyB,CACrC,MAAS,EACT,QAA8C,EAC9C,OAAkB,EAAE;IAEpB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,OAAO,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjD,uDAAuD;IAC3D,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAClB,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ActionMessageTypes, EventMessageTypes, PostMessageAPIMessage} from './types';\n\nexport function requestActionPostMessage<K extends keyof ActionMessageTypes>(\n action: K,\n data: ActionMessageTypes[K],\n destinationElement: Window,\n) {\n const message = {action, data} as PostMessageAPIMessage<K>;\n destinationElement.postMessage(message, '*');\n}\n\nexport function listenPostMessageEvents<K extends keyof EventMessageTypes>(\n action: K,\n callback: (data: EventMessageTypes[K]) => void,\n) {\n const onMessage = (e: MessageEvent) => {\n const message = e.data as PostMessageAPIMessage<K>;\n\n if ('action' in message && message.action === action) {\n return callback(message.data);\n }\n\n return undefined;\n };\n\n window.addEventListener('message', onMessage);\n\n return () => {\n window.removeEventListener('message', onMessage);\n };\n}\n\nexport function usePostMessageAPIListener<K extends keyof EventMessageTypes>(\n action: K,\n callback: (data: EventMessageTypes[K]) => void,\n deps: unknown[] = [],\n) {\n React.useEffect(() => {\n return listenPostMessageEvents(action, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...deps]);\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  import * as React from 'react';
2
- import '@diplodoc/transform/dist/js/yfm';
3
2
  import type { PageConstructorWrapper } from "../../common/types/index.js";
4
3
  import { BlockData, blockMap, navItemMap, subBlockMap } from "../../constructor-items.js";
5
4
  import { Fields } from "../../form-generator-v2/types.js";
@@ -4,7 +4,6 @@ exports.PageConstructor = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
7
- require("@diplodoc/transform/dist/js/yfm");
8
7
  const RootCn_1 = tslib_1.__importDefault(require("../../components/RootCn/index.js"));
9
8
  const constructor_items_1 = require("../../constructor-items.js");
10
9
  const blockRegistryContext_1 = require("../../context/blockRegistryContext/index.js");
@@ -1 +1 @@
1
- {"version":3,"file":"PageConstructor.js","sourceRoot":"../../../../src","sources":["containers/PageConstructor/PageConstructor.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport '@diplodoc/transform/dist/js/yfm';\n\nimport type {PageConstructorWrapper} from '../../common/types';\nimport RootCn from '../../components/RootCn';\nimport {BlockData, blockMap, navItemMap, subBlockMap} from '../../constructor-items';\nimport {BlockRegistryContext, useBlockRegistryProvider} from '../../context/blockRegistryContext';\nimport {BlocksContext} from '../../context/blocksContext';\nimport {InnerContext} from '../../context/innerContext';\nimport {Fields} from '../../form-generator-v2/types';\nimport {usePCEditorInitializeEvents} from '../../hooks/usePCEditorInitializeEvents';\nimport {usePCEditorStore} from '../../hooks/usePCEditorStore';\nimport {\n BlockWrapperDataProps,\n CustomConfig,\n CustomItems,\n PageContent,\n ShouldRenderBlock,\n} from '../../models';\nimport {block as cnBlock, getCustomItems} from '../../utils';\n\nimport {ConstructorBlocks} from './components';\nimport {ConstructorRow} from './components/ConstructorRow';\n\nimport './PageConstructor.scss';\n\nexport interface PageConstructorExtension<\n GlobalConfig extends Object = {},\n WrapperProps extends Object = {},\n BlockWrapperProps extends Object = {},\n> {\n name: string;\n id: string;\n settings: {\n ContentWrapper?: PageConstructorWrapper<WrapperProps>;\n contentWrapperProps?: WrapperProps;\n globalInputs?: Fields;\n globalDefaults?: GlobalConfig;\n blockWrapper?: React.ComponentType<\n BlockWrapperDataProps<BlockWrapperProps> & React.PropsWithChildren\n >;\n blockWrapperProps?: BlockWrapperProps;\n blockInputs?: Fields;\n };\n}\n\nconst b = cnBlock('page-constructor');\n\nexport type ItemMap = typeof blockMap & typeof subBlockMap & CustomItems;\n\nexport type NavItemMap = typeof navItemMap & CustomItems;\n\nexport interface PageConstructorProps {\n content?: PageContent;\n shouldRenderBlock?: ShouldRenderBlock;\n custom?: CustomConfig;\n blocks?: Array<BlockData>;\n extensions?: Array<PageConstructorExtension>;\n}\n\nexport const PageConstructor = (props: PageConstructorProps) => {\n const {\n content: initialContent = {blocks: []},\n shouldRenderBlock,\n custom,\n blocks: availableLocalBlocks = [],\n extensions: extensionsProp,\n } = props;\n\n const extensions = React.useMemo(() => extensionsProp ?? [], [extensionsProp]);\n\n const {blocks: availableGlobalBlocks} = React.useContext(BlocksContext);\n\n const availableBlocks = React.useMemo(\n () => [...availableGlobalBlocks, ...availableLocalBlocks],\n [availableGlobalBlocks, availableLocalBlocks],\n );\n\n const globalDefaults = extensions.reduce(\n (acc, extension) => ({\n ...acc,\n ...(extension.settings.globalDefaults || {}),\n }),\n {},\n );\n\n const [content, setContent] = React.useState<PageContent>({\n ...globalDefaults,\n ...initialContent,\n });\n\n const store = usePCEditorStore();\n const {initialized} = store;\n\n const blockRegistry = useBlockRegistryProvider();\n\n const blockWrappers = React.useMemo(\n () =>\n extensions.flatMap((ext) =>\n ext.settings.blockWrapper\n ? [\n {\n wrapper: ext.settings.blockWrapper,\n props: ext.settings.blockWrapperProps ?? {},\n },\n ]\n : [],\n ),\n [extensions],\n );\n\n const blockInputs = React.useMemo(\n () =>\n extensions.reduce<Fields>(\n (acc, ext) => [...acc, ...((ext.settings.blockInputs || []) as Fields)],\n [],\n ),\n [extensions],\n );\n\n usePCEditorInitializeEvents({\n initialContent: content,\n setContent,\n blocks: availableBlocks,\n global: extensions.reduce<Fields>(\n (acc, extension) => [...acc, ...((extension.settings.globalInputs || []) as Fields)],\n [],\n ),\n blockInputs,\n registry: blockRegistry,\n });\n\n const context = React.useMemo(\n () => ({\n blocks: availableBlocks,\n navItemMap: {\n ...navItemMap,\n ...getCustomItems(['navigation'], custom),\n },\n loadables: custom?.loadable,\n shouldRenderBlock,\n blockWrappers,\n content,\n setContent,\n }),\n [custom, shouldRenderBlock, availableBlocks, content, setContent, blockWrappers],\n );\n\n const restBlocks = content.blocks;\n\n const blocksContent = restBlocks && (\n <ConstructorRow>\n <ConstructorBlocks items={restBlocks} />\n </ConstructorRow>\n );\n\n // Apply extensions (wrappers) from outermost to innermost\n const wrappedContent = extensions.reduceRight<React.ReactNode>(\n (children, extension) =>\n extension.settings.ContentWrapper ? (\n <extension.settings.ContentWrapper\n {...(extension.settings.contentWrapperProps || {})}\n >\n {children}\n </extension.settings.ContentWrapper>\n ) : (\n children\n ),\n blocksContent || null,\n );\n\n return (\n <BlockRegistryContext.Provider value={blockRegistry}>\n <InnerContext.Provider value={context}>\n <RootCn className={b('', {['with-editor']: initialized})}>{wrappedContent}</RootCn>\n </InnerContext.Provider>\n </BlockRegistryContext.Provider>\n );\n};\n"]}
1
+ {"version":3,"file":"PageConstructor.js","sourceRoot":"../../../../src","sources":["containers/PageConstructor/PageConstructor.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport type {PageConstructorWrapper} from '../../common/types';\nimport RootCn from '../../components/RootCn';\nimport {BlockData, blockMap, navItemMap, subBlockMap} from '../../constructor-items';\nimport {BlockRegistryContext, useBlockRegistryProvider} from '../../context/blockRegistryContext';\nimport {BlocksContext} from '../../context/blocksContext';\nimport {InnerContext} from '../../context/innerContext';\nimport {Fields} from '../../form-generator-v2/types';\nimport {usePCEditorInitializeEvents} from '../../hooks/usePCEditorInitializeEvents';\nimport {usePCEditorStore} from '../../hooks/usePCEditorStore';\nimport {\n BlockWrapperDataProps,\n CustomConfig,\n CustomItems,\n PageContent,\n ShouldRenderBlock,\n} from '../../models';\nimport {block as cnBlock, getCustomItems} from '../../utils';\n\nimport {ConstructorBlocks} from './components';\nimport {ConstructorRow} from './components/ConstructorRow';\n\nimport './PageConstructor.scss';\n\nexport interface PageConstructorExtension<\n GlobalConfig extends Object = {},\n WrapperProps extends Object = {},\n BlockWrapperProps extends Object = {},\n> {\n name: string;\n id: string;\n settings: {\n ContentWrapper?: PageConstructorWrapper<WrapperProps>;\n contentWrapperProps?: WrapperProps;\n globalInputs?: Fields;\n globalDefaults?: GlobalConfig;\n blockWrapper?: React.ComponentType<\n BlockWrapperDataProps<BlockWrapperProps> & React.PropsWithChildren\n >;\n blockWrapperProps?: BlockWrapperProps;\n blockInputs?: Fields;\n };\n}\n\nconst b = cnBlock('page-constructor');\n\nexport type ItemMap = typeof blockMap & typeof subBlockMap & CustomItems;\n\nexport type NavItemMap = typeof navItemMap & CustomItems;\n\nexport interface PageConstructorProps {\n content?: PageContent;\n shouldRenderBlock?: ShouldRenderBlock;\n custom?: CustomConfig;\n blocks?: Array<BlockData>;\n extensions?: Array<PageConstructorExtension>;\n}\n\nexport const PageConstructor = (props: PageConstructorProps) => {\n const {\n content: initialContent = {blocks: []},\n shouldRenderBlock,\n custom,\n blocks: availableLocalBlocks = [],\n extensions: extensionsProp,\n } = props;\n\n const extensions = React.useMemo(() => extensionsProp ?? [], [extensionsProp]);\n\n const {blocks: availableGlobalBlocks} = React.useContext(BlocksContext);\n\n const availableBlocks = React.useMemo(\n () => [...availableGlobalBlocks, ...availableLocalBlocks],\n [availableGlobalBlocks, availableLocalBlocks],\n );\n\n const globalDefaults = extensions.reduce(\n (acc, extension) => ({\n ...acc,\n ...(extension.settings.globalDefaults || {}),\n }),\n {},\n );\n\n const [content, setContent] = React.useState<PageContent>({\n ...globalDefaults,\n ...initialContent,\n });\n\n const store = usePCEditorStore();\n const {initialized} = store;\n\n const blockRegistry = useBlockRegistryProvider();\n\n const blockWrappers = React.useMemo(\n () =>\n extensions.flatMap((ext) =>\n ext.settings.blockWrapper\n ? [\n {\n wrapper: ext.settings.blockWrapper,\n props: ext.settings.blockWrapperProps ?? {},\n },\n ]\n : [],\n ),\n [extensions],\n );\n\n const blockInputs = React.useMemo(\n () =>\n extensions.reduce<Fields>(\n (acc, ext) => [...acc, ...((ext.settings.blockInputs || []) as Fields)],\n [],\n ),\n [extensions],\n );\n\n usePCEditorInitializeEvents({\n initialContent: content,\n setContent,\n blocks: availableBlocks,\n global: extensions.reduce<Fields>(\n (acc, extension) => [...acc, ...((extension.settings.globalInputs || []) as Fields)],\n [],\n ),\n blockInputs,\n registry: blockRegistry,\n });\n\n const context = React.useMemo(\n () => ({\n blocks: availableBlocks,\n navItemMap: {\n ...navItemMap,\n ...getCustomItems(['navigation'], custom),\n },\n loadables: custom?.loadable,\n shouldRenderBlock,\n blockWrappers,\n content,\n setContent,\n }),\n [custom, shouldRenderBlock, availableBlocks, content, setContent, blockWrappers],\n );\n\n const restBlocks = content.blocks;\n\n const blocksContent = restBlocks && (\n <ConstructorRow>\n <ConstructorBlocks items={restBlocks} />\n </ConstructorRow>\n );\n\n // Apply extensions (wrappers) from outermost to innermost\n const wrappedContent = extensions.reduceRight<React.ReactNode>(\n (children, extension) =>\n extension.settings.ContentWrapper ? (\n <extension.settings.ContentWrapper\n {...(extension.settings.contentWrapperProps || {})}\n >\n {children}\n </extension.settings.ContentWrapper>\n ) : (\n children\n ),\n blocksContent || null,\n );\n\n return (\n <BlockRegistryContext.Provider value={blockRegistry}>\n <InnerContext.Provider value={context}>\n <RootCn className={b('', {['with-editor']: initialized})}>{wrappedContent}</RootCn>\n </InnerContext.Provider>\n </BlockRegistryContext.Provider>\n );\n};\n"]}
@@ -10,9 +10,14 @@ const b = (0, cn_1.editorCn)('big-overlay');
10
10
  const BigOverlay = ({ className }) => {
11
11
  const { manipulateOverlayMode } = (0, useMainEditorStore_1.useMainEditorStore)();
12
12
  const [mousePosition, setMousePosition] = React.useState(undefined);
13
+ const overlayRef = React.useRef(null);
13
14
  React.useEffect(() => {
14
15
  const onMouseMove = (event) => {
15
- setMousePosition({ x: event.clientX, y: event.clientY });
16
+ const rect = overlayRef.current?.getBoundingClientRect();
17
+ setMousePosition({
18
+ x: event.clientX - (rect?.left ?? 0),
19
+ y: event.clientY - (rect?.top ?? 0),
20
+ });
16
21
  };
17
22
  const onMouseUp = () => {
18
23
  setMousePosition(undefined);
@@ -26,7 +31,7 @@ const BigOverlay = ({ className }) => {
26
31
  document.removeEventListener('mouseup', onMouseUp);
27
32
  };
28
33
  }, []);
29
- return ((0, jsx_runtime_1.jsx)("div", { className: b(null, className), children: mousePosition && manipulateOverlayMode ? ((0, jsx_runtime_1.jsx)("div", { className: b('border'), style: {
34
+ return ((0, jsx_runtime_1.jsx)("div", { ref: overlayRef, className: b(null, className), children: mousePosition && manipulateOverlayMode ? ((0, jsx_runtime_1.jsx)("div", { className: b('border'), style: {
30
35
  top: mousePosition.y,
31
36
  left: mousePosition.x,
32
37
  }, children: (0, jsx_runtime_1.jsx)(icons_1.Stop, { height: 20, width: 20 }) })) : null }));
@@ -1 +1 @@
1
- {"version":3,"file":"BigOverlay.js","sourceRoot":"../../../../../src","sources":["editor-v2/containers/BigOverlay/BigOverlay.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,6CAAuC;AAEvC,0EAAkE;AAClE,0CAAwC;AAIxC,MAAM,CAAC,GAAG,IAAA,aAAQ,EAAC,aAAa,CAAC,CAAC;AAElC,MAAM,UAAU,GAAG,CAAC,EAAC,SAAS,EAAuB,EAAE,EAAE;IACrD,MAAM,EAAC,qBAAqB,EAAC,GAAG,IAAA,uCAAkB,GAAE,CAAC;IACrD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CACpD,SAAS,CACZ,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAE,EAAE;YACtC,gBAAgB,CAAC,EAAC,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAC,CAAC,CAAC;QAC3D,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,GAAG,EAAE;YACnB,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACpD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACpD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAEhD,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACvD,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACvD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,gCAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,YAC7B,aAAa,IAAI,qBAAqB,CAAC,CAAC,CAAC,CACtC,gCACI,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EACtB,KAAK,EAAE;gBACH,GAAG,EAAE,aAAa,CAAC,CAAC;gBACpB,IAAI,EAAE,aAAa,CAAC,CAAC;aACxB,YAED,uBAAC,YAAI,IAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAI,GAC7B,CACT,CAAC,CAAC,CAAC,IAAI,GACN,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Stop} from '@gravity-ui/icons';\n\nimport {useMainEditorStore} from '../../hooks/useMainEditorStore';\nimport {editorCn} from '../../utils/cn';\n\nimport './BigOverlay.scss';\n\nconst b = editorCn('big-overlay');\n\nconst BigOverlay = ({className}: {className?: string}) => {\n const {manipulateOverlayMode} = useMainEditorStore();\n const [mousePosition, setMousePosition] = React.useState<{x: number; y: number} | undefined>(\n undefined,\n );\n\n React.useEffect(() => {\n const onMouseMove = (event: MouseEvent) => {\n setMousePosition({x: event.clientX, y: event.clientY});\n };\n\n const onMouseUp = () => {\n setMousePosition(undefined);\n };\n\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mousedown', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n\n return () => {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mousedown', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n };\n }, []);\n\n return (\n <div className={b(null, className)}>\n {mousePosition && manipulateOverlayMode ? (\n <div\n className={b('border')}\n style={{\n top: mousePosition.y,\n left: mousePosition.x,\n }}\n >\n <Stop height={20} width={20} />\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default BigOverlay;\n"]}
1
+ {"version":3,"file":"BigOverlay.js","sourceRoot":"../../../../../src","sources":["editor-v2/containers/BigOverlay/BigOverlay.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,6CAAuC;AAEvC,0EAAkE;AAClE,0CAAwC;AAIxC,MAAM,CAAC,GAAG,IAAA,aAAQ,EAAC,aAAa,CAAC,CAAC;AAElC,MAAM,UAAU,GAAG,CAAC,EAAC,SAAS,EAAuB,EAAE,EAAE;IACrD,MAAM,EAAC,qBAAqB,EAAC,GAAG,IAAA,uCAAkB,GAAE,CAAC;IACrD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CACpD,SAAS,CACZ,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEtD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;YACzD,gBAAgB,CAAC;gBACb,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;gBACpC,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;aACtC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,GAAG,EAAE;YACnB,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACpD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACpD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAEhD,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACvD,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACvD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,gCAAK,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,YAC9C,aAAa,IAAI,qBAAqB,CAAC,CAAC,CAAC,CACtC,gCACI,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EACtB,KAAK,EAAE;gBACH,GAAG,EAAE,aAAa,CAAC,CAAC;gBACpB,IAAI,EAAE,aAAa,CAAC,CAAC;aACxB,YAED,uBAAC,YAAI,IAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAI,GAC7B,CACT,CAAC,CAAC,CAAC,IAAI,GACN,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Stop} from '@gravity-ui/icons';\n\nimport {useMainEditorStore} from '../../hooks/useMainEditorStore';\nimport {editorCn} from '../../utils/cn';\n\nimport './BigOverlay.scss';\n\nconst b = editorCn('big-overlay');\n\nconst BigOverlay = ({className}: {className?: string}) => {\n const {manipulateOverlayMode} = useMainEditorStore();\n const [mousePosition, setMousePosition] = React.useState<{x: number; y: number} | undefined>(\n undefined,\n );\n const overlayRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n const onMouseMove = (event: MouseEvent) => {\n const rect = overlayRef.current?.getBoundingClientRect();\n setMousePosition({\n x: event.clientX - (rect?.left ?? 0),\n y: event.clientY - (rect?.top ?? 0),\n });\n };\n\n const onMouseUp = () => {\n setMousePosition(undefined);\n };\n\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mousedown', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n\n return () => {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mousedown', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n };\n }, []);\n\n return (\n <div ref={overlayRef} className={b(null, className)}>\n {mousePosition && manipulateOverlayMode ? (\n <div\n className={b('border')}\n style={{\n top: mousePosition.y,\n left: mousePosition.x,\n }}\n >\n <Stop height={20} width={20} />\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default BigOverlay;\n"]}
@@ -5,7 +5,7 @@ interface SidebarTabComponent {
5
5
  title: string;
6
6
  component: React.ElementType;
7
7
  }
8
- interface ComponentsConfig {
8
+ interface EditorSlots {
9
9
  middleTop?: React.ElementType;
10
10
  leftTop?: React.ElementType[];
11
11
  rightTop?: React.ElementType[];
@@ -19,8 +19,8 @@ export interface EditorProviderProps {
19
19
  }
20
20
  export interface EditorViewProps {
21
21
  onUpdate?: (pageContent: PageContent) => void;
22
- initialContent?: PageContent;
23
- componentsConfig?: ComponentsConfig;
22
+ content?: PageContent;
23
+ slots?: EditorSlots;
24
24
  }
25
25
  type EditorProps = Omit<EditorProviderProps, 'children'> & EditorViewProps;
26
26
  export declare const EditorProvider: ({ initialUrl, disableUrlField, children }: EditorProviderProps) => import("react/jsx-runtime").JSX.Element;
@@ -18,10 +18,10 @@ const cn_1 = require("../../utils/cn.js");
18
18
  const Source_1 = tslib_1.__importDefault(require("../Source/Source.js"));
19
19
  const ViewSwitches_1 = tslib_1.__importDefault(require("../ViewSwitches/ViewSwitches.js"));
20
20
  const b = (0, cn_1.editorCn)('editor');
21
- const EditorViewInternal = ({ componentsConfig = {}, initialContent }) => {
21
+ const EditorViewInternal = ({ slots = {}, content }) => {
22
22
  const store = (0, useMainEditorStore_1.useMainEditorStore)();
23
23
  const { manipulateOverlayMode, disableMode, undo, redo } = store;
24
- (0, useMainEditorInitialize_1.default)(initialContent);
24
+ (0, useMainEditorInitialize_1.default)(content);
25
25
  (0, postMessage_1.usePostMessageAPIListener)('ON_EDITOR_UNDO', () => {
26
26
  undo();
27
27
  }, [undo]);
@@ -59,10 +59,10 @@ const EditorViewInternal = ({ componentsConfig = {}, initialContent }) => {
59
59
  disableMode();
60
60
  }
61
61
  }, [disableMode, manipulateOverlayMode]);
62
- const { left, right } = (0, useEditorTabs_1.useEditorTabs)(componentsConfig);
62
+ const { left, right } = (0, useEditorTabs_1.useEditorTabs)(slots);
63
63
  return (
64
64
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
65
- (0, jsx_runtime_1.jsxs)("div", { className: b(), onMouseUp: onMouseUp, children: [(0, jsx_runtime_1.jsx)("div", { className: b('body'), children: (0, jsx_runtime_1.jsx)(Panels_1.Panels, { left: (0, jsx_runtime_1.jsx)(Sidebar_1.Sidebar, { tabs: left, top: componentsConfig.leftTop }), right: (0, jsx_runtime_1.jsx)(Sidebar_1.Sidebar, { tabs: right, top: [...(componentsConfig.rightTop || []), Source_1.default, ViewSwitches_1.default], defaultTab: "block-config" }), middle: (0, jsx_runtime_1.jsx)(MiddleScreen_1.default, { CustomTop: componentsConfig.middleTop }) }) }), (0, jsx_runtime_1.jsx)(BigOverlay_1.default, { className: b('overlay') })] }));
65
+ (0, jsx_runtime_1.jsxs)("div", { className: b(), onMouseUp: onMouseUp, children: [(0, jsx_runtime_1.jsx)("div", { className: b('body'), children: (0, jsx_runtime_1.jsx)(Panels_1.Panels, { left: (0, jsx_runtime_1.jsx)(Sidebar_1.Sidebar, { tabs: left, top: slots.leftTop }), right: (0, jsx_runtime_1.jsx)(Sidebar_1.Sidebar, { tabs: right, top: [...(slots.rightTop || []), Source_1.default, ViewSwitches_1.default], defaultTab: "block-config" }), middle: (0, jsx_runtime_1.jsx)(MiddleScreen_1.default, { CustomTop: slots.middleTop }) }) }), (0, jsx_runtime_1.jsx)(BigOverlay_1.default, { className: b('overlay') })] }));
66
66
  };
67
67
  const EditorProvider = ({ initialUrl, disableUrlField, children }) => {
68
68
  return ((0, jsx_runtime_1.jsx)(iframeContext_1.IframeProvider, { initialUrl: initialUrl, disableUrlField: disableUrlField, children: (0, jsx_runtime_1.jsx)(editorStore_1.MainEditorStoreProvider, { children: children }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"Editor.js","sourceRoot":"../../../../../src","sources":["editor-v2/containers/Editor/Editor.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {usePostMessageAPIListener} from '../../../common/postMessage';\nimport {PageContent} from '../../../models';\nimport {Panels} from '../../components/Panels/Panels';\nimport {Sidebar} from '../../components/Sidebar/Sidebar';\nimport BigOverlay from '../../containers/BigOverlay/BigOverlay';\nimport MiddleScreen from '../../containers/MiddleScreen/MiddleScreen';\nimport {MainEditorStoreProvider} from '../../context/editorStore';\nimport {IframeProvider} from '../../context/iframeContext';\nimport {useEditorTabs} from '../../hooks/useEditorTabs';\nimport useMainEditorInitialize from '../../hooks/useMainEditorInitialize';\nimport {useMainEditorStore} from '../../hooks/useMainEditorStore';\nimport {editorCn} from '../../utils/cn';\nimport Source from '../Source/Source';\nimport ViewSwitches from '../ViewSwitches/ViewSwitches';\n\nimport './Editor.scss';\n\nconst b = editorCn('editor');\n\ninterface SidebarTabComponent {\n id: string;\n title: string;\n component: React.ElementType;\n}\n\ninterface ComponentsConfig {\n middleTop?: React.ElementType;\n leftTop?: React.ElementType[];\n rightTop?: React.ElementType[];\n leftTabs?: SidebarTabComponent[];\n rightTabs?: SidebarTabComponent[];\n}\n\nexport interface EditorProviderProps {\n initialUrl: string;\n disableUrlField?: boolean;\n children: React.ReactNode;\n}\n\nexport interface EditorViewProps {\n onUpdate?: (pageContent: PageContent) => void;\n initialContent?: PageContent;\n componentsConfig?: ComponentsConfig;\n}\n\ntype EditorProps = Omit<EditorProviderProps, 'children'> & EditorViewProps;\n\nconst EditorViewInternal = ({componentsConfig = {}, initialContent}: EditorViewProps) => {\n const store = useMainEditorStore();\n const {manipulateOverlayMode, disableMode, undo, redo} = store;\n\n useMainEditorInitialize(initialContent);\n\n usePostMessageAPIListener(\n 'ON_EDITOR_UNDO',\n () => {\n undo();\n },\n [undo],\n );\n usePostMessageAPIListener(\n 'ON_EDITOR_REDO',\n () => {\n redo();\n },\n [redo],\n );\n\n React.useEffect(() => {\n const onKeyDown = (e: KeyboardEvent) => {\n if (!(e.metaKey || e.ctrlKey)) {\n return;\n }\n\n if (e.key.toLowerCase() !== 'z') {\n return;\n }\n\n const target = e.target as HTMLElement | null;\n if (target?.closest('input, textarea, select, [contenteditable=\"true\"]')) {\n return;\n }\n\n e.preventDefault();\n\n if (e.shiftKey) {\n redo();\n } else {\n undo();\n }\n };\n\n window.addEventListener('keydown', onKeyDown, true);\n\n return () => window.removeEventListener('keydown', onKeyDown, true);\n }, [redo, undo]);\n\n // Disable insert mode on any MouseUp event\n // Maybe should be attached to body\n const onMouseUp = React.useCallback(\n (e: React.MouseEvent) => {\n if (manipulateOverlayMode) {\n e.preventDefault();\n disableMode();\n }\n },\n [disableMode, manipulateOverlayMode],\n );\n const {left, right} = useEditorTabs(componentsConfig);\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div className={b()} onMouseUp={onMouseUp}>\n <div className={b('body')}>\n <Panels\n left={<Sidebar tabs={left} top={componentsConfig.leftTop} />}\n right={\n <Sidebar\n tabs={right}\n top={[...(componentsConfig.rightTop || []), Source, ViewSwitches]}\n defaultTab=\"block-config\"\n />\n }\n middle={<MiddleScreen CustomTop={componentsConfig.middleTop} />}\n />\n </div>\n <BigOverlay className={b('overlay')} />\n </div>\n );\n};\n\nexport const EditorProvider = ({initialUrl, disableUrlField, children}: EditorProviderProps) => {\n return (\n <IframeProvider initialUrl={initialUrl} disableUrlField={disableUrlField}>\n <MainEditorStoreProvider>{children}</MainEditorStoreProvider>\n </IframeProvider>\n );\n};\n\nexport const EditorView = (props: EditorViewProps) => <EditorViewInternal {...props} />;\n\nexport const Editor = (props: EditorProps) => {\n return (\n <EditorProvider initialUrl={props.initialUrl} disableUrlField={props.disableUrlField}>\n <EditorView {...props} />\n </EditorProvider>\n );\n};\n"]}
1
+ {"version":3,"file":"Editor.js","sourceRoot":"../../../../../src","sources":["editor-v2/containers/Editor/Editor.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {usePostMessageAPIListener} from '../../../common/postMessage';\nimport {PageContent} from '../../../models';\nimport {Panels} from '../../components/Panels/Panels';\nimport {Sidebar} from '../../components/Sidebar/Sidebar';\nimport BigOverlay from '../../containers/BigOverlay/BigOverlay';\nimport MiddleScreen from '../../containers/MiddleScreen/MiddleScreen';\nimport {MainEditorStoreProvider} from '../../context/editorStore';\nimport {IframeProvider} from '../../context/iframeContext';\nimport {useEditorTabs} from '../../hooks/useEditorTabs';\nimport useMainEditorInitialize from '../../hooks/useMainEditorInitialize';\nimport {useMainEditorStore} from '../../hooks/useMainEditorStore';\nimport {editorCn} from '../../utils/cn';\nimport Source from '../Source/Source';\nimport ViewSwitches from '../ViewSwitches/ViewSwitches';\n\nimport './Editor.scss';\n\nconst b = editorCn('editor');\n\ninterface SidebarTabComponent {\n id: string;\n title: string;\n component: React.ElementType;\n}\n\ninterface EditorSlots {\n middleTop?: React.ElementType;\n leftTop?: React.ElementType[];\n rightTop?: React.ElementType[];\n leftTabs?: SidebarTabComponent[];\n rightTabs?: SidebarTabComponent[];\n}\n\nexport interface EditorProviderProps {\n initialUrl: string;\n disableUrlField?: boolean;\n children: React.ReactNode;\n}\n\nexport interface EditorViewProps {\n onUpdate?: (pageContent: PageContent) => void;\n content?: PageContent;\n slots?: EditorSlots;\n}\n\ntype EditorProps = Omit<EditorProviderProps, 'children'> & EditorViewProps;\n\nconst EditorViewInternal = ({slots = {}, content}: EditorViewProps) => {\n const store = useMainEditorStore();\n const {manipulateOverlayMode, disableMode, undo, redo} = store;\n\n useMainEditorInitialize(content);\n\n usePostMessageAPIListener(\n 'ON_EDITOR_UNDO',\n () => {\n undo();\n },\n [undo],\n );\n usePostMessageAPIListener(\n 'ON_EDITOR_REDO',\n () => {\n redo();\n },\n [redo],\n );\n\n React.useEffect(() => {\n const onKeyDown = (e: KeyboardEvent) => {\n if (!(e.metaKey || e.ctrlKey)) {\n return;\n }\n\n if (e.key.toLowerCase() !== 'z') {\n return;\n }\n\n const target = e.target as HTMLElement | null;\n if (target?.closest('input, textarea, select, [contenteditable=\"true\"]')) {\n return;\n }\n\n e.preventDefault();\n\n if (e.shiftKey) {\n redo();\n } else {\n undo();\n }\n };\n\n window.addEventListener('keydown', onKeyDown, true);\n\n return () => window.removeEventListener('keydown', onKeyDown, true);\n }, [redo, undo]);\n\n // Disable insert mode on any MouseUp event\n // Maybe should be attached to body\n const onMouseUp = React.useCallback(\n (e: React.MouseEvent) => {\n if (manipulateOverlayMode) {\n e.preventDefault();\n disableMode();\n }\n },\n [disableMode, manipulateOverlayMode],\n );\n const {left, right} = useEditorTabs(slots);\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div className={b()} onMouseUp={onMouseUp}>\n <div className={b('body')}>\n <Panels\n left={<Sidebar tabs={left} top={slots.leftTop} />}\n right={\n <Sidebar\n tabs={right}\n top={[...(slots.rightTop || []), Source, ViewSwitches]}\n defaultTab=\"block-config\"\n />\n }\n middle={<MiddleScreen CustomTop={slots.middleTop} />}\n />\n </div>\n <BigOverlay className={b('overlay')} />\n </div>\n );\n};\n\nexport const EditorProvider = ({initialUrl, disableUrlField, children}: EditorProviderProps) => {\n return (\n <IframeProvider initialUrl={initialUrl} disableUrlField={disableUrlField}>\n <MainEditorStoreProvider>{children}</MainEditorStoreProvider>\n </IframeProvider>\n );\n};\n\nexport const EditorView = (props: EditorViewProps) => <EditorViewInternal {...props} />;\n\nexport const Editor = (props: EditorProps) => {\n return (\n <EditorProvider initialUrl={props.initialUrl} disableUrlField={props.disableUrlField}>\n <EditorView {...props} />\n </EditorProvider>\n );\n};\n"]}
@@ -1,3 +1,3 @@
1
1
  import { PageContent } from "../../models/index.js";
2
- declare const useMainEditorInitialize: (initialContent?: PageContent) => void;
2
+ declare const useMainEditorInitialize: (content?: PageContent) => void;
3
3
  export default useMainEditorInitialize;
@@ -5,22 +5,22 @@ const React = tslib_1.__importStar(require("react"));
5
5
  const postMessage_1 = require("../../common/postMessage.js");
6
6
  const useMainEditorStore_1 = require("./useMainEditorStore.js");
7
7
  const usePostMessageEvents_1 = require("./usePostMessageEvents.js");
8
- const useMainEditorInitialize = (initialContent) => {
8
+ const useMainEditorInitialize = (content) => {
9
9
  const { requestPostMessage } = (0, usePostMessageEvents_1.usePostMessageEvents)();
10
10
  const { initialize, setConfig, setContent } = (0, useMainEditorStore_1.useMainEditorStore)();
11
11
  (0, postMessage_1.usePostMessageAPIListener)('ON_INIT', () => {
12
12
  initialize();
13
13
  requestPostMessage('GET_SUPPORTED_BLOCKS', {});
14
- if (!initialContent) {
14
+ if (!content) {
15
15
  requestPostMessage('GET_INITIAL_CONTENT', {});
16
16
  }
17
17
  }, [requestPostMessage]);
18
18
  React.useEffect(() => {
19
- if (initialContent) {
20
- setContent(initialContent, true);
19
+ if (content) {
20
+ setContent(content, true);
21
21
  }
22
22
  // eslint-disable-next-line react-hooks/exhaustive-deps
23
- }, [initialContent]);
23
+ }, [content]);
24
24
  (0, postMessage_1.usePostMessageAPIListener)('ON_INITIAL_CONTENT', (data) => {
25
25
  setContent(data, true);
26
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useMainEditorInitialize.js","sourceRoot":"../../../../src","sources":["editor-v2/hooks/useMainEditorInitialize.ts"],"names":[],"mappings":";;;AAAA,qDAA+B;AAE/B,6DAAmE;AAGnE,gEAAwD;AACxD,oEAA4D;AAE5D,MAAM,uBAAuB,GAAG,CAAC,cAA4B,EAAE,EAAE;IAC7D,MAAM,EAAC,kBAAkB,EAAC,GAAG,IAAA,2CAAoB,GAAE,CAAC;IACpD,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAC,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAEjE,IAAA,uCAAyB,EACrB,SAAS,EACT,GAAG,EAAE;QACD,UAAU,EAAE,CAAC;QACb,kBAAkB,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QAE/C,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,kBAAkB,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC;IACL,CAAC,EACD,CAAC,kBAAkB,CAAC,CACvB,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,cAAc,EAAE,CAAC;YACjB,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,uDAAuD;IAC3D,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,IAAA,uCAAyB,EAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;QACrD,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAA,uCAAyB,EAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;QACtD,SAAS,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,kBAAe,uBAAuB,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {usePostMessageAPIListener} from '../../common/postMessage';\nimport {PageContent} from '../../models';\n\nimport {useMainEditorStore} from './useMainEditorStore';\nimport {usePostMessageEvents} from './usePostMessageEvents';\n\nconst useMainEditorInitialize = (initialContent?: PageContent) => {\n const {requestPostMessage} = usePostMessageEvents();\n const {initialize, setConfig, setContent} = useMainEditorStore();\n\n usePostMessageAPIListener(\n 'ON_INIT',\n () => {\n initialize();\n requestPostMessage('GET_SUPPORTED_BLOCKS', {});\n\n if (!initialContent) {\n requestPostMessage('GET_INITIAL_CONTENT', {});\n }\n },\n [requestPostMessage],\n );\n\n React.useEffect(() => {\n if (initialContent) {\n setContent(initialContent, true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [initialContent]);\n\n usePostMessageAPIListener('ON_INITIAL_CONTENT', (data) => {\n setContent(data, true);\n });\n\n usePostMessageAPIListener('ON_SUPPORTED_BLOCKS', (data) => {\n setConfig(data);\n });\n};\n\nexport default useMainEditorInitialize;\n"]}
1
+ {"version":3,"file":"useMainEditorInitialize.js","sourceRoot":"../../../../src","sources":["editor-v2/hooks/useMainEditorInitialize.ts"],"names":[],"mappings":";;;AAAA,qDAA+B;AAE/B,6DAAmE;AAGnE,gEAAwD;AACxD,oEAA4D;AAE5D,MAAM,uBAAuB,GAAG,CAAC,OAAqB,EAAE,EAAE;IACtD,MAAM,EAAC,kBAAkB,EAAC,GAAG,IAAA,2CAAoB,GAAE,CAAC;IACpD,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAC,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAEjE,IAAA,uCAAyB,EACrB,SAAS,EACT,GAAG,EAAE;QACD,UAAU,EAAE,CAAC;QACb,kBAAkB,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QAE/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,kBAAkB,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC;IACL,CAAC,EACD,CAAC,kBAAkB,CAAC,CACvB,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,OAAO,EAAE,CAAC;YACV,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,uDAAuD;IAC3D,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,IAAA,uCAAyB,EAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;QACrD,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAA,uCAAyB,EAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;QACtD,SAAS,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,kBAAe,uBAAuB,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {usePostMessageAPIListener} from '../../common/postMessage';\nimport {PageContent} from '../../models';\n\nimport {useMainEditorStore} from './useMainEditorStore';\nimport {usePostMessageEvents} from './usePostMessageEvents';\n\nconst useMainEditorInitialize = (content?: PageContent) => {\n const {requestPostMessage} = usePostMessageEvents();\n const {initialize, setConfig, setContent} = useMainEditorStore();\n\n usePostMessageAPIListener(\n 'ON_INIT',\n () => {\n initialize();\n requestPostMessage('GET_SUPPORTED_BLOCKS', {});\n\n if (!content) {\n requestPostMessage('GET_INITIAL_CONTENT', {});\n }\n },\n [requestPostMessage],\n );\n\n React.useEffect(() => {\n if (content) {\n setContent(content, true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [content]);\n\n usePostMessageAPIListener('ON_INITIAL_CONTENT', (data) => {\n setContent(data, true);\n });\n\n usePostMessageAPIListener('ON_SUPPORTED_BLOCKS', (data) => {\n setConfig(data);\n });\n};\n\nexport default useMainEditorInitialize;\n"]}
@@ -39,7 +39,7 @@ const usePCEditorInitializeEvents = ({ initialContent, setContent, blocks, globa
39
39
  });
40
40
  });
41
41
  const onResize = React.useCallback(() => {
42
- const height = document.documentElement.getBoundingClientRect().height;
42
+ const height = document.body.scrollHeight;
43
43
  (0, usePostMessageAPI_1.sendEventPostMessage)('ON_RESIZE', { height });
44
44
  }, []);
45
45
  React.useEffect(() => {
@@ -83,7 +83,7 @@ const usePCEditorInitializeEvents = ({ initialContent, setContent, blocks, globa
83
83
  };
84
84
  }, [onResize]);
85
85
  React.useEffect(() => {
86
- const height = document.documentElement.getBoundingClientRect().height;
86
+ const height = document.body.scrollHeight;
87
87
  (0, usePostMessageAPI_1.sendEventPostMessage)('ON_INIT', { height });
88
88
  }, []);
89
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"usePCEditorInitializeEvents.js","sourceRoot":"../../../src","sources":["hooks/usePCEditorInitializeEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport _ from 'lodash';\n\nimport {toSerializableRect} from '../common/types/rect';\nimport {BlockData} from '../constructor-items';\nimport {BlockRegistry} from '../context/blockRegistryContext';\nimport {Fields} from '../form-generator-v2/types';\nimport {PageContent} from '../models';\n\nimport {usePCEditorStore} from './usePCEditorStore';\nimport {sendEventPostMessage, useInternalPostMessageAPIListener} from './usePostMessageAPI';\n\ninterface UseEditorInitializeProps {\n initialContent: PageContent;\n setContent: (content: PageContent) => void;\n blocks: Array<BlockData>;\n global?: Fields;\n blockInputs?: Fields;\n registry: BlockRegistry | null;\n}\n\nfunction collectRectMap(registry: BlockRegistry) {\n return registry.getEntries().map(({path, element, dropZone}) => {\n const rect = element.getClientRects().item(0) ?? element.getBoundingClientRect();\n return {path, rect: toSerializableRect(rect), dropZone};\n });\n}\n\nexport const usePCEditorInitializeEvents = ({\n initialContent,\n setContent,\n blocks,\n global,\n blockInputs,\n registry,\n}: UseEditorInitializeProps) => {\n const {initialized, content} = usePCEditorStore();\n\n React.useEffect(() => {\n if (initialized) {\n setContent(content);\n }\n }, [content, initialized, setContent]);\n\n useInternalPostMessageAPIListener('GET_INITIAL_CONTENT', () => {\n sendEventPostMessage('ON_INITIAL_CONTENT', initialContent);\n });\n\n useInternalPostMessageAPIListener('GET_SUPPORTED_BLOCKS', () => {\n sendEventPostMessage('ON_SUPPORTED_BLOCKS', {\n blocks: blocks.map((block) => ({\n type: block.type,\n schema: blockInputs?.length\n ? {\n ...block.schema,\n inputs: [...blockInputs, ...(block.schema?.inputs || [])],\n }\n : block.schema,\n })),\n subBlocks: [],\n global: global || [],\n });\n });\n\n const onResize = React.useCallback(() => {\n const height = document.documentElement.getBoundingClientRect().height;\n sendEventPostMessage('ON_RESIZE', {height});\n }, []);\n\n React.useEffect(() => {\n if (!registry) {\n return undefined;\n }\n\n let frame: number | null = null;\n\n const sendRectMap = () => {\n frame = null;\n sendEventPostMessage('ON_UPDATE_RECT_MAP', {rects: collectRectMap(registry)});\n };\n\n const scheduleSend = () => {\n if (frame !== null) {\n return;\n }\n frame = requestAnimationFrame(sendRectMap);\n };\n\n const throttledSchedule = _.throttle(scheduleSend, 100, {leading: true, trailing: true});\n\n const unsubscribe = registry.subscribe(throttledSchedule);\n const observer = new ResizeObserver(throttledSchedule);\n observer.observe(document.body);\n\n // Initial push once registry is ready.\n throttledSchedule();\n\n return () => {\n throttledSchedule.cancel();\n unsubscribe();\n observer.disconnect();\n if (frame !== null) {\n cancelAnimationFrame(frame);\n }\n };\n }, [registry]);\n\n React.useEffect(() => {\n window.addEventListener('resize', onResize);\n const observer = new ResizeObserver(onResize);\n observer.observe(document.documentElement);\n observer.observe(document.body);\n\n return () => {\n window.removeEventListener('resize', onResize);\n observer.disconnect();\n };\n }, [onResize]);\n\n React.useEffect(() => {\n const height = document.documentElement.getBoundingClientRect().height;\n sendEventPostMessage('ON_INIT', {height});\n }, []);\n};\n"]}
1
+ {"version":3,"file":"usePCEditorInitializeEvents.js","sourceRoot":"../../../src","sources":["hooks/usePCEditorInitializeEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport _ from 'lodash';\n\nimport {toSerializableRect} from '../common/types/rect';\nimport {BlockData} from '../constructor-items';\nimport {BlockRegistry} from '../context/blockRegistryContext';\nimport {Fields} from '../form-generator-v2/types';\nimport {PageContent} from '../models';\n\nimport {usePCEditorStore} from './usePCEditorStore';\nimport {sendEventPostMessage, useInternalPostMessageAPIListener} from './usePostMessageAPI';\n\ninterface UseEditorInitializeProps {\n initialContent: PageContent;\n setContent: (content: PageContent) => void;\n blocks: Array<BlockData>;\n global?: Fields;\n blockInputs?: Fields;\n registry: BlockRegistry | null;\n}\n\nfunction collectRectMap(registry: BlockRegistry) {\n return registry.getEntries().map(({path, element, dropZone}) => {\n const rect = element.getClientRects().item(0) ?? element.getBoundingClientRect();\n return {path, rect: toSerializableRect(rect), dropZone};\n });\n}\n\nexport const usePCEditorInitializeEvents = ({\n initialContent,\n setContent,\n blocks,\n global,\n blockInputs,\n registry,\n}: UseEditorInitializeProps) => {\n const {initialized, content} = usePCEditorStore();\n\n React.useEffect(() => {\n if (initialized) {\n setContent(content);\n }\n }, [content, initialized, setContent]);\n\n useInternalPostMessageAPIListener('GET_INITIAL_CONTENT', () => {\n sendEventPostMessage('ON_INITIAL_CONTENT', initialContent);\n });\n\n useInternalPostMessageAPIListener('GET_SUPPORTED_BLOCKS', () => {\n sendEventPostMessage('ON_SUPPORTED_BLOCKS', {\n blocks: blocks.map((block) => ({\n type: block.type,\n schema: blockInputs?.length\n ? {\n ...block.schema,\n inputs: [...blockInputs, ...(block.schema?.inputs || [])],\n }\n : block.schema,\n })),\n subBlocks: [],\n global: global || [],\n });\n });\n\n const onResize = React.useCallback(() => {\n const height = document.body.scrollHeight;\n sendEventPostMessage('ON_RESIZE', {height});\n }, []);\n\n React.useEffect(() => {\n if (!registry) {\n return undefined;\n }\n\n let frame: number | null = null;\n\n const sendRectMap = () => {\n frame = null;\n sendEventPostMessage('ON_UPDATE_RECT_MAP', {rects: collectRectMap(registry)});\n };\n\n const scheduleSend = () => {\n if (frame !== null) {\n return;\n }\n frame = requestAnimationFrame(sendRectMap);\n };\n\n const throttledSchedule = _.throttle(scheduleSend, 100, {leading: true, trailing: true});\n\n const unsubscribe = registry.subscribe(throttledSchedule);\n const observer = new ResizeObserver(throttledSchedule);\n observer.observe(document.body);\n\n // Initial push once registry is ready.\n throttledSchedule();\n\n return () => {\n throttledSchedule.cancel();\n unsubscribe();\n observer.disconnect();\n if (frame !== null) {\n cancelAnimationFrame(frame);\n }\n };\n }, [registry]);\n\n React.useEffect(() => {\n window.addEventListener('resize', onResize);\n const observer = new ResizeObserver(onResize);\n observer.observe(document.documentElement);\n observer.observe(document.body);\n\n return () => {\n window.removeEventListener('resize', onResize);\n observer.disconnect();\n };\n }, [onResize]);\n\n React.useEffect(() => {\n const height = document.body.scrollHeight;\n sendEventPostMessage('ON_INIT', {height});\n }, []);\n};\n"]}
@@ -7,7 +7,7 @@ const tslib_1 = require("tslib");
7
7
  const React = tslib_1.__importStar(require("react"));
8
8
  function sendEventPostMessage(action, data) {
9
9
  const message = { action, data };
10
- window.parent.postMessage(message);
10
+ window.parent.postMessage(message, '*');
11
11
  }
12
12
  function listenPostMessageActions(action, callback) {
13
13
  const onMessage = (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"usePostMessageAPI.js","sourceRoot":"../../../src","sources":["hooks/usePostMessageAPI.ts"],"names":[],"mappings":";;AAKA,oDAMC;AAED,4DAmBC;AAED,8EAOC;;AAzCD,qDAA+B;AAK/B,SAAgB,oBAAoB,CAChC,MAAS,EACT,IAA0B;IAE1B,MAAM,OAAO,GAAG,EAAC,MAAM,EAAE,IAAI,EAA6B,CAAC;IAC3D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,wBAAwB,CACpC,MAAS,EACT,QAA+C;IAE/C,MAAM,SAAS,GAAG,CAAC,CAAe,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAgC,CAAC;QAEnD,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACnD,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE9C,OAAO,GAAG,EAAE;QACR,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,iCAAiC,CAC7C,MAAS,EACT,QAA+C;IAE/C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,OAAO,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3B,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {PostMessageAPIMessage} from '../common/types';\nimport {ActionMessageTypes, EventMessageTypes} from '../common/types/actions';\n\nexport function sendEventPostMessage<K extends keyof EventMessageTypes>(\n action: K,\n data: EventMessageTypes[K],\n) {\n const message = {action, data} as PostMessageAPIMessage<K>;\n window.parent.postMessage(message);\n}\n\nexport function listenPostMessageActions<K extends keyof ActionMessageTypes>(\n action: K,\n callback: (data: ActionMessageTypes[K]) => void,\n) {\n const onMessage = (e: MessageEvent) => {\n const message = e.data as PostMessageAPIMessage<K>;\n\n if ('action' in message && message.action === action) {\n return callback(message.data);\n }\n\n return undefined;\n };\n\n window.addEventListener('message', onMessage);\n\n return () => {\n window.removeEventListener('message', onMessage);\n };\n}\n\nexport function useInternalPostMessageAPIListener<K extends keyof ActionMessageTypes>(\n action: K,\n callback: (data: ActionMessageTypes[K]) => void,\n) {\n React.useEffect(() => {\n return listenPostMessageActions(action, callback);\n }, [action, callback]);\n}\n"]}
1
+ {"version":3,"file":"usePostMessageAPI.js","sourceRoot":"../../../src","sources":["hooks/usePostMessageAPI.ts"],"names":[],"mappings":";;AAKA,oDAMC;AAED,4DAmBC;AAED,8EAOC;;AAzCD,qDAA+B;AAK/B,SAAgB,oBAAoB,CAChC,MAAS,EACT,IAA0B;IAE1B,MAAM,OAAO,GAAG,EAAC,MAAM,EAAE,IAAI,EAA6B,CAAC;IAC3D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,wBAAwB,CACpC,MAAS,EACT,QAA+C;IAE/C,MAAM,SAAS,GAAG,CAAC,CAAe,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAgC,CAAC;QAEnD,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACnD,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE9C,OAAO,GAAG,EAAE;QACR,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,iCAAiC,CAC7C,MAAS,EACT,QAA+C;IAE/C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,OAAO,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3B,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {PostMessageAPIMessage} from '../common/types';\nimport {ActionMessageTypes, EventMessageTypes} from '../common/types/actions';\n\nexport function sendEventPostMessage<K extends keyof EventMessageTypes>(\n action: K,\n data: EventMessageTypes[K],\n) {\n const message = {action, data} as PostMessageAPIMessage<K>;\n window.parent.postMessage(message, '*');\n}\n\nexport function listenPostMessageActions<K extends keyof ActionMessageTypes>(\n action: K,\n callback: (data: ActionMessageTypes[K]) => void,\n) {\n const onMessage = (e: MessageEvent) => {\n const message = e.data as PostMessageAPIMessage<K>;\n\n if ('action' in message && message.action === action) {\n return callback(message.data);\n }\n\n return undefined;\n };\n\n window.addEventListener('message', onMessage);\n\n return () => {\n window.removeEventListener('message', onMessage);\n };\n}\n\nexport function useInternalPostMessageAPIListener<K extends keyof ActionMessageTypes>(\n action: K,\n callback: (data: ActionMessageTypes[K]) => void,\n) {\n React.useEffect(() => {\n return listenPostMessageActions(action, callback);\n }, [action, callback]);\n}\n"]}
@@ -0,0 +1,2 @@
1
+ declare const _default: string;
2
+ export default _default;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const svg_1 = require("../../utils/svg.js");
4
+ exports.default = (0, svg_1.svgToDataUri)(`<svg width="100" height="50" viewBox="0 0 100 50" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <rect width="100" height="50" rx="7.81395" fill="white"/>
6
+ <rect x="37" y="10.2906" width="26" height="29.4186" rx="3.34884" fill="#C0C8DB"/>
7
+ <rect x="37" y="10.2906" width="26" height="14.5116" rx="3.34884" fill="#262626"/>
8
+ <rect x="40.3488" y="28.593" width="19.3023" height="2" rx="0.55814" fill="#262626"/>
9
+ <rect x="40.3488" y="31.7094" width="9" height="2" rx="0.55814" fill="#262626"/>
10
+ </svg>`);
11
+ //# sourceMappingURL=icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.js","sourceRoot":"../../../../src","sources":["sub-blocks/ImageCard/icon.ts"],"names":[],"mappings":";;AAAA,4CAA6C;AAE7C,kBAAe,IAAA,kBAAY,EACvB;;;;;;OAMG,CACN,CAAC","sourcesContent":["import {svgToDataUri} from '../../utils/svg';\n\nexport default svgToDataUri(\n `<svg width=\"100\" height=\"50\" viewBox=\"0 0 100 50\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<rect width=\"100\" height=\"50\" rx=\"7.81395\" fill=\"white\"/>\n<rect x=\"37\" y=\"10.2906\" width=\"26\" height=\"29.4186\" rx=\"3.34884\" fill=\"#C0C8DB\"/>\n<rect x=\"37\" y=\"10.2906\" width=\"26\" height=\"14.5116\" rx=\"3.34884\" fill=\"#262626\"/>\n<rect x=\"40.3488\" y=\"28.593\" width=\"19.3023\" height=\"2\" rx=\"0.55814\" fill=\"#262626\"/>\n<rect x=\"40.3488\" y=\"31.7094\" width=\"9\" height=\"2\" rx=\"0.55814\" fill=\"#262626\"/>\n</svg>`,\n);\n"]}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const generateFormFieldsFromAjv_1 = require("../../form-generator-v2/utils/generateFormFieldsFromAjv.js");
5
5
  const ImageCard_1 = tslib_1.__importDefault(require("./ImageCard.js"));
6
+ const icon_1 = tslib_1.__importDefault(require("./icon.js"));
6
7
  const schema_1 = require("./schema.js");
7
- const icon_svg_1 = tslib_1.__importDefault(require("./icon.svg"));
8
8
  const ImageCardConfig = {
9
9
  type: '@gravity-ui/page-constructor/image-card',
10
10
  component: ImageCard_1.default,
@@ -17,7 +17,7 @@ const ImageCardConfig = {
17
17
  title: 'Image Card',
18
18
  text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
19
19
  },
20
- previewImg: icon_svg_1.default,
20
+ previewImg: icon_1.default,
21
21
  },
22
22
  };
23
23
  exports.default = ImageCardConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["sub-blocks/ImageCard/index.tsx"],"names":[],"mappings":";;;AAGA,0GAAwG;AAExG,uEAAoC;AACpC,wCAAsD;AAEtD,kEAA8B;AAE9B,MAAM,eAAe,GAAc;IAC/B,IAAI,EAAE,yCAAyC;IAC/C,SAAS,EAAE,mBAAS;IACpB,MAAM,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,oCAAoC;QAC3C,sCAAsC;QACtC,MAAM,EAAE,IAAA,2DAA+B,EACnC,kBAAe,CAAC,YAAY,CAAkC,CACjE;QACD,OAAO,EAAE;YACL,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,6HAA6H;SACtI;QACD,UAAU,EAAE,kBAAI;KACnB;CACJ,CAAC;AAEF,kBAAe,eAAe,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {BlockData} from '../../constructor-items';\nimport {generateFormFieldsFromAjvSchema} from '../../form-generator-v2/utils/generateFormFieldsFromAjv';\n\nimport ImageCard from './ImageCard';\nimport {ImageCard as ImageCardSchema} from './schema';\n\nimport icon from './icon.svg';\n\nconst ImageCardConfig: BlockData = {\n type: '@gravity-ui/page-constructor/image-card',\n component: ImageCard,\n schema: {\n name: 'Image Card',\n group: '@gravity-ui/page-constructor/Cards',\n // TODO: change to custom block schema\n inputs: generateFormFieldsFromAjvSchema(\n ImageCardSchema['image-card'] as unknown as JSONSchemaType<{}>,\n ),\n default: {\n title: 'Image Card',\n text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',\n },\n previewImg: icon,\n },\n};\n\nexport default ImageCardConfig;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["sub-blocks/ImageCard/index.tsx"],"names":[],"mappings":";;;AAGA,0GAAwG;AAExG,uEAAoC;AACpC,6DAA0B;AAC1B,wCAAsD;AAEtD,MAAM,eAAe,GAAc;IAC/B,IAAI,EAAE,yCAAyC;IAC/C,SAAS,EAAE,mBAAS;IACpB,MAAM,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,oCAAoC;QAC3C,sCAAsC;QACtC,MAAM,EAAE,IAAA,2DAA+B,EACnC,kBAAe,CAAC,YAAY,CAAkC,CACjE;QACD,OAAO,EAAE;YACL,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,6HAA6H;SACtI;QACD,UAAU,EAAE,cAAI;KACnB;CACJ,CAAC;AAEF,kBAAe,eAAe,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {BlockData} from '../../constructor-items';\nimport {generateFormFieldsFromAjvSchema} from '../../form-generator-v2/utils/generateFormFieldsFromAjv';\n\nimport ImageCard from './ImageCard';\nimport icon from './icon';\nimport {ImageCard as ImageCardSchema} from './schema';\n\nconst ImageCardConfig: BlockData = {\n type: '@gravity-ui/page-constructor/image-card',\n component: ImageCard,\n schema: {\n name: 'Image Card',\n group: '@gravity-ui/page-constructor/Cards',\n // TODO: change to custom block schema\n inputs: generateFormFieldsFromAjvSchema(\n ImageCardSchema['image-card'] as unknown as JSONSchemaType<{}>,\n ),\n default: {\n title: 'Image Card',\n text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',\n },\n previewImg: icon,\n },\n};\n\nexport default ImageCardConfig;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const _default: string;
2
+ export default _default;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const svg_1 = require("../../utils/svg.js");
4
+ exports.default = (0, svg_1.svgToDataUri)(`<svg width="100" height="50" viewBox="0 0 100 50" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <rect width="100" height="50" rx="7.81395" fill="white"/>
6
+ <rect x="37" y="10.2906" width="26" height="29.4186" rx="3.34884" fill="#C0C8DB"/>
7
+ <rect x="37" y="10.2906" width="26" height="14.5116" rx="3.34884" fill="#262626"/>
8
+ <rect x="40.3488" y="28.593" width="19.3023" height="2" rx="0.55814" fill="#262626"/>
9
+ <rect x="40.3488" y="31.7094" width="9" height="2" rx="0.55814" fill="#262626"/>
10
+ </svg>`);
11
+ //# sourceMappingURL=icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.js","sourceRoot":"../../../../src","sources":["sub-blocks/MediaCard/icon.ts"],"names":[],"mappings":";;AAAA,4CAA6C;AAE7C,kBAAe,IAAA,kBAAY,EACvB;;;;;;OAMG,CACN,CAAC","sourcesContent":["import {svgToDataUri} from '../../utils/svg';\n\nexport default svgToDataUri(\n `<svg width=\"100\" height=\"50\" viewBox=\"0 0 100 50\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<rect width=\"100\" height=\"50\" rx=\"7.81395\" fill=\"white\"/>\n<rect x=\"37\" y=\"10.2906\" width=\"26\" height=\"29.4186\" rx=\"3.34884\" fill=\"#C0C8DB\"/>\n<rect x=\"37\" y=\"10.2906\" width=\"26\" height=\"14.5116\" rx=\"3.34884\" fill=\"#262626\"/>\n<rect x=\"40.3488\" y=\"28.593\" width=\"19.3023\" height=\"2\" rx=\"0.55814\" fill=\"#262626\"/>\n<rect x=\"40.3488\" y=\"31.7094\" width=\"9\" height=\"2\" rx=\"0.55814\" fill=\"#262626\"/>\n</svg>`,\n);\n"]}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const generateFormFieldsFromAjv_1 = require("../../form-generator-v2/utils/generateFormFieldsFromAjv.js");
5
5
  const MediaCard_1 = tslib_1.__importDefault(require("./MediaCard.js"));
6
+ const icon_1 = tslib_1.__importDefault(require("./icon.js"));
6
7
  const schema_1 = require("./schema.js");
7
- const icon_svg_1 = tslib_1.__importDefault(require("./icon.svg"));
8
8
  const MediaCardConfig = {
9
9
  type: '@gravity-ui/page-constructor/media-card',
10
10
  component: MediaCard_1.default,
@@ -20,7 +20,7 @@ const MediaCardConfig = {
20
20
  },
21
21
  image: 'https://storage.yandexcloud.net/yc-www-community-images/event_ecaf1ef1-bc3a-40fa-adef-827b0959e6c3.jpg',
22
22
  },
23
- previewImg: icon_svg_1.default,
23
+ previewImg: icon_1.default,
24
24
  },
25
25
  };
26
26
  exports.default = MediaCardConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["sub-blocks/MediaCard/index.tsx"],"names":[],"mappings":";;;AAGA,0GAAwG;AAExG,uEAAoC;AACpC,wCAA2D;AAE3D,kEAA8B;AAE9B,MAAM,eAAe,GAAc;IAC/B,IAAI,EAAE,yCAAyC;IAC/C,SAAS,EAAE,mBAAS;IACpB,MAAM,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,oCAAoC;QAC3C,sCAAsC;QACtC,MAAM,EAAE,IAAA,2DAA+B,EACnC,uBAAe,CAAC,YAAY,CAAkC,CACjE;QACD,OAAO,EAAE;YACL,OAAO,EAAE;gBACL,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,6HAA6H;aACtI;YACD,KAAK,EAAE,wGAAwG;SAClH;QACD,UAAU,EAAE,kBAAI;KACnB;CACJ,CAAC;AAEF,kBAAe,eAAe,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {BlockData} from '../../constructor-items';\nimport {generateFormFieldsFromAjvSchema} from '../../form-generator-v2/utils/generateFormFieldsFromAjv';\n\nimport MediaCard from './MediaCard';\nimport {MediaCardBlock as MediaCardSchema} from './schema';\n\nimport icon from './icon.svg';\n\nconst MediaCardConfig: BlockData = {\n type: '@gravity-ui/page-constructor/media-card',\n component: MediaCard,\n schema: {\n name: 'Media Card',\n group: '@gravity-ui/page-constructor/Cards',\n // TODO: change to custom block schema\n inputs: generateFormFieldsFromAjvSchema(\n MediaCardSchema['media-card'] as unknown as JSONSchemaType<{}>,\n ),\n default: {\n content: {\n title: 'Media Card',\n text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',\n },\n image: 'https://storage.yandexcloud.net/yc-www-community-images/event_ecaf1ef1-bc3a-40fa-adef-827b0959e6c3.jpg',\n },\n previewImg: icon,\n },\n};\n\nexport default MediaCardConfig;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["sub-blocks/MediaCard/index.tsx"],"names":[],"mappings":";;;AAGA,0GAAwG;AAExG,uEAAoC;AACpC,6DAA0B;AAC1B,wCAA2D;AAE3D,MAAM,eAAe,GAAc;IAC/B,IAAI,EAAE,yCAAyC;IAC/C,SAAS,EAAE,mBAAS;IACpB,MAAM,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,oCAAoC;QAC3C,sCAAsC;QACtC,MAAM,EAAE,IAAA,2DAA+B,EACnC,uBAAe,CAAC,YAAY,CAAkC,CACjE;QACD,OAAO,EAAE;YACL,OAAO,EAAE;gBACL,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,6HAA6H;aACtI;YACD,KAAK,EAAE,wGAAwG;SAClH;QACD,UAAU,EAAE,cAAI;KACnB;CACJ,CAAC;AAEF,kBAAe,eAAe,CAAC","sourcesContent":["import {JSONSchemaType} from 'ajv';\n\nimport {BlockData} from '../../constructor-items';\nimport {generateFormFieldsFromAjvSchema} from '../../form-generator-v2/utils/generateFormFieldsFromAjv';\n\nimport MediaCard from './MediaCard';\nimport icon from './icon';\nimport {MediaCardBlock as MediaCardSchema} from './schema';\n\nconst MediaCardConfig: BlockData = {\n type: '@gravity-ui/page-constructor/media-card',\n component: MediaCard,\n schema: {\n name: 'Media Card',\n group: '@gravity-ui/page-constructor/Cards',\n // TODO: change to custom block schema\n inputs: generateFormFieldsFromAjvSchema(\n MediaCardSchema['media-card'] as unknown as JSONSchemaType<{}>,\n ),\n default: {\n content: {\n title: 'Media Card',\n text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',\n },\n image: 'https://storage.yandexcloud.net/yc-www-community-images/event_ecaf1ef1-bc3a-40fa-adef-827b0959e6c3.jpg',\n },\n previewImg: icon,\n },\n};\n\nexport default MediaCardConfig;\n"]}
@@ -8,5 +8,6 @@ export * from "./url.js";
8
8
  export * from "./theme.js";
9
9
  export * from "./icons.js";
10
10
  export * from "./navigation.js";
11
+ export * from "./svg.js";
11
12
  export type { HubspotEventData, HubspotEventHandlers, HubspotEventName } from "./hubspot.js";
12
13
  export { isHubspotEventData } from "./hubspot.js";
@@ -12,6 +12,7 @@ tslib_1.__exportStar(require("./url.js"), exports);
12
12
  tslib_1.__exportStar(require("./theme.js"), exports);
13
13
  tslib_1.__exportStar(require("./icons.js"), exports);
14
14
  tslib_1.__exportStar(require("./navigation.js"), exports);
15
+ tslib_1.__exportStar(require("./svg.js"), exports);
15
16
  var hubspot_1 = require("./hubspot.js");
16
17
  Object.defineProperty(exports, "isHubspotEventData", { enumerable: true, get: function () { return hubspot_1.isHubspotEventData; } });
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["utils/index.ts"],"names":[],"mappings":";;;;AAAA,sDAAyB;AACzB,yDAA4B;AAC5B,0DAA6B;AAC7B,sDAAyB;AACzB,mDAAsB;AACtB,kDAAqB;AACrB,mDAAsB;AACtB,qDAAwB;AACxB,qDAAwB;AACxB,0DAA6B;AAG7B,wCAA6C;AAArC,6GAAA,kBAAkB,OAAA","sourcesContent":["export * from './common';\nexport * from './analytics';\nexport * from './breakpoint';\nexport * from './blocks';\nexport * from './url';\nexport * from './cn';\nexport * from './url';\nexport * from './theme';\nexport * from './icons';\nexport * from './navigation';\n\nexport type {HubspotEventData, HubspotEventHandlers, HubspotEventName} from './hubspot';\nexport {isHubspotEventData} from './hubspot';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["utils/index.ts"],"names":[],"mappings":";;;;AAAA,sDAAyB;AACzB,yDAA4B;AAC5B,0DAA6B;AAC7B,sDAAyB;AACzB,mDAAsB;AACtB,kDAAqB;AACrB,mDAAsB;AACtB,qDAAwB;AACxB,qDAAwB;AACxB,0DAA6B;AAC7B,mDAAsB;AAGtB,wCAA6C;AAArC,6GAAA,kBAAkB,OAAA","sourcesContent":["export * from './common';\nexport * from './analytics';\nexport * from './breakpoint';\nexport * from './blocks';\nexport * from './url';\nexport * from './cn';\nexport * from './url';\nexport * from './theme';\nexport * from './icons';\nexport * from './navigation';\nexport * from './svg';\n\nexport type {HubspotEventData, HubspotEventHandlers, HubspotEventName} from './hubspot';\nexport {isHubspotEventData} from './hubspot';\n"]}
@@ -1,3 +1,4 @@
1
1
  export declare const a11yHiddenSvgProps: {
2
2
  'aria-hidden': boolean;
3
3
  };
4
+ export declare function svgToDataUri(svgContent: string): string;