@wordpress/block-library 9.37.2-next.ba3aee3a2.0 → 9.38.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 (238) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/build/audio/index.cjs +16 -8
  3. package/build/audio/index.cjs.map +2 -2
  4. package/build/block-keyboard-shortcuts/index.cjs +2 -4
  5. package/build/block-keyboard-shortcuts/index.cjs.map +2 -2
  6. package/build/button/index.cjs +17 -8
  7. package/build/button/index.cjs.map +2 -2
  8. package/build/code/index.cjs +3 -1
  9. package/build/code/index.cjs.map +2 -2
  10. package/build/comments-title/edit.cjs +10 -6
  11. package/build/comments-title/edit.cjs.map +2 -2
  12. package/build/cover/index.cjs +20 -10
  13. package/build/cover/index.cjs.map +2 -2
  14. package/build/details/index.cjs +3 -1
  15. package/build/details/index.cjs.map +2 -2
  16. package/build/file/index.cjs +19 -9
  17. package/build/file/index.cjs.map +2 -2
  18. package/build/heading/block.json +1 -3
  19. package/build/heading/deprecated.cjs +101 -5
  20. package/build/heading/deprecated.cjs.map +3 -3
  21. package/build/heading/edit.cjs +20 -41
  22. package/build/heading/edit.cjs.map +3 -3
  23. package/build/heading/index.cjs +3 -1
  24. package/build/heading/index.cjs.map +2 -2
  25. package/build/heading/save.cjs +2 -16
  26. package/build/heading/save.cjs.map +3 -3
  27. package/build/heading/transforms.cjs +16 -3
  28. package/build/heading/transforms.cjs.map +2 -2
  29. package/build/image/image.cjs +3 -3
  30. package/build/image/image.cjs.map +2 -2
  31. package/build/image/index.cjs +33 -17
  32. package/build/image/index.cjs.map +2 -2
  33. package/build/list-item/index.cjs +3 -1
  34. package/build/list-item/index.cjs.map +2 -2
  35. package/build/media-text/index.cjs +30 -15
  36. package/build/media-text/index.cjs.map +2 -2
  37. package/build/more/block.json +1 -0
  38. package/build/more/index.cjs +3 -1
  39. package/build/more/index.cjs.map +2 -2
  40. package/build/navigation/edit/index.cjs +7 -6
  41. package/build/navigation/edit/index.cjs.map +2 -2
  42. package/build/navigation/edit/responsive-wrapper.cjs +7 -4
  43. package/build/navigation/edit/responsive-wrapper.cjs.map +2 -2
  44. package/build/navigation/edit/use-create-overlay.cjs +2 -0
  45. package/build/navigation/edit/use-create-overlay.cjs.map +2 -2
  46. package/build/navigation-link/edit.cjs +8 -58
  47. package/build/navigation-link/edit.cjs.map +3 -3
  48. package/build/navigation-link/index.cjs +13 -8
  49. package/build/navigation-link/index.cjs.map +2 -2
  50. package/build/navigation-link/shared/index.cjs +11 -2
  51. package/build/navigation-link/shared/index.cjs.map +2 -2
  52. package/build/navigation-link/shared/invalid-draft-display.cjs +82 -0
  53. package/build/navigation-link/shared/invalid-draft-display.cjs.map +7 -0
  54. package/build/navigation-link/shared/use-enable-link-status-validation.cjs +50 -0
  55. package/build/navigation-link/shared/use-enable-link-status-validation.cjs.map +7 -0
  56. package/build/navigation-link/shared/use-is-invalid-link.cjs +64 -0
  57. package/build/navigation-link/shared/use-is-invalid-link.cjs.map +7 -0
  58. package/build/navigation-overlay-close/block.json +1 -4
  59. package/build/navigation-overlay-close/index.cjs +3 -25
  60. package/build/navigation-overlay-close/index.cjs.map +3 -3
  61. package/build/navigation-submenu/edit.cjs +36 -18
  62. package/build/navigation-submenu/edit.cjs.map +2 -2
  63. package/build/navigation-submenu/index.cjs +15 -8
  64. package/build/navigation-submenu/index.cjs.map +2 -2
  65. package/build/nextpage/block.json +1 -0
  66. package/build/paragraph/index.cjs +3 -1
  67. package/build/paragraph/index.cjs.map +2 -2
  68. package/build/paragraph/transforms.cjs +14 -3
  69. package/build/paragraph/transforms.cjs.map +3 -3
  70. package/build/preformatted/index.cjs +3 -1
  71. package/build/preformatted/index.cjs.map +2 -2
  72. package/build/pullquote/index.cjs +7 -3
  73. package/build/pullquote/index.cjs.map +2 -2
  74. package/build/search/index.cjs +10 -5
  75. package/build/search/index.cjs.map +2 -2
  76. package/build/social-link/index.cjs +13 -7
  77. package/build/social-link/index.cjs.map +2 -2
  78. package/build/table-of-contents/hooks.cjs +1 -1
  79. package/build/table-of-contents/hooks.cjs.map +1 -1
  80. package/build/template-part/edit/utils/get-template-part-icon.cjs.map +1 -1
  81. package/build/utils/is-within-overlay.cjs +52 -0
  82. package/build/utils/is-within-overlay.cjs.map +7 -0
  83. package/build/verse/index.cjs +3 -1
  84. package/build/verse/index.cjs.map +2 -2
  85. package/build/video/index.cjs +20 -10
  86. package/build/video/index.cjs.map +2 -2
  87. package/build-module/audio/index.mjs +16 -8
  88. package/build-module/audio/index.mjs.map +2 -2
  89. package/build-module/block-keyboard-shortcuts/index.mjs +2 -4
  90. package/build-module/block-keyboard-shortcuts/index.mjs.map +2 -2
  91. package/build-module/button/index.mjs +17 -8
  92. package/build-module/button/index.mjs.map +2 -2
  93. package/build-module/code/index.mjs +3 -1
  94. package/build-module/code/index.mjs.map +2 -2
  95. package/build-module/comments-title/edit.mjs +10 -6
  96. package/build-module/comments-title/edit.mjs.map +2 -2
  97. package/build-module/cover/index.mjs +20 -10
  98. package/build-module/cover/index.mjs.map +2 -2
  99. package/build-module/details/index.mjs +3 -1
  100. package/build-module/details/index.mjs.map +2 -2
  101. package/build-module/file/index.mjs +19 -9
  102. package/build-module/file/index.mjs.map +2 -2
  103. package/build-module/heading/block.json +1 -3
  104. package/build-module/heading/deprecated.mjs +101 -5
  105. package/build-module/heading/deprecated.mjs.map +2 -2
  106. package/build-module/heading/edit.mjs +22 -46
  107. package/build-module/heading/edit.mjs.map +2 -2
  108. package/build-module/heading/index.mjs +3 -1
  109. package/build-module/heading/index.mjs.map +2 -2
  110. package/build-module/heading/save.mjs +2 -6
  111. package/build-module/heading/save.mjs.map +2 -2
  112. package/build-module/heading/transforms.mjs +16 -3
  113. package/build-module/heading/transforms.mjs.map +2 -2
  114. package/build-module/image/image.mjs +3 -3
  115. package/build-module/image/image.mjs.map +2 -2
  116. package/build-module/image/index.mjs +33 -17
  117. package/build-module/image/index.mjs.map +2 -2
  118. package/build-module/list-item/index.mjs +3 -1
  119. package/build-module/list-item/index.mjs.map +2 -2
  120. package/build-module/media-text/index.mjs +30 -15
  121. package/build-module/media-text/index.mjs.map +2 -2
  122. package/build-module/more/block.json +1 -0
  123. package/build-module/more/index.mjs +3 -1
  124. package/build-module/more/index.mjs.map +2 -2
  125. package/build-module/navigation/edit/index.mjs +7 -6
  126. package/build-module/navigation/edit/index.mjs.map +2 -2
  127. package/build-module/navigation/edit/responsive-wrapper.mjs +7 -4
  128. package/build-module/navigation/edit/responsive-wrapper.mjs.map +2 -2
  129. package/build-module/navigation/edit/use-create-overlay.mjs +2 -0
  130. package/build-module/navigation/edit/use-create-overlay.mjs.map +2 -2
  131. package/build-module/navigation-link/edit.mjs +12 -60
  132. package/build-module/navigation-link/edit.mjs.map +2 -2
  133. package/build-module/navigation-link/index.mjs +13 -8
  134. package/build-module/navigation-link/index.mjs.map +2 -2
  135. package/build-module/navigation-link/shared/index.mjs +7 -1
  136. package/build-module/navigation-link/shared/index.mjs.map +2 -2
  137. package/build-module/navigation-link/shared/invalid-draft-display.mjs +47 -0
  138. package/build-module/navigation-link/shared/invalid-draft-display.mjs.map +7 -0
  139. package/build-module/navigation-link/shared/use-enable-link-status-validation.mjs +25 -0
  140. package/build-module/navigation-link/shared/use-enable-link-status-validation.mjs.map +7 -0
  141. package/build-module/navigation-link/shared/use-is-invalid-link.mjs +39 -0
  142. package/build-module/navigation-link/shared/use-is-invalid-link.mjs.map +7 -0
  143. package/build-module/navigation-overlay-close/block.json +1 -4
  144. package/build-module/navigation-overlay-close/index.mjs +3 -25
  145. package/build-module/navigation-overlay-close/index.mjs.map +2 -2
  146. package/build-module/navigation-submenu/edit.mjs +40 -19
  147. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  148. package/build-module/navigation-submenu/index.mjs +15 -8
  149. package/build-module/navigation-submenu/index.mjs.map +2 -2
  150. package/build-module/nextpage/block.json +1 -0
  151. package/build-module/paragraph/index.mjs +3 -1
  152. package/build-module/paragraph/index.mjs.map +2 -2
  153. package/build-module/paragraph/transforms.mjs +2 -1
  154. package/build-module/paragraph/transforms.mjs.map +2 -2
  155. package/build-module/preformatted/index.mjs +3 -1
  156. package/build-module/preformatted/index.mjs.map +2 -2
  157. package/build-module/pullquote/index.mjs +7 -3
  158. package/build-module/pullquote/index.mjs.map +2 -2
  159. package/build-module/search/index.mjs +10 -5
  160. package/build-module/search/index.mjs.map +2 -2
  161. package/build-module/social-link/index.mjs +13 -7
  162. package/build-module/social-link/index.mjs.map +2 -2
  163. package/build-module/table-of-contents/hooks.mjs +1 -1
  164. package/build-module/table-of-contents/hooks.mjs.map +1 -1
  165. package/build-module/template-part/edit/utils/get-template-part-icon.mjs.map +1 -1
  166. package/build-module/utils/is-within-overlay.mjs +27 -0
  167. package/build-module/utils/is-within-overlay.mjs.map +7 -0
  168. package/build-module/verse/index.mjs +3 -1
  169. package/build-module/verse/index.mjs.map +2 -2
  170. package/build-module/video/index.mjs +20 -10
  171. package/build-module/video/index.mjs.map +2 -2
  172. package/build-style/navigation/style-rtl.css +1 -16
  173. package/build-style/navigation/style.css +1 -16
  174. package/build-style/style-rtl.css +1 -16
  175. package/build-style/style.css +1 -16
  176. package/package.json +37 -38
  177. package/src/audio/index.js +13 -7
  178. package/src/block-keyboard-shortcuts/index.js +4 -7
  179. package/src/breadcrumbs/index.php +6 -3
  180. package/src/button/index.js +15 -8
  181. package/src/code/index.js +2 -1
  182. package/src/comments-title/edit.js +10 -7
  183. package/src/comments-title/index.php +7 -8
  184. package/src/cover/index.js +17 -8
  185. package/src/details/index.js +2 -1
  186. package/src/file/index.js +15 -8
  187. package/src/heading/block.json +1 -3
  188. package/src/heading/deprecated.js +118 -5
  189. package/src/heading/edit.js +6 -32
  190. package/src/heading/edit.native.js +17 -2
  191. package/src/heading/index.js +2 -1
  192. package/src/heading/save.js +2 -11
  193. package/src/heading/transforms.js +16 -3
  194. package/src/image/image.js +38 -40
  195. package/src/image/index.js +29 -16
  196. package/src/list-item/index.js +2 -1
  197. package/src/media-text/index.js +27 -14
  198. package/src/more/block.json +1 -0
  199. package/src/more/index.js +2 -1
  200. package/src/navigation/edit/index.js +9 -4
  201. package/src/navigation/edit/responsive-wrapper.js +15 -8
  202. package/src/navigation/edit/test/use-create-overlay.js +12 -0
  203. package/src/navigation/edit/use-create-overlay.js +2 -0
  204. package/src/navigation/index.php +74 -24
  205. package/src/navigation/style.scss +2 -18
  206. package/src/navigation-link/edit.js +11 -97
  207. package/src/navigation-link/index.js +13 -8
  208. package/src/navigation-link/index.php +17 -29
  209. package/src/navigation-link/shared/helpers.php +46 -0
  210. package/src/navigation-link/shared/index.js +3 -0
  211. package/src/navigation-link/shared/invalid-draft-display.js +63 -0
  212. package/src/navigation-link/shared/test/use-enable-link-status-validation.test.js +127 -0
  213. package/src/navigation-link/shared/use-enable-link-status-validation.js +40 -0
  214. package/src/navigation-link/shared/use-is-invalid-link.js +72 -0
  215. package/src/navigation-overlay-close/block.json +1 -4
  216. package/src/navigation-overlay-close/index.js +2 -37
  217. package/src/navigation-overlay-close/index.php +37 -1
  218. package/src/navigation-submenu/edit.js +49 -24
  219. package/src/navigation-submenu/index.js +13 -8
  220. package/src/navigation-submenu/index.php +25 -18
  221. package/src/nextpage/block.json +1 -0
  222. package/src/paragraph/index.js +2 -1
  223. package/src/paragraph/transforms.js +3 -1
  224. package/src/preformatted/index.js +2 -1
  225. package/src/pullquote/index.js +5 -3
  226. package/src/query-title/index.php +2 -2
  227. package/src/search/index.js +7 -5
  228. package/src/social-link/index.js +12 -7
  229. package/src/table-of-contents/hooks.js +1 -1
  230. package/src/template-part/edit/utils/get-template-part-icon.js +1 -1
  231. package/src/utils/is-within-overlay.js +54 -0
  232. package/src/verse/index.js +2 -1
  233. package/src/video/index.js +17 -9
  234. package/build/navigation-overlay-close/save.cjs +0 -67
  235. package/build/navigation-overlay-close/save.cjs.map +0 -7
  236. package/build-module/navigation-overlay-close/save.mjs +0 -46
  237. package/build-module/navigation-overlay-close/save.mjs.map +0 -7
  238. package/src/navigation-overlay-close/save.js +0 -44
@@ -35,6 +35,7 @@ __export(deprecated_exports, {
35
35
  module.exports = __toCommonJS(deprecated_exports);
36
36
  var import_clsx = __toESM(require("clsx"));
37
37
  var import_block_editor = require("@wordpress/block-editor");
38
+ var import_migrate_text_align = __toESM(require("../utils/migrate-text-align.cjs"));
38
39
  var import_jsx_runtime = require("react/jsx-runtime");
39
40
  var blockSupports = {
40
41
  className: false,
@@ -89,7 +90,9 @@ var v1 = {
89
90
  type: "string"
90
91
  }
91
92
  },
92
- migrate: (attributes) => migrateCustomColors(migrateTextAlign(attributes)),
93
+ migrate: (attributes) => (0, import_migrate_text_align.default)(
94
+ migrateCustomColors(migrateTextAlign(attributes))
95
+ ),
93
96
  save({ attributes }) {
94
97
  const { align, level, content, textColor, customTextColor } = attributes;
95
98
  const tagName = "h" + level;
@@ -121,7 +124,9 @@ var v2 = {
121
124
  type: "string"
122
125
  }
123
126
  },
124
- migrate: (attributes) => migrateCustomColors(migrateTextAlign(attributes)),
127
+ migrate: (attributes) => (0, import_migrate_text_align.default)(
128
+ migrateCustomColors(migrateTextAlign(attributes))
129
+ ),
125
130
  save({ attributes }) {
126
131
  const { align, content, customTextColor, level, textColor } = attributes;
127
132
  const tagName = "h" + level;
@@ -155,7 +160,9 @@ var v3 = {
155
160
  type: "string"
156
161
  }
157
162
  },
158
- migrate: (attributes) => migrateCustomColors(migrateTextAlign(attributes)),
163
+ migrate: (attributes) => (0, import_migrate_text_align.default)(
164
+ migrateCustomColors(migrateTextAlign(attributes))
165
+ ),
159
166
  save({ attributes }) {
160
167
  const { align, content, customTextColor, level, textColor } = attributes;
161
168
  const tagName = "h" + level;
@@ -198,7 +205,9 @@ var v4 = {
198
205
  },
199
206
  attributes: blockAttributes,
200
207
  isEligible: ({ align }) => TEXT_ALIGN_OPTIONS.includes(align),
201
- migrate: migrateTextAlign,
208
+ migrate: (attributes) => (0, import_migrate_text_align.default)(
209
+ migrateCustomColors(migrateTextAlign(attributes))
210
+ ),
202
211
  save({ attributes }) {
203
212
  const { align, content, level } = attributes;
204
213
  const TagName = "h" + level;
@@ -270,8 +279,95 @@ var v5 = {
270
279
  [`has-text-align-${textAlign}`]: textAlign
271
280
  });
272
281
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TagName, { ...import_block_editor.useBlockProps.save({ className }), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.RichText.Content, { value: content }) });
282
+ },
283
+ migrate: (attributes) => (0, import_migrate_text_align.default)(
284
+ migrateCustomColors(migrateTextAlign(attributes))
285
+ )
286
+ };
287
+ var v6 = {
288
+ supports: {
289
+ align: ["wide", "full"],
290
+ anchor: true,
291
+ className: true,
292
+ splitting: true,
293
+ __experimentalBorder: {
294
+ color: true,
295
+ radius: true,
296
+ style: true,
297
+ width: true
298
+ },
299
+ color: {
300
+ gradients: true,
301
+ link: true,
302
+ __experimentalDefaultControls: {
303
+ background: true,
304
+ text: true
305
+ }
306
+ },
307
+ spacing: {
308
+ margin: true,
309
+ padding: true
310
+ },
311
+ typography: {
312
+ fontSize: true,
313
+ lineHeight: true,
314
+ __experimentalFontFamily: true,
315
+ __experimentalFontStyle: true,
316
+ __experimentalFontWeight: true,
317
+ __experimentalLetterSpacing: true,
318
+ __experimentalTextTransform: true,
319
+ __experimentalTextDecoration: true,
320
+ __experimentalWritingMode: true,
321
+ fitText: true,
322
+ __experimentalDefaultControls: {
323
+ fontSize: true
324
+ }
325
+ },
326
+ __unstablePasteTextInline: true,
327
+ __experimentalSlashInserter: true,
328
+ interactivity: {
329
+ clientNavigation: true
330
+ }
331
+ },
332
+ attributes: {
333
+ textAlign: {
334
+ type: "string"
335
+ },
336
+ content: {
337
+ type: "string",
338
+ source: "html",
339
+ selector: "h1,h2,h3,h4,h5,h6",
340
+ default: "",
341
+ role: "content"
342
+ },
343
+ level: {
344
+ type: "number",
345
+ default: 2
346
+ },
347
+ levelOptions: {
348
+ type: "array"
349
+ },
350
+ placeholder: {
351
+ type: "string"
352
+ }
353
+ },
354
+ save({ attributes }) {
355
+ const { textAlign, content, level } = attributes;
356
+ const TagName = "h" + level;
357
+ const className = (0, import_clsx.default)({
358
+ [`has-text-align-${textAlign}`]: textAlign
359
+ });
360
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TagName, { ...import_block_editor.useBlockProps.save({ className }), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.RichText.Content, { value: content }) });
361
+ },
362
+ migrate: (attributes) => (0, import_migrate_text_align.default)(
363
+ migrateCustomColors(migrateTextAlign(attributes))
364
+ ),
365
+ isEligible(attributes) {
366
+ return !!attributes.textAlign || !!attributes.className?.match(
367
+ /\bhas-text-align-(left|center|right)\b/
368
+ );
273
369
  }
274
370
  };
275
- var deprecated = [v5, v4, v3, v2, v1];
371
+ var deprecated = [v6, v5, v4, v3, v2, v1];
276
372
  var deprecated_default = deprecated;
277
373
  //# sourceMappingURL=deprecated.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/heading/deprecated.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetColorClassName,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\nconst blockSupports = {\n\tclassName: false,\n\tanchor: true,\n};\n\nconst blockAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t},\n\tcontent: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\tdefault: '',\n\t},\n\tlevel: {\n\t\ttype: 'number',\n\t\tdefault: 2,\n\t},\n\tplaceholder: {\n\t\ttype: 'string',\n\t},\n};\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customTextColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = {\n\t\tcolor: {\n\t\t\ttext: attributes.customTextColor,\n\t\t},\n\t};\n\n\tconst { customTextColor, ...restAttributes } = attributes;\n\n\treturn {\n\t\t...restAttributes,\n\t\tstyle,\n\t};\n};\n\nconst TEXT_ALIGN_OPTIONS = [ 'left', 'right', 'center' ];\n\nconst migrateTextAlign = ( attributes ) => {\n\tconst { align, ...rest } = attributes;\n\treturn TEXT_ALIGN_OPTIONS.includes( align )\n\t\t? { ...rest, textAlign: align }\n\t\t: attributes;\n};\n\nconst v1 = {\n\tsupports: blockSupports,\n\tattributes: {\n\t\t...blockAttributes,\n\t\tcustomTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tmigrate: ( attributes ) =>\n\t\tmigrateCustomColors( migrateTextAlign( attributes ) ),\n\tsave( { attributes } ) {\n\t\tconst { align, level, content, textColor, customTextColor } =\n\t\t\tattributes;\n\t\tconst tagName = 'h' + level;\n\n\t\tconst textClass = getColorClassName( 'color', textColor );\n\n\t\tconst className = clsx( {\n\t\t\t[ textClass ]: textClass,\n\t\t} );\n\n\t\treturn (\n\t\t\t<RichText.Content\n\t\t\t\tclassName={ className ? className : undefined }\n\t\t\t\ttagName={ tagName }\n\t\t\t\tstyle={ {\n\t\t\t\t\ttextAlign: align,\n\t\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\t} }\n\t\t\t\tvalue={ content }\n\t\t\t/>\n\t\t);\n\t},\n};\nconst v2 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\tcustomTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tmigrate: ( attributes ) =>\n\t\tmigrateCustomColors( migrateTextAlign( attributes ) ),\n\tsave( { attributes } ) {\n\t\tconst { align, content, customTextColor, level, textColor } =\n\t\t\tattributes;\n\t\tconst tagName = 'h' + level;\n\n\t\tconst textClass = getColorClassName( 'color', textColor );\n\n\t\tconst className = clsx( {\n\t\t\t[ textClass ]: textClass,\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} );\n\n\t\treturn (\n\t\t\t<RichText.Content\n\t\t\t\tclassName={ className ? className : undefined }\n\t\t\t\ttagName={ tagName }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\t} }\n\t\t\t\tvalue={ content }\n\t\t\t/>\n\t\t);\n\t},\n\tsupports: blockSupports,\n};\nconst v3 = {\n\tsupports: blockSupports,\n\tattributes: {\n\t\t...blockAttributes,\n\t\tcustomTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tmigrate: ( attributes ) =>\n\t\tmigrateCustomColors( migrateTextAlign( attributes ) ),\n\tsave( { attributes } ) {\n\t\tconst { align, content, customTextColor, level, textColor } =\n\t\t\tattributes;\n\t\tconst tagName = 'h' + level;\n\n\t\tconst textClass = getColorClassName( 'color', textColor );\n\n\t\tconst className = clsx( {\n\t\t\t[ textClass ]: textClass,\n\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} );\n\n\t\treturn (\n\t\t\t<RichText.Content\n\t\t\t\tclassName={ className ? className : undefined }\n\t\t\t\ttagName={ tagName }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\t} }\n\t\t\t\tvalue={ content }\n\t\t\t/>\n\t\t);\n\t},\n};\nconst v4 = {\n\tsupports: {\n\t\talign: [ 'wide', 'full' ],\n\t\tanchor: true,\n\t\tclassName: false,\n\t\tcolor: { link: true },\n\t\tfontSize: true,\n\t\tlineHeight: true,\n\t\t__experimentalSelector: {\n\t\t\t'core/heading/h1': 'h1',\n\t\t\t'core/heading/h2': 'h2',\n\t\t\t'core/heading/h3': 'h3',\n\t\t\t'core/heading/h4': 'h4',\n\t\t\t'core/heading/h5': 'h5',\n\t\t\t'core/heading/h6': 'h6',\n\t\t},\n\t\t__unstablePasteTextInline: true,\n\t},\n\tattributes: blockAttributes,\n\tisEligible: ( { align } ) => TEXT_ALIGN_OPTIONS.includes( align ),\n\tmigrate: migrateTextAlign,\n\tsave( { attributes } ) {\n\t\tconst { align, content, level } = attributes;\n\t\tconst TagName = 'h' + level;\n\n\t\tconst className = clsx( {\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} );\n\n\t\treturn (\n\t\t\t<TagName { ...useBlockProps.save( { className } ) }>\n\t\t\t\t<RichText.Content value={ content } />\n\t\t\t</TagName>\n\t\t);\n\t},\n};\n\n// This deprecation covers the serialization of the `wp-block-heading` class\n// into the block's markup after className support was enabled.\nconst v5 = {\n\tsupports: {\n\t\talign: [ 'wide', 'full' ],\n\t\tanchor: true,\n\t\tclassName: false,\n\t\tcolor: {\n\t\t\tgradients: true,\n\t\t\tlink: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tmargin: true,\n\t\t\tpadding: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t\tfontAppearance: true,\n\t\t\t\ttextTransform: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: 'h1,h2,h3,h4,h5,h6',\n\t\t__unstablePasteTextInline: true,\n\t\t__experimentalSlashInserter: true,\n\t},\n\tattributes: {\n\t\ttextAlign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcontent: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\t\tdefault: '',\n\t\t\trole: 'content',\n\t\t},\n\t\tlevel: {\n\t\t\ttype: 'number',\n\t\t\tdefault: 2,\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { textAlign, content, level } = attributes;\n\t\tconst TagName = 'h' + level;\n\n\t\tconst className = clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} );\n\n\t\treturn (\n\t\t\t<TagName { ...useBlockProps.save( { className } ) }>\n\t\t\t\t<RichText.Content value={ content } />\n\t\t\t</TagName>\n\t\t);\n\t},\n};\n\nconst deprecated = [ v5, v4, v3, v2, v1 ];\n\nexport default deprecated;\n"],
5
- "mappings": "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",
6
- "names": ["clsx"]
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetColorClassName,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport migrateTextAlignAttributeToBlockSupport from '../utils/migrate-text-align';\n\nconst blockSupports = {\n\tclassName: false,\n\tanchor: true,\n};\n\nconst blockAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t},\n\tcontent: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\tdefault: '',\n\t},\n\tlevel: {\n\t\ttype: 'number',\n\t\tdefault: 2,\n\t},\n\tplaceholder: {\n\t\ttype: 'string',\n\t},\n};\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customTextColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = {\n\t\tcolor: {\n\t\t\ttext: attributes.customTextColor,\n\t\t},\n\t};\n\n\tconst { customTextColor, ...restAttributes } = attributes;\n\n\treturn {\n\t\t...restAttributes,\n\t\tstyle,\n\t};\n};\n\nconst TEXT_ALIGN_OPTIONS = [ 'left', 'right', 'center' ];\n\nconst migrateTextAlign = ( attributes ) => {\n\tconst { align, ...rest } = attributes;\n\treturn TEXT_ALIGN_OPTIONS.includes( align )\n\t\t? { ...rest, textAlign: align }\n\t\t: attributes;\n};\n\nconst v1 = {\n\tsupports: blockSupports,\n\tattributes: {\n\t\t...blockAttributes,\n\t\tcustomTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tmigrate: ( attributes ) =>\n\t\tmigrateTextAlignAttributeToBlockSupport(\n\t\t\tmigrateCustomColors( migrateTextAlign( attributes ) )\n\t\t),\n\tsave( { attributes } ) {\n\t\tconst { align, level, content, textColor, customTextColor } =\n\t\t\tattributes;\n\t\tconst tagName = 'h' + level;\n\n\t\tconst textClass = getColorClassName( 'color', textColor );\n\n\t\tconst className = clsx( {\n\t\t\t[ textClass ]: textClass,\n\t\t} );\n\n\t\treturn (\n\t\t\t<RichText.Content\n\t\t\t\tclassName={ className ? className : undefined }\n\t\t\t\ttagName={ tagName }\n\t\t\t\tstyle={ {\n\t\t\t\t\ttextAlign: align,\n\t\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\t} }\n\t\t\t\tvalue={ content }\n\t\t\t/>\n\t\t);\n\t},\n};\nconst v2 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\tcustomTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tmigrate: ( attributes ) =>\n\t\tmigrateTextAlignAttributeToBlockSupport(\n\t\t\tmigrateCustomColors( migrateTextAlign( attributes ) )\n\t\t),\n\tsave( { attributes } ) {\n\t\tconst { align, content, customTextColor, level, textColor } =\n\t\t\tattributes;\n\t\tconst tagName = 'h' + level;\n\n\t\tconst textClass = getColorClassName( 'color', textColor );\n\n\t\tconst className = clsx( {\n\t\t\t[ textClass ]: textClass,\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} );\n\n\t\treturn (\n\t\t\t<RichText.Content\n\t\t\t\tclassName={ className ? className : undefined }\n\t\t\t\ttagName={ tagName }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\t} }\n\t\t\t\tvalue={ content }\n\t\t\t/>\n\t\t);\n\t},\n\tsupports: blockSupports,\n};\nconst v3 = {\n\tsupports: blockSupports,\n\tattributes: {\n\t\t...blockAttributes,\n\t\tcustomTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tmigrate: ( attributes ) =>\n\t\tmigrateTextAlignAttributeToBlockSupport(\n\t\t\tmigrateCustomColors( migrateTextAlign( attributes ) )\n\t\t),\n\tsave( { attributes } ) {\n\t\tconst { align, content, customTextColor, level, textColor } =\n\t\t\tattributes;\n\t\tconst tagName = 'h' + level;\n\n\t\tconst textClass = getColorClassName( 'color', textColor );\n\n\t\tconst className = clsx( {\n\t\t\t[ textClass ]: textClass,\n\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} );\n\n\t\treturn (\n\t\t\t<RichText.Content\n\t\t\t\tclassName={ className ? className : undefined }\n\t\t\t\ttagName={ tagName }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\t} }\n\t\t\t\tvalue={ content }\n\t\t\t/>\n\t\t);\n\t},\n};\nconst v4 = {\n\tsupports: {\n\t\talign: [ 'wide', 'full' ],\n\t\tanchor: true,\n\t\tclassName: false,\n\t\tcolor: { link: true },\n\t\tfontSize: true,\n\t\tlineHeight: true,\n\t\t__experimentalSelector: {\n\t\t\t'core/heading/h1': 'h1',\n\t\t\t'core/heading/h2': 'h2',\n\t\t\t'core/heading/h3': 'h3',\n\t\t\t'core/heading/h4': 'h4',\n\t\t\t'core/heading/h5': 'h5',\n\t\t\t'core/heading/h6': 'h6',\n\t\t},\n\t\t__unstablePasteTextInline: true,\n\t},\n\tattributes: blockAttributes,\n\tisEligible: ( { align } ) => TEXT_ALIGN_OPTIONS.includes( align ),\n\tmigrate: ( attributes ) =>\n\t\tmigrateTextAlignAttributeToBlockSupport(\n\t\t\tmigrateCustomColors( migrateTextAlign( attributes ) )\n\t\t),\n\tsave( { attributes } ) {\n\t\tconst { align, content, level } = attributes;\n\t\tconst TagName = 'h' + level;\n\n\t\tconst className = clsx( {\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} );\n\n\t\treturn (\n\t\t\t<TagName { ...useBlockProps.save( { className } ) }>\n\t\t\t\t<RichText.Content value={ content } />\n\t\t\t</TagName>\n\t\t);\n\t},\n};\n\n// This deprecation covers the serialization of the `wp-block-heading` class\n// into the block's markup after className support was enabled.\nconst v5 = {\n\tsupports: {\n\t\talign: [ 'wide', 'full' ],\n\t\tanchor: true,\n\t\tclassName: false,\n\t\tcolor: {\n\t\t\tgradients: true,\n\t\t\tlink: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tmargin: true,\n\t\t\tpadding: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t\tfontAppearance: true,\n\t\t\t\ttextTransform: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: 'h1,h2,h3,h4,h5,h6',\n\t\t__unstablePasteTextInline: true,\n\t\t__experimentalSlashInserter: true,\n\t},\n\tattributes: {\n\t\ttextAlign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcontent: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\t\tdefault: '',\n\t\t\trole: 'content',\n\t\t},\n\t\tlevel: {\n\t\t\ttype: 'number',\n\t\t\tdefault: 2,\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { textAlign, content, level } = attributes;\n\t\tconst TagName = 'h' + level;\n\n\t\tconst className = clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} );\n\n\t\treturn (\n\t\t\t<TagName { ...useBlockProps.save( { className } ) }>\n\t\t\t\t<RichText.Content value={ content } />\n\t\t\t</TagName>\n\t\t);\n\t},\n\tmigrate: ( attributes ) =>\n\t\tmigrateTextAlignAttributeToBlockSupport(\n\t\t\tmigrateCustomColors( migrateTextAlign( attributes ) )\n\t\t),\n};\n\nconst v6 = {\n\tsupports: {\n\t\talign: [ 'wide', 'full' ],\n\t\tanchor: true,\n\t\tclassName: true,\n\t\tsplitting: true,\n\t\t__experimentalBorder: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t},\n\t\tcolor: {\n\t\t\tgradients: true,\n\t\t\tlink: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tmargin: true,\n\t\t\tpadding: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalWritingMode: true,\n\t\t\tfitText: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\t__unstablePasteTextInline: true,\n\t\t__experimentalSlashInserter: true,\n\t\tinteractivity: {\n\t\t\tclientNavigation: true,\n\t\t},\n\t},\n\tattributes: {\n\t\ttextAlign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcontent: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\t\tdefault: '',\n\t\t\trole: 'content',\n\t\t},\n\t\tlevel: {\n\t\t\ttype: 'number',\n\t\t\tdefault: 2,\n\t\t},\n\t\tlevelOptions: {\n\t\t\ttype: 'array',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { textAlign, content, level } = attributes;\n\t\tconst TagName = 'h' + level;\n\n\t\tconst className = clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} );\n\n\t\treturn (\n\t\t\t<TagName { ...useBlockProps.save( { className } ) }>\n\t\t\t\t<RichText.Content value={ content } />\n\t\t\t</TagName>\n\t\t);\n\t},\n\tmigrate: ( attributes ) =>\n\t\tmigrateTextAlignAttributeToBlockSupport(\n\t\t\tmigrateCustomColors( migrateTextAlign( attributes ) )\n\t\t),\n\tisEligible( attributes ) {\n\t\treturn (\n\t\t\t!! attributes.textAlign ||\n\t\t\t!! attributes.className?.match(\n\t\t\t\t/\\bhas-text-align-(left|center|right)\\b/\n\t\t\t)\n\t\t);\n\t},\n};\n\nconst deprecated = [ v6, v5, v4, v3, v2, v1 ];\n\nexport default deprecated;\n"],
5
+ "mappings": "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",
6
+ "names": ["migrateTextAlignAttributeToBlockSupport", "clsx"]
7
7
  }
@@ -33,30 +33,21 @@ __export(edit_exports, {
33
33
  default: () => edit_default
34
34
  });
35
35
  module.exports = __toCommonJS(edit_exports);
36
- var import_clsx = __toESM(require("clsx"));
37
36
  var import_i18n = require("@wordpress/i18n");
38
37
  var import_element = require("@wordpress/element");
39
38
  var import_data = require("@wordpress/data");
40
39
  var import_block_editor = require("@wordpress/block-editor");
41
40
  var import_autogenerate_anchors = require("./autogenerate-anchors.cjs");
41
+ var import_deprecated_text_align_attributes = __toESM(require("../utils/deprecated-text-align-attributes.cjs"));
42
42
  var import_jsx_runtime = require("react/jsx-runtime");
43
- function HeadingEdit({
44
- attributes,
45
- setAttributes,
46
- mergeBlocks,
47
- onReplace,
48
- style,
49
- clientId
50
- }) {
51
- const { textAlign, content, level, placeholder, anchor } = attributes;
43
+ function HeadingEdit(props) {
44
+ const { attributes, setAttributes, mergeBlocks, onReplace, clientId } = props;
45
+ (0, import_deprecated_text_align_attributes.default)(props);
46
+ const { style, content, level, placeholder, anchor } = attributes;
52
47
  const tagName = "h" + level;
53
48
  const blockProps = (0, import_block_editor.useBlockProps)({
54
- className: (0, import_clsx.default)({
55
- [`has-text-align-${textAlign}`]: textAlign
56
- }),
57
49
  style
58
50
  });
59
- const blockEditingMode = (0, import_block_editor.useBlockEditingMode)();
60
51
  const { canGenerateAnchors } = (0, import_data.useSelect)((select) => {
61
52
  const { getGlobalBlockCount, getSettings } = select(import_block_editor.store);
62
53
  const settings = getSettings();
@@ -85,33 +76,21 @@ function HeadingEdit({
85
76
  }
86
77
  setAttributes(newAttrs);
87
78
  };
88
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
89
- blockEditingMode === "default" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.BlockControls, { group: "block", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
90
- import_block_editor.AlignmentControl,
91
- {
92
- value: textAlign,
93
- onChange: (nextAlign) => {
94
- setAttributes({ textAlign: nextAlign });
95
- }
96
- }
97
- ) }),
98
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
99
- import_block_editor.RichText,
100
- {
101
- identifier: "content",
102
- tagName,
103
- value: content,
104
- onChange: onContentChange,
105
- onMerge: mergeBlocks,
106
- onReplace,
107
- onRemove: () => onReplace([]),
108
- placeholder: placeholder || (0, import_i18n.__)("Heading"),
109
- textAlign,
110
- ...import_element.Platform.isNative && { deleteEnter: true },
111
- ...blockProps
112
- }
113
- )
114
- ] });
79
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
80
+ import_block_editor.RichText,
81
+ {
82
+ identifier: "content",
83
+ tagName,
84
+ value: content,
85
+ onChange: onContentChange,
86
+ onMerge: mergeBlocks,
87
+ onReplace,
88
+ onRemove: () => onReplace([]),
89
+ placeholder: placeholder || (0, import_i18n.__)("Heading"),
90
+ ...import_element.Platform.isNative && { deleteEnter: true },
91
+ ...blockProps
92
+ }
93
+ ) });
115
94
  }
116
95
  var edit_default = HeadingEdit;
117
96
  //# sourceMappingURL=edit.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/heading/edit.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, Platform } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { generateAnchor, setAnchor } from './autogenerate-anchors';\n\nfunction HeadingEdit( {\n\tattributes,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tstyle,\n\tclientId,\n} ) {\n\tconst { textAlign, content, level, placeholder, anchor } = attributes;\n\tconst tagName = 'h' + level;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t\tstyle,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { canGenerateAnchors } = useSelect( ( select ) => {\n\t\tconst { getGlobalBlockCount, getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tcanGenerateAnchors:\n\t\t\t\t!! settings.generateAnchors ||\n\t\t\t\tgetGlobalBlockCount( 'core/table-of-contents' ) > 0,\n\t\t};\n\t}, [] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// Initially set anchor for headings that have content but no anchor set.\n\t// This is used when transforming a block to heading, or for legacy anchors.\n\tuseEffect( () => {\n\t\tif ( ! canGenerateAnchors ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! anchor && content ) {\n\t\t\t// This side-effect should not create an undo level.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tanchor: generateAnchor( clientId, content ),\n\t\t\t} );\n\t\t}\n\t\tsetAnchor( clientId, anchor );\n\n\t\t// Remove anchor map when block unmounts.\n\t\treturn () => setAnchor( clientId, null );\n\t}, [ anchor, content, clientId, canGenerateAnchors ] );\n\n\tconst onContentChange = ( value ) => {\n\t\tconst newAttrs = { content: value };\n\t\tif (\n\t\t\tcanGenerateAnchors &&\n\t\t\t( ! anchor ||\n\t\t\t\t! value ||\n\t\t\t\tgenerateAnchor( clientId, content ) === anchor )\n\t\t) {\n\t\t\tnewAttrs.anchor = generateAnchor( clientId, value );\n\t\t}\n\t\tsetAttributes( newAttrs );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName={ tagName }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ onContentChange }\n\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ () => onReplace( [] ) }\n\t\t\t\tplaceholder={ placeholder || __( 'Heading' ) }\n\t\t\t\ttextAlign={ textAlign }\n\t\t\t\t{ ...( Platform.isNative && { deleteEnter: true } ) } // setup RichText on native mobile to delete the \"Enter\" key as it's handled by the JS/RN side\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default HeadingEdit;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,kBAAmB;AACnB,qBAAoC;AACpC,kBAAuC;AACvC,0BAOO;AAKP,kCAA0C;AAoExC;AAlEF,SAAS,YAAa;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,WAAW,SAAS,OAAO,aAAa,OAAO,IAAI;AAC3D,QAAM,UAAU,MAAM;AACtB,QAAM,iBAAa,mCAAe;AAAA,IACjC,eAAW,YAAAA,SAAM;AAAA,MAChB,CAAE,kBAAmB,SAAU,EAAG,GAAG;AAAA,IACtC,CAAE;AAAA,IACF;AAAA,EACD,CAAE;AACF,QAAM,uBAAmB,yCAAoB;AAE7C,QAAM,EAAE,mBAAmB,QAAI,uBAAW,CAAE,WAAY;AACvD,UAAM,EAAE,qBAAqB,YAAY,IAAI,OAAQ,oBAAAC,KAAiB;AACtE,UAAM,WAAW,YAAY;AAE7B,WAAO;AAAA,MACN,oBACC,CAAC,CAAE,SAAS,mBACZ,oBAAqB,wBAAyB,IAAI;AAAA,IACpD;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,QAAM,EAAE,wCAAwC,QAC/C,yBAAa,oBAAAA,KAAiB;AAI/B,gCAAW,MAAM;AAChB,QAAK,CAAE,oBAAqB;AAC3B;AAAA,IACD;AAEA,QAAK,CAAE,UAAU,SAAU;AAE1B,8CAAwC;AACxC,oBAAe;AAAA,QACd,YAAQ,4CAAgB,UAAU,OAAQ;AAAA,MAC3C,CAAE;AAAA,IACH;AACA,+CAAW,UAAU,MAAO;AAG5B,WAAO,UAAM,uCAAW,UAAU,IAAK;AAAA,EACxC,GAAG,CAAE,QAAQ,SAAS,UAAU,kBAAmB,CAAE;AAErD,QAAM,kBAAkB,CAAE,UAAW;AACpC,UAAM,WAAW,EAAE,SAAS,MAAM;AAClC,QACC,uBACE,CAAE,UACH,CAAE,aACF,4CAAgB,UAAU,OAAQ,MAAM,SACxC;AACD,eAAS,aAAS,4CAAgB,UAAU,KAAM;AAAA,IACnD;AACA,kBAAe,QAAS;AAAA,EACzB;AAEA,SACC,4EACG;AAAA,yBAAqB,aACtB,4CAAC,qCAAc,OAAM,SACpB;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ;AAAA,QACR,UAAW,CAAE,cAAe;AAC3B,wBAAe,EAAE,WAAW,UAAU,CAAE;AAAA,QACzC;AAAA;AAAA,IACD,GACD;AAAA,IAED;AAAA,MAAC;AAAA;AAAA,QACA,YAAW;AAAA,QACX;AAAA,QACA,OAAQ;AAAA,QACR,UAAW;AAAA,QACX,SAAU;AAAA,QACV;AAAA,QACA,UAAW,MAAM,UAAW,CAAC,CAAE;AAAA,QAC/B,aAAc,mBAAe,gBAAI,SAAU;AAAA,QAC3C;AAAA,QACE,GAAK,wBAAS,YAAY,EAAE,aAAa,KAAK;AAAA,QAC9C,GAAG;AAAA;AAAA,IACN;AAAA,KACD;AAEF;AAEA,IAAO,eAAQ;",
6
- "names": ["clsx", "blockEditorStore"]
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, Platform } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { generateAnchor, setAnchor } from './autogenerate-anchors';\nimport useDeprecatedTextAlign from '../utils/deprecated-text-align-attributes';\n\nfunction HeadingEdit( props ) {\n\tconst { attributes, setAttributes, mergeBlocks, onReplace, clientId } =\n\t\tprops;\n\tuseDeprecatedTextAlign( props );\n\tconst { style, content, level, placeholder, anchor } = attributes;\n\tconst tagName = 'h' + level;\n\tconst blockProps = useBlockProps( {\n\t\tstyle,\n\t} );\n\n\tconst { canGenerateAnchors } = useSelect( ( select ) => {\n\t\tconst { getGlobalBlockCount, getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tcanGenerateAnchors:\n\t\t\t\t!! settings.generateAnchors ||\n\t\t\t\tgetGlobalBlockCount( 'core/table-of-contents' ) > 0,\n\t\t};\n\t}, [] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// Initially set anchor for headings that have content but no anchor set.\n\t// This is used when transforming a block to heading, or for legacy anchors.\n\tuseEffect( () => {\n\t\tif ( ! canGenerateAnchors ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! anchor && content ) {\n\t\t\t// This side-effect should not create an undo level.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tanchor: generateAnchor( clientId, content ),\n\t\t\t} );\n\t\t}\n\t\tsetAnchor( clientId, anchor );\n\n\t\t// Remove anchor map when block unmounts.\n\t\treturn () => setAnchor( clientId, null );\n\t}, [ anchor, content, clientId, canGenerateAnchors ] );\n\n\tconst onContentChange = ( value ) => {\n\t\tconst newAttrs = { content: value };\n\t\tif (\n\t\t\tcanGenerateAnchors &&\n\t\t\t( ! anchor ||\n\t\t\t\t! value ||\n\t\t\t\tgenerateAnchor( clientId, content ) === anchor )\n\t\t) {\n\t\t\tnewAttrs.anchor = generateAnchor( clientId, value );\n\t\t}\n\t\tsetAttributes( newAttrs );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName={ tagName }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ onContentChange }\n\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ () => onReplace( [] ) }\n\t\t\t\tplaceholder={ placeholder || __( 'Heading' ) }\n\t\t\t\t{ ...( Platform.isNative && { deleteEnter: true } ) } // setup RichText on native mobile to delete the \"Enter\" key as it's handled by the JS/RN side\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default HeadingEdit;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,qBAAoC;AACpC,kBAAuC;AACvC,0BAIO;AAKP,kCAA0C;AAC1C,8CAAmC;AA4DjC;AA1DF,SAAS,YAAa,OAAQ;AAC7B,QAAM,EAAE,YAAY,eAAe,aAAa,WAAW,SAAS,IACnE;AACD,8CAAAA,SAAwB,KAAM;AAC9B,QAAM,EAAE,OAAO,SAAS,OAAO,aAAa,OAAO,IAAI;AACvD,QAAM,UAAU,MAAM;AACtB,QAAM,iBAAa,mCAAe;AAAA,IACjC;AAAA,EACD,CAAE;AAEF,QAAM,EAAE,mBAAmB,QAAI,uBAAW,CAAE,WAAY;AACvD,UAAM,EAAE,qBAAqB,YAAY,IAAI,OAAQ,oBAAAC,KAAiB;AACtE,UAAM,WAAW,YAAY;AAE7B,WAAO;AAAA,MACN,oBACC,CAAC,CAAE,SAAS,mBACZ,oBAAqB,wBAAyB,IAAI;AAAA,IACpD;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,QAAM,EAAE,wCAAwC,QAC/C,yBAAa,oBAAAA,KAAiB;AAI/B,gCAAW,MAAM;AAChB,QAAK,CAAE,oBAAqB;AAC3B;AAAA,IACD;AAEA,QAAK,CAAE,UAAU,SAAU;AAE1B,8CAAwC;AACxC,oBAAe;AAAA,QACd,YAAQ,4CAAgB,UAAU,OAAQ;AAAA,MAC3C,CAAE;AAAA,IACH;AACA,+CAAW,UAAU,MAAO;AAG5B,WAAO,UAAM,uCAAW,UAAU,IAAK;AAAA,EACxC,GAAG,CAAE,QAAQ,SAAS,UAAU,kBAAmB,CAAE;AAErD,QAAM,kBAAkB,CAAE,UAAW;AACpC,UAAM,WAAW,EAAE,SAAS,MAAM;AAClC,QACC,uBACE,CAAE,UACH,CAAE,aACF,4CAAgB,UAAU,OAAQ,MAAM,SACxC;AACD,eAAS,aAAS,4CAAgB,UAAU,KAAM;AAAA,IACnD;AACA,kBAAe,QAAS;AAAA,EACzB;AAEA,SACC,2EACC;AAAA,IAAC;AAAA;AAAA,MACA,YAAW;AAAA,MACX;AAAA,MACA,OAAQ;AAAA,MACR,UAAW;AAAA,MACX,SAAU;AAAA,MACV;AAAA,MACA,UAAW,MAAM,UAAW,CAAC,CAAE;AAAA,MAC/B,aAAc,mBAAe,gBAAI,SAAU;AAAA,MACzC,GAAK,wBAAS,YAAY,EAAE,aAAa,KAAK;AAAA,MAC9C,GAAG;AAAA;AAAA,EACN,GACD;AAEF;AAEA,IAAO,eAAQ;",
6
+ "names": ["useDeprecatedTextAlign", "blockEditorStore"]
7
7
  }
@@ -94,7 +94,9 @@ if (window.__experimentalContentOnlyInspectorFields) {
94
94
  {
95
95
  id: "content",
96
96
  label: (0, import_i18n.__)("Content"),
97
- type: "richtext"
97
+ type: "text",
98
+ Edit: "rich-text"
99
+ // TODO: replace with custom component
98
100
  }
99
101
  ];
100
102
  settings[formKey] = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/heading/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { heading as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tprivateApis as blocksPrivateApis,\n\tgetBlockType,\n\tunregisterBlockVariation,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcontent: __( 'Code is Poetry' ),\n\t\t\tlevel: 2,\n\t\t\ttextAlign: 'center',\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { content, level } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\t\tconst hasContent = content?.trim().length > 0;\n\n\t\t// In the list view, use the block's content as the label.\n\t\t// If the content is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || hasContent ) ) {\n\t\t\treturn customName || content;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn ! hasContent\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: heading level. */\n\t\t\t\t\t\t__( 'Level %s. Empty.' ),\n\t\t\t\t\t\tlevel\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. 1: heading level. 2: heading content. */\n\t\t\t\t\t\t__( 'Level %1$s. %2$s' ),\n\t\t\t\t\t\tlevel,\n\t\t\t\t\t\tcontent\n\t\t\t\t );\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n\tvariations,\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'content',\n\t\t\tlabel: __( 'Content' ),\n\t\t\ttype: 'richtext',\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'content' ],\n\t};\n}\n\nexport const init = () => {\n\tconst block = initBlock( { name, metadata, settings } );\n\n\t// Unregister heading level variations based on `levelOptions` attribute.\n\t// This is for backwards compatibility, as extenders can now unregister the\n\t// variation directly: `wp.blocks.unregisterBlockVariation( 'core/heading', 'h1' )`.\n\tconst levelOptions =\n\t\tgetBlockType( name )?.attributes?.levelOptions?.default;\n\tif ( levelOptions ) {\n\t\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t\tif ( ! levelOptions.includes( level ) ) {\n\t\t\t\tunregisterBlockVariation( name, `h${ level }` );\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn block;\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,mBAAgC;AAChC,kBAA4B;AAC5B,oBAIO;AAKP,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AACvB,wBAAuB;AACvB,yBAAuB;AAEvB,IAAM,EAAE,WAAW,QAAQ,QAAI,2BAAQ,cAAAC,WAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI,aAAAD;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAE;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,aAAS,gBAAI,gBAAiB;AAAA,MAC9B,OAAO;AAAA,MACP,WAAW;AAAA,IACZ;AAAA,EACD;AAAA,EACA,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,EAAE,SAAS,MAAM,IAAI;AAE3B,UAAM,aAAa,YAAY,UAAU;AACzC,UAAM,aAAa,SAAS,KAAK,EAAE,SAAS;AAI5C,QAAK,YAAY,gBAAiB,cAAc,aAAe;AAC9D,aAAO,cAAc;AAAA,IACtB;AAEA,QAAK,YAAY,iBAAkB;AAClC,aAAO,CAAE,iBACN;AAAA;AAAA,YAEA,gBAAI,kBAAmB;AAAA,QACvB;AAAA,MACA,QACA;AAAA;AAAA,YAEA,gBAAI,kBAAmB;AAAA,QACvB;AAAA,QACA;AAAA,MACA;AAAA,IACJ;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,MAAO,YAAY,mBAAoB;AACtC,WAAO;AAAA,MACN,UACG,WAAW,WAAW,OACtB,kBAAkB,WAAW;AAAA,IACjC;AAAA,EACD;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AACD;AAEA,IAAK,OAAO,0CAA2C;AACtD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,SAAU;AAAA,MACrB,MAAM;AAAA,IACP;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,SAAU;AAAA,EACrB;AACD;AAEO,IAAM,OAAO,MAAM;AACzB,QAAM,YAAQ,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;AAKtD,QAAM,mBACL,4BAAc,IAAK,GAAG,YAAY,cAAc;AACjD,MAAK,cAAe;AACnB,KAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAE,EAAE,QAAS,CAAE,UAAW;AAC1C,UAAK,CAAE,aAAa,SAAU,KAAM,GAAI;AACvC,oDAA0B,MAAM,IAAK,KAAM,EAAG;AAAA,MAC/C;AAAA,IACD,CAAE;AAAA,EACH;AAEA,SAAO;AACR;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { heading as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tprivateApis as blocksPrivateApis,\n\tgetBlockType,\n\tunregisterBlockVariation,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcontent: __( 'Code is Poetry' ),\n\t\t\tlevel: 2,\n\t\t\ttextAlign: 'center',\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { content, level } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\t\tconst hasContent = content?.trim().length > 0;\n\n\t\t// In the list view, use the block's content as the label.\n\t\t// If the content is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || hasContent ) ) {\n\t\t\treturn customName || content;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn ! hasContent\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: heading level. */\n\t\t\t\t\t\t__( 'Level %s. Empty.' ),\n\t\t\t\t\t\tlevel\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. 1: heading level. 2: heading content. */\n\t\t\t\t\t\t__( 'Level %1$s. %2$s' ),\n\t\t\t\t\t\tlevel,\n\t\t\t\t\t\tcontent\n\t\t\t\t );\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n\tvariations,\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'content',\n\t\t\tlabel: __( 'Content' ),\n\t\t\ttype: 'text',\n\t\t\tEdit: 'rich-text', // TODO: replace with custom component\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'content' ],\n\t};\n}\n\nexport const init = () => {\n\tconst block = initBlock( { name, metadata, settings } );\n\n\t// Unregister heading level variations based on `levelOptions` attribute.\n\t// This is for backwards compatibility, as extenders can now unregister the\n\t// variation directly: `wp.blocks.unregisterBlockVariation( 'core/heading', 'h1' )`.\n\tconst levelOptions =\n\t\tgetBlockType( name )?.attributes?.levelOptions?.default;\n\tif ( levelOptions ) {\n\t\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t\tif ( ! levelOptions.includes( level ) ) {\n\t\t\t\tunregisterBlockVariation( name, `h${ level }` );\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn block;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,mBAAgC;AAChC,kBAA4B;AAC5B,oBAIO;AAKP,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AACvB,wBAAuB;AACvB,yBAAuB;AAEvB,IAAM,EAAE,WAAW,QAAQ,QAAI,2BAAQ,cAAAC,WAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI,aAAAD;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAE;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,aAAS,gBAAI,gBAAiB;AAAA,MAC9B,OAAO;AAAA,MACP,WAAW;AAAA,IACZ;AAAA,EACD;AAAA,EACA,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,EAAE,SAAS,MAAM,IAAI;AAE3B,UAAM,aAAa,YAAY,UAAU;AACzC,UAAM,aAAa,SAAS,KAAK,EAAE,SAAS;AAI5C,QAAK,YAAY,gBAAiB,cAAc,aAAe;AAC9D,aAAO,cAAc;AAAA,IACtB;AAEA,QAAK,YAAY,iBAAkB;AAClC,aAAO,CAAE,iBACN;AAAA;AAAA,YAEA,gBAAI,kBAAmB;AAAA,QACvB;AAAA,MACA,QACA;AAAA;AAAA,YAEA,gBAAI,kBAAmB;AAAA,QACvB;AAAA,QACA;AAAA,MACA;AAAA,IACJ;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,MAAO,YAAY,mBAAoB;AACtC,WAAO;AAAA,MACN,UACG,WAAW,WAAW,OACtB,kBAAkB,WAAW;AAAA,IACjC;AAAA,EACD;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AACD;AAEA,IAAK,OAAO,0CAA2C;AACtD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,SAAU;AAAA,MACrB,MAAM;AAAA,MACN,MAAM;AAAA;AAAA,IACP;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,SAAU;AAAA,EACrB;AACD;AAEO,IAAM,OAAO,MAAM;AACzB,QAAM,YAAQ,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;AAKtD,QAAM,mBACL,4BAAc,IAAK,GAAG,YAAY,cAAc;AACjD,MAAK,cAAe;AACnB,KAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAE,EAAE,QAAS,CAAE,UAAW;AAC1C,UAAK,CAAE,aAAa,SAAU,KAAM,GAAI;AACvC,oDAA0B,MAAM,IAAK,KAAM,EAAG;AAAA,MAC/C;AAAA,IACD,CAAE;AAAA,EACH;AAEA,SAAO;AACR;",
6
6
  "names": ["metadata", "blocksPrivateApis", "icon", "transforms", "deprecated", "edit", "save", "variations", "initBlock", "metadata"]
7
7
  }
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
 
30
20
  // packages/block-library/src/heading/save.js
@@ -33,15 +23,11 @@ __export(save_exports, {
33
23
  default: () => save
34
24
  });
35
25
  module.exports = __toCommonJS(save_exports);
36
- var import_clsx = __toESM(require("clsx"));
37
26
  var import_block_editor = require("@wordpress/block-editor");
38
27
  var import_jsx_runtime = require("react/jsx-runtime");
39
28
  function save({ attributes }) {
40
- const { textAlign, content, level } = attributes;
29
+ const { content, level } = attributes;
41
30
  const TagName = "h" + level;
42
- const className = (0, import_clsx.default)({
43
- [`has-text-align-${textAlign}`]: textAlign
44
- });
45
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TagName, { ...import_block_editor.useBlockProps.save({ className }), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.RichText.Content, { value: content }) });
31
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TagName, { ...import_block_editor.useBlockProps.save(), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.RichText.Content, { value: content }) });
46
32
  }
47
33
  //# sourceMappingURL=save.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/heading/save.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst { textAlign, content, level } = attributes;\n\tconst TagName = 'h' + level;\n\n\tconst className = clsx( {\n\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t} );\n\n\treturn (\n\t\t<TagName { ...useBlockProps.save( { className } ) }>\n\t\t\t<RichText.Content value={ content } />\n\t\t</TagName>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,0BAAwC;AAYrC;AAVY,SAAR,KAAuB,EAAE,WAAW,GAAI;AAC9C,QAAM,EAAE,WAAW,SAAS,MAAM,IAAI;AACtC,QAAM,UAAU,MAAM;AAEtB,QAAM,gBAAY,YAAAA,SAAM;AAAA,IACvB,CAAE,kBAAmB,SAAU,EAAG,GAAG;AAAA,EACtC,CAAE;AAEF,SACC,4CAAC,WAAU,GAAG,kCAAc,KAAM,EAAE,UAAU,CAAE,GAC/C,sDAAC,6BAAS,SAAT,EAAiB,OAAQ,SAAU,GACrC;AAEF;",
6
- "names": ["clsx"]
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst { content, level } = attributes;\n\tconst TagName = 'h' + level;\n\n\treturn (\n\t\t<TagName { ...useBlockProps.save() }>\n\t\t\t<RichText.Content value={ content } />\n\t\t</TagName>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAAwC;AAQrC;AANY,SAAR,KAAuB,EAAE,WAAW,GAAI;AAC9C,QAAM,EAAE,SAAS,MAAM,IAAI;AAC3B,QAAM,UAAU,MAAM;AAEtB,SACC,4CAAC,WAAU,GAAG,kCAAc,KAAK,GAChC,sDAAC,6BAAS,SAAT,EAAiB,OAAQ,SAAU,GACrC;AAEF;",
6
+ "names": []
7
7
  }
@@ -45,7 +45,13 @@ var transforms = {
45
45
  ),
46
46
  content,
47
47
  anchor,
48
- textAlign
48
+ ...textAlign && {
49
+ style: {
50
+ typography: {
51
+ textAlign
52
+ }
53
+ }
54
+ }
49
55
  });
50
56
  })
51
57
  },
@@ -74,7 +80,13 @@ var transforms = {
74
80
  const { textAlign } = node.style || {};
75
81
  attributes.level = (0, import_shared.getLevelFromHeadingNodeName)(node.nodeName);
76
82
  if (textAlign === "left" || textAlign === "center" || textAlign === "right") {
77
- attributes.align = textAlign;
83
+ attributes.style = {
84
+ ...attributes.style,
85
+ typography: {
86
+ ...attributes.style?.typography,
87
+ textAlign
88
+ }
89
+ };
78
90
  }
79
91
  return (0, import_blocks.createBlock)("core/heading", attributes);
80
92
  }
@@ -101,7 +113,8 @@ var transforms = {
101
113
  isMultiBlock: true,
102
114
  blocks: ["core/paragraph"],
103
115
  transform: (attributes) => attributes.map((_attributes) => {
104
- const { content, textAlign } = _attributes;
116
+ const { content, style } = _attributes;
117
+ const textAlign = style?.typography?.textAlign;
105
118
  return (0, import_blocks.createBlock)("core/paragraph", {
106
119
  ...(0, import_get_transformed_attributes.getTransformedAttributes)(
107
120
  _attributes,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/heading/transforms.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getLevelFromHeadingNodeName } from './shared';\nimport { getTransformedAttributes } from '../utils/get-transformed-attributes';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( _attributes ) => {\n\t\t\t\t\tconst { content, anchor, style } = _attributes;\n\t\t\t\t\tconst textAlign = style?.typography?.textAlign;\n\t\t\t\t\treturn createBlock( 'core/heading', {\n\t\t\t\t\t\t...getTransformedAttributes(\n\t\t\t\t\t\t\t_attributes,\n\t\t\t\t\t\t\t'core/heading',\n\t\t\t\t\t\t\t( { content: contentBinding } ) => ( {\n\t\t\t\t\t\t\t\tcontent: contentBinding,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\ttextAlign,\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\t\tschema: ( { phrasingContentSchema, isPaste } ) => {\n\t\t\t\tconst schema = {\n\t\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\t\tattributes: isPaste ? [] : [ 'style', 'id' ],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\th1: schema,\n\t\t\t\t\th2: schema,\n\t\t\t\t\th3: schema,\n\t\t\t\t\th4: schema,\n\t\t\t\t\th5: schema,\n\t\t\t\t\th6: schema,\n\t\t\t\t};\n\t\t\t},\n\t\t\ttransform( node ) {\n\t\t\t\tconst attributes = getBlockAttributes(\n\t\t\t\t\t'core/heading',\n\t\t\t\t\tnode.outerHTML\n\t\t\t\t);\n\t\t\t\tconst { textAlign } = node.style || {};\n\n\t\t\t\tattributes.level = getLevelFromHeadingNodeName( node.nodeName );\n\n\t\t\t\tif (\n\t\t\t\t\ttextAlign === 'left' ||\n\t\t\t\t\ttextAlign === 'center' ||\n\t\t\t\t\ttextAlign === 'right'\n\t\t\t\t) {\n\t\t\t\t\tattributes.align = textAlign;\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/heading', attributes );\n\t\t\t},\n\t\t},\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix: Array( level + 1 ).join( '#' ),\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( 'core/heading', {\n\t\t\t\t\tlevel,\n\t\t\t\t\tcontent,\n\t\t\t\t} );\n\t\t\t},\n\t\t} ) ),\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'enter',\n\t\t\tregExp: new RegExp( `^/(h|H)${ level }$` ),\n\t\t\ttransform: () => createBlock( 'core/heading', { level } ),\n\t\t} ) ),\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( _attributes ) => {\n\t\t\t\t\tconst { content, textAlign } = _attributes;\n\t\t\t\t\treturn createBlock( 'core/paragraph', {\n\t\t\t\t\t\t...getTransformedAttributes(\n\t\t\t\t\t\t\t_attributes,\n\t\t\t\t\t\t\t'core/paragraph',\n\t\t\t\t\t\t\t( { content: contentBinding } ) => ( {\n\t\t\t\t\t\t\t\tcontent: contentBinding,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t...( textAlign && {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\ttextAlign,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAgD;AAKhD,oBAA4C;AAC5C,wCAAyC;AAEzC,IAAM,aAAa;AAAA,EAClB,MAAM;AAAA,IACL;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,QAAQ,CAAE,gBAAiB;AAAA,MAC3B,WAAW,CAAE,eACZ,WAAW,IAAK,CAAE,gBAAiB;AAClC,cAAM,EAAE,SAAS,QAAQ,MAAM,IAAI;AACnC,cAAM,YAAY,OAAO,YAAY;AACrC,mBAAO,2BAAa,gBAAgB;AAAA,UACnC,OAAG;AAAA,YACF;AAAA,YACA;AAAA,YACA,CAAE,EAAE,SAAS,eAAe,OAAS;AAAA,cACpC,SAAS;AAAA,YACV;AAAA,UACD;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAE;AAAA,MACH,CAAE;AAAA,IACJ;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,UAAU;AAAA,MACV,QAAQ,CAAE,EAAE,uBAAuB,QAAQ,MAAO;AACjD,cAAM,SAAS;AAAA,UACd,UAAU;AAAA,UACV,YAAY,UAAU,CAAC,IAAI,CAAE,SAAS,IAAK;AAAA,QAC5C;AACA,eAAO;AAAA,UACN,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,QACL;AAAA,MACD;AAAA,MACA,UAAW,MAAO;AACjB,cAAM,iBAAa;AAAA,UAClB;AAAA,UACA,KAAK;AAAA,QACN;AACA,cAAM,EAAE,UAAU,IAAI,KAAK,SAAS,CAAC;AAErC,mBAAW,YAAQ,2CAA6B,KAAK,QAAS;AAE9D,YACC,cAAc,UACd,cAAc,YACd,cAAc,SACb;AACD,qBAAW,QAAQ;AAAA,QACpB;AAEA,mBAAO,2BAAa,gBAAgB,UAAW;AAAA,MAChD;AAAA,IACD;AAAA,IACA,GAAG,CAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAE,EAAE,IAAK,CAAE,WAAa;AAAA,MAC3C,MAAM;AAAA,MACN,QAAQ,MAAO,QAAQ,CAAE,EAAE,KAAM,GAAI;AAAA,MACrC,UAAW,SAAU;AACpB,mBAAO,2BAAa,gBAAgB;AAAA,UACnC;AAAA,UACA;AAAA,QACD,CAAE;AAAA,MACH;AAAA,IACD,EAAI;AAAA,IACJ,GAAG,CAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAE,EAAE,IAAK,CAAE,WAAa;AAAA,MAC3C,MAAM;AAAA,MACN,QAAQ,IAAI,OAAQ,UAAW,KAAM,GAAI;AAAA,MACzC,WAAW,UAAM,2BAAa,gBAAgB,EAAE,MAAM,CAAE;AAAA,IACzD,EAAI;AAAA,EACL;AAAA,EACA,IAAI;AAAA,IACH;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,QAAQ,CAAE,gBAAiB;AAAA,MAC3B,WAAW,CAAE,eACZ,WAAW,IAAK,CAAE,gBAAiB;AAClC,cAAM,EAAE,SAAS,UAAU,IAAI;AAC/B,mBAAO,2BAAa,kBAAkB;AAAA,UACrC,OAAG;AAAA,YACF;AAAA,YACA;AAAA,YACA,CAAE,EAAE,SAAS,eAAe,OAAS;AAAA,cACpC,SAAS;AAAA,YACV;AAAA,UACD;AAAA,UACA;AAAA,UACA,GAAK,aAAa;AAAA,YACjB,OAAO;AAAA,cACN,YAAY;AAAA,gBACX;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD,CAAE;AAAA,MACH,CAAE;AAAA,IACJ;AAAA,EACD;AACD;AAEA,IAAO,qBAAQ;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getLevelFromHeadingNodeName } from './shared';\nimport { getTransformedAttributes } from '../utils/get-transformed-attributes';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( _attributes ) => {\n\t\t\t\t\tconst { content, anchor, style } = _attributes;\n\t\t\t\t\tconst textAlign = style?.typography?.textAlign;\n\t\t\t\t\treturn createBlock( 'core/heading', {\n\t\t\t\t\t\t...getTransformedAttributes(\n\t\t\t\t\t\t\t_attributes,\n\t\t\t\t\t\t\t'core/heading',\n\t\t\t\t\t\t\t( { content: contentBinding } ) => ( {\n\t\t\t\t\t\t\t\tcontent: contentBinding,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t...( textAlign && {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\ttextAlign,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\t\tschema: ( { phrasingContentSchema, isPaste } ) => {\n\t\t\t\tconst schema = {\n\t\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\t\tattributes: isPaste ? [] : [ 'style', 'id' ],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\th1: schema,\n\t\t\t\t\th2: schema,\n\t\t\t\t\th3: schema,\n\t\t\t\t\th4: schema,\n\t\t\t\t\th5: schema,\n\t\t\t\t\th6: schema,\n\t\t\t\t};\n\t\t\t},\n\t\t\ttransform( node ) {\n\t\t\t\tconst attributes = getBlockAttributes(\n\t\t\t\t\t'core/heading',\n\t\t\t\t\tnode.outerHTML\n\t\t\t\t);\n\t\t\t\tconst { textAlign } = node.style || {};\n\n\t\t\t\tattributes.level = getLevelFromHeadingNodeName( node.nodeName );\n\n\t\t\t\tif (\n\t\t\t\t\ttextAlign === 'left' ||\n\t\t\t\t\ttextAlign === 'center' ||\n\t\t\t\t\ttextAlign === 'right'\n\t\t\t\t) {\n\t\t\t\t\tattributes.style = {\n\t\t\t\t\t\t...attributes.style,\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t...attributes.style?.typography,\n\t\t\t\t\t\t\ttextAlign,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/heading', attributes );\n\t\t\t},\n\t\t},\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix: Array( level + 1 ).join( '#' ),\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( 'core/heading', {\n\t\t\t\t\tlevel,\n\t\t\t\t\tcontent,\n\t\t\t\t} );\n\t\t\t},\n\t\t} ) ),\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'enter',\n\t\t\tregExp: new RegExp( `^/(h|H)${ level }$` ),\n\t\t\ttransform: () => createBlock( 'core/heading', { level } ),\n\t\t} ) ),\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( _attributes ) => {\n\t\t\t\t\tconst { content, style } = _attributes;\n\t\t\t\t\tconst textAlign = style?.typography?.textAlign;\n\t\t\t\t\treturn createBlock( 'core/paragraph', {\n\t\t\t\t\t\t...getTransformedAttributes(\n\t\t\t\t\t\t\t_attributes,\n\t\t\t\t\t\t\t'core/paragraph',\n\t\t\t\t\t\t\t( { content: contentBinding } ) => ( {\n\t\t\t\t\t\t\t\tcontent: contentBinding,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t...( textAlign && {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\ttextAlign,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -629,14 +629,14 @@ function Image({
629
629
  lockTitleControlsMessage
630
630
  }
631
631
  ) }),
632
- !hasDataFormBlockFields && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.InspectorControls, { group: "content", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
632
+ !hasDataFormBlockFields && isSingleSelected && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.InspectorControls, { group: "content", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
633
633
  import_components.__experimentalToolsPanel,
634
634
  {
635
635
  label: (0, import_i18n.__)("Media"),
636
636
  resetAll: () => onSelectImage(void 0),
637
637
  dropdownMenuProps,
638
638
  children: [
639
- isSingleSelected && !lockUrlControls && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
639
+ !lockUrlControls && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
640
640
  import_components.__experimentalToolsPanelItem,
641
641
  {
642
642
  label: (0, import_i18n.__)("Image"),
@@ -661,7 +661,7 @@ function Image({
661
661
  )
662
662
  }
663
663
  ),
664
- isSingleSelected && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
664
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
665
665
  import_components.__experimentalToolsPanelItem,
666
666
  {
667
667
  label: (0, import_i18n.__)("Alternative text"),