@wordpress/block-library 9.38.1-next.v.0 → 9.39.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 (273) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/button/index.cjs +3 -0
  3. package/build/button/index.cjs.map +2 -2
  4. package/build/comments-title/block.json +1 -3
  5. package/build/comments-title/deprecated.cjs +148 -24
  6. package/build/comments-title/deprecated.cjs.map +3 -3
  7. package/build/comments-title/edit.cjs +17 -31
  8. package/build/comments-title/edit.cjs.map +3 -3
  9. package/build/cover/edit/block-controls.cjs +10 -2
  10. package/build/cover/edit/block-controls.cjs.map +2 -2
  11. package/build/cover/edit/embed-video-url-input.cjs +6 -2
  12. package/build/cover/edit/embed-video-url-input.cjs.map +2 -2
  13. package/build/details/index.cjs +3 -0
  14. package/build/details/index.cjs.map +2 -2
  15. package/build/heading/index.cjs +3 -0
  16. package/build/heading/index.cjs.map +2 -2
  17. package/build/image/index.cjs +1 -1
  18. package/build/image/index.cjs.map +2 -2
  19. package/build/index.cjs +6 -0
  20. package/build/index.cjs.map +2 -2
  21. package/build/list-item/index.cjs +3 -0
  22. package/build/list-item/index.cjs.map +2 -2
  23. package/build/more/index.cjs +1 -1
  24. package/build/more/index.cjs.map +2 -2
  25. package/build/navigation/edit/index.cjs +23 -2
  26. package/build/navigation/edit/index.cjs.map +2 -2
  27. package/build/navigation-submenu/index.cjs +2 -2
  28. package/build/navigation-submenu/index.cjs.map +2 -2
  29. package/build/paragraph/index.cjs +1 -1
  30. package/build/paragraph/index.cjs.map +2 -2
  31. package/build/post-excerpt/edit.cjs +1 -1
  32. package/build/post-excerpt/edit.cjs.map +2 -2
  33. package/build/tab/add-tab-toolbar-control.cjs +31 -9
  34. package/build/tab/add-tab-toolbar-control.cjs.map +2 -2
  35. package/build/tab/block.json +18 -4
  36. package/build/tab/controls.cjs +4 -8
  37. package/build/tab/controls.cjs.map +3 -3
  38. package/build/tab/edit.cjs +46 -118
  39. package/build/tab/edit.cjs.map +3 -3
  40. package/build/tab/remove-tab-toolbar-control.cjs +91 -0
  41. package/build/tab/remove-tab-toolbar-control.cjs.map +7 -0
  42. package/build/tab/save.cjs +2 -2
  43. package/build/tab/save.cjs.map +2 -2
  44. package/build/tab-panels/block.json +70 -0
  45. package/build/tab-panels/edit.cjs +63 -0
  46. package/build/tab-panels/edit.cjs.map +7 -0
  47. package/build/tab-panels/icon.cjs +29 -0
  48. package/build/tab-panels/icon.cjs.map +7 -0
  49. package/build/tab-panels/index.cjs +58 -0
  50. package/build/tab-panels/index.cjs.map +7 -0
  51. package/build/tab-panels/save.cjs +33 -0
  52. package/build/tab-panels/save.cjs.map +7 -0
  53. package/build/tabs/block.json +61 -90
  54. package/build/tabs/controls.cjs +19 -221
  55. package/build/tabs/controls.cjs.map +3 -3
  56. package/build/tabs/deprecated.cjs +179 -0
  57. package/build/tabs/deprecated.cjs.map +7 -0
  58. package/build/tabs/edit.cjs +84 -62
  59. package/build/tabs/edit.cjs.map +3 -3
  60. package/build/tabs/index.cjs +3 -1
  61. package/build/tabs/index.cjs.map +3 -3
  62. package/build/tabs/save.cjs +6 -9
  63. package/build/tabs/save.cjs.map +2 -2
  64. package/build/tabs-menu/block.json +77 -0
  65. package/build/tabs-menu/edit.cjs +204 -0
  66. package/build/tabs-menu/edit.cjs.map +7 -0
  67. package/build/tabs-menu/icon.cjs +29 -0
  68. package/build/tabs-menu/icon.cjs.map +7 -0
  69. package/build/tabs-menu/index.cjs +58 -0
  70. package/build/tabs-menu/index.cjs.map +7 -0
  71. package/build/tabs-menu/save.cjs +35 -0
  72. package/build/tabs-menu/save.cjs.map +7 -0
  73. package/build/tabs-menu-item/block.json +98 -0
  74. package/build/tabs-menu-item/controls.cjs +247 -0
  75. package/build/tabs-menu-item/controls.cjs.map +7 -0
  76. package/build/tabs-menu-item/edit.cjs +272 -0
  77. package/build/tabs-menu-item/edit.cjs.map +7 -0
  78. package/build/tabs-menu-item/icon.cjs +29 -0
  79. package/build/tabs-menu-item/icon.cjs.map +7 -0
  80. package/build/tabs-menu-item/index.cjs +58 -0
  81. package/build/tabs-menu-item/index.cjs.map +7 -0
  82. package/build/tabs-menu-item/save.cjs +50 -0
  83. package/build/tabs-menu-item/save.cjs.map +7 -0
  84. package/build/template-part/edit/index.cjs +1 -1
  85. package/build/template-part/edit/index.cjs.map +2 -2
  86. package/build/utils/caption.cjs +4 -6
  87. package/build/utils/caption.cjs.map +3 -3
  88. package/build/video/edit.cjs +4 -2
  89. package/build/video/edit.cjs.map +2 -2
  90. package/build-module/button/index.mjs +3 -0
  91. package/build-module/button/index.mjs.map +2 -2
  92. package/build-module/comments-title/block.json +1 -3
  93. package/build-module/comments-title/deprecated.mjs +148 -24
  94. package/build-module/comments-title/deprecated.mjs.map +2 -2
  95. package/build-module/comments-title/edit.mjs +17 -32
  96. package/build-module/comments-title/edit.mjs.map +2 -2
  97. package/build-module/cover/edit/block-controls.mjs +11 -3
  98. package/build-module/cover/edit/block-controls.mjs.map +2 -2
  99. package/build-module/cover/edit/embed-video-url-input.mjs +6 -2
  100. package/build-module/cover/edit/embed-video-url-input.mjs.map +2 -2
  101. package/build-module/details/index.mjs +3 -0
  102. package/build-module/details/index.mjs.map +2 -2
  103. package/build-module/heading/index.mjs +3 -0
  104. package/build-module/heading/index.mjs.map +2 -2
  105. package/build-module/image/index.mjs +1 -1
  106. package/build-module/image/index.mjs.map +2 -2
  107. package/build-module/index.mjs +6 -0
  108. package/build-module/index.mjs.map +2 -2
  109. package/build-module/list-item/index.mjs +3 -0
  110. package/build-module/list-item/index.mjs.map +2 -2
  111. package/build-module/more/index.mjs +1 -1
  112. package/build-module/more/index.mjs.map +2 -2
  113. package/build-module/navigation/edit/index.mjs +23 -2
  114. package/build-module/navigation/edit/index.mjs.map +2 -2
  115. package/build-module/navigation-submenu/index.mjs +2 -2
  116. package/build-module/navigation-submenu/index.mjs.map +2 -2
  117. package/build-module/paragraph/index.mjs +1 -1
  118. package/build-module/paragraph/index.mjs.map +2 -2
  119. package/build-module/post-excerpt/edit.mjs +1 -1
  120. package/build-module/post-excerpt/edit.mjs.map +2 -2
  121. package/build-module/tab/add-tab-toolbar-control.mjs +32 -10
  122. package/build-module/tab/add-tab-toolbar-control.mjs.map +2 -2
  123. package/build-module/tab/block.json +18 -4
  124. package/build-module/tab/controls.mjs +4 -8
  125. package/build-module/tab/controls.mjs.map +2 -2
  126. package/build-module/tab/edit.mjs +48 -128
  127. package/build-module/tab/edit.mjs.map +2 -2
  128. package/build-module/tab/remove-tab-toolbar-control.mjs +73 -0
  129. package/build-module/tab/remove-tab-toolbar-control.mjs.map +7 -0
  130. package/build-module/tab/save.mjs +2 -2
  131. package/build-module/tab/save.mjs.map +2 -2
  132. package/build-module/tab-panels/block.json +70 -0
  133. package/build-module/tab-panels/edit.mjs +36 -0
  134. package/build-module/tab-panels/edit.mjs.map +7 -0
  135. package/build-module/tab-panels/icon.mjs +8 -0
  136. package/build-module/tab-panels/icon.mjs.map +7 -0
  137. package/build-module/tab-panels/index.mjs +20 -0
  138. package/build-module/tab-panels/index.mjs.map +7 -0
  139. package/build-module/tab-panels/save.mjs +12 -0
  140. package/build-module/tab-panels/save.mjs.map +7 -0
  141. package/build-module/tabs/block.json +61 -90
  142. package/build-module/tabs/controls.mjs +21 -228
  143. package/build-module/tabs/controls.mjs.map +2 -2
  144. package/build-module/tabs/deprecated.mjs +158 -0
  145. package/build-module/tabs/deprecated.mjs.map +7 -0
  146. package/build-module/tabs/edit.mjs +87 -64
  147. package/build-module/tabs/edit.mjs.map +2 -2
  148. package/build-module/tabs/index.mjs +3 -1
  149. package/build-module/tabs/index.mjs.map +2 -2
  150. package/build-module/tabs/save.mjs +7 -10
  151. package/build-module/tabs/save.mjs.map +2 -2
  152. package/build-module/tabs-menu/block.json +77 -0
  153. package/build-module/tabs-menu/edit.mjs +186 -0
  154. package/build-module/tabs-menu/edit.mjs.map +7 -0
  155. package/build-module/tabs-menu/icon.mjs +8 -0
  156. package/build-module/tabs-menu/icon.mjs.map +7 -0
  157. package/build-module/tabs-menu/index.mjs +20 -0
  158. package/build-module/tabs-menu/index.mjs.map +7 -0
  159. package/build-module/tabs-menu/save.mjs +14 -0
  160. package/build-module/tabs-menu/save.mjs.map +7 -0
  161. package/build-module/tabs-menu-item/block.json +98 -0
  162. package/build-module/tabs-menu-item/controls.mjs +227 -0
  163. package/build-module/tabs-menu-item/controls.mjs.map +7 -0
  164. package/build-module/tabs-menu-item/edit.mjs +253 -0
  165. package/build-module/tabs-menu-item/edit.mjs.map +7 -0
  166. package/build-module/tabs-menu-item/icon.mjs +8 -0
  167. package/build-module/tabs-menu-item/icon.mjs.map +7 -0
  168. package/build-module/tabs-menu-item/index.mjs +20 -0
  169. package/build-module/tabs-menu-item/index.mjs.map +7 -0
  170. package/build-module/tabs-menu-item/save.mjs +29 -0
  171. package/build-module/tabs-menu-item/save.mjs.map +7 -0
  172. package/build-module/template-part/edit/index.mjs +1 -1
  173. package/build-module/template-part/edit/index.mjs.map +2 -2
  174. package/build-module/utils/caption.mjs +1 -3
  175. package/build-module/utils/caption.mjs.map +2 -2
  176. package/build-module/video/edit.mjs +4 -2
  177. package/build-module/video/edit.mjs.map +2 -2
  178. package/build-style/editor-rtl.css +16 -21
  179. package/build-style/editor.css +16 -21
  180. package/build-style/gallery/style-rtl.css +1 -1
  181. package/build-style/gallery/style.css +1 -1
  182. package/build-style/style-rtl.css +42 -153
  183. package/build-style/style.css +42 -153
  184. package/build-style/tab/style-rtl.css +7 -1
  185. package/build-style/tab/style.css +7 -1
  186. package/build-style/tab-panels/style-rtl.css +4 -0
  187. package/build-style/tab-panels/style.css +4 -0
  188. package/build-style/tabs/style-rtl.css +1 -167
  189. package/build-style/tabs/style.css +1 -167
  190. package/build-style/tabs-menu/editor-rtl.css +4 -0
  191. package/build-style/tabs-menu/editor.css +4 -0
  192. package/build-style/tabs-menu/style-rtl.css +8 -0
  193. package/build-style/tabs-menu/style.css +8 -0
  194. package/build-style/tabs-menu-item/editor-rtl.css +16 -0
  195. package/build-style/tabs-menu-item/editor.css +16 -0
  196. package/build-style/tabs-menu-item/style-rtl.css +34 -0
  197. package/build-style/tabs-menu-item/style.css +34 -0
  198. package/package.json +37 -37
  199. package/src/button/index.js +4 -0
  200. package/src/comments-title/block.json +1 -3
  201. package/src/comments-title/deprecated.js +153 -23
  202. package/src/comments-title/edit.js +9 -25
  203. package/src/cover/edit/block-controls.js +14 -3
  204. package/src/cover/edit/embed-video-url-input.js +6 -2
  205. package/src/details/index.js +4 -0
  206. package/src/editor.scss +2 -1
  207. package/src/gallery/style.scss +1 -1
  208. package/src/heading/index.js +4 -0
  209. package/src/image/index.js +4 -1
  210. package/src/index.js +6 -0
  211. package/src/list-item/index.js +4 -0
  212. package/src/more/index.js +4 -1
  213. package/src/navigation/edit/index.js +28 -4
  214. package/src/navigation-submenu/index.js +6 -3
  215. package/src/paragraph/index.js +4 -1
  216. package/src/post-excerpt/edit.js +1 -1
  217. package/src/post-excerpt/index.php +39 -16
  218. package/src/style.scss +3 -0
  219. package/src/tab/add-tab-toolbar-control.js +36 -11
  220. package/src/tab/block.json +18 -4
  221. package/src/tab/controls.js +4 -5
  222. package/src/tab/edit.js +75 -150
  223. package/src/tab/index.php +5 -63
  224. package/src/tab/remove-tab-toolbar-control.js +103 -0
  225. package/src/tab/save.js +1 -3
  226. package/src/tab/style.scss +8 -1
  227. package/src/tab-panels/block.json +70 -0
  228. package/src/tab-panels/edit.js +44 -0
  229. package/src/tab-panels/icon.js +10 -0
  230. package/src/tab-panels/index.js +21 -0
  231. package/src/tab-panels/save.js +11 -0
  232. package/src/tab-panels/style.scss +4 -0
  233. package/src/tabs/block.json +61 -90
  234. package/src/tabs/controls.js +7 -221
  235. package/src/tabs/deprecated.js +214 -0
  236. package/src/tabs/edit.js +108 -68
  237. package/src/tabs/index.js +2 -0
  238. package/src/tabs/index.php +86 -191
  239. package/src/tabs/save.js +6 -13
  240. package/src/tabs/style.scss +1 -187
  241. package/src/tabs-menu/block.json +77 -0
  242. package/src/tabs-menu/edit.js +251 -0
  243. package/src/tabs-menu/editor.scss +6 -0
  244. package/src/tabs-menu/icon.js +10 -0
  245. package/src/tabs-menu/index.js +21 -0
  246. package/src/tabs-menu/index.php +74 -0
  247. package/src/tabs-menu/save.js +18 -0
  248. package/src/tabs-menu/style.scss +8 -0
  249. package/src/tabs-menu-item/block.json +98 -0
  250. package/src/tabs-menu-item/controls.js +262 -0
  251. package/src/tabs-menu-item/edit.js +322 -0
  252. package/src/tabs-menu-item/editor.scss +20 -0
  253. package/src/tabs-menu-item/icon.js +10 -0
  254. package/src/tabs-menu-item/index.js +21 -0
  255. package/src/tabs-menu-item/index.php +82 -0
  256. package/src/tabs-menu-item/save.js +44 -0
  257. package/src/tabs-menu-item/style.scss +42 -0
  258. package/src/template-part/edit/index.js +1 -3
  259. package/src/utils/caption.js +1 -7
  260. package/src/video/edit.js +4 -2
  261. package/build/tab/tabs-list.cjs +0 -132
  262. package/build/tab/tabs-list.cjs.map +0 -7
  263. package/build/tabs/style-engine.cjs +0 -119
  264. package/build/tabs/style-engine.cjs.map +0 -7
  265. package/build-module/tab/tabs-list.mjs +0 -101
  266. package/build-module/tab/tabs-list.mjs.map +0 -7
  267. package/build-module/tabs/style-engine.mjs +0 -101
  268. package/build-module/tabs/style-engine.mjs.map +0 -7
  269. package/build-style/tabs/editor-rtl.css +0 -26
  270. package/build-style/tabs/editor.css +0 -26
  271. package/src/tab/tabs-list.js +0 -122
  272. package/src/tabs/editor.scss +0 -30
  273. package/src/tabs/style-engine.js +0 -164
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 9.39.0 (2026-01-29)
6
+
5
7
  ## 9.38.0 (2026-01-16)
6
8
 
7
9
  - Post Date Block: Improve semantic HTML to add `<time>` inside link element.
@@ -69,6 +69,9 @@ var settings = {
69
69
  if (context === "list-view" && (customName || hasContent)) {
70
70
  return customName || text;
71
71
  }
72
+ if (context === "breadcrumb" && customName) {
73
+ return customName;
74
+ }
72
75
  }
73
76
  };
74
77
  if (window.__experimentalContentOnlyInspectorFields) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/button/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { button as icon } from '@wordpress/icons';\nimport { privateApis as blocksPrivateApis } 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 { 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\tclassName: 'is-style-fill',\n\t\t\ttext: __( 'Call to action' ),\n\t\t},\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tmerge: ( a, { text = '' } ) => ( {\n\t\t...a,\n\t\ttext: ( a.text || '' ) + text,\n\t} ),\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { text } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\t\tconst hasContent = text?.trim().length > 0;\n\n\t\t// In the list view, use the block's text as the label.\n\t\t// If the text is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || hasContent ) ) {\n\t\t\treturn customName || text;\n\t\t}\n\t},\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'text',\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\t{\n\t\t\tid: 'link',\n\t\t\tlabel: __( 'Link' ),\n\t\t\ttype: 'url',\n\t\t\tEdit: 'link', // TODO: replace with custom component\n\t\t\tgetValue: ( { item } ) => ( {\n\t\t\t\turl: item.url,\n\t\t\t\trel: item.rel,\n\t\t\t\tlinkTarget: item.linkTarget,\n\t\t\t} ),\n\t\t\tsetValue: ( { value } ) => ( {\n\t\t\t\turl: value.url,\n\t\t\t\trel: value.rel,\n\t\t\t\tlinkTarget: value.linkTarget,\n\t\t\t} ),\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'text', 'link' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAA+B;AAC/B,oBAAiD;AAKjD,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,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,WAAW;AAAA,MACX,UAAM,gBAAI,gBAAiB;AAAA,IAC5B;AAAA,EACD;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,OAAO,CAAE,GAAG,EAAE,OAAO,GAAG,OAAS;AAAA,IAChC,GAAG;AAAA,IACH,OAAQ,EAAE,QAAQ,MAAO;AAAA,EAC1B;AAAA,EACA,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,EAAE,KAAK,IAAI;AAEjB,UAAM,aAAa,YAAY,UAAU;AACzC,UAAM,aAAa,MAAM,KAAK,EAAE,SAAS;AAIzC,QAAK,YAAY,gBAAiB,cAAc,aAAe;AAC9D,aAAO,cAAc;AAAA,IACtB;AAAA,EACD;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,IACA;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,MAAO;AAAA,MAClB,MAAM;AAAA,MACN,MAAM;AAAA;AAAA,MACN,UAAU,CAAE,EAAE,KAAK,OAAS;AAAA,QAC3B,KAAK,KAAK;AAAA,QACV,KAAK,KAAK;AAAA,QACV,YAAY,KAAK;AAAA,MAClB;AAAA,MACA,UAAU,CAAE,EAAE,MAAM,OAAS;AAAA,QAC5B,KAAK,MAAM;AAAA,QACX,KAAK,MAAM;AAAA,QACX,YAAY,MAAM;AAAA,MACnB;AAAA,IACD;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,QAAQ,MAAO;AAAA,EAC1B;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { button as icon } from '@wordpress/icons';\nimport { privateApis as blocksPrivateApis } 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 { 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\tclassName: 'is-style-fill',\n\t\t\ttext: __( 'Call to action' ),\n\t\t},\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tmerge: ( a, { text = '' } ) => ( {\n\t\t...a,\n\t\ttext: ( a.text || '' ) + text,\n\t} ),\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { text } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\t\tconst hasContent = text?.trim().length > 0;\n\n\t\t// In the list view, use the block's text as the label.\n\t\t// If the text is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || hasContent ) ) {\n\t\t\treturn customName || text;\n\t\t}\n\n\t\tif ( context === 'breadcrumb' && customName ) {\n\t\t\treturn customName;\n\t\t}\n\t},\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'text',\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\t{\n\t\t\tid: 'link',\n\t\t\tlabel: __( 'Link' ),\n\t\t\ttype: 'url',\n\t\t\tEdit: 'link', // TODO: replace with custom component\n\t\t\tgetValue: ( { item } ) => ( {\n\t\t\t\turl: item.url,\n\t\t\t\trel: item.rel,\n\t\t\t\tlinkTarget: item.linkTarget,\n\t\t\t} ),\n\t\t\tsetValue: ( { value } ) => ( {\n\t\t\t\turl: value.url,\n\t\t\t\trel: value.rel,\n\t\t\t\tlinkTarget: value.linkTarget,\n\t\t\t} ),\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'text', 'link' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAA+B;AAC/B,oBAAiD;AAKjD,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,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,WAAW;AAAA,MACX,UAAM,gBAAI,gBAAiB;AAAA,IAC5B;AAAA,EACD;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,OAAO,CAAE,GAAG,EAAE,OAAO,GAAG,OAAS;AAAA,IAChC,GAAG;AAAA,IACH,OAAQ,EAAE,QAAQ,MAAO;AAAA,EAC1B;AAAA,EACA,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,EAAE,KAAK,IAAI;AAEjB,UAAM,aAAa,YAAY,UAAU;AACzC,UAAM,aAAa,MAAM,KAAK,EAAE,SAAS;AAIzC,QAAK,YAAY,gBAAiB,cAAc,aAAe;AAC9D,aAAO,cAAc;AAAA,IACtB;AAEA,QAAK,YAAY,gBAAgB,YAAa;AAC7C,aAAO;AAAA,IACR;AAAA,EACD;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,IACA;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,MAAO;AAAA,MAClB,MAAM;AAAA,MACN,MAAM;AAAA;AAAA,MACN,UAAU,CAAE,EAAE,KAAK,OAAS;AAAA,QAC3B,KAAK,KAAK;AAAA,QACV,KAAK,KAAK;AAAA,QACV,YAAY,KAAK;AAAA,MAClB;AAAA,MACA,UAAU,CAAE,EAAE,MAAM,OAAS;AAAA,QAC5B,KAAK,MAAM;AAAA,QACX,KAAK,MAAM;AAAA,QACX,YAAY,MAAM;AAAA,MACnB;AAAA,IACD;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,QAAQ,MAAO;AAAA,EAC1B;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
6
  "names": ["metadata", "blocksPrivateApis", "icon", "edit", "save", "deprecated", "initBlock", "metadata"]
7
7
  }
@@ -9,9 +9,6 @@
9
9
  "textdomain": "default",
10
10
  "usesContext": [ "postId", "postType" ],
11
11
  "attributes": {
12
- "textAlign": {
13
- "type": "string"
14
- },
15
12
  "showPostTitle": {
16
13
  "type": "boolean",
17
14
  "default": true
@@ -52,6 +49,7 @@
52
49
  "typography": {
53
50
  "fontSize": true,
54
51
  "lineHeight": true,
52
+ "textAlign": true,
55
53
  "__experimentalFontFamily": true,
56
54
  "__experimentalFontWeight": true,
57
55
  "__experimentalFontStyle": true,
@@ -33,30 +33,154 @@ __export(deprecated_exports, {
33
33
  default: () => deprecated_default
34
34
  });
35
35
  module.exports = __toCommonJS(deprecated_exports);
36
- var import_block = __toESM(require("./block.json"));
37
- var { attributes, supports } = import_block.default;
38
- var deprecated_default = [
39
- {
40
- attributes: {
41
- ...attributes,
42
- singleCommentLabel: {
43
- type: "string"
44
- },
45
- multipleCommentsLabel: {
46
- type: "string"
36
+ var import_migrate_text_align = __toESM(require("../utils/migrate-text-align.cjs"));
37
+ var v2 = {
38
+ attributes: {
39
+ textAlign: {
40
+ type: "string"
41
+ },
42
+ showPostTitle: {
43
+ type: "boolean",
44
+ default: true
45
+ },
46
+ showCommentsCount: {
47
+ type: "boolean",
48
+ default: true
49
+ },
50
+ level: {
51
+ type: "number",
52
+ default: 2
53
+ },
54
+ levelOptions: {
55
+ type: "array"
56
+ }
57
+ },
58
+ supports: {
59
+ anchor: true,
60
+ align: true,
61
+ html: false,
62
+ __experimentalBorder: {
63
+ radius: true,
64
+ color: true,
65
+ width: true,
66
+ style: true
67
+ },
68
+ color: {
69
+ gradients: true,
70
+ __experimentalDefaultControls: {
71
+ background: true,
72
+ text: true
47
73
  }
48
74
  },
49
- supports,
50
- migrate: (oldAttributes) => {
51
- const {
52
- singleCommentLabel,
53
- multipleCommentsLabel,
54
- ...newAttributes
55
- } = oldAttributes;
56
- return newAttributes;
57
- },
58
- isEligible: ({ multipleCommentsLabel, singleCommentLabel }) => multipleCommentsLabel || singleCommentLabel,
59
- save: () => null
60
- }
61
- ];
75
+ spacing: {
76
+ margin: true,
77
+ padding: true
78
+ },
79
+ typography: {
80
+ fontSize: true,
81
+ lineHeight: true,
82
+ __experimentalFontFamily: true,
83
+ __experimentalFontWeight: true,
84
+ __experimentalFontStyle: true,
85
+ __experimentalTextTransform: true,
86
+ __experimentalTextDecoration: true,
87
+ __experimentalLetterSpacing: true,
88
+ __experimentalDefaultControls: {
89
+ fontSize: true,
90
+ __experimentalFontFamily: true,
91
+ __experimentalFontStyle: true,
92
+ __experimentalFontWeight: true
93
+ }
94
+ },
95
+ interactivity: {
96
+ clientNavigation: true
97
+ }
98
+ },
99
+ migrate: (oldAttributes) => {
100
+ const { singleCommentLabel, multipleCommentsLabel, ...newAttributes } = oldAttributes;
101
+ return (0, import_migrate_text_align.default)(newAttributes);
102
+ },
103
+ isEligible(attributes) {
104
+ return !!attributes.textAlign || !!attributes.className?.match(
105
+ /\bhas-text-align-(left|center|right)\b/
106
+ );
107
+ },
108
+ save: () => null
109
+ };
110
+ var v1 = {
111
+ attributes: {
112
+ textAlign: {
113
+ type: "string"
114
+ },
115
+ showPostTitle: {
116
+ type: "boolean",
117
+ default: true
118
+ },
119
+ showCommentsCount: {
120
+ type: "boolean",
121
+ default: true
122
+ },
123
+ level: {
124
+ type: "number",
125
+ default: 2
126
+ },
127
+ levelOptions: {
128
+ type: "array"
129
+ },
130
+ singleCommentLabel: {
131
+ type: "string"
132
+ },
133
+ multipleCommentsLabel: {
134
+ type: "string"
135
+ }
136
+ },
137
+ supports: {
138
+ anchor: true,
139
+ align: true,
140
+ html: false,
141
+ __experimentalBorder: {
142
+ radius: true,
143
+ color: true,
144
+ width: true,
145
+ style: true
146
+ },
147
+ color: {
148
+ gradients: true,
149
+ __experimentalDefaultControls: {
150
+ background: true,
151
+ text: true
152
+ }
153
+ },
154
+ spacing: {
155
+ margin: true,
156
+ padding: true
157
+ },
158
+ typography: {
159
+ fontSize: true,
160
+ lineHeight: true,
161
+ __experimentalFontFamily: true,
162
+ __experimentalFontWeight: true,
163
+ __experimentalFontStyle: true,
164
+ __experimentalTextTransform: true,
165
+ __experimentalTextDecoration: true,
166
+ __experimentalLetterSpacing: true,
167
+ __experimentalDefaultControls: {
168
+ fontSize: true,
169
+ __experimentalFontFamily: true,
170
+ __experimentalFontStyle: true,
171
+ __experimentalFontWeight: true
172
+ }
173
+ },
174
+ interactivity: {
175
+ clientNavigation: true
176
+ }
177
+ },
178
+ migrate: (oldAttributes) => {
179
+ const { singleCommentLabel, multipleCommentsLabel, ...newAttributes } = oldAttributes;
180
+ return (0, import_migrate_text_align.default)(newAttributes);
181
+ },
182
+ isEligible: ({ multipleCommentsLabel, singleCommentLabel }) => multipleCommentsLabel || singleCommentLabel,
183
+ save: () => null
184
+ };
185
+ var deprecated_default = [v2, v1];
62
186
  //# sourceMappingURL=deprecated.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/comments-title/deprecated.js"],
4
- "sourcesContent": ["/**\n * Internal dependencies\n */\nimport metadata from './block.json';\n\nconst { attributes, supports } = metadata;\n\nexport default [\n\t{\n\t\tattributes: {\n\t\t\t...attributes,\n\t\t\tsingleCommentLabel: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmultipleCommentsLabel: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tsupports,\n\t\tmigrate: ( oldAttributes ) => {\n\t\t\tconst {\n\t\t\t\tsingleCommentLabel,\n\t\t\t\tmultipleCommentsLabel,\n\t\t\t\t...newAttributes\n\t\t\t} = oldAttributes;\n\t\t\treturn newAttributes;\n\t\t},\n\t\tisEligible: ( { multipleCommentsLabel, singleCommentLabel } ) =>\n\t\t\tmultipleCommentsLabel || singleCommentLabel,\n\t\tsave: () => null,\n\t},\n];\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAAqB;AAErB,IAAM,EAAE,YAAY,SAAS,IAAI,aAAAA;AAEjC,IAAO,qBAAQ;AAAA,EACd;AAAA,IACC,YAAY;AAAA,MACX,GAAG;AAAA,MACH,oBAAoB;AAAA,QACnB,MAAM;AAAA,MACP;AAAA,MACA,uBAAuB;AAAA,QACtB,MAAM;AAAA,MACP;AAAA,IACD;AAAA,IACA;AAAA,IACA,SAAS,CAAE,kBAAmB;AAC7B,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACJ,IAAI;AACJ,aAAO;AAAA,IACR;AAAA,IACA,YAAY,CAAE,EAAE,uBAAuB,mBAAmB,MACzD,yBAAyB;AAAA,IAC1B,MAAM,MAAM;AAAA,EACb;AACD;",
6
- "names": ["metadata"]
4
+ "sourcesContent": ["/**\n * Internal dependencies\n */\nimport migrateTextAlign from '../utils/migrate-text-align';\n\nconst v2 = {\n\tattributes: {\n\t\ttextAlign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tshowPostTitle: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tshowCommentsCount: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\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},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\thtml: false,\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\tcolor: true,\n\t\t\twidth: true,\n\t\t\tstyle: true,\n\t\t},\n\t\tcolor: {\n\t\t\tgradients: 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__experimentalFontWeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t\t__experimentalFontFamily: true,\n\t\t\t\t__experimentalFontStyle: true,\n\t\t\t\t__experimentalFontWeight: true,\n\t\t\t},\n\t\t},\n\t\tinteractivity: {\n\t\t\tclientNavigation: true,\n\t\t},\n\t},\n\tmigrate: ( oldAttributes ) => {\n\t\tconst { singleCommentLabel, multipleCommentsLabel, ...newAttributes } =\n\t\t\toldAttributes;\n\t\treturn migrateTextAlign( newAttributes );\n\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\tsave: () => null,\n};\n\nconst v1 = {\n\tattributes: {\n\t\ttextAlign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tshowPostTitle: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tshowCommentsCount: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\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\tsingleCommentLabel: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tmultipleCommentsLabel: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\thtml: false,\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\tcolor: true,\n\t\t\twidth: true,\n\t\t\tstyle: true,\n\t\t},\n\t\tcolor: {\n\t\t\tgradients: 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__experimentalFontWeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t\t__experimentalFontFamily: true,\n\t\t\t\t__experimentalFontStyle: true,\n\t\t\t\t__experimentalFontWeight: true,\n\t\t\t},\n\t\t},\n\t\tinteractivity: {\n\t\t\tclientNavigation: true,\n\t\t},\n\t},\n\tmigrate: ( oldAttributes ) => {\n\t\tconst { singleCommentLabel, multipleCommentsLabel, ...newAttributes } =\n\t\t\toldAttributes;\n\t\treturn migrateTextAlign( newAttributes );\n\t},\n\tisEligible: ( { multipleCommentsLabel, singleCommentLabel } ) =>\n\t\tmultipleCommentsLabel || singleCommentLabel,\n\tsave: () => null,\n};\n\nexport default [ v2, v1 ];\n"],
5
+ "mappings": "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",
6
+ "names": ["migrateTextAlign"]
7
7
  }
@@ -33,7 +33,6 @@ __export(edit_exports, {
33
33
  default: () => Edit
34
34
  });
35
35
  module.exports = __toCommonJS(edit_exports);
36
- var import_clsx = __toESM(require("clsx"));
37
36
  var import_block_editor = require("@wordpress/block-editor");
38
37
  var import_i18n = require("@wordpress/i18n");
39
38
  var import_core_data = require("@wordpress/core-data");
@@ -43,27 +42,23 @@ var import_data = require("@wordpress/data");
43
42
  var import_api_fetch = __toESM(require("@wordpress/api-fetch"));
44
43
  var import_url = require("@wordpress/url");
45
44
  var import_hooks = require("../utils/hooks.cjs");
45
+ var import_deprecated_text_align_attributes = __toESM(require("../utils/deprecated-text-align-attributes.cjs"));
46
46
  var import_jsx_runtime = require("react/jsx-runtime");
47
- function Edit({
48
- attributes: {
49
- textAlign,
47
+ function Edit(props) {
48
+ (0, import_deprecated_text_align_attributes.default)(props);
49
+ const { attributes, setAttributes, context } = props;
50
+ const {
50
51
  showPostTitle,
51
52
  showCommentsCount,
52
- level,
53
+ level = 2,
53
54
  levelOptions
54
- },
55
- setAttributes,
56
- context: { postType, postId }
57
- }) {
55
+ } = attributes;
56
+ const { postId, postType } = context;
58
57
  const TagName = "h" + level;
59
58
  const [commentsCount, setCommentsCount] = (0, import_element.useState)();
60
59
  const [rawTitle] = (0, import_core_data.useEntityProp)("postType", postType, "title", postId);
61
60
  const isSiteEditor = typeof postId === "undefined";
62
- const blockProps = (0, import_block_editor.useBlockProps)({
63
- className: (0, import_clsx.default)({
64
- [`has-text-align-${textAlign}`]: textAlign
65
- })
66
- });
61
+ const blockProps = (0, import_block_editor.useBlockProps)();
67
62
  const {
68
63
  threadCommentsDepth,
69
64
  threadComments,
@@ -100,23 +95,14 @@ function Edit({
100
95
  setCommentsCount(0);
101
96
  });
102
97
  }, [postId]);
103
- const blockControls = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_block_editor.BlockControls, { group: "block", children: [
104
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
105
- import_block_editor.AlignmentControl,
106
- {
107
- value: textAlign,
108
- onChange: (newAlign) => setAttributes({ textAlign: newAlign })
109
- }
110
- ),
111
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
112
- import_block_editor.HeadingLevelDropdown,
113
- {
114
- value: level,
115
- options: levelOptions,
116
- onChange: (newLevel) => setAttributes({ level: newLevel })
117
- }
118
- )
119
- ] });
98
+ const blockControls = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.BlockControls, { group: "block", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
99
+ import_block_editor.HeadingLevelDropdown,
100
+ {
101
+ value: level,
102
+ options: levelOptions,
103
+ onChange: (newLevel) => setAttributes({ level: newLevel })
104
+ }
105
+ ) });
120
106
  const inspectorControls = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
121
107
  import_components.__experimentalToolsPanel,
122
108
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/comments-title/edit.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tuseBlockProps,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tHeadingLevelDropdown,\n} from '@wordpress/block-editor';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useEntityProp } from '@wordpress/core-data';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function Edit( {\n\tattributes: {\n\t\ttextAlign,\n\t\tshowPostTitle,\n\t\tshowCommentsCount,\n\t\tlevel,\n\t\tlevelOptions,\n\t},\n\tsetAttributes,\n\tcontext: { postType, postId },\n} ) {\n\tconst TagName = 'h' + level;\n\tconst [ commentsCount, setCommentsCount ] = useState();\n\tconst [ rawTitle ] = useEntityProp( 'postType', postType, 'title', postId );\n\tconst isSiteEditor = typeof postId === 'undefined';\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst {\n\t\tthreadCommentsDepth,\n\t\tthreadComments,\n\t\tcommentsPerPage,\n\t\tpageComments,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().__experimentalDiscussionSettings ?? {};\n\t}, [] );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tuseEffect( () => {\n\t\tif ( isSiteEditor ) {\n\t\t\t// Match the number of comments that will be shown in the comment-template/edit.js placeholder\n\n\t\t\tconst nestedCommentsNumber = threadComments\n\t\t\t\t? Math.min( threadCommentsDepth, 3 ) - 1\n\t\t\t\t: 0;\n\t\t\tconst topLevelCommentsNumber = pageComments ? commentsPerPage : 3;\n\n\t\t\tconst commentsNumber =\n\t\t\t\tparseInt( nestedCommentsNumber ) +\n\t\t\t\tparseInt( topLevelCommentsNumber );\n\n\t\t\tsetCommentsCount( Math.min( commentsNumber, 3 ) );\n\t\t\treturn;\n\t\t}\n\t\tconst currentPostId = postId;\n\t\tapiFetch( {\n\t\t\tpath: addQueryArgs( '/wp/v2/comments', {\n\t\t\t\tpost: postId,\n\t\t\t\t_fields: 'id',\n\t\t\t} ),\n\t\t\tmethod: 'HEAD',\n\t\t\tparse: false,\n\t\t} )\n\t\t\t.then( ( res ) => {\n\t\t\t\t// Stale requests will have the `currentPostId` of an older closure.\n\t\t\t\tif ( currentPostId === postId ) {\n\t\t\t\t\tsetCommentsCount(\n\t\t\t\t\t\tparseInt( res.headers.get( 'X-WP-Total' ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\tsetCommentsCount( 0 );\n\t\t\t} );\n\t}, [ postId ] );\n\n\tconst blockControls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<AlignmentControl\n\t\t\t\tvalue={ textAlign }\n\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<HeadingLevelDropdown\n\t\t\t\tvalue={ level }\n\t\t\t\toptions={ levelOptions }\n\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tshowPostTitle: true,\n\t\t\t\t\t\tshowCommentsCount: true,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Show post title' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => ! showPostTitle }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { showPostTitle: true } )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show post title' ) }\n\t\t\t\t\t\tchecked={ showPostTitle }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { showPostTitle: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Show comments count' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => ! showCommentsCount }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { showCommentsCount: true } )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show comments count' ) }\n\t\t\t\t\t\tchecked={ showCommentsCount }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { showCommentsCount: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\tconst postTitle = isSiteEditor ? __( 'Post Title' ) : rawTitle;\n\n\tlet placeholder;\n\tif ( showCommentsCount && commentsCount !== undefined ) {\n\t\tif ( showPostTitle ) {\n\t\t\tif ( commentsCount === 1 ) {\n\t\t\t\tplaceholder = sprintf(\n\t\t\t\t\t/* translators: %s: Post title. */\n\t\t\t\t\t__( 'One response to \"%s\"' ),\n\t\t\t\t\tpostTitle\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tplaceholder = sprintf(\n\t\t\t\t\t/* translators: 1: Number of comments, 2: Post title. */\n\t\t\t\t\t_n(\n\t\t\t\t\t\t'%1$s response to \"%2$s\"',\n\t\t\t\t\t\t'%1$s responses to \"%2$s\"',\n\t\t\t\t\t\tcommentsCount\n\t\t\t\t\t),\n\t\t\t\t\tcommentsCount,\n\t\t\t\t\tpostTitle\n\t\t\t\t);\n\t\t\t}\n\t\t} else if ( commentsCount === 1 ) {\n\t\t\tplaceholder = __( 'One response' );\n\t\t} else {\n\t\t\tplaceholder = sprintf(\n\t\t\t\t/* translators: %s: Number of comments. */\n\t\t\t\t_n( '%s response', '%s responses', commentsCount ),\n\t\t\t\tcommentsCount\n\t\t\t);\n\t\t}\n\t} else if ( showPostTitle ) {\n\t\tif ( commentsCount === 1 ) {\n\t\t\t/* translators: %s: Post title. */\n\t\t\tplaceholder = sprintf( __( 'Response to \"%s\"' ), postTitle );\n\t\t} else {\n\t\t\t/* translators: %s: Post title. */\n\t\t\tplaceholder = sprintf( __( 'Responses to \"%s\"' ), postTitle );\n\t\t}\n\t} else if ( commentsCount === 1 ) {\n\t\tplaceholder = __( 'Response' );\n\t} else {\n\t\tplaceholder = __( 'Responses' );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName { ...blockProps }>{ placeholder }</TagName>\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
6
- "names": ["clsx", "blockEditorStore", "apiFetch", "ToolsPanel", "ToolsPanelItem"]
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tHeadingLevelDropdown,\n} from '@wordpress/block-editor';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useEntityProp } from '@wordpress/core-data';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport useDeprecatedTextAlign from '../utils/deprecated-text-align-attributes';\n\nexport default function Edit( props ) {\n\tuseDeprecatedTextAlign( props );\n\tconst { attributes, setAttributes, context } = props;\n\tconst {\n\t\tshowPostTitle,\n\t\tshowCommentsCount,\n\t\tlevel = 2,\n\t\tlevelOptions,\n\t} = attributes;\n\tconst { postId, postType } = context;\n\tconst TagName = 'h' + level;\n\tconst [ commentsCount, setCommentsCount ] = useState();\n\tconst [ rawTitle ] = useEntityProp( 'postType', postType, 'title', postId );\n\tconst isSiteEditor = typeof postId === 'undefined';\n\tconst blockProps = useBlockProps();\n\n\tconst {\n\t\tthreadCommentsDepth,\n\t\tthreadComments,\n\t\tcommentsPerPage,\n\t\tpageComments,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().__experimentalDiscussionSettings ?? {};\n\t}, [] );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tuseEffect( () => {\n\t\tif ( isSiteEditor ) {\n\t\t\t// Match the number of comments that will be shown in the comment-template/edit.js placeholder\n\n\t\t\tconst nestedCommentsNumber = threadComments\n\t\t\t\t? Math.min( threadCommentsDepth, 3 ) - 1\n\t\t\t\t: 0;\n\t\t\tconst topLevelCommentsNumber = pageComments ? commentsPerPage : 3;\n\n\t\t\tconst commentsNumber =\n\t\t\t\tparseInt( nestedCommentsNumber ) +\n\t\t\t\tparseInt( topLevelCommentsNumber );\n\n\t\t\tsetCommentsCount( Math.min( commentsNumber, 3 ) );\n\t\t\treturn;\n\t\t}\n\t\tconst currentPostId = postId;\n\t\tapiFetch( {\n\t\t\tpath: addQueryArgs( '/wp/v2/comments', {\n\t\t\t\tpost: postId,\n\t\t\t\t_fields: 'id',\n\t\t\t} ),\n\t\t\tmethod: 'HEAD',\n\t\t\tparse: false,\n\t\t} )\n\t\t\t.then( ( res ) => {\n\t\t\t\t// Stale requests will have the `currentPostId` of an older closure.\n\t\t\t\tif ( currentPostId === postId ) {\n\t\t\t\t\tsetCommentsCount(\n\t\t\t\t\t\tparseInt( res.headers.get( 'X-WP-Total' ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\tsetCommentsCount( 0 );\n\t\t\t} );\n\t}, [ postId ] );\n\n\tconst blockControls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<HeadingLevelDropdown\n\t\t\t\tvalue={ level }\n\t\t\t\toptions={ levelOptions }\n\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tshowPostTitle: true,\n\t\t\t\t\t\tshowCommentsCount: true,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Show post title' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => ! showPostTitle }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { showPostTitle: true } )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show post title' ) }\n\t\t\t\t\t\tchecked={ showPostTitle }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { showPostTitle: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Show comments count' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => ! showCommentsCount }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { showCommentsCount: true } )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show comments count' ) }\n\t\t\t\t\t\tchecked={ showCommentsCount }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { showCommentsCount: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\tconst postTitle = isSiteEditor ? __( 'Post Title' ) : rawTitle;\n\n\tlet placeholder;\n\tif ( showCommentsCount && commentsCount !== undefined ) {\n\t\tif ( showPostTitle ) {\n\t\t\tif ( commentsCount === 1 ) {\n\t\t\t\tplaceholder = sprintf(\n\t\t\t\t\t/* translators: %s: Post title. */\n\t\t\t\t\t__( 'One response to \"%s\"' ),\n\t\t\t\t\tpostTitle\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tplaceholder = sprintf(\n\t\t\t\t\t/* translators: 1: Number of comments, 2: Post title. */\n\t\t\t\t\t_n(\n\t\t\t\t\t\t'%1$s response to \"%2$s\"',\n\t\t\t\t\t\t'%1$s responses to \"%2$s\"',\n\t\t\t\t\t\tcommentsCount\n\t\t\t\t\t),\n\t\t\t\t\tcommentsCount,\n\t\t\t\t\tpostTitle\n\t\t\t\t);\n\t\t\t}\n\t\t} else if ( commentsCount === 1 ) {\n\t\t\tplaceholder = __( 'One response' );\n\t\t} else {\n\t\t\tplaceholder = sprintf(\n\t\t\t\t/* translators: %s: Number of comments. */\n\t\t\t\t_n( '%s response', '%s responses', commentsCount ),\n\t\t\t\tcommentsCount\n\t\t\t);\n\t\t}\n\t} else if ( showPostTitle ) {\n\t\tif ( commentsCount === 1 ) {\n\t\t\t/* translators: %s: Post title. */\n\t\t\tplaceholder = sprintf( __( 'Response to \"%s\"' ), postTitle );\n\t\t} else {\n\t\t\t/* translators: %s: Post title. */\n\t\t\tplaceholder = sprintf( __( 'Responses to \"%s\"' ), postTitle );\n\t\t}\n\t} else if ( commentsCount === 1 ) {\n\t\tplaceholder = __( 'Response' );\n\t} else {\n\t\tplaceholder = __( 'Responses' );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName { ...blockProps }>{ placeholder }</TagName>\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["useDeprecatedTextAlign", "blockEditorStore", "apiFetch", "ToolsPanel", "ToolsPanelItem"]
7
7
  }
@@ -53,7 +53,14 @@ function CoverBlockControls({
53
53
  onSelectEmbedUrl,
54
54
  blockEditingMode
55
55
  }) {
56
- const { contentPosition, id, useFeaturedImage, minHeight, minHeightUnit } = attributes;
56
+ const {
57
+ contentPosition,
58
+ id,
59
+ useFeaturedImage,
60
+ minHeight,
61
+ minHeightUnit,
62
+ backgroundType
63
+ } = attributes;
57
64
  const { hasInnerBlocks, url } = currentSettings;
58
65
  const [prevMinHeightValue, setPrevMinHeightValue] = (0, import_element.useState)(minHeight);
59
66
  const [prevMinHeightUnit, setPrevMinHeightUnit] = (0, import_element.useState)(minHeightUnit);
@@ -141,7 +148,8 @@ function CoverBlockControls({
141
148
  onSubmit: (embedUrl) => {
142
149
  onSelectEmbedUrl(embedUrl);
143
150
  },
144
- onClose: () => setIsEmbedUrlInputOpen(false)
151
+ onClose: () => setIsEmbedUrlInputOpen(false),
152
+ initialUrl: backgroundType === import_shared.EMBED_VIDEO_BACKGROUND_TYPE ? url : ""
145
153
  }
146
154
  )
147
155
  ] });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cover/edit/block-controls.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\nimport {\n\tBlockControls,\n\tMediaReplaceFlow,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem } from '@wordpress/components';\nimport { link } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES } from '../shared';\nimport { unlock } from '../../lock-unlock';\nimport EmbedVideoUrlInput from './embed-video-url-input';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nexport default function CoverBlockControls( {\n\tattributes,\n\tsetAttributes,\n\tonSelectMedia,\n\tcurrentSettings,\n\ttoggleUseFeaturedImage,\n\tonClearMedia,\n\tonSelectEmbedUrl,\n\tblockEditingMode,\n} ) {\n\tconst { contentPosition, id, useFeaturedImage, minHeight, minHeightUnit } =\n\t\tattributes;\n\tconst { hasInnerBlocks, url } = currentSettings;\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] =\n\t\tuseState( minHeightUnit );\n\tconst [ isEmbedUrlInputOpen, setIsEmbedUrlInputOpen ] = useState( false );\n\tconst isMinFullHeight =\n\t\tminHeightUnit === 'vh' &&\n\t\tminHeight === 100 &&\n\t\t! attributes?.style?.dimensions?.aspectRatio;\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height, and clear any aspect ratio value.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...attributes?.style,\n\t\t\t\tdimensions: {\n\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t},\n\t\t\t} ),\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isContentOnlyMode && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\t\tname={ ! url ? __( 'Add media' ) : __( 'Replace' ) }\n\t\t\t\t\tonReset={ onClearMedia }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEmbedUrlInputOpen( true );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Embed video from URL' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</MediaReplaceFlow>\n\t\t\t</BlockControls>\n\t\t\t{ isEmbedUrlInputOpen && (\n\t\t\t\t<EmbedVideoUrlInput\n\t\t\t\t\tonSubmit={ ( embedUrl ) => {\n\t\t\t\t\t\tonSelectEmbedUrl( embedUrl );\n\t\t\t\t\t} }\n\t\t\t\t\tonClose={ () => setIsEmbedUrlInputOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAyB;AAEzB,0BAMO;AACP,kBAAmB;AACnB,wBAAyB;AACzB,mBAAqB;AAKrB,oBAAoC;AACpC,yBAAuB;AACvB,mCAA+B;AA+D7B;AA7DF,IAAM,EAAE,iBAAiB,QAAI,2BAAQ,oBAAAA,WAAuB;AAE7C,SAAR,mBAAqC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,iBAAiB,IAAI,kBAAkB,WAAW,cAAc,IACvE;AACD,QAAM,EAAE,gBAAgB,IAAI,IAAI;AAEhC,QAAM,CAAE,oBAAoB,qBAAsB,QAAI,yBAAU,SAAU;AAC1E,QAAM,CAAE,mBAAmB,oBAAqB,QAC/C,yBAAU,aAAc;AACzB,QAAM,CAAE,qBAAqB,sBAAuB,QAAI,yBAAU,KAAM;AACxE,QAAM,kBACL,kBAAkB,QAClB,cAAc,OACd,CAAE,YAAY,OAAO,YAAY;AAClC,QAAM,oBAAoB,qBAAqB;AAE/C,QAAM,sBAAsB,MAAM;AACjC,QAAK,iBAAkB;AAEtB,UAAK,sBAAsB,QAAQ,uBAAuB,KAAM;AAC/D,eAAO,cAAe;AAAA,UACrB,WAAW;AAAA,UACX,eAAe;AAAA,QAChB,CAAE;AAAA,MACH;AAGA,aAAO,cAAe;AAAA,QACrB,WAAW;AAAA,QACX,eAAe;AAAA,MAChB,CAAE;AAAA,IACH;AAEA,0BAAuB,SAAU;AACjC,yBAAsB,aAAc;AAGpC,WAAO,cAAe;AAAA,MACrB,WAAW;AAAA,MACX,eAAe;AAAA,MACf,OAAO,iBAAkB;AAAA,QACxB,GAAG,YAAY;AAAA,QACf,YAAY;AAAA,UACX,GAAG,YAAY,OAAO;AAAA,UACtB,aAAa;AAAA;AAAA,QACd;AAAA,MACD,CAAE;AAAA,IACH,CAAE;AAAA,EACH;AAEA,SACC,4EACG;AAAA,KAAE,qBACH,6CAAC,qCAAc,OAAM,SACpB;AAAA;AAAA,QAAC,oBAAAC;AAAA,QAAA;AAAA,UACA,WAAQ,gBAAI,yBAA0B;AAAA,UACtC,OAAQ;AAAA,UACR,UAAW,CAAE,iBACZ,cAAe;AAAA,YACd,iBAAiB;AAAA,UAClB,CAAE;AAAA,UAEH,YAAa,CAAE;AAAA;AAAA,MAChB;AAAA,MACA;AAAA,QAAC,oBAAAC;AAAA,QAAA;AAAA,UACA,UAAW;AAAA,UACX,UAAW;AAAA,UACX,YAAa,CAAE;AAAA;AAAA,MAChB;AAAA,OACD;AAAA,IAED,4CAAC,qCAAc,OAAM,SACpB;AAAA,MAAC;AAAA;AAAA,QACA,SAAU;AAAA,QACV,UAAW;AAAA,QACX,cAAe;AAAA,QACf,UAAW;AAAA,QACX,uBAAwB;AAAA,QACxB;AAAA,QACA,MAAO,CAAE,UAAM,gBAAI,WAAY,QAAI,gBAAI,SAAU;AAAA,QACjD,SAAU;AAAA,QACV,SAAQ;AAAA,QAEN,WAAE,EAAE,QAAQ,MACb;AAAA,UAAC;AAAA;AAAA,YACA,MAAO;AAAA,YACP,SAAU,MAAM;AACf,qCAAwB,IAAK;AAC7B,sBAAQ;AAAA,YACT;AAAA,YAEE,8BAAI,sBAAuB;AAAA;AAAA,QAC9B;AAAA;AAAA,IAEF,GACD;AAAA,IACE,uBACD;AAAA,MAAC,6BAAAC;AAAA,MAAA;AAAA,QACA,UAAW,CAAE,aAAc;AAC1B,2BAAkB,QAAS;AAAA,QAC5B;AAAA,QACA,SAAU,MAAM,uBAAwB,KAAM;AAAA;AAAA,IAC/C;AAAA,KAEF;AAEF;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\nimport {\n\tBlockControls,\n\tMediaReplaceFlow,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem } from '@wordpress/components';\nimport { link } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES, EMBED_VIDEO_BACKGROUND_TYPE } from '../shared';\nimport { unlock } from '../../lock-unlock';\nimport EmbedVideoUrlInput from './embed-video-url-input';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nexport default function CoverBlockControls( {\n\tattributes,\n\tsetAttributes,\n\tonSelectMedia,\n\tcurrentSettings,\n\ttoggleUseFeaturedImage,\n\tonClearMedia,\n\tonSelectEmbedUrl,\n\tblockEditingMode,\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tuseFeaturedImage,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\tbackgroundType,\n\t} = attributes;\n\tconst { hasInnerBlocks, url } = currentSettings;\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] =\n\t\tuseState( minHeightUnit );\n\tconst [ isEmbedUrlInputOpen, setIsEmbedUrlInputOpen ] = useState( false );\n\tconst isMinFullHeight =\n\t\tminHeightUnit === 'vh' &&\n\t\tminHeight === 100 &&\n\t\t! attributes?.style?.dimensions?.aspectRatio;\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height, and clear any aspect ratio value.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...attributes?.style,\n\t\t\t\tdimensions: {\n\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t},\n\t\t\t} ),\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isContentOnlyMode && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\t\tname={ ! url ? __( 'Add media' ) : __( 'Replace' ) }\n\t\t\t\t\tonReset={ onClearMedia }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEmbedUrlInputOpen( true );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Embed video from URL' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</MediaReplaceFlow>\n\t\t\t</BlockControls>\n\t\t\t{ isEmbedUrlInputOpen && (\n\t\t\t\t<EmbedVideoUrlInput\n\t\t\t\t\tonSubmit={ ( embedUrl ) => {\n\t\t\t\t\t\tonSelectEmbedUrl( embedUrl );\n\t\t\t\t\t} }\n\t\t\t\t\tonClose={ () => setIsEmbedUrlInputOpen( false ) }\n\t\t\t\t\tinitialUrl={\n\t\t\t\t\t\tbackgroundType === EMBED_VIDEO_BACKGROUND_TYPE\n\t\t\t\t\t\t\t? url\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["blockEditorPrivateApis", "BlockAlignmentMatrixControl", "FullHeightAlignmentControl", "EmbedVideoUrlInput"]
7
7
  }
@@ -28,8 +28,12 @@ var import_components = require("@wordpress/components");
28
28
  var import_i18n = require("@wordpress/i18n");
29
29
  var import_embed_video_utils = require("../embed-video-utils.cjs");
30
30
  var import_jsx_runtime = require("react/jsx-runtime");
31
- function EmbedVideoUrlInput({ onSubmit, onClose }) {
32
- const [url, setUrl] = (0, import_element.useState)("");
31
+ function EmbedVideoUrlInput({
32
+ onSubmit,
33
+ onClose,
34
+ initialUrl = ""
35
+ }) {
36
+ const [url, setUrl] = (0, import_element.useState)(initialUrl);
33
37
  const [error, setError] = (0, import_element.useState)("");
34
38
  const handleConfirm = () => {
35
39
  if (!url) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cover/edit/embed-video-url-input.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport {\n\t__experimentalConfirmDialog as ConfirmDialog,\n\t__experimentalVStack as VStack,\n\tTextControl,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { isValidVideoEmbedUrl } from '../embed-video-utils';\n\nexport default function EmbedVideoUrlInput( { onSubmit, onClose } ) {\n\tconst [ url, setUrl ] = useState( '' );\n\tconst [ error, setError ] = useState( '' );\n\n\tconst handleConfirm = () => {\n\t\tif ( ! url ) {\n\t\t\tsetError( __( 'Please enter a URL.' ) );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! isValidVideoEmbedUrl( url ) ) {\n\t\t\tsetError(\n\t\t\t\t__(\n\t\t\t\t\t'This URL is not supported. Please enter a valid video link from a supported provider.'\n\t\t\t\t)\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tonSubmit( url );\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen\n\t\t\tonConfirm={ handleConfirm }\n\t\t\tonCancel={ onClose }\n\t\t\tconfirmButtonText={ __( 'Add video' ) }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t{ error && (\n\t\t\t\t\t<Notice status=\"error\" isDismissible={ false }>\n\t\t\t\t\t\t{ error }\n\t\t\t\t\t</Notice>\n\t\t\t\t) }\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Video URL' ) }\n\t\t\t\t\tvalue={ url }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetUrl( value );\n\t\t\t\t\t\tsetError( '' );\n\t\t\t\t\t} }\n\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t'Enter YouTube, Vimeo, or other video URL'\n\t\t\t\t\t) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Add a background video to the cover block that will autoplay in a loop.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</ConfirmDialog>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAyB;AACzB,wBAKO;AACP,kBAAmB;AAKnB,+BAAqC;AAiClC;AA/BY,SAAR,mBAAqC,EAAE,UAAU,QAAQ,GAAI;AACnE,QAAM,CAAE,KAAK,MAAO,QAAI,yBAAU,EAAG;AACrC,QAAM,CAAE,OAAO,QAAS,QAAI,yBAAU,EAAG;AAEzC,QAAM,gBAAgB,MAAM;AAC3B,QAAK,CAAE,KAAM;AACZ,mBAAU,gBAAI,qBAAsB,CAAE;AACtC;AAAA,IACD;AAEA,QAAK,KAAE,+CAAsB,GAAI,GAAI;AACpC;AAAA,YACC;AAAA,UACC;AAAA,QACD;AAAA,MACD;AACA;AAAA,IACD;AAEA,aAAU,GAAI;AACd,YAAQ;AAAA,EACT;AAEA,SACC;AAAA,IAAC,kBAAAA;AAAA,IAAA;AAAA,MACA,QAAM;AAAA,MACN,WAAY;AAAA,MACZ,UAAW;AAAA,MACX,uBAAoB,gBAAI,WAAY;AAAA,MACpC,MAAK;AAAA,MAEL,uDAAC,kBAAAC,sBAAA,EAAO,SAAU,GACf;AAAA,iBACD,4CAAC,4BAAO,QAAO,SAAQ,eAAgB,OACpC,iBACH;AAAA,QAED;AAAA,UAAC;AAAA;AAAA,YACA,uBAAqB;AAAA,YACrB,WAAQ,gBAAI,WAAY;AAAA,YACxB,OAAQ;AAAA,YACR,UAAW,CAAE,UAAW;AACvB,qBAAQ,KAAM;AACd,uBAAU,EAAG;AAAA,YACd;AAAA,YACA,iBAAc;AAAA,cACb;AAAA,YACD;AAAA,YACA,UAAO;AAAA,cACN;AAAA,YACD;AAAA;AAAA,QACD;AAAA,SACD;AAAA;AAAA,EACD;AAEF;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport {\n\t__experimentalConfirmDialog as ConfirmDialog,\n\t__experimentalVStack as VStack,\n\tTextControl,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { isValidVideoEmbedUrl } from '../embed-video-utils';\n\nexport default function EmbedVideoUrlInput( {\n\tonSubmit,\n\tonClose,\n\tinitialUrl = '',\n} ) {\n\tconst [ url, setUrl ] = useState( initialUrl );\n\tconst [ error, setError ] = useState( '' );\n\n\tconst handleConfirm = () => {\n\t\tif ( ! url ) {\n\t\t\tsetError( __( 'Please enter a URL.' ) );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! isValidVideoEmbedUrl( url ) ) {\n\t\t\tsetError(\n\t\t\t\t__(\n\t\t\t\t\t'This URL is not supported. Please enter a valid video link from a supported provider.'\n\t\t\t\t)\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tonSubmit( url );\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen\n\t\t\tonConfirm={ handleConfirm }\n\t\t\tonCancel={ onClose }\n\t\t\tconfirmButtonText={ __( 'Add video' ) }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t{ error && (\n\t\t\t\t\t<Notice status=\"error\" isDismissible={ false }>\n\t\t\t\t\t\t{ error }\n\t\t\t\t\t</Notice>\n\t\t\t\t) }\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Video URL' ) }\n\t\t\t\t\tvalue={ url }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetUrl( value );\n\t\t\t\t\t\tsetError( '' );\n\t\t\t\t\t} }\n\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t'Enter YouTube, Vimeo, or other video URL'\n\t\t\t\t\t) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Add a background video to the cover block that will autoplay in a loop.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</ConfirmDialog>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAyB;AACzB,wBAKO;AACP,kBAAmB;AAKnB,+BAAqC;AAqClC;AAnCY,SAAR,mBAAqC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA,aAAa;AACd,GAAI;AACH,QAAM,CAAE,KAAK,MAAO,QAAI,yBAAU,UAAW;AAC7C,QAAM,CAAE,OAAO,QAAS,QAAI,yBAAU,EAAG;AAEzC,QAAM,gBAAgB,MAAM;AAC3B,QAAK,CAAE,KAAM;AACZ,mBAAU,gBAAI,qBAAsB,CAAE;AACtC;AAAA,IACD;AAEA,QAAK,KAAE,+CAAsB,GAAI,GAAI;AACpC;AAAA,YACC;AAAA,UACC;AAAA,QACD;AAAA,MACD;AACA;AAAA,IACD;AAEA,aAAU,GAAI;AACd,YAAQ;AAAA,EACT;AAEA,SACC;AAAA,IAAC,kBAAAA;AAAA,IAAA;AAAA,MACA,QAAM;AAAA,MACN,WAAY;AAAA,MACZ,UAAW;AAAA,MACX,uBAAoB,gBAAI,WAAY;AAAA,MACpC,MAAK;AAAA,MAEL,uDAAC,kBAAAC,sBAAA,EAAO,SAAU,GACf;AAAA,iBACD,4CAAC,4BAAO,QAAO,SAAQ,eAAgB,OACpC,iBACH;AAAA,QAED;AAAA,UAAC;AAAA;AAAA,YACA,uBAAqB;AAAA,YACrB,WAAQ,gBAAI,WAAY;AAAA,YACxB,OAAQ;AAAA,YACR,UAAW,CAAE,UAAW;AACvB,qBAAQ,KAAM;AACd,uBAAU,EAAG;AAAA,YACd;AAAA,YACA,iBAAc;AAAA,cACb;AAAA,YACD;AAAA,YACA,UAAO;AAAA,cACN;AAAA,YACD;AAAA;AAAA,QACD;AAAA,SACD;AAAA;AAAA,EACD;AAEF;",
6
6
  "names": ["ConfirmDialog", "VStack"]
7
7
  }
@@ -72,6 +72,9 @@ var settings = {
72
72
  if (context === "list-view" && (customName || hasSummary)) {
73
73
  return customName || summary;
74
74
  }
75
+ if (context === "breadcrumb" && customName) {
76
+ return customName;
77
+ }
75
78
  if (context === "accessibility") {
76
79
  return !hasSummary ? (0, import_i18n.__)("Details. Empty.") : (0, import_i18n.sprintf)(
77
80
  /* translators: %s: accessibility text; summary title. */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/details/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { details as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsummary: __( 'La Mancha' ),\n\t\t\tshowContent: true,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { summary } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\t\tconst hasSummary = summary?.trim().length > 0;\n\n\t\t// In the list view, use the block's summary as the label.\n\t\t// If the summary is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || hasSummary ) ) {\n\t\t\treturn customName || summary;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn ! hasSummary\n\t\t\t\t? __( 'Details. Empty.' )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: %s: accessibility text; summary title. */\n\t\t\t\t\t\t__( 'Details. %s' ),\n\t\t\t\t\t\tsummary\n\t\t\t\t );\n\t\t}\n\t},\n\tsave,\n\tedit,\n\ttransforms,\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'summary',\n\t\t\tlabel: __( 'Summary' ),\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: [ 'summary' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,mBAAgC;AAChC,kBAA4B;AAC5B,oBAAiD;AAKjD,wBAAsB;AACtB,mBAAqB;AACrB,kBAAiB;AACjB,kBAAiB;AACjB,wBAAuB;AACvB,yBAAuB;AAEvB,IAAM,EAAE,WAAW,QAAQ,QAAI,2BAAQ,cAAAC,WAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI,aAAAD;AAGV,IAAM,WAAW;AAAA,EACvB,mBAAAE;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,aAAS,gBAAI,WAAY;AAAA,MACzB,aAAa;AAAA,IACd;AAAA,IACA,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,aAAS;AAAA,YACR;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,EAAE,QAAQ,IAAI;AAEpB,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,gBAAI,iBAAkB,QACtB;AAAA;AAAA,YAEA,gBAAI,aAAc;AAAA,QAClB;AAAA,MACA;AAAA,IACJ;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,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { details as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsummary: __( 'La Mancha' ),\n\t\t\tshowContent: true,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { summary } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\t\tconst hasSummary = summary?.trim().length > 0;\n\n\t\t// In the list view, use the block's summary as the label.\n\t\t// If the summary is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || hasSummary ) ) {\n\t\t\treturn customName || summary;\n\t\t}\n\n\t\tif ( context === 'breadcrumb' && customName ) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn ! hasSummary\n\t\t\t\t? __( 'Details. Empty.' )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: %s: accessibility text; summary title. */\n\t\t\t\t\t\t__( 'Details. %s' ),\n\t\t\t\t\t\tsummary\n\t\t\t\t );\n\t\t}\n\t},\n\tsave,\n\tedit,\n\ttransforms,\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'summary',\n\t\t\tlabel: __( 'Summary' ),\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: [ 'summary' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,mBAAgC;AAChC,kBAA4B;AAC5B,oBAAiD;AAKjD,wBAAsB;AACtB,mBAAqB;AACrB,kBAAiB;AACjB,kBAAiB;AACjB,wBAAuB;AACvB,yBAAuB;AAEvB,IAAM,EAAE,WAAW,QAAQ,QAAI,2BAAQ,cAAAC,WAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI,aAAAD;AAGV,IAAM,WAAW;AAAA,EACvB,mBAAAE;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,aAAS,gBAAI,WAAY;AAAA,MACzB,aAAa;AAAA,IACd;AAAA,IACA,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,aAAS;AAAA,YACR;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,EAAE,QAAQ,IAAI;AAEpB,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,gBAAgB,YAAa;AAC7C,aAAO;AAAA,IACR;AAEA,QAAK,YAAY,iBAAkB;AAClC,aAAO,CAAE,iBACN,gBAAI,iBAAkB,QACtB;AAAA;AAAA,YAEA,gBAAI,aAAc;AAAA,QAClB;AAAA,MACA;AAAA,IACJ;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,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
6
  "names": ["metadata", "blocksPrivateApis", "icon", "save", "edit", "transforms", "initBlock", "metadata"]
7
7
  }
@@ -65,6 +65,9 @@ var settings = {
65
65
  if (context === "list-view" && (customName || hasContent)) {
66
66
  return customName || content;
67
67
  }
68
+ if (context === "breadcrumb" && customName) {
69
+ return customName;
70
+ }
68
71
  if (context === "accessibility") {
69
72
  return !hasContent ? (0, import_i18n.sprintf)(
70
73
  /* translators: accessibility text. %s: heading level. */
@@ -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: '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;",
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 === 'breadcrumb' && customName ) {\n\t\t\treturn customName;\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,gBAAgB,YAAa;AAC7C,aAAO;AAAA,IACR;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
  }
@@ -60,7 +60,7 @@ var settings = {
60
60
  },
61
61
  __experimentalLabel(attributes, { context }) {
62
62
  const customName = attributes?.metadata?.name;
63
- if (context === "list-view" && customName) {
63
+ if ((context === "list-view" || context === "breadcrumb") && customName) {
64
64
  return customName;
65
65
  }
66
66
  if (context === "accessibility") {