@wordpress/block-editor 11.1.0 → 11.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 (201) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE.md +1 -1
  3. package/build/components/block-actions/index.js +9 -0
  4. package/build/components/block-actions/index.js.map +1 -1
  5. package/build/components/block-inspector/index.js +4 -2
  6. package/build/components/block-inspector/index.js.map +1 -1
  7. package/build/components/block-preview/auto.js +1 -4
  8. package/build/components/block-preview/auto.js.map +1 -1
  9. package/build/components/block-settings-menu/block-settings-dropdown.js +4 -1
  10. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  11. package/build/components/block-styles/index.js +3 -1
  12. package/build/components/block-styles/index.js.map +1 -1
  13. package/build/components/block-tools/use-block-toolbar-popover-props.js +43 -10
  14. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  15. package/build/components/default-style-picker/index.js +1 -0
  16. package/build/components/default-style-picker/index.js.map +1 -1
  17. package/build/components/font-sizes/with-font-sizes.js +5 -8
  18. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  19. package/build/components/iframe/index.js +37 -8
  20. package/build/components/iframe/index.js.map +1 -1
  21. package/build/components/iframe/use-compatibility-styles.js +6 -1
  22. package/build/components/iframe/use-compatibility-styles.js.map +1 -1
  23. package/build/components/image-size-control/index.js +1 -0
  24. package/build/components/image-size-control/index.js.map +1 -1
  25. package/build/components/inserter/block-patterns-tab.js +4 -4
  26. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  27. package/build/components/inserter/index.js +3 -2
  28. package/build/components/inserter/index.js.map +1 -1
  29. package/build/components/inserter/menu.js +11 -5
  30. package/build/components/inserter/menu.js.map +1 -1
  31. package/build/components/inspector-controls/groups.js +3 -1
  32. package/build/components/inspector-controls/groups.js.map +1 -1
  33. package/build/components/inspector-controls-tabs/position-controls-panel.js +46 -0
  34. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -0
  35. package/build/components/inspector-controls-tabs/settings-tab.js +3 -1
  36. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  37. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +4 -11
  38. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  39. package/build/components/link-control/search-input.js +1 -0
  40. package/build/components/link-control/search-input.js.map +1 -1
  41. package/build/components/off-canvas-editor/appender.js +2 -38
  42. package/build/components/off-canvas-editor/appender.js.map +1 -1
  43. package/build/components/off-canvas-editor/block-contents.js +38 -5
  44. package/build/components/off-canvas-editor/block-contents.js.map +1 -1
  45. package/build/components/off-canvas-editor/block.js +7 -25
  46. package/build/components/off-canvas-editor/block.js.map +1 -1
  47. package/build/components/off-canvas-editor/index.js +7 -4
  48. package/build/components/off-canvas-editor/index.js.map +1 -1
  49. package/build/components/provider/index.js +3 -1
  50. package/build/components/provider/index.js.map +1 -1
  51. package/build/components/rich-text/use-enter.js +4 -5
  52. package/build/components/rich-text/use-enter.js.map +1 -1
  53. package/build/components/url-input/button.js +1 -0
  54. package/build/components/url-input/button.js.map +1 -1
  55. package/build/components/url-input/index.js +15 -1
  56. package/build/components/url-input/index.js.map +1 -1
  57. package/build/components/url-popover/link-editor.js +1 -0
  58. package/build/components/url-popover/link-editor.js.map +1 -1
  59. package/build/components/use-paste-styles/index.js +188 -0
  60. package/build/components/use-paste-styles/index.js.map +1 -0
  61. package/build/components/writing-flow/use-arrow-nav.js +22 -29
  62. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  63. package/build/hooks/index.js +2 -0
  64. package/build/hooks/index.js.map +1 -1
  65. package/build/hooks/metadata.js +1 -1
  66. package/build/hooks/metadata.js.map +1 -1
  67. package/build/hooks/position.js +376 -0
  68. package/build/hooks/position.js.map +1 -0
  69. package/build/hooks/supports.js +328 -0
  70. package/build/hooks/supports.js.map +1 -0
  71. package/build/store/reducer.js +6 -2
  72. package/build/store/reducer.js.map +1 -1
  73. package/build/store/selectors.js +8 -6
  74. package/build/store/selectors.js.map +1 -1
  75. package/build-module/components/block-actions/index.js +6 -0
  76. package/build-module/components/block-actions/index.js.map +1 -1
  77. package/build-module/components/block-inspector/index.js +3 -2
  78. package/build-module/components/block-inspector/index.js.map +1 -1
  79. package/build-module/components/block-preview/auto.js +1 -4
  80. package/build-module/components/block-preview/auto.js.map +1 -1
  81. package/build-module/components/block-settings-menu/block-settings-dropdown.js +4 -1
  82. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  83. package/build-module/components/block-styles/index.js +2 -1
  84. package/build-module/components/block-styles/index.js.map +1 -1
  85. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +42 -11
  86. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  87. package/build-module/components/default-style-picker/index.js +1 -0
  88. package/build-module/components/default-style-picker/index.js.map +1 -1
  89. package/build-module/components/font-sizes/with-font-sizes.js +5 -7
  90. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  91. package/build-module/components/iframe/index.js +36 -9
  92. package/build-module/components/iframe/index.js.map +1 -1
  93. package/build-module/components/iframe/use-compatibility-styles.js +6 -1
  94. package/build-module/components/iframe/use-compatibility-styles.js.map +1 -1
  95. package/build-module/components/image-size-control/index.js +1 -0
  96. package/build-module/components/image-size-control/index.js.map +1 -1
  97. package/build-module/components/inserter/block-patterns-tab.js +4 -4
  98. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  99. package/build-module/components/inserter/index.js +3 -2
  100. package/build-module/components/inserter/index.js.map +1 -1
  101. package/build-module/components/inserter/menu.js +11 -5
  102. package/build-module/components/inserter/menu.js.map +1 -1
  103. package/build-module/components/inspector-controls/groups.js +3 -1
  104. package/build-module/components/inspector-controls/groups.js.map +1 -1
  105. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +33 -0
  106. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -0
  107. package/build-module/components/inspector-controls-tabs/settings-tab.js +2 -1
  108. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  109. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +4 -11
  110. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  111. package/build-module/components/link-control/search-input.js +1 -0
  112. package/build-module/components/link-control/search-input.js.map +1 -1
  113. package/build-module/components/off-canvas-editor/appender.js +3 -36
  114. package/build-module/components/off-canvas-editor/appender.js.map +1 -1
  115. package/build-module/components/off-canvas-editor/block-contents.js +37 -7
  116. package/build-module/components/off-canvas-editor/block-contents.js.map +1 -1
  117. package/build-module/components/off-canvas-editor/block.js +9 -27
  118. package/build-module/components/off-canvas-editor/block.js.map +1 -1
  119. package/build-module/components/off-canvas-editor/index.js +7 -4
  120. package/build-module/components/off-canvas-editor/index.js.map +1 -1
  121. package/build-module/components/provider/index.js +3 -1
  122. package/build-module/components/provider/index.js.map +1 -1
  123. package/build-module/components/rich-text/use-enter.js +4 -5
  124. package/build-module/components/rich-text/use-enter.js.map +1 -1
  125. package/build-module/components/url-input/button.js +1 -0
  126. package/build-module/components/url-input/button.js.map +1 -1
  127. package/build-module/components/url-input/index.js +14 -1
  128. package/build-module/components/url-input/index.js.map +1 -1
  129. package/build-module/components/url-popover/link-editor.js +1 -0
  130. package/build-module/components/url-popover/link-editor.js.map +1 -1
  131. package/build-module/components/use-paste-styles/index.js +174 -0
  132. package/build-module/components/use-paste-styles/index.js.map +1 -0
  133. package/build-module/components/writing-flow/use-arrow-nav.js +22 -29
  134. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  135. package/build-module/hooks/index.js +1 -0
  136. package/build-module/hooks/index.js.map +1 -1
  137. package/build-module/hooks/metadata.js +1 -1
  138. package/build-module/hooks/metadata.js.map +1 -1
  139. package/build-module/hooks/position.js +337 -0
  140. package/build-module/hooks/position.js.map +1 -0
  141. package/build-module/hooks/supports.js +257 -0
  142. package/build-module/hooks/supports.js.map +1 -0
  143. package/build-module/store/reducer.js +6 -2
  144. package/build-module/store/reducer.js.map +1 -1
  145. package/build-module/store/selectors.js +7 -5
  146. package/build-module/store/selectors.js.map +1 -1
  147. package/build-style/content-rtl.css +57 -0
  148. package/build-style/content.css +57 -0
  149. package/build-style/style-rtl.css +27 -58
  150. package/build-style/style.css +27 -58
  151. package/package.json +29 -29
  152. package/src/components/block-actions/index.js +5 -0
  153. package/src/components/block-inspector/index.js +3 -1
  154. package/src/components/block-preview/auto.js +2 -4
  155. package/src/components/block-settings-menu/block-settings-dropdown.js +4 -0
  156. package/src/components/block-styles/index.js +4 -1
  157. package/src/components/block-tools/use-block-toolbar-popover-props.js +68 -12
  158. package/src/components/button-block-appender/{style.scss → content.scss} +0 -0
  159. package/src/components/default-style-picker/index.js +1 -0
  160. package/src/components/font-sizes/with-font-sizes.js +33 -33
  161. package/src/components/iframe/index.js +52 -19
  162. package/src/components/iframe/use-compatibility-styles.js +6 -0
  163. package/src/components/image-size-control/index.js +1 -0
  164. package/src/components/inserter/block-patterns-tab.js +7 -4
  165. package/src/components/inserter/index.js +46 -41
  166. package/src/components/inserter/menu.js +8 -4
  167. package/src/components/inserter/test/__snapshots__/index.native.js.snap +117 -0
  168. package/src/components/inserter/test/index.native.js +255 -1
  169. package/src/components/inspector-controls/groups.js +2 -0
  170. package/src/components/inspector-controls-tabs/position-controls-panel.js +37 -0
  171. package/src/components/inspector-controls-tabs/settings-tab.js +2 -0
  172. package/src/components/inspector-controls-tabs/style.scss +15 -0
  173. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +3 -8
  174. package/src/components/link-control/search-input.js +1 -0
  175. package/src/components/link-control/style.scss +1 -0
  176. package/src/components/list-view/style.scss +13 -3
  177. package/src/components/off-canvas-editor/appender.js +2 -52
  178. package/src/components/off-canvas-editor/block-contents.js +84 -23
  179. package/src/components/off-canvas-editor/block.js +28 -60
  180. package/src/components/off-canvas-editor/index.js +12 -2
  181. package/src/components/provider/index.js +4 -1
  182. package/src/components/rich-text/use-enter.js +4 -4
  183. package/src/components/url-input/README.md +5 -0
  184. package/src/components/url-input/button.js +1 -0
  185. package/src/components/url-input/index.js +15 -1
  186. package/src/components/url-popover/link-editor.js +1 -0
  187. package/src/components/use-paste-styles/index.js +230 -0
  188. package/src/components/writing-flow/use-arrow-nav.js +20 -28
  189. package/src/content.scss +1 -0
  190. package/src/hooks/index.js +1 -0
  191. package/src/hooks/metadata.js +1 -2
  192. package/src/hooks/position.js +375 -0
  193. package/src/hooks/position.scss +18 -0
  194. package/src/hooks/supports.js +302 -0
  195. package/src/hooks/test/__snapshots__/align.native.js.snap +73 -0
  196. package/src/hooks/test/align.native.js +133 -0
  197. package/src/store/reducer.js +7 -2
  198. package/src/store/selectors.js +5 -5
  199. package/src/store/test/reducer.js +45 -3
  200. package/src/store/test/selectors.js +12 -9
  201. package/src/style.scss +2 -1
@@ -0,0 +1,328 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.hasBackgroundColorSupport = exports.hasAlignWideSupport = exports.hasAlignSupport = exports.getLayoutSupport = exports.getFontSizeSupport = exports.getFontFamilySupport = exports.getCustomClassNameSupport = exports.getColorSupport = exports.getBorderSupport = exports.getAlignWideSupport = exports.getAlignSupport = void 0;
7
+ exports.hasBorderSupport = hasBorderSupport;
8
+ exports.hasTextColorSupport = exports.hasStyleSupport = exports.hasLinkColorSupport = exports.hasLayoutSupport = exports.hasGradientSupport = exports.hasFontSizeSupport = exports.hasFontFamilySupport = exports.hasCustomClassNameSupport = exports.hasColorSupport = void 0;
9
+
10
+ var _blocks = require("@wordpress/blocks");
11
+
12
+ var _element = require("@wordpress/element");
13
+
14
+ /**
15
+ * WordPress dependencies
16
+ */
17
+ const ALIGN_SUPPORT_KEY = 'align';
18
+ const ALIGN_WIDE_SUPPORT_KEY = 'alignWide';
19
+ const BORDER_SUPPORT_KEY = '__experimentalBorder';
20
+ const COLOR_SUPPORT_KEY = 'color';
21
+ const CUSTOM_CLASS_NAME_SUPPORT_KEY = 'customClassName';
22
+ const FONT_FAMILY_SUPPORT_KEY = 'typography.__experimentalFontFamily';
23
+ const FONT_SIZE_SUPPORT_KEY = 'typography.fontSize';
24
+ const LINE_HEIGHT_SUPPORT_KEY = 'typography.lineHeight';
25
+ /**
26
+ * Key within block settings' support array indicating support for font style.
27
+ */
28
+
29
+ const FONT_STYLE_SUPPORT_KEY = 'typography.__experimentalFontStyle';
30
+ /**
31
+ * Key within block settings' support array indicating support for font weight.
32
+ */
33
+
34
+ const FONT_WEIGHT_SUPPORT_KEY = 'typography.__experimentalFontWeight';
35
+ /**
36
+ * Key within block settings' supports array indicating support for text
37
+ * decorations e.g. settings found in `block.json`.
38
+ */
39
+
40
+ const TEXT_DECORATION_SUPPORT_KEY = 'typography.__experimentalTextDecoration';
41
+ /**
42
+ * Key within block settings' supports array indicating support for text
43
+ * transforms e.g. settings found in `block.json`.
44
+ */
45
+
46
+ const TEXT_TRANSFORM_SUPPORT_KEY = 'typography.__experimentalTextTransform';
47
+ /**
48
+ * Key within block settings' supports array indicating support for letter-spacing
49
+ * e.g. settings found in `block.json`.
50
+ */
51
+
52
+ const LETTER_SPACING_SUPPORT_KEY = 'typography.__experimentalLetterSpacing';
53
+ const LAYOUT_SUPPORT_KEY = '__experimentalLayout';
54
+ const TYPOGRAPHY_SUPPORT_KEYS = [LINE_HEIGHT_SUPPORT_KEY, FONT_SIZE_SUPPORT_KEY, FONT_STYLE_SUPPORT_KEY, FONT_WEIGHT_SUPPORT_KEY, FONT_FAMILY_SUPPORT_KEY, TEXT_DECORATION_SUPPORT_KEY, TEXT_TRANSFORM_SUPPORT_KEY, LETTER_SPACING_SUPPORT_KEY];
55
+ const SPACING_SUPPORT_KEY = 'spacing';
56
+ const styleSupportKeys = [...TYPOGRAPHY_SUPPORT_KEYS, BORDER_SUPPORT_KEY, COLOR_SUPPORT_KEY, SPACING_SUPPORT_KEY];
57
+ /**
58
+ * Returns true if the block defines support for align.
59
+ *
60
+ * @param {string|Object} nameOrType Block name or type object.
61
+ * @return {boolean} Whether the block supports the feature.
62
+ */
63
+
64
+ const hasAlignSupport = nameOrType => (0, _blocks.hasBlockSupport)(nameOrType, ALIGN_SUPPORT_KEY);
65
+ /**
66
+ * Returns the block support value for align, if defined.
67
+ *
68
+ * @param {string|Object} nameOrType Block name or type object.
69
+ * @return {unknown} The block support value.
70
+ */
71
+
72
+
73
+ exports.hasAlignSupport = hasAlignSupport;
74
+
75
+ const getAlignSupport = nameOrType => (0, _blocks.getBlockSupport)(nameOrType, ALIGN_SUPPORT_KEY);
76
+ /**
77
+ * Returns true if the block defines support for align wide.
78
+ *
79
+ * @param {string|Object} nameOrType Block name or type object.
80
+ * @return {boolean} Whether the block supports the feature.
81
+ */
82
+
83
+
84
+ exports.getAlignSupport = getAlignSupport;
85
+
86
+ const hasAlignWideSupport = nameOrType => (0, _blocks.hasBlockSupport)(nameOrType, ALIGN_WIDE_SUPPORT_KEY);
87
+ /**
88
+ * Returns the block support value for align wide, if defined.
89
+ *
90
+ * @param {string|Object} nameOrType Block name or type object.
91
+ * @return {unknown} The block support value.
92
+ */
93
+
94
+
95
+ exports.hasAlignWideSupport = hasAlignWideSupport;
96
+
97
+ const getAlignWideSupport = nameOrType => (0, _blocks.getBlockSupport)(nameOrType, ALIGN_WIDE_SUPPORT_KEY);
98
+ /**
99
+ * Determine whether there is block support for border properties.
100
+ *
101
+ * @param {string|Object} nameOrType Block name or type object.
102
+ * @param {string} feature Border feature to check support for.
103
+ *
104
+ * @return {boolean} Whether there is support.
105
+ */
106
+
107
+
108
+ exports.getAlignWideSupport = getAlignWideSupport;
109
+
110
+ function hasBorderSupport(nameOrType) {
111
+ let feature = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'any';
112
+
113
+ if (_element.Platform.OS !== 'web') {
114
+ return false;
115
+ }
116
+
117
+ const support = (0, _blocks.getBlockSupport)(nameOrType, BORDER_SUPPORT_KEY);
118
+
119
+ if (support === true) {
120
+ return true;
121
+ }
122
+
123
+ if (feature === 'any') {
124
+ return !!(support !== null && support !== void 0 && support.color || support !== null && support !== void 0 && support.radius || support !== null && support !== void 0 && support.width || support !== null && support !== void 0 && support.style);
125
+ }
126
+
127
+ return !!(support !== null && support !== void 0 && support[feature]);
128
+ }
129
+ /**
130
+ * Get block support for border properties.
131
+ *
132
+ * @param {string|Object} nameOrType Block name or type object.
133
+ * @param {string} feature Border feature to get.
134
+ *
135
+ * @return {unknown} The block support.
136
+ */
137
+
138
+
139
+ const getBorderSupport = (nameOrType, feature) => (0, _blocks.getBlockSupport)(nameOrType, [BORDER_SUPPORT_KEY, feature]);
140
+ /**
141
+ * Returns true if the block defines support for color.
142
+ *
143
+ * @param {string|Object} nameOrType Block name or type object.
144
+ * @return {boolean} Whether the block supports the feature.
145
+ */
146
+
147
+
148
+ exports.getBorderSupport = getBorderSupport;
149
+
150
+ const hasColorSupport = nameOrType => {
151
+ const colorSupport = (0, _blocks.getBlockSupport)(nameOrType, COLOR_SUPPORT_KEY);
152
+ return colorSupport && (colorSupport.link === true || colorSupport.gradient === true || colorSupport.background !== false || colorSupport.text !== false);
153
+ };
154
+ /**
155
+ * Returns true if the block defines support for link color.
156
+ *
157
+ * @param {string|Object} nameOrType Block name or type object.
158
+ * @return {boolean} Whether the block supports the feature.
159
+ */
160
+
161
+
162
+ exports.hasColorSupport = hasColorSupport;
163
+
164
+ const hasLinkColorSupport = nameOrType => {
165
+ if (_element.Platform.OS !== 'web') {
166
+ return false;
167
+ }
168
+
169
+ const colorSupport = (0, _blocks.getBlockSupport)(nameOrType, COLOR_SUPPORT_KEY);
170
+ return colorSupport !== null && typeof colorSupport === 'object' && !!colorSupport.link;
171
+ };
172
+ /**
173
+ * Returns true if the block defines support for gradient color.
174
+ *
175
+ * @param {string|Object} nameOrType Block name or type object.
176
+ * @return {boolean} Whether the block supports the feature.
177
+ */
178
+
179
+
180
+ exports.hasLinkColorSupport = hasLinkColorSupport;
181
+
182
+ const hasGradientSupport = nameOrType => {
183
+ const colorSupport = (0, _blocks.getBlockSupport)(nameOrType, COLOR_SUPPORT_KEY);
184
+ return colorSupport !== null && typeof colorSupport === 'object' && !!colorSupport.gradients;
185
+ };
186
+ /**
187
+ * Returns true if the block defines support for background color.
188
+ *
189
+ * @param {string|Object} nameOrType Block name or type object.
190
+ * @return {boolean} Whether the block supports the feature.
191
+ */
192
+
193
+
194
+ exports.hasGradientSupport = hasGradientSupport;
195
+
196
+ const hasBackgroundColorSupport = nameOrType => {
197
+ const colorSupport = (0, _blocks.getBlockSupport)(nameOrType, COLOR_SUPPORT_KEY);
198
+ return colorSupport && colorSupport.background !== false;
199
+ };
200
+ /**
201
+ * Returns true if the block defines support for background color.
202
+ *
203
+ * @param {string|Object} nameOrType Block name or type object.
204
+ * @return {boolean} Whether the block supports the feature.
205
+ */
206
+
207
+
208
+ exports.hasBackgroundColorSupport = hasBackgroundColorSupport;
209
+
210
+ const hasTextColorSupport = nameOrType => {
211
+ const colorSupport = (0, _blocks.getBlockSupport)(nameOrType, COLOR_SUPPORT_KEY);
212
+ return colorSupport && colorSupport.text !== false;
213
+ };
214
+ /**
215
+ * Get block support for color properties.
216
+ *
217
+ * @param {string|Object} nameOrType Block name or type object.
218
+ * @param {string} feature Color feature to get.
219
+ *
220
+ * @return {unknown} The block support.
221
+ */
222
+
223
+
224
+ exports.hasTextColorSupport = hasTextColorSupport;
225
+
226
+ const getColorSupport = (nameOrType, feature) => (0, _blocks.getBlockSupport)(nameOrType, [COLOR_SUPPORT_KEY, feature]);
227
+ /**
228
+ * Returns true if the block defines support for custom class name.
229
+ *
230
+ * @param {string|Object} nameOrType Block name or type object.
231
+ * @return {boolean} Whether the block supports the feature.
232
+ */
233
+
234
+
235
+ exports.getColorSupport = getColorSupport;
236
+
237
+ const hasCustomClassNameSupport = nameOrType => (0, _blocks.hasBlockSupport)(nameOrType, CUSTOM_CLASS_NAME_SUPPORT_KEY, true);
238
+ /**
239
+ * Returns the block support value for custom class name, if defined.
240
+ *
241
+ * @param {string|Object} nameOrType Block name or type object.
242
+ * @return {unknown} The block support value.
243
+ */
244
+
245
+
246
+ exports.hasCustomClassNameSupport = hasCustomClassNameSupport;
247
+
248
+ const getCustomClassNameSupport = nameOrType => (0, _blocks.getBlockSupport)(nameOrType, CUSTOM_CLASS_NAME_SUPPORT_KEY, true);
249
+ /**
250
+ * Returns true if the block defines support for font family.
251
+ *
252
+ * @param {string|Object} nameOrType Block name or type object.
253
+ * @return {boolean} Whether the block supports the feature.
254
+ */
255
+
256
+
257
+ exports.getCustomClassNameSupport = getCustomClassNameSupport;
258
+
259
+ const hasFontFamilySupport = nameOrType => (0, _blocks.hasBlockSupport)(nameOrType, FONT_FAMILY_SUPPORT_KEY);
260
+ /**
261
+ * Returns the block support value for font family, if defined.
262
+ *
263
+ * @param {string|Object} nameOrType Block name or type object.
264
+ * @return {unknown} The block support value.
265
+ */
266
+
267
+
268
+ exports.hasFontFamilySupport = hasFontFamilySupport;
269
+
270
+ const getFontFamilySupport = nameOrType => (0, _blocks.getBlockSupport)(nameOrType, FONT_FAMILY_SUPPORT_KEY);
271
+ /**
272
+ * Returns true if the block defines support for font size.
273
+ *
274
+ * @param {string|Object} nameOrType Block name or type object.
275
+ * @return {boolean} Whether the block supports the feature.
276
+ */
277
+
278
+
279
+ exports.getFontFamilySupport = getFontFamilySupport;
280
+
281
+ const hasFontSizeSupport = nameOrType => (0, _blocks.hasBlockSupport)(nameOrType, FONT_SIZE_SUPPORT_KEY);
282
+ /**
283
+ * Returns the block support value for font size, if defined.
284
+ *
285
+ * @param {string|Object} nameOrType Block name or type object.
286
+ * @return {unknown} The block support value.
287
+ */
288
+
289
+
290
+ exports.hasFontSizeSupport = hasFontSizeSupport;
291
+
292
+ const getFontSizeSupport = nameOrType => (0, _blocks.getBlockSupport)(nameOrType, FONT_SIZE_SUPPORT_KEY);
293
+ /**
294
+ * Returns true if the block defines support for layout.
295
+ *
296
+ * @param {string|Object} nameOrType Block name or type object.
297
+ * @return {boolean} Whether the block supports the feature.
298
+ */
299
+
300
+
301
+ exports.getFontSizeSupport = getFontSizeSupport;
302
+
303
+ const hasLayoutSupport = nameOrType => (0, _blocks.hasBlockSupport)(nameOrType, LAYOUT_SUPPORT_KEY);
304
+ /**
305
+ * Returns the block support value for layout, if defined.
306
+ *
307
+ * @param {string|Object} nameOrType Block name or type object.
308
+ * @return {unknown} The block support value.
309
+ */
310
+
311
+
312
+ exports.hasLayoutSupport = hasLayoutSupport;
313
+
314
+ const getLayoutSupport = nameOrType => (0, _blocks.getBlockSupport)(nameOrType, LAYOUT_SUPPORT_KEY);
315
+ /**
316
+ * Returns true if the block defines support for style.
317
+ *
318
+ * @param {string|Object} nameOrType Block name or type object.
319
+ * @return {boolean} Whether the block supports the feature.
320
+ */
321
+
322
+
323
+ exports.getLayoutSupport = getLayoutSupport;
324
+
325
+ const hasStyleSupport = nameOrType => styleSupportKeys.some(key => (0, _blocks.hasBlockSupport)(nameOrType, key));
326
+
327
+ exports.hasStyleSupport = hasStyleSupport;
328
+ //# sourceMappingURL=supports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-editor/src/hooks/supports.js"],"names":["ALIGN_SUPPORT_KEY","ALIGN_WIDE_SUPPORT_KEY","BORDER_SUPPORT_KEY","COLOR_SUPPORT_KEY","CUSTOM_CLASS_NAME_SUPPORT_KEY","FONT_FAMILY_SUPPORT_KEY","FONT_SIZE_SUPPORT_KEY","LINE_HEIGHT_SUPPORT_KEY","FONT_STYLE_SUPPORT_KEY","FONT_WEIGHT_SUPPORT_KEY","TEXT_DECORATION_SUPPORT_KEY","TEXT_TRANSFORM_SUPPORT_KEY","LETTER_SPACING_SUPPORT_KEY","LAYOUT_SUPPORT_KEY","TYPOGRAPHY_SUPPORT_KEYS","SPACING_SUPPORT_KEY","styleSupportKeys","hasAlignSupport","nameOrType","getAlignSupport","hasAlignWideSupport","getAlignWideSupport","hasBorderSupport","feature","Platform","OS","support","color","radius","width","style","getBorderSupport","hasColorSupport","colorSupport","link","gradient","background","text","hasLinkColorSupport","hasGradientSupport","gradients","hasBackgroundColorSupport","hasTextColorSupport","getColorSupport","hasCustomClassNameSupport","getCustomClassNameSupport","hasFontFamilySupport","getFontFamilySupport","hasFontSizeSupport","getFontSizeSupport","hasLayoutSupport","getLayoutSupport","hasStyleSupport","some","key"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { Platform } from '@wordpress/element';\n\nconst ALIGN_SUPPORT_KEY = 'align';\nconst ALIGN_WIDE_SUPPORT_KEY = 'alignWide';\nconst BORDER_SUPPORT_KEY = '__experimentalBorder';\nconst COLOR_SUPPORT_KEY = 'color';\nconst CUSTOM_CLASS_NAME_SUPPORT_KEY = 'customClassName';\nconst FONT_FAMILY_SUPPORT_KEY = 'typography.__experimentalFontFamily';\nconst FONT_SIZE_SUPPORT_KEY = 'typography.fontSize';\nconst LINE_HEIGHT_SUPPORT_KEY = 'typography.lineHeight';\n/**\n * Key within block settings' support array indicating support for font style.\n */\nconst FONT_STYLE_SUPPORT_KEY = 'typography.__experimentalFontStyle';\n/**\n * Key within block settings' support array indicating support for font weight.\n */\nconst FONT_WEIGHT_SUPPORT_KEY = 'typography.__experimentalFontWeight';\n/**\n * Key within block settings' supports array indicating support for text\n * decorations e.g. settings found in `block.json`.\n */\nconst TEXT_DECORATION_SUPPORT_KEY = 'typography.__experimentalTextDecoration';\n/**\n * Key within block settings' supports array indicating support for text\n * transforms e.g. settings found in `block.json`.\n */\nconst TEXT_TRANSFORM_SUPPORT_KEY = 'typography.__experimentalTextTransform';\n/**\n * Key within block settings' supports array indicating support for letter-spacing\n * e.g. settings found in `block.json`.\n */\nconst LETTER_SPACING_SUPPORT_KEY = 'typography.__experimentalLetterSpacing';\nconst LAYOUT_SUPPORT_KEY = '__experimentalLayout';\nconst TYPOGRAPHY_SUPPORT_KEYS = [\n\tLINE_HEIGHT_SUPPORT_KEY,\n\tFONT_SIZE_SUPPORT_KEY,\n\tFONT_STYLE_SUPPORT_KEY,\n\tFONT_WEIGHT_SUPPORT_KEY,\n\tFONT_FAMILY_SUPPORT_KEY,\n\tTEXT_DECORATION_SUPPORT_KEY,\n\tTEXT_TRANSFORM_SUPPORT_KEY,\n\tLETTER_SPACING_SUPPORT_KEY,\n];\nconst SPACING_SUPPORT_KEY = 'spacing';\nconst styleSupportKeys = [\n\t...TYPOGRAPHY_SUPPORT_KEYS,\n\tBORDER_SUPPORT_KEY,\n\tCOLOR_SUPPORT_KEY,\n\tSPACING_SUPPORT_KEY,\n];\n\n/**\n * Returns true if the block defines support for align.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {boolean} Whether the block supports the feature.\n */\nexport const hasAlignSupport = ( nameOrType ) =>\n\thasBlockSupport( nameOrType, ALIGN_SUPPORT_KEY );\n\n/**\n * Returns the block support value for align, if defined.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {unknown} The block support value.\n */\nexport const getAlignSupport = ( nameOrType ) =>\n\tgetBlockSupport( nameOrType, ALIGN_SUPPORT_KEY );\n\n/**\n * Returns true if the block defines support for align wide.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {boolean} Whether the block supports the feature.\n */\nexport const hasAlignWideSupport = ( nameOrType ) =>\n\thasBlockSupport( nameOrType, ALIGN_WIDE_SUPPORT_KEY );\n\n/**\n * Returns the block support value for align wide, if defined.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {unknown} The block support value.\n */\nexport const getAlignWideSupport = ( nameOrType ) =>\n\tgetBlockSupport( nameOrType, ALIGN_WIDE_SUPPORT_KEY );\n\n/**\n * Determine whether there is block support for border properties.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @param {string} feature Border feature to check support for.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasBorderSupport( nameOrType, feature = 'any' ) {\n\tif ( Platform.OS !== 'web' ) {\n\t\treturn false;\n\t}\n\n\tconst support = getBlockSupport( nameOrType, BORDER_SUPPORT_KEY );\n\n\tif ( support === true ) {\n\t\treturn true;\n\t}\n\n\tif ( feature === 'any' ) {\n\t\treturn !! (\n\t\t\tsupport?.color ||\n\t\t\tsupport?.radius ||\n\t\t\tsupport?.width ||\n\t\t\tsupport?.style\n\t\t);\n\t}\n\n\treturn !! support?.[ feature ];\n}\n\n/**\n * Get block support for border properties.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @param {string} feature Border feature to get.\n *\n * @return {unknown} The block support.\n */\nexport const getBorderSupport = ( nameOrType, feature ) =>\n\tgetBlockSupport( nameOrType, [ BORDER_SUPPORT_KEY, feature ] );\n\n/**\n * Returns true if the block defines support for color.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {boolean} Whether the block supports the feature.\n */\nexport const hasColorSupport = ( nameOrType ) => {\n\tconst colorSupport = getBlockSupport( nameOrType, COLOR_SUPPORT_KEY );\n\treturn (\n\t\tcolorSupport &&\n\t\t( colorSupport.link === true ||\n\t\t\tcolorSupport.gradient === true ||\n\t\t\tcolorSupport.background !== false ||\n\t\t\tcolorSupport.text !== false )\n\t);\n};\n\n/**\n * Returns true if the block defines support for link color.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {boolean} Whether the block supports the feature.\n */\nexport const hasLinkColorSupport = ( nameOrType ) => {\n\tif ( Platform.OS !== 'web' ) {\n\t\treturn false;\n\t}\n\n\tconst colorSupport = getBlockSupport( nameOrType, COLOR_SUPPORT_KEY );\n\n\treturn (\n\t\tcolorSupport !== null &&\n\t\ttypeof colorSupport === 'object' &&\n\t\t!! colorSupport.link\n\t);\n};\n\n/**\n * Returns true if the block defines support for gradient color.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {boolean} Whether the block supports the feature.\n */\nexport const hasGradientSupport = ( nameOrType ) => {\n\tconst colorSupport = getBlockSupport( nameOrType, COLOR_SUPPORT_KEY );\n\n\treturn (\n\t\tcolorSupport !== null &&\n\t\ttypeof colorSupport === 'object' &&\n\t\t!! colorSupport.gradients\n\t);\n};\n\n/**\n * Returns true if the block defines support for background color.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {boolean} Whether the block supports the feature.\n */\nexport const hasBackgroundColorSupport = ( nameOrType ) => {\n\tconst colorSupport = getBlockSupport( nameOrType, COLOR_SUPPORT_KEY );\n\n\treturn colorSupport && colorSupport.background !== false;\n};\n\n/**\n * Returns true if the block defines support for background color.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {boolean} Whether the block supports the feature.\n */\nexport const hasTextColorSupport = ( nameOrType ) => {\n\tconst colorSupport = getBlockSupport( nameOrType, COLOR_SUPPORT_KEY );\n\n\treturn colorSupport && colorSupport.text !== false;\n};\n\n/**\n * Get block support for color properties.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @param {string} feature Color feature to get.\n *\n * @return {unknown} The block support.\n */\nexport const getColorSupport = ( nameOrType, feature ) =>\n\tgetBlockSupport( nameOrType, [ COLOR_SUPPORT_KEY, feature ] );\n\n/**\n * Returns true if the block defines support for custom class name.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {boolean} Whether the block supports the feature.\n */\nexport const hasCustomClassNameSupport = ( nameOrType ) =>\n\thasBlockSupport( nameOrType, CUSTOM_CLASS_NAME_SUPPORT_KEY, true );\n\n/**\n * Returns the block support value for custom class name, if defined.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {unknown} The block support value.\n */\nexport const getCustomClassNameSupport = ( nameOrType ) =>\n\tgetBlockSupport( nameOrType, CUSTOM_CLASS_NAME_SUPPORT_KEY, true );\n\n/**\n * Returns true if the block defines support for font family.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {boolean} Whether the block supports the feature.\n */\nexport const hasFontFamilySupport = ( nameOrType ) =>\n\thasBlockSupport( nameOrType, FONT_FAMILY_SUPPORT_KEY );\n\n/**\n * Returns the block support value for font family, if defined.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {unknown} The block support value.\n */\nexport const getFontFamilySupport = ( nameOrType ) =>\n\tgetBlockSupport( nameOrType, FONT_FAMILY_SUPPORT_KEY );\n\n/**\n * Returns true if the block defines support for font size.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {boolean} Whether the block supports the feature.\n */\nexport const hasFontSizeSupport = ( nameOrType ) =>\n\thasBlockSupport( nameOrType, FONT_SIZE_SUPPORT_KEY );\n\n/**\n * Returns the block support value for font size, if defined.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {unknown} The block support value.\n */\nexport const getFontSizeSupport = ( nameOrType ) =>\n\tgetBlockSupport( nameOrType, FONT_SIZE_SUPPORT_KEY );\n\n/**\n * Returns true if the block defines support for layout.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {boolean} Whether the block supports the feature.\n */\nexport const hasLayoutSupport = ( nameOrType ) =>\n\thasBlockSupport( nameOrType, LAYOUT_SUPPORT_KEY );\n\n/**\n * Returns the block support value for layout, if defined.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {unknown} The block support value.\n */\nexport const getLayoutSupport = ( nameOrType ) =>\n\tgetBlockSupport( nameOrType, LAYOUT_SUPPORT_KEY );\n\n/**\n * Returns true if the block defines support for style.\n *\n * @param {string|Object} nameOrType Block name or type object.\n * @return {boolean} Whether the block supports the feature.\n */\nexport const hasStyleSupport = ( nameOrType ) =>\n\tstyleSupportKeys.some( ( key ) => hasBlockSupport( nameOrType, key ) );\n"]}
@@ -1911,14 +1911,18 @@ function lastBlockInserted() {
1911
1911
 
1912
1912
  switch (action.type) {
1913
1913
  case 'INSERT_BLOCKS':
1914
+ case 'REPLACE_BLOCKS':
1915
+ case 'REPLACE_INNER_BLOCKS':
1914
1916
  if (!action.blocks.length) {
1915
1917
  return state;
1916
1918
  }
1917
1919
 
1918
- const clientId = action.blocks[0].clientId;
1920
+ const clientIds = action.blocks.map(block => {
1921
+ return block.clientId;
1922
+ });
1919
1923
  const source = (_action$meta = action.meta) === null || _action$meta === void 0 ? void 0 : _action$meta.source;
1920
1924
  return {
1921
- clientId,
1925
+ clientIds,
1922
1926
  source
1923
1927
  };
1924
1928