@it-consultis/page-builder 1.1.34

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 (124) hide show
  1. package/Editor.d.ts +77 -0
  2. package/Editor.js +312 -0
  3. package/LICENSE.txt +674 -0
  4. package/README.md +248 -0
  5. package/assets/svg/mp.d.ts +2 -0
  6. package/assets/svg/mp.js +37 -0
  7. package/assets/svg/status-bar.d.ts +2 -0
  8. package/assets/svg/status-bar.js +38 -0
  9. package/constants/index.d.ts +11 -0
  10. package/constants/index.js +17 -0
  11. package/contexts/I18nContext.d.ts +15 -0
  12. package/contexts/I18nContext.js +56 -0
  13. package/controls/AlignmentControl/AlignmentControl.d.ts +5 -0
  14. package/controls/AlignmentControl/AlignmentControl.js +58 -0
  15. package/controls/AlignmentControl/index.d.ts +3 -0
  16. package/controls/AlignmentControl/index.js +9 -0
  17. package/controls/DeviceSwitcher/DeviceSwitcher.d.ts +10 -0
  18. package/controls/DeviceSwitcher/DeviceSwitcher.js +64 -0
  19. package/controls/DeviceSwitcher/index.d.ts +2 -0
  20. package/controls/DeviceSwitcher/index.js +9 -0
  21. package/controls/GradientColorPicker/GradientColorPicker.d.ts +8 -0
  22. package/controls/GradientColorPicker/GradientColorPicker.js +81 -0
  23. package/controls/GradientColorPicker/index.d.ts +2 -0
  24. package/controls/GradientColorPicker/index.js +9 -0
  25. package/controls/HeadingControl/HeadingControl.d.ts +14 -0
  26. package/controls/HeadingControl/HeadingControl.js +251 -0
  27. package/controls/HeadingControl/HeadingView.d.ts +21 -0
  28. package/controls/HeadingControl/HeadingView.js +43 -0
  29. package/controls/HeadingControl/index.d.ts +4 -0
  30. package/controls/HeadingControl/index.js +16 -0
  31. package/controls/MediaLibraryControl/FileBrowserDialog.d.ts +14 -0
  32. package/controls/MediaLibraryControl/FileBrowserDialog.js +138 -0
  33. package/controls/MediaLibraryControl/MediaLibraryControl.d.ts +38 -0
  34. package/controls/MediaLibraryControl/MediaLibraryControl.js +537 -0
  35. package/controls/MediaLibraryControl/index.d.ts +3 -0
  36. package/controls/MediaLibraryControl/index.js +9 -0
  37. package/controls/PaddingMarginControl/PaddingMarginControl.d.ts +30 -0
  38. package/controls/PaddingMarginControl/PaddingMarginControl.js +88 -0
  39. package/controls/PaddingMarginControl/PaddingMarginForm.d.ts +8 -0
  40. package/controls/PaddingMarginControl/PaddingMarginForm.js +109 -0
  41. package/controls/PaddingMarginControl/index.d.ts +4 -0
  42. package/controls/PaddingMarginControl/index.js +16 -0
  43. package/controls/PaddingMarginControl/utils.d.ts +3 -0
  44. package/controls/PaddingMarginControl/utils.js +21 -0
  45. package/controls/SelectableControl/SelectableControl.d.ts +5 -0
  46. package/controls/SelectableControl/SelectableControl.js +35 -0
  47. package/controls/SelectableControl/index.d.ts +3 -0
  48. package/controls/SelectableControl/index.js +9 -0
  49. package/hooks/ui-optimizations/useDebounce.d.ts +3 -0
  50. package/hooks/ui-optimizations/useDebounce.js +23 -0
  51. package/hooks/ui-optimizations/useThrottle.d.ts +3 -0
  52. package/hooks/ui-optimizations/useThrottle.js +22 -0
  53. package/hooks/useMediaImageQuery.d.ts +10 -0
  54. package/hooks/useMediaImageQuery.js +51 -0
  55. package/hooks/useSortable.d.ts +20 -0
  56. package/hooks/useSortable.js +70 -0
  57. package/index.d.ts +7 -0
  58. package/index.js +54 -0
  59. package/layouts/BlocksBar/LayerPanel.d.ts +8 -0
  60. package/layouts/BlocksBar/LayerPanel.js +299 -0
  61. package/layouts/BlocksBar/index.d.ts +7 -0
  62. package/layouts/BlocksBar/index.js +575 -0
  63. package/layouts/EditorPreview/BlockView.d.ts +16 -0
  64. package/layouts/EditorPreview/BlockView.js +435 -0
  65. package/layouts/EditorPreview/index.d.ts +9 -0
  66. package/layouts/EditorPreview/index.js +463 -0
  67. package/layouts/Header/index.d.ts +18 -0
  68. package/layouts/Header/index.js +202 -0
  69. package/layouts/Header/menus/ExportDataDialog.d.ts +4 -0
  70. package/layouts/Header/menus/ExportDataDialog.js +95 -0
  71. package/layouts/Header/menus/ImportDataDialog.d.ts +4 -0
  72. package/layouts/Header/menus/ImportDataDialog.js +100 -0
  73. package/layouts/Header/menus/LeftMenu.d.ts +9 -0
  74. package/layouts/Header/menus/LeftMenu.js +369 -0
  75. package/layouts/Header/menus/RightMenu.d.ts +14 -0
  76. package/layouts/Header/menus/RightMenu.js +91 -0
  77. package/layouts/Header/menus/SaveTemplateDialog.d.ts +4 -0
  78. package/layouts/Header/menus/SaveTemplateDialog.js +203 -0
  79. package/layouts/MessageBus.d.ts +13 -0
  80. package/layouts/MessageBus.js +76 -0
  81. package/layouts/Sidebar/AddBlockButton.d.ts +12 -0
  82. package/layouts/Sidebar/AddBlockButton.js +267 -0
  83. package/layouts/Sidebar/BlockForm.d.ts +20 -0
  84. package/layouts/Sidebar/BlockForm.js +517 -0
  85. package/layouts/Sidebar/BlocksControl.d.ts +21 -0
  86. package/layouts/Sidebar/BlocksControl.js +190 -0
  87. package/layouts/Sidebar/index.d.ts +10 -0
  88. package/layouts/Sidebar/index.js +451 -0
  89. package/layouts/Snackbar.d.ts +3 -0
  90. package/layouts/Snackbar.js +43 -0
  91. package/package.json +133 -0
  92. package/store/Provider.d.ts +15 -0
  93. package/store/Provider.js +71 -0
  94. package/store/editor-store-core.d.ts +4 -0
  95. package/store/editor-store-core.js +271 -0
  96. package/store/index.d.ts +112 -0
  97. package/store/index.js +178 -0
  98. package/theme.d.ts +10 -0
  99. package/theme.js +9 -0
  100. package/translation/cn.json +29 -0
  101. package/translation/en.json +29 -0
  102. package/translation/fr.json +31 -0
  103. package/translation/index.d.ts +6 -0
  104. package/translation/index.js +23 -0
  105. package/translation/types.d.ts +13 -0
  106. package/translation/types.js +5 -0
  107. package/types/Block.d.ts +22 -0
  108. package/types/Block.js +5 -0
  109. package/types/BlockType.d.ts +50 -0
  110. package/types/BlockType.js +5 -0
  111. package/types/ConfigStorageAdapter.d.ts +11 -0
  112. package/types/ConfigStorageAdapter.js +5 -0
  113. package/types/ObjectStorageAdapter.d.ts +68 -0
  114. package/types/ObjectStorageAdapter.js +5 -0
  115. package/types/index.d.ts +5 -0
  116. package/types/index.js +100 -0
  117. package/types/throttle-and-debounce.d.ts +2 -0
  118. package/types/throttle-and-debounce.js +5 -0
  119. package/utils/block.d.ts +16 -0
  120. package/utils/block.js +41 -0
  121. package/utils/helpers.d.ts +5 -0
  122. package/utils/helpers.js +22 -0
  123. package/utils/strings.d.ts +1 -0
  124. package/utils/strings.js +11 -0
@@ -0,0 +1,435 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _store = require("../../store");
8
+ var _block = require("../../utils/block");
9
+ var _Delete = _interopRequireDefault(require("@mui/icons-material/esm/Delete.js"));
10
+ var _FileCopy = _interopRequireDefault(require("@mui/icons-material/FileCopy"));
11
+ var _GridView = _interopRequireDefault(require("@mui/icons-material/GridView"));
12
+ var _KeyboardArrowDown = _interopRequireDefault(require("@mui/icons-material/KeyboardArrowDown"));
13
+ var _KeyboardArrowUp = _interopRequireDefault(require("@mui/icons-material/KeyboardArrowUp"));
14
+ var _useTheme = _interopRequireDefault(require("@mui/material/styles/useTheme.js"));
15
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
16
+ var _Button = _interopRequireDefault(require("@mui/material/Button"));
17
+ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
18
+ var _Paper = _interopRequireDefault(require("@mui/material/Paper"));
19
+ var _Popover = _interopRequireDefault(require("@mui/material/Popover"));
20
+ var _Slider = _interopRequireDefault(require("@mui/material/Slider"));
21
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
22
+ var _react = _interopRequireWildcard(require("react"));
23
+ var _jsxRuntime = require("react/jsx-runtime");
24
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
25
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
26
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
+ const BlockView = props => {
28
+ const {
29
+ block,
30
+ blockTypes,
31
+ onChange,
32
+ onDelete,
33
+ onMoveUp,
34
+ onMoveDown,
35
+ onCopy,
36
+ context,
37
+ isEditMode = true,
38
+ isNested = false
39
+ } = props;
40
+ const theme = (0, _useTheme.default)();
41
+ const [isHovered, setIsHovered] = (0, _react.useState)(false);
42
+ const [showGrid, setShowGrid] = (0, _react.useState)(false);
43
+ const [gridAnchorEl, setGridAnchorEl] = (0, _react.useState)(null);
44
+ const [gridSettings, setGridSettings] = (0, _react.useState)({
45
+ columns: 6,
46
+ padding: 16,
47
+ gap: 20,
48
+ maxWidth: 1280
49
+ });
50
+ const {
51
+ setData
52
+ } = (0, _store.useEditorStore)(state => state);
53
+ const gridColumnIds = (0, _react.useMemo)(() => {
54
+ return Array.from({
55
+ length: 12
56
+ }, (_, index) => index + 1);
57
+ }, []);
58
+ const blockType = (0, _react.useMemo)(() => {
59
+ return blockTypes.find(bt => bt.id === block.type);
60
+ }, [blockTypes, block.type]);
61
+ if (!blockType || !blockType.view) {
62
+ console.warn(`Block type ${block.type} not found`);
63
+ return null;
64
+ }
65
+ const ViewComponent = blockType.view;
66
+ const handleDataChange = newData => {
67
+ if (onChange) {
68
+ onChange({
69
+ ...block,
70
+ data: newData,
71
+ meta: {
72
+ ...block.meta,
73
+ changed: Date.now()
74
+ }
75
+ });
76
+ }
77
+ };
78
+ const handleSettingsChange = newSettings => {
79
+ if (onChange) {
80
+ onChange({
81
+ ...block,
82
+ settings: newSettings,
83
+ meta: {
84
+ ...block.meta,
85
+ changed: Date.now()
86
+ }
87
+ });
88
+ }
89
+ };
90
+ const handleGridClick = event => {
91
+ setGridAnchorEl(event.currentTarget);
92
+ };
93
+ const handleGridClose = () => {
94
+ setGridAnchorEl(null);
95
+ };
96
+ const handleGridToggle = () => {
97
+ setShowGrid(!showGrid);
98
+ };
99
+ const handleGridSettingChange = (setting, value) => {
100
+ setGridSettings({
101
+ ...gridSettings,
102
+ [setting]: value
103
+ });
104
+ };
105
+ const handleCopyBlock = copiedBock => {
106
+ if (onCopy) {
107
+ onCopy(copiedBock);
108
+ }
109
+ };
110
+ const viewNode = /*#__PURE__*/_react.default.createElement(ViewComponent, {
111
+ ...block,
112
+ data: block.data,
113
+ onDataChange: handleDataChange,
114
+ onSettingsChange: handleSettingsChange,
115
+ key: block.id,
116
+ context
117
+ });
118
+ if (!isEditMode) {
119
+ if (blockType.suspense) {
120
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Suspense, {
121
+ fallback: blockType.suspense.fallback,
122
+ children: viewNode
123
+ });
124
+ }
125
+ return viewNode;
126
+ }
127
+ const renderContent = () => {
128
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("section", {
129
+ style: {
130
+ position: 'relative'
131
+ },
132
+ children: [showGrid && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
133
+ sx: {
134
+ position: 'absolute',
135
+ zIndex: 99989,
136
+ top: 0,
137
+ left: 0,
138
+ right: 0,
139
+ bottom: 0,
140
+ display: 'grid',
141
+ gridTemplateColumns: `repeat(${gridSettings.columns}, 1fr)`,
142
+ gap: `${gridSettings.gap}px`,
143
+ padding: `0 ${gridSettings.padding}px`,
144
+ maxWidth: `${gridSettings.maxWidth}px`,
145
+ margin: '0 auto',
146
+ pointerEvents: 'none',
147
+ '& > div': {
148
+ backgroundColor: 'rgba(221, 221, 221, 0.2)',
149
+ border: '1px dashed #ddd',
150
+ height: '100%'
151
+ }
152
+ },
153
+ children: Array.from({
154
+ length: gridSettings.columns
155
+ }).map((_, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {}, gridColumnIds[index]))
156
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
157
+ sx: {
158
+ position: 'relative',
159
+ zIndex: 1
160
+ },
161
+ children: viewNode
162
+ })]
163
+ });
164
+ };
165
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
166
+ sx: {
167
+ position: 'relative',
168
+ '&:hover': {
169
+ '& .block-controls': {
170
+ opacity: 1
171
+ }
172
+ }
173
+ },
174
+ onMouseEnter: () => setIsHovered(true),
175
+ onMouseLeave: () => setIsHovered(false),
176
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
177
+ sx: {
178
+ position: 'relative',
179
+ '& > *': {
180
+ pointerEvents: 'auto'
181
+ }
182
+ },
183
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Paper.default, {
184
+ elevation: isHovered ? 3 : 0,
185
+ sx: {
186
+ backgroundColor: 'transparent',
187
+ border: isHovered ? `2px solid ${theme.palette.primary.main}` : '2px solid transparent',
188
+ transition: 'all 0.2s ease-in-out',
189
+ ...(isNested && {
190
+ borderColor: isHovered ? '#4caf50' : 'transparent',
191
+ '&:hover': {
192
+ backgroundColor: 'rgba(76, 175, 80, 0.04)'
193
+ }
194
+ })
195
+ },
196
+ children: renderContent()
197
+ })
198
+ }), !isNested && (0, _block.blockFilteredMPNav)(block) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
199
+ className: "block-controls",
200
+ sx: {
201
+ position: 'absolute',
202
+ top: 8,
203
+ right: 8,
204
+ display: 'flex',
205
+ gap: 1,
206
+ opacity: isHovered ? 1 : 0,
207
+ transition: 'opacity 0.2s ease-in-out',
208
+ zIndex: 99999,
209
+ pointerEvents: 'auto'
210
+ },
211
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
212
+ sx: {
213
+ display: 'flex',
214
+ flexDirection: 'column',
215
+ gap: 0.5,
216
+ backgroundColor: 'rgba(255, 255, 255, 0.9)',
217
+ borderRadius: 1,
218
+ padding: 0.5,
219
+ height: 32,
220
+ width: 32
221
+ },
222
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
223
+ size: "small",
224
+ color: "primary",
225
+ onClick: onMoveUp,
226
+ disabled: !onMoveUp,
227
+ sx: {
228
+ padding: 0.5,
229
+ height: '50%',
230
+ width: '100%',
231
+ borderRadius: 1,
232
+ '&.Mui-disabled': {
233
+ color: 'rgba(0, 0, 0, 0.26)'
234
+ },
235
+ '&:not(.Mui-disabled):hover': {
236
+ backgroundColor: 'rgba(25, 118, 210, 0.12)'
237
+ }
238
+ },
239
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_KeyboardArrowUp.default, {
240
+ fontSize: "small"
241
+ })
242
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
243
+ size: "small",
244
+ color: "primary",
245
+ onClick: onMoveDown,
246
+ disabled: !onMoveDown,
247
+ sx: {
248
+ padding: 0.5,
249
+ height: '50%',
250
+ width: '100%',
251
+ borderRadius: 1,
252
+ '&.Mui-disabled': {
253
+ color: 'rgba(0, 0, 0, 0.26)'
254
+ },
255
+ '&:not(.Mui-disabled):hover': {
256
+ backgroundColor: 'rgba(25, 118, 210, 0.12)'
257
+ }
258
+ },
259
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_KeyboardArrowDown.default, {
260
+ fontSize: "small"
261
+ })
262
+ })]
263
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
264
+ size: "small",
265
+ color: showGrid ? 'primary' : 'default',
266
+ onClick: handleGridClick,
267
+ sx: {
268
+ backgroundColor: 'rgba(255, 255, 255, 0.9)',
269
+ height: 32,
270
+ width: 32,
271
+ padding: 0.5,
272
+ color: showGrid ? theme.palette.primary.main : theme.palette.text.secondary,
273
+ '&:hover': {
274
+ backgroundColor: 'rgba(25, 118, 210, 0.12)'
275
+ }
276
+ },
277
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridView.default, {
278
+ fontSize: "small"
279
+ })
280
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
281
+ size: "small",
282
+ color: "primary",
283
+ onClick: () => handleCopyBlock(block),
284
+ sx: {
285
+ backgroundColor: 'rgba(255, 255, 255, 0.9)',
286
+ height: 32,
287
+ width: 32,
288
+ padding: 0.5,
289
+ '&:hover': {
290
+ backgroundColor: 'rgba(25, 118, 210, 0.12)'
291
+ }
292
+ },
293
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCopy.default, {
294
+ fontSize: "small"
295
+ })
296
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
297
+ size: "small",
298
+ color: "error",
299
+ onClick: onDelete,
300
+ sx: {
301
+ backgroundColor: 'rgba(255, 255, 255, 0.9)',
302
+ height: 32,
303
+ width: 32,
304
+ padding: 0.5,
305
+ color: theme.palette.primary.light,
306
+ '&:hover': {
307
+ backgroundColor: 'rgba(211, 47, 47, 0.12)'
308
+ }
309
+ },
310
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {
311
+ fontSize: "small"
312
+ })
313
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popover.default, {
314
+ open: Boolean(gridAnchorEl),
315
+ anchorEl: gridAnchorEl,
316
+ onClose: handleGridClose,
317
+ anchorOrigin: {
318
+ vertical: 'bottom',
319
+ horizontal: 'right'
320
+ },
321
+ transformOrigin: {
322
+ vertical: 'top',
323
+ horizontal: 'right'
324
+ },
325
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
326
+ sx: {
327
+ p: 2,
328
+ width: 300
329
+ },
330
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
331
+ variant: "subtitle1",
332
+ gutterBottom: true,
333
+ children: "Grid system preview"
334
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
335
+ sx: {
336
+ mb: 2
337
+ },
338
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {
339
+ variant: "body2",
340
+ gutterBottom: true,
341
+ children: ["Columns:", ' ', gridSettings.columns]
342
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Slider.default, {
343
+ value: gridSettings.columns,
344
+ step: 2,
345
+ marks: true,
346
+ min: 2,
347
+ max: 12,
348
+ onChange: (_, value) => handleGridSettingChange('columns', value)
349
+ })]
350
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
351
+ sx: {
352
+ mb: 2
353
+ },
354
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {
355
+ variant: "body2",
356
+ gutterBottom: true,
357
+ children: ["Padding:", ' ', gridSettings.padding, "px"]
358
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Slider.default, {
359
+ value: gridSettings.padding,
360
+ step: 4,
361
+ min: 0,
362
+ max: 64,
363
+ onChange: (_, value) => handleGridSettingChange('padding', value)
364
+ })]
365
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
366
+ sx: {
367
+ mb: 2
368
+ },
369
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {
370
+ variant: "body2",
371
+ gutterBottom: true,
372
+ children: ["Gap:", ' ', gridSettings.gap, "px"]
373
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Slider.default, {
374
+ value: gridSettings.gap,
375
+ step: 4,
376
+ min: 0,
377
+ max: 64,
378
+ onChange: (_, value) => handleGridSettingChange('gap', value)
379
+ })]
380
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
381
+ sx: {
382
+ mb: 2
383
+ },
384
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {
385
+ variant: "body2",
386
+ gutterBottom: true,
387
+ children: ["Max width:", ' ', gridSettings.maxWidth, "px"]
388
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Slider.default, {
389
+ value: gridSettings.maxWidth,
390
+ step: 100,
391
+ min: 1280,
392
+ max: 2000,
393
+ onChange: (_, value) => handleGridSettingChange('maxWidth', value)
394
+ })]
395
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
396
+ sx: {
397
+ display: 'flex',
398
+ justifyContent: 'center',
399
+ mt: 2
400
+ },
401
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
402
+ variant: "contained",
403
+ size: "small",
404
+ onClick: () => {
405
+ handleGridToggle();
406
+ handleGridClose();
407
+ },
408
+ color: showGrid ? 'error' : 'primary',
409
+ children: showGrid ? 'Hidden grid' : 'Display grid'
410
+ })
411
+ })]
412
+ })
413
+ })]
414
+ }), isHovered && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
415
+ sx: {
416
+ position: 'absolute',
417
+ top: 0,
418
+ left: 0,
419
+ right: 0,
420
+ bottom: 0,
421
+ pointerEvents: 'none',
422
+ zIndex: 0
423
+ }
424
+ })]
425
+ });
426
+ };
427
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(BlockView, (prevProps, props) => {
428
+ const {
429
+ block: prevBlock
430
+ } = prevProps;
431
+ const {
432
+ block
433
+ } = props;
434
+ return block.meta.changed === prevBlock.meta.changed;
435
+ });
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { Block } from '../../types';
3
+ export declare const PREVIEW_DATA = "editor/previewData";
4
+ export declare const PREVIEW_READY = "editor/previewReady";
5
+ export declare const SELECTED_BLOCK = "editor/selectedBlock";
6
+ declare const EditorPreview: React.FC<{
7
+ onChange?(data: Block[]): void;
8
+ }>;
9
+ export default EditorPreview;