@wordpress/block-editor 13.1.0 → 13.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/CHANGELOG.md +19 -17
  2. package/README.md +1 -1
  3. package/build/components/block-lock/modal.js +67 -67
  4. package/build/components/block-lock/modal.js.map +1 -1
  5. package/build/components/block-mover/index.js +12 -6
  6. package/build/components/block-mover/index.js.map +1 -1
  7. package/build/components/block-toolbar/shuffle.js +3 -1
  8. package/build/components/block-toolbar/shuffle.js.map +1 -1
  9. package/build/components/child-layout-control/index.js +185 -127
  10. package/build/components/child-layout-control/index.js.map +1 -1
  11. package/build/components/global-styles/use-global-styles-output.js +4 -3
  12. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  13. package/build/components/grid/grid-item-movers.js +97 -0
  14. package/build/components/grid/grid-item-movers.js.map +1 -0
  15. package/build/components/{grid-visualizer → grid}/grid-item-resizer.js +18 -56
  16. package/build/components/grid/grid-item-resizer.js.map +1 -0
  17. package/build/components/grid/grid-visualizer.js +225 -0
  18. package/build/components/grid/grid-visualizer.js.map +1 -0
  19. package/build/components/{grid-visualizer → grid}/index.js +14 -0
  20. package/build/components/grid/index.js.map +1 -0
  21. package/build/components/grid/use-get-number-of-blocks-before-cell.js +40 -0
  22. package/build/components/grid/use-get-number-of-blocks-before-cell.js.map +1 -0
  23. package/build/components/grid/use-grid-layout-sync.js +162 -0
  24. package/build/components/grid/use-grid-layout-sync.js.map +1 -0
  25. package/build/components/grid/utils.js +145 -0
  26. package/build/components/grid/utils.js.map +1 -0
  27. package/build/components/image-editor/aspect-ratio-dropdown.js +0 -1
  28. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  29. package/build/components/inner-blocks/index.js +1 -1
  30. package/build/components/inner-blocks/index.js.map +1 -1
  31. package/build/components/rich-text/event-listeners/input-rules.js +1 -0
  32. package/build/components/rich-text/event-listeners/input-rules.js.map +1 -1
  33. package/build/components/rich-text/index.native.js +10 -4
  34. package/build/components/rich-text/index.native.js.map +1 -1
  35. package/build/components/rich-text/native/index.native.js +14 -0
  36. package/build/components/rich-text/native/index.native.js.map +1 -1
  37. package/build/hooks/block-style-variation.js +26 -7
  38. package/build/hooks/block-style-variation.js.map +1 -1
  39. package/build/hooks/layout-child.js +29 -21
  40. package/build/hooks/layout-child.js.map +1 -1
  41. package/build/hooks/utils.js +3 -2
  42. package/build/hooks/utils.js.map +1 -1
  43. package/build/layouts/grid.js +24 -47
  44. package/build/layouts/grid.js.map +1 -1
  45. package/build/lock-unlock.js +1 -1
  46. package/build/lock-unlock.js.map +1 -1
  47. package/build/store/actions.js +17 -1
  48. package/build/store/actions.js.map +1 -1
  49. package/build-module/components/block-lock/modal.js +67 -67
  50. package/build-module/components/block-lock/modal.js.map +1 -1
  51. package/build-module/components/block-mover/index.js +12 -6
  52. package/build-module/components/block-mover/index.js.map +1 -1
  53. package/build-module/components/block-toolbar/shuffle.js +3 -1
  54. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  55. package/build-module/components/child-layout-control/index.js +185 -127
  56. package/build-module/components/child-layout-control/index.js.map +1 -1
  57. package/build-module/components/global-styles/use-global-styles-output.js +4 -3
  58. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  59. package/build-module/components/grid/grid-item-movers.js +90 -0
  60. package/build-module/components/grid/grid-item-movers.js.map +1 -0
  61. package/build-module/components/{grid-visualizer → grid}/grid-item-resizer.js +13 -51
  62. package/build-module/components/grid/grid-item-resizer.js.map +1 -0
  63. package/build-module/components/grid/grid-visualizer.js +217 -0
  64. package/build-module/components/grid/grid-visualizer.js.map +1 -0
  65. package/build-module/components/grid/index.js +5 -0
  66. package/build-module/components/grid/index.js.map +1 -0
  67. package/build-module/components/grid/use-get-number-of-blocks-before-cell.js +33 -0
  68. package/build-module/components/grid/use-get-number-of-blocks-before-cell.js.map +1 -0
  69. package/build-module/components/grid/use-grid-layout-sync.js +155 -0
  70. package/build-module/components/grid/use-grid-layout-sync.js.map +1 -0
  71. package/build-module/components/grid/utils.js +131 -0
  72. package/build-module/components/grid/utils.js.map +1 -0
  73. package/build-module/components/image-editor/aspect-ratio-dropdown.js +0 -1
  74. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  75. package/build-module/components/inner-blocks/index.js +1 -1
  76. package/build-module/components/inner-blocks/index.js.map +1 -1
  77. package/build-module/components/rich-text/event-listeners/input-rules.js +1 -1
  78. package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -1
  79. package/build-module/components/rich-text/index.native.js +11 -5
  80. package/build-module/components/rich-text/index.native.js.map +1 -1
  81. package/build-module/components/rich-text/native/index.native.js +14 -0
  82. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  83. package/build-module/hooks/block-style-variation.js +25 -7
  84. package/build-module/hooks/block-style-variation.js.map +1 -1
  85. package/build-module/hooks/layout-child.js +27 -19
  86. package/build-module/hooks/layout-child.js.map +1 -1
  87. package/build-module/hooks/utils.js +3 -2
  88. package/build-module/hooks/utils.js.map +1 -1
  89. package/build-module/layouts/grid.js +24 -47
  90. package/build-module/layouts/grid.js.map +1 -1
  91. package/build-module/lock-unlock.js +1 -1
  92. package/build-module/lock-unlock.js.map +1 -1
  93. package/build-module/store/actions.js +17 -1
  94. package/build-module/store/actions.js.map +1 -1
  95. package/build-style/style-rtl.css +39 -18
  96. package/build-style/style.css +39 -18
  97. package/package.json +31 -31
  98. package/src/components/block-lock/modal.js +95 -82
  99. package/src/components/block-lock/style.scss +11 -1
  100. package/src/components/block-mover/index.js +37 -24
  101. package/src/components/block-toolbar/shuffle.js +3 -1
  102. package/src/components/child-layout-control/index.js +224 -159
  103. package/src/components/global-styles/test/use-global-styles-output.js +38 -3
  104. package/src/components/global-styles/use-global-styles-output.js +4 -3
  105. package/src/components/grid/grid-item-movers.js +128 -0
  106. package/src/components/{grid-visualizer → grid}/grid-item-resizer.js +14 -52
  107. package/src/components/grid/grid-visualizer.js +267 -0
  108. package/src/components/grid/index.js +4 -0
  109. package/src/components/grid/style.scss +63 -0
  110. package/src/components/grid/use-get-number-of-blocks-before-cell.js +30 -0
  111. package/src/components/grid/use-grid-layout-sync.js +167 -0
  112. package/src/components/grid/utils.js +178 -0
  113. package/src/components/image-editor/aspect-ratio-dropdown.js +0 -1
  114. package/src/components/inner-blocks/index.js +3 -1
  115. package/src/components/rich-text/event-listeners/input-rules.js +1 -1
  116. package/src/components/rich-text/index.native.js +10 -8
  117. package/src/components/rich-text/native/index.native.js +17 -0
  118. package/src/hooks/block-style-variation.js +24 -6
  119. package/src/hooks/layout-child.js +34 -14
  120. package/src/hooks/utils.js +3 -1
  121. package/src/layouts/grid.js +54 -62
  122. package/src/lock-unlock.js +1 -1
  123. package/src/store/actions.js +21 -1
  124. package/src/style.scss +1 -1
  125. package/build/components/grid-visualizer/grid-item-resizer.js.map +0 -1
  126. package/build/components/grid-visualizer/grid-visualizer.js +0 -92
  127. package/build/components/grid-visualizer/grid-visualizer.js.map +0 -1
  128. package/build/components/grid-visualizer/index.js.map +0 -1
  129. package/build/components/grid-visualizer/utils.js +0 -10
  130. package/build/components/grid-visualizer/utils.js.map +0 -1
  131. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +0 -1
  132. package/build-module/components/grid-visualizer/grid-visualizer.js +0 -84
  133. package/build-module/components/grid-visualizer/grid-visualizer.js.map +0 -1
  134. package/build-module/components/grid-visualizer/index.js +0 -3
  135. package/build-module/components/grid-visualizer/index.js.map +0 -1
  136. package/build-module/components/grid-visualizer/utils.js +0 -4
  137. package/build-module/components/grid-visualizer/utils.js.map +0 -1
  138. package/src/components/grid-visualizer/grid-visualizer.js +0 -101
  139. package/src/components/grid-visualizer/index.js +0 -2
  140. package/src/components/grid-visualizer/style.scss +0 -34
  141. package/src/components/grid-visualizer/utils.js +0 -5
  142. /package/src/components/font-sizes/{README.MD → README.md} +0 -0
@@ -8,11 +8,18 @@ exports.default = ChildLayoutControl;
8
8
  var _components = require("@wordpress/components");
9
9
  var _i18n = require("@wordpress/i18n");
10
10
  var _element = require("@wordpress/element");
11
+ var _data = require("@wordpress/data");
12
+ var _useGetNumberOfBlocksBeforeCell = require("../grid/use-get-number-of-blocks-before-cell");
13
+ var _store = require("../../store");
11
14
  var _jsxRuntime = require("react/jsx-runtime");
12
15
  /**
13
16
  * WordPress dependencies
14
17
  */
15
18
 
19
+ /**
20
+ * Internal dependencies
21
+ */
22
+
16
23
  function helpText(selfStretch, parentLayout) {
17
24
  const {
18
25
  orientation = 'horizontal'
@@ -47,22 +54,46 @@ function ChildLayoutControl({
47
54
  isShownByDefault,
48
55
  panelId
49
56
  }) {
50
- const {
51
- selfStretch,
52
- flexSize,
53
- columnStart,
54
- rowStart,
55
- columnSpan,
56
- rowSpan
57
- } = childLayout;
58
57
  const {
59
58
  type: parentType,
60
59
  default: {
61
60
  type: defaultParentType = 'default'
62
- } = {},
63
- orientation = 'horizontal'
61
+ } = {}
64
62
  } = parentLayout !== null && parentLayout !== void 0 ? parentLayout : {};
65
63
  const parentLayoutType = parentType || defaultParentType;
64
+ if (parentLayoutType === 'flex') {
65
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(FlexControls, {
66
+ childLayout: childLayout,
67
+ onChange: onChange,
68
+ parentLayout: parentLayout,
69
+ isShownByDefault: isShownByDefault,
70
+ panelId: panelId
71
+ });
72
+ } else if (parentLayoutType === 'grid') {
73
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridControls, {
74
+ childLayout: childLayout,
75
+ onChange: onChange,
76
+ parentLayout: parentLayout,
77
+ isShownByDefault: isShownByDefault,
78
+ panelId: panelId
79
+ });
80
+ }
81
+ return null;
82
+ }
83
+ function FlexControls({
84
+ childLayout,
85
+ onChange,
86
+ parentLayout,
87
+ isShownByDefault,
88
+ panelId
89
+ }) {
90
+ const {
91
+ selfStretch,
92
+ flexSize
93
+ } = childLayout;
94
+ const {
95
+ orientation = 'horizontal'
96
+ } = parentLayout !== null && parentLayout !== void 0 ? parentLayout : {};
66
97
  const hasFlexValue = () => !!selfStretch;
67
98
  const flexResetLabel = orientation === 'horizontal' ? (0, _i18n.__)('Width') : (0, _i18n.__)('Height');
68
99
  const resetFlex = () => {
@@ -71,6 +102,87 @@ function ChildLayoutControl({
71
102
  flexSize: undefined
72
103
  });
73
104
  };
105
+ (0, _element.useEffect)(() => {
106
+ if (selfStretch === 'fixed' && !flexSize) {
107
+ onChange({
108
+ ...childLayout,
109
+ selfStretch: 'fit'
110
+ });
111
+ }
112
+ }, []);
113
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
114
+ as: _components.__experimentalToolsPanelItem,
115
+ spacing: 2,
116
+ hasValue: hasFlexValue,
117
+ label: flexResetLabel,
118
+ onDeselect: resetFlex,
119
+ isShownByDefault: isShownByDefault,
120
+ panelId: panelId,
121
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToggleGroupControl, {
122
+ __nextHasNoMarginBottom: true,
123
+ size: "__unstable-large",
124
+ label: childLayoutOrientation(parentLayout),
125
+ value: selfStretch || 'fit',
126
+ help: helpText(selfStretch, parentLayout),
127
+ onChange: value => {
128
+ const newFlexSize = value !== 'fixed' ? null : flexSize;
129
+ onChange({
130
+ selfStretch: value,
131
+ flexSize: newFlexSize
132
+ });
133
+ },
134
+ isBlock: true,
135
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
136
+ value: "fit",
137
+ label: (0, _i18n.__)('Fit')
138
+ }, "fit"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
139
+ value: "fill",
140
+ label: (0, _i18n.__)('Fill')
141
+ }, "fill"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
142
+ value: "fixed",
143
+ label: (0, _i18n.__)('Fixed')
144
+ }, "fixed")]
145
+ }), selfStretch === 'fixed' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalUnitControl, {
146
+ size: "__unstable-large",
147
+ onChange: value => {
148
+ onChange({
149
+ selfStretch,
150
+ flexSize: value
151
+ });
152
+ },
153
+ value: flexSize
154
+ })]
155
+ });
156
+ }
157
+ function childLayoutOrientation(parentLayout) {
158
+ const {
159
+ orientation = 'horizontal'
160
+ } = parentLayout;
161
+ return orientation === 'horizontal' ? (0, _i18n.__)('Width') : (0, _i18n.__)('Height');
162
+ }
163
+ function GridControls({
164
+ childLayout,
165
+ onChange,
166
+ parentLayout,
167
+ isShownByDefault,
168
+ panelId
169
+ }) {
170
+ const {
171
+ columnStart,
172
+ rowStart,
173
+ columnSpan,
174
+ rowSpan
175
+ } = childLayout;
176
+ const {
177
+ columnCount
178
+ } = parentLayout !== null && parentLayout !== void 0 ? parentLayout : {};
179
+ const gridColumnNumber = parseInt(columnCount, 10) || 3;
180
+ const rootClientId = (0, _data.useSelect)(select => select(_store.store).getBlockRootClientId(panelId));
181
+ const {
182
+ moveBlocksToPosition,
183
+ __unstableMarkNextChangeAsNotPersistent
184
+ } = (0, _data.useDispatch)(_store.store);
185
+ const getNumberOfBlocksBeforeCell = (0, _useGetNumberOfBlocksBeforeCell.useGetNumberOfBlocksBeforeCell)(rootClientId, gridColumnNumber);
74
186
  const hasStartValue = () => !!columnStart || !!rowStart;
75
187
  const hasSpanValue = () => !!columnSpan || !!rowSpan;
76
188
  const resetGridStarts = () => {
@@ -85,155 +197,101 @@ function ChildLayoutControl({
85
197
  rowSpan: undefined
86
198
  });
87
199
  };
88
- (0, _element.useEffect)(() => {
89
- if (selfStretch === 'fixed' && !flexSize) {
90
- onChange({
91
- ...childLayout,
92
- selfStretch: 'fit'
93
- });
94
- }
95
- }, []);
96
200
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
97
- children: [parentLayoutType === 'flex' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
201
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
98
202
  as: _components.__experimentalToolsPanelItem,
99
- spacing: 2,
100
- hasValue: hasFlexValue,
101
- label: flexResetLabel,
102
- onDeselect: resetFlex,
203
+ hasValue: hasSpanValue,
204
+ label: (0, _i18n.__)('Grid span'),
205
+ onDeselect: resetGridSpans,
103
206
  isShownByDefault: isShownByDefault,
104
207
  panelId: panelId,
105
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToggleGroupControl, {
106
- __nextHasNoMarginBottom: true,
208
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalInputControl, {
107
209
  size: "__unstable-large",
108
- label: childLayoutOrientation(parentLayout),
109
- value: selfStretch || 'fit',
110
- help: helpText(selfStretch, parentLayout),
210
+ label: (0, _i18n.__)('Column span'),
211
+ type: "number",
111
212
  onChange: value => {
112
- const newFlexSize = value !== 'fixed' ? null : flexSize;
113
213
  onChange({
114
- selfStretch: value,
115
- flexSize: newFlexSize
214
+ columnStart,
215
+ rowStart,
216
+ rowSpan,
217
+ columnSpan: value
116
218
  });
117
219
  },
118
- isBlock: true,
119
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
120
- value: "fit",
121
- label: (0, _i18n.__)('Fit')
122
- }, "fit"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
123
- value: "fill",
124
- label: (0, _i18n.__)('Fill')
125
- }, "fill"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
126
- value: "fixed",
127
- label: (0, _i18n.__)('Fixed')
128
- }, "fixed")]
129
- }), selfStretch === 'fixed' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalUnitControl, {
220
+ value: columnSpan,
221
+ min: 1
222
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalInputControl, {
130
223
  size: "__unstable-large",
224
+ label: (0, _i18n.__)('Row span'),
225
+ type: "number",
131
226
  onChange: value => {
132
227
  onChange({
133
- selfStretch,
134
- flexSize: value
228
+ columnStart,
229
+ rowStart,
230
+ columnSpan,
231
+ rowSpan: value
135
232
  });
136
233
  },
137
- value: flexSize
234
+ value: rowSpan,
235
+ min: 1
138
236
  })]
139
- }), parentLayoutType === 'grid' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
140
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
141
- as: _components.__experimentalToolsPanelItem,
142
- hasValue: hasSpanValue,
143
- label: (0, _i18n.__)('Grid span'),
144
- onDeselect: resetGridSpans,
145
- isShownByDefault: isShownByDefault,
146
- panelId: panelId,
147
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalInputControl, {
237
+ }), window.__experimentalEnableGridInteractivity && columnCount &&
238
+ /*#__PURE__*/
239
+ // Use Flex with an explicit width on the FlexItem instead of HStack to
240
+ // work around an issue in webkit where inputs with a max attribute are
241
+ // sized incorrectly.
242
+ (0, _jsxRuntime.jsxs)(_components.Flex, {
243
+ as: _components.__experimentalToolsPanelItem,
244
+ hasValue: hasStartValue,
245
+ label: (0, _i18n.__)('Grid placement'),
246
+ onDeselect: resetGridStarts,
247
+ isShownByDefault: false,
248
+ panelId: panelId,
249
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
250
+ style: {
251
+ width: '50%'
252
+ },
253
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalInputControl, {
148
254
  size: "__unstable-large",
149
- label: (0, _i18n.__)('Column span'),
255
+ label: (0, _i18n.__)('Column'),
150
256
  type: "number",
151
257
  onChange: value => {
152
258
  onChange({
153
- columnStart,
259
+ columnStart: value,
154
260
  rowStart,
155
- rowSpan,
156
- columnSpan: value
261
+ columnSpan,
262
+ rowSpan
157
263
  });
264
+ __unstableMarkNextChangeAsNotPersistent();
265
+ moveBlocksToPosition([panelId], rootClientId, rootClientId, getNumberOfBlocksBeforeCell(value, rowStart));
158
266
  },
159
- value: columnSpan,
160
- min: 1
161
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalInputControl, {
267
+ value: columnStart,
268
+ min: 1,
269
+ max: gridColumnNumber ? gridColumnNumber - (columnSpan !== null && columnSpan !== void 0 ? columnSpan : 1) + 1 : undefined
270
+ })
271
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
272
+ style: {
273
+ width: '50%'
274
+ },
275
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalInputControl, {
162
276
  size: "__unstable-large",
163
- label: (0, _i18n.__)('Row span'),
277
+ label: (0, _i18n.__)('Row'),
164
278
  type: "number",
165
279
  onChange: value => {
166
280
  onChange({
167
281
  columnStart,
168
- rowStart,
282
+ rowStart: value,
169
283
  columnSpan,
170
- rowSpan: value
284
+ rowSpan
171
285
  });
286
+ __unstableMarkNextChangeAsNotPersistent();
287
+ moveBlocksToPosition([panelId], rootClientId, rootClientId, getNumberOfBlocksBeforeCell(columnStart, value));
172
288
  },
173
- value: rowSpan,
174
- min: 1
175
- })]
176
- }), window.__experimentalEnableGridInteractivity &&
177
- /*#__PURE__*/
178
- // Use Flex with an explicit width on the FlexItem instead of HStack to
179
- // work around an issue in webkit where inputs with a max attribute are
180
- // sized incorrectly.
181
- (0, _jsxRuntime.jsxs)(_components.Flex, {
182
- as: _components.__experimentalToolsPanelItem,
183
- hasValue: hasStartValue,
184
- label: (0, _i18n.__)('Grid placement'),
185
- onDeselect: resetGridStarts,
186
- isShownByDefault: false,
187
- panelId: panelId,
188
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
189
- style: {
190
- width: '50%'
191
- },
192
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalInputControl, {
193
- size: "__unstable-large",
194
- label: (0, _i18n.__)('Column'),
195
- type: "number",
196
- onChange: value => {
197
- onChange({
198
- columnStart: value,
199
- rowStart,
200
- columnSpan,
201
- rowSpan
202
- });
203
- },
204
- value: columnStart,
205
- min: 1,
206
- max: parentLayout?.columnCount ? parentLayout.columnCount - (columnSpan !== null && columnSpan !== void 0 ? columnSpan : 1) + 1 : undefined
207
- })
208
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
209
- style: {
210
- width: '50%'
211
- },
212
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalInputControl, {
213
- size: "__unstable-large",
214
- label: (0, _i18n.__)('Row'),
215
- type: "number",
216
- onChange: value => {
217
- onChange({
218
- columnStart,
219
- rowStart: value,
220
- columnSpan,
221
- rowSpan
222
- });
223
- },
224
- value: rowStart,
225
- min: 1,
226
- max: parentLayout?.rowCount ? parentLayout.rowCount - (rowSpan !== null && rowSpan !== void 0 ? rowSpan : 1) + 1 : undefined
227
- })
228
- })]
289
+ value: rowStart,
290
+ min: 1,
291
+ max: parentLayout?.rowCount ? parentLayout.rowCount - (rowSpan !== null && rowSpan !== void 0 ? rowSpan : 1) + 1 : undefined
292
+ })
229
293
  })]
230
294
  })]
231
295
  });
232
296
  }
233
- function childLayoutOrientation(parentLayout) {
234
- const {
235
- orientation = 'horizontal'
236
- } = parentLayout;
237
- return orientation === 'horizontal' ? (0, _i18n.__)('Width') : (0, _i18n.__)('Height');
238
- }
239
297
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_element","_jsxRuntime","helpText","selfStretch","parentLayout","orientation","__","ChildLayoutControl","value","childLayout","onChange","isShownByDefault","panelId","flexSize","columnStart","rowStart","columnSpan","rowSpan","type","parentType","default","defaultParentType","parentLayoutType","hasFlexValue","flexResetLabel","resetFlex","undefined","hasStartValue","hasSpanValue","resetGridStarts","resetGridSpans","useEffect","jsxs","Fragment","children","__experimentalVStack","as","ToolsPanelItem","spacing","hasValue","label","onDeselect","__experimentalToggleGroupControl","__nextHasNoMarginBottom","size","childLayoutOrientation","help","newFlexSize","isBlock","jsx","__experimentalToggleGroupControlOption","__experimentalUnitControl","__experimentalHStack","__experimentalInputControl","min","window","__experimentalEnableGridInteractivity","Flex","FlexItem","style","width","max","columnCount","rowCount"],"sources":["@wordpress/block-editor/src/components/child-layout-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalInputControl as InputControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\n\nfunction helpText( selfStretch, parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\n\tif ( selfStretch === 'fill' ) {\n\t\treturn __( 'Stretch to fill available space.' );\n\t}\n\tif ( selfStretch === 'fixed' && orientation === 'horizontal' ) {\n\t\treturn __( 'Specify a fixed width.' );\n\t} else if ( selfStretch === 'fixed' ) {\n\t\treturn __( 'Specify a fixed height.' );\n\t}\n\treturn __( 'Fit contents.' );\n}\n\n/**\n * Form to edit the child layout value.\n *\n * @param {Object} props Props.\n * @param {Object} props.value The child layout value.\n * @param {Function} props.onChange Function to update the child layout value.\n * @param {Object} props.parentLayout The parent layout value.\n *\n * @param {boolean} props.isShownByDefault\n * @param {string} props.panelId\n * @return {Element} child layout edit element.\n */\nexport default function ChildLayoutControl( {\n\tvalue: childLayout = {},\n\tonChange,\n\tparentLayout,\n\tisShownByDefault,\n\tpanelId,\n} ) {\n\tconst {\n\t\tselfStretch,\n\t\tflexSize,\n\t\tcolumnStart,\n\t\trowStart,\n\t\tcolumnSpan,\n\t\trowSpan,\n\t} = childLayout;\n\tconst {\n\t\ttype: parentType,\n\t\tdefault: { type: defaultParentType = 'default' } = {},\n\t\torientation = 'horizontal',\n\t} = parentLayout ?? {};\n\tconst parentLayoutType = parentType || defaultParentType;\n\n\tconst hasFlexValue = () => !! selfStretch;\n\tconst flexResetLabel =\n\t\torientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n\tconst resetFlex = () => {\n\t\tonChange( {\n\t\t\tselfStretch: undefined,\n\t\t\tflexSize: undefined,\n\t\t} );\n\t};\n\n\tconst hasStartValue = () => !! columnStart || !! rowStart;\n\tconst hasSpanValue = () => !! columnSpan || !! rowSpan;\n\tconst resetGridStarts = () => {\n\t\tonChange( {\n\t\t\tcolumnStart: undefined,\n\t\t\trowStart: undefined,\n\t\t} );\n\t};\n\tconst resetGridSpans = () => {\n\t\tonChange( {\n\t\t\tcolumnSpan: undefined,\n\t\t\trowSpan: undefined,\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( selfStretch === 'fixed' && ! flexSize ) {\n\t\t\tonChange( {\n\t\t\t\t...childLayout,\n\t\t\t\tselfStretch: 'fit',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t{ parentLayoutType === 'flex' && (\n\t\t\t\t<VStack\n\t\t\t\t\tas={ ToolsPanelItem }\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\thasValue={ hasFlexValue }\n\t\t\t\t\tlabel={ flexResetLabel }\n\t\t\t\t\tonDeselect={ resetFlex }\n\t\t\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tlabel={ childLayoutOrientation( parentLayout ) }\n\t\t\t\t\t\tvalue={ selfStretch || 'fit' }\n\t\t\t\t\t\thelp={ helpText( selfStretch, parentLayout ) }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tconst newFlexSize =\n\t\t\t\t\t\t\t\tvalue !== 'fixed' ? null : flexSize;\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\tselfStretch: value,\n\t\t\t\t\t\t\t\tflexSize: newFlexSize,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tkey=\"fit\"\n\t\t\t\t\t\t\tvalue=\"fit\"\n\t\t\t\t\t\t\tlabel={ __( 'Fit' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tkey=\"fill\"\n\t\t\t\t\t\t\tvalue=\"fill\"\n\t\t\t\t\t\t\tlabel={ __( 'Fill' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tkey=\"fixed\"\n\t\t\t\t\t\t\tvalue=\"fixed\"\n\t\t\t\t\t\t\tlabel={ __( 'Fixed' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t{ selfStretch === 'fixed' && (\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\tselfStretch,\n\t\t\t\t\t\t\t\t\tflexSize: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ flexSize }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t\t{ parentLayoutType === 'grid' && (\n\t\t\t\t<>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tas={ ToolsPanelItem }\n\t\t\t\t\t\thasValue={ hasSpanValue }\n\t\t\t\t\t\tlabel={ __( 'Grid span' ) }\n\t\t\t\t\t\tonDeselect={ resetGridSpans }\n\t\t\t\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\tlabel={ __( 'Column span' ) }\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\t\t\trowStart,\n\t\t\t\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t\t\t\tcolumnSpan: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ columnSpan }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\tlabel={ __( 'Row span' ) }\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\t\t\trowStart,\n\t\t\t\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\t\t\t\trowSpan: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ rowSpan }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t{ window.__experimentalEnableGridInteractivity && (\n\t\t\t\t\t\t// Use Flex with an explicit width on the FlexItem instead of HStack to\n\t\t\t\t\t\t// work around an issue in webkit where inputs with a max attribute are\n\t\t\t\t\t\t// sized incorrectly.\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tas={ ToolsPanelItem }\n\t\t\t\t\t\t\thasValue={ hasStartValue }\n\t\t\t\t\t\t\tlabel={ __( 'Grid placement' ) }\n\t\t\t\t\t\t\tonDeselect={ resetGridStarts }\n\t\t\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem style={ { width: '50%' } }>\n\t\t\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Column' ) }\n\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t\tcolumnStart: value,\n\t\t\t\t\t\t\t\t\t\t\trowStart,\n\t\t\t\t\t\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tvalue={ columnStart }\n\t\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\t\tparentLayout?.columnCount\n\t\t\t\t\t\t\t\t\t\t\t? parentLayout.columnCount -\n\t\t\t\t\t\t\t\t\t\t\t ( columnSpan ?? 1 ) +\n\t\t\t\t\t\t\t\t\t\t\t 1\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t<FlexItem style={ { width: '50%' } }>\n\t\t\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Row' ) }\n\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\t\t\t\t\trowStart: value,\n\t\t\t\t\t\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tvalue={ rowStart }\n\t\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\t\tparentLayout?.rowCount\n\t\t\t\t\t\t\t\t\t\t\t? parentLayout.rowCount -\n\t\t\t\t\t\t\t\t\t\t\t ( rowSpan ?? 1 ) +\n\t\t\t\t\t\t\t\t\t\t\t 1\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport function childLayoutOrientation( parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\n\treturn orientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_element","_data","_useGetNumberOfBlocksBeforeCell","_store","_jsxRuntime","helpText","selfStretch","parentLayout","orientation","__","ChildLayoutControl","value","childLayout","onChange","isShownByDefault","panelId","type","parentType","default","defaultParentType","parentLayoutType","jsx","FlexControls","GridControls","flexSize","hasFlexValue","flexResetLabel","resetFlex","undefined","useEffect","jsxs","__experimentalVStack","as","ToolsPanelItem","spacing","hasValue","label","onDeselect","children","__experimentalToggleGroupControl","__nextHasNoMarginBottom","size","childLayoutOrientation","help","newFlexSize","isBlock","__experimentalToggleGroupControlOption","__experimentalUnitControl","columnStart","rowStart","columnSpan","rowSpan","columnCount","gridColumnNumber","parseInt","rootClientId","useSelect","select","blockEditorStore","getBlockRootClientId","moveBlocksToPosition","__unstableMarkNextChangeAsNotPersistent","useDispatch","getNumberOfBlocksBeforeCell","useGetNumberOfBlocksBeforeCell","hasStartValue","hasSpanValue","resetGridStarts","resetGridSpans","Fragment","__experimentalHStack","__experimentalInputControl","min","window","__experimentalEnableGridInteractivity","Flex","FlexItem","style","width","max","rowCount"],"sources":["@wordpress/block-editor/src/components/child-layout-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalInputControl as InputControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useGetNumberOfBlocksBeforeCell } from '../grid/use-get-number-of-blocks-before-cell';\nimport { store as blockEditorStore } from '../../store';\n\nfunction helpText( selfStretch, parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\n\tif ( selfStretch === 'fill' ) {\n\t\treturn __( 'Stretch to fill available space.' );\n\t}\n\tif ( selfStretch === 'fixed' && orientation === 'horizontal' ) {\n\t\treturn __( 'Specify a fixed width.' );\n\t} else if ( selfStretch === 'fixed' ) {\n\t\treturn __( 'Specify a fixed height.' );\n\t}\n\treturn __( 'Fit contents.' );\n}\n\n/**\n * Form to edit the child layout value.\n *\n * @param {Object} props Props.\n * @param {Object} props.value The child layout value.\n * @param {Function} props.onChange Function to update the child layout value.\n * @param {Object} props.parentLayout The parent layout value.\n *\n * @param {boolean} props.isShownByDefault\n * @param {string} props.panelId\n * @return {Element} child layout edit element.\n */\nexport default function ChildLayoutControl( {\n\tvalue: childLayout = {},\n\tonChange,\n\tparentLayout,\n\tisShownByDefault,\n\tpanelId,\n} ) {\n\tconst {\n\t\ttype: parentType,\n\t\tdefault: { type: defaultParentType = 'default' } = {},\n\t} = parentLayout ?? {};\n\tconst parentLayoutType = parentType || defaultParentType;\n\n\tif ( parentLayoutType === 'flex' ) {\n\t\treturn (\n\t\t\t<FlexControls\n\t\t\t\tchildLayout={ childLayout }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tparentLayout={ parentLayout }\n\t\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\t\tpanelId={ panelId }\n\t\t\t/>\n\t\t);\n\t} else if ( parentLayoutType === 'grid' ) {\n\t\treturn (\n\t\t\t<GridControls\n\t\t\t\tchildLayout={ childLayout }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tparentLayout={ parentLayout }\n\t\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\t\tpanelId={ panelId }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n}\n\nfunction FlexControls( {\n\tchildLayout,\n\tonChange,\n\tparentLayout,\n\tisShownByDefault,\n\tpanelId,\n} ) {\n\tconst { selfStretch, flexSize } = childLayout;\n\tconst { orientation = 'horizontal' } = parentLayout ?? {};\n\tconst hasFlexValue = () => !! selfStretch;\n\tconst flexResetLabel =\n\t\torientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n\tconst resetFlex = () => {\n\t\tonChange( {\n\t\t\tselfStretch: undefined,\n\t\t\tflexSize: undefined,\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( selfStretch === 'fixed' && ! flexSize ) {\n\t\t\tonChange( {\n\t\t\t\t...childLayout,\n\t\t\t\tselfStretch: 'fit',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<VStack\n\t\t\tas={ ToolsPanelItem }\n\t\t\tspacing={ 2 }\n\t\t\thasValue={ hasFlexValue }\n\t\t\tlabel={ flexResetLabel }\n\t\t\tonDeselect={ resetFlex }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<ToggleGroupControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\tlabel={ childLayoutOrientation( parentLayout ) }\n\t\t\t\tvalue={ selfStretch || 'fit' }\n\t\t\t\thelp={ helpText( selfStretch, parentLayout ) }\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tconst newFlexSize = value !== 'fixed' ? null : flexSize;\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\tselfStretch: value,\n\t\t\t\t\t\tflexSize: newFlexSize,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tisBlock\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"fit\"\n\t\t\t\t\tvalue=\"fit\"\n\t\t\t\t\tlabel={ __( 'Fit' ) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"fill\"\n\t\t\t\t\tvalue=\"fill\"\n\t\t\t\t\tlabel={ __( 'Fill' ) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"fixed\"\n\t\t\t\t\tvalue=\"fixed\"\n\t\t\t\t\tlabel={ __( 'Fixed' ) }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t\t{ selfStretch === 'fixed' && (\n\t\t\t\t<UnitControl\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\tselfStretch,\n\t\t\t\t\t\t\tflexSize: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ flexSize }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport function childLayoutOrientation( parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\treturn orientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n}\n\nfunction GridControls( {\n\tchildLayout,\n\tonChange,\n\tparentLayout,\n\tisShownByDefault,\n\tpanelId,\n} ) {\n\tconst { columnStart, rowStart, columnSpan, rowSpan } = childLayout;\n\tconst { columnCount } = parentLayout ?? {};\n\tconst gridColumnNumber = parseInt( columnCount, 10 ) || 3;\n\tconst rootClientId = useSelect( ( select ) =>\n\t\tselect( blockEditorStore ).getBlockRootClientId( panelId )\n\t);\n\tconst { moveBlocksToPosition, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst getNumberOfBlocksBeforeCell = useGetNumberOfBlocksBeforeCell(\n\t\trootClientId,\n\t\tgridColumnNumber\n\t);\n\tconst hasStartValue = () => !! columnStart || !! rowStart;\n\tconst hasSpanValue = () => !! columnSpan || !! rowSpan;\n\tconst resetGridStarts = () => {\n\t\tonChange( {\n\t\t\tcolumnStart: undefined,\n\t\t\trowStart: undefined,\n\t\t} );\n\t};\n\tconst resetGridSpans = () => {\n\t\tonChange( {\n\t\t\tcolumnSpan: undefined,\n\t\t\trowSpan: undefined,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<HStack\n\t\t\t\tas={ ToolsPanelItem }\n\t\t\t\thasValue={ hasSpanValue }\n\t\t\t\tlabel={ __( 'Grid span' ) }\n\t\t\t\tonDeselect={ resetGridSpans }\n\t\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\t\tpanelId={ panelId }\n\t\t\t>\n\t\t\t\t<InputControl\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tlabel={ __( 'Column span' ) }\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\trowStart,\n\t\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t\tcolumnSpan: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ columnSpan }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t/>\n\t\t\t\t<InputControl\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tlabel={ __( 'Row span' ) }\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\trowStart,\n\t\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\t\trowSpan: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ rowSpan }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t{ window.__experimentalEnableGridInteractivity && columnCount && (\n\t\t\t\t// Use Flex with an explicit width on the FlexItem instead of HStack to\n\t\t\t\t// work around an issue in webkit where inputs with a max attribute are\n\t\t\t\t// sized incorrectly.\n\t\t\t\t<Flex\n\t\t\t\t\tas={ ToolsPanelItem }\n\t\t\t\t\thasValue={ hasStartValue }\n\t\t\t\t\tlabel={ __( 'Grid placement' ) }\n\t\t\t\t\tonDeselect={ resetGridStarts }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FlexItem style={ { width: '50%' } }>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\tlabel={ __( 'Column' ) }\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\tcolumnStart: value,\n\t\t\t\t\t\t\t\t\trowStart,\n\t\t\t\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t[ panelId ],\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tgetNumberOfBlocksBeforeCell(\n\t\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t\trowStart\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ columnStart }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\tgridColumnNumber\n\t\t\t\t\t\t\t\t\t? gridColumnNumber - ( columnSpan ?? 1 ) + 1\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem style={ { width: '50%' } }>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\tlabel={ __( 'Row' ) }\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\t\t\trowStart: value,\n\t\t\t\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t[ panelId ],\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tgetNumberOfBlocksBeforeCell(\n\t\t\t\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ rowStart }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\tparentLayout?.rowCount\n\t\t\t\t\t\t\t\t\t? parentLayout.rowCount -\n\t\t\t\t\t\t\t\t\t ( rowSpan ?? 1 ) +\n\t\t\t\t\t\t\t\t\t 1\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -630,6 +630,7 @@ const toStyles = (tree, blockSelectors, hasBlockGapSupport, hasFallbackGapSuppor
630
630
  marginReset: true,
631
631
  presets: true,
632
632
  rootPadding: true,
633
+ variationStyles: false,
633
634
  ...styleOptions
634
635
  };
635
636
  const nodesWithStyles = getNodesWithStyles(tree, blockSelectors);
@@ -667,8 +668,8 @@ const toStyles = (tree, blockSelectors, hasBlockGapSupport, hasFallbackGapSuppor
667
668
  ruleset += `padding-right: 0; padding-left: 0; padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom) }
668
669
  .has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }
669
670
  .has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }
670
- .has-global-padding :where(.has-global-padding:not(.wp-block-block, .alignfull, .alignwide)) { padding-right: 0; padding-left: 0; }
671
- .has-global-padding :where(.has-global-padding:not(.wp-block-block, .alignfull, .alignwide)) > .alignfull { margin-left: 0; margin-right: 0;
671
+ .has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull, .alignwide)) { padding-right: 0; padding-left: 0; }
672
+ .has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull, .alignwide)) > .alignfull { margin-left: 0; margin-right: 0;
672
673
  `;
673
674
  }
674
675
  ruleset += '}';
@@ -727,7 +728,7 @@ const toStyles = (tree, blockSelectors, hasBlockGapSupport, hasFallbackGapSuppor
727
728
  if (styles?.css) {
728
729
  ruleset += processCSSNesting(styles.css, `:root :where(${selector})`);
729
730
  }
730
- if (styleVariationSelectors) {
731
+ if (options.variationStyles && styleVariationSelectors) {
731
732
  Object.entries(styleVariationSelectors).forEach(([styleVariationName, styleVariationSelector]) => {
732
733
  const styleVariations = styles?.variations?.[styleVariationName];
733
734
  if (styleVariations) {