@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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/image/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { image 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 transforms from './transforms';\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\tsizeSlug: 'large',\n\t\t\turl: 'https://s.w.org/images/core/5.3/MtBlanc1.jpg',\n\t\t\t// translators: Caption accompanying an image of the Mont Blanc, which serves as an example for the Image block.\n\t\t\tcaption: __( 'Mont Blanc appears\u2014still, snowy, and serene.' ),\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\tif ( context === 'list-view' && customName ) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\tconst { caption, alt, url } = attributes;\n\n\t\t\tif ( ! url ) {\n\t\t\t\treturn __( 'Empty' );\n\t\t\t}\n\n\t\t\tif ( ! alt ) {\n\t\t\t\treturn caption || '';\n\t\t\t}\n\n\t\t\t// This is intended to be read by a screen reader.\n\t\t\t// A period simply means a pause, no need to translate it.\n\t\t\treturn alt + ( caption ? '. ' + caption : '' );\n\t\t}\n\t},\n\tgetEditWrapperProps( attributes ) {\n\t\treturn {\n\t\t\t'data-align': attributes.align,\n\t\t};\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'image',\n\t\t\tlabel: __( 'Image' ),\n\t\t\ttype: 'media',\n\t\t\tEdit: {\n\t\t\t\tcontrol: 'media', // TODO: replace with custom component\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t\tmultiple: false,\n\t\t\t},\n\t\t\tgetValue: ( { item } ) => ( {\n\t\t\t\tid: item.id,\n\t\t\t\turl: item.url,\n\t\t\t\talt: item.alt,\n\t\t\t\tcaption: item.caption,\n\t\t\t} ),\n\t\t\tsetValue: ( { value } ) => ( {\n\t\t\t\tid: value.id,\n\t\t\t\turl: value.url,\n\t\t\t\talt: value.alt,\n\t\t\t\tcaption: value.caption,\n\t\t\t} ),\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.href,\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\thref: 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\t{\n\t\t\tid: 'caption',\n\t\t\tlabel: __( 'Caption' ),\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: 'alt',\n\t\t\tlabel: __( 'Alt text' ),\n\t\t\ttype: 'text',\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'image', 'link', 'caption', 'alt' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { image 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 transforms from './transforms';\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\tsizeSlug: 'large',\n\t\t\turl: 'https://s.w.org/images/core/5.3/MtBlanc1.jpg',\n\t\t\t// translators: Caption accompanying an image of the Mont Blanc, which serves as an example for the Image block.\n\t\t\tcaption: __( 'Mont Blanc appears\u2014still, snowy, and serene.' ),\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\tif (\n\t\t\t( context === 'list-view' || context === 'breadcrumb' ) &&\n\t\t\tcustomName\n\t\t) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\tconst { caption, alt, url } = attributes;\n\n\t\t\tif ( ! url ) {\n\t\t\t\treturn __( 'Empty' );\n\t\t\t}\n\n\t\t\tif ( ! alt ) {\n\t\t\t\treturn caption || '';\n\t\t\t}\n\n\t\t\t// This is intended to be read by a screen reader.\n\t\t\t// A period simply means a pause, no need to translate it.\n\t\t\treturn alt + ( caption ? '. ' + caption : '' );\n\t\t}\n\t},\n\tgetEditWrapperProps( attributes ) {\n\t\treturn {\n\t\t\t'data-align': attributes.align,\n\t\t};\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'image',\n\t\t\tlabel: __( 'Image' ),\n\t\t\ttype: 'media',\n\t\t\tEdit: {\n\t\t\t\tcontrol: 'media', // TODO: replace with custom component\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t\tmultiple: false,\n\t\t\t},\n\t\t\tgetValue: ( { item } ) => ( {\n\t\t\t\tid: item.id,\n\t\t\t\turl: item.url,\n\t\t\t\talt: item.alt,\n\t\t\t\tcaption: item.caption,\n\t\t\t} ),\n\t\t\tsetValue: ( { value } ) => ( {\n\t\t\t\tid: value.id,\n\t\t\t\turl: value.url,\n\t\t\t\talt: value.alt,\n\t\t\t\tcaption: value.caption,\n\t\t\t} ),\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.href,\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\thref: 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\t{\n\t\t\tid: 'caption',\n\t\t\tlabel: __( 'Caption' ),\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: 'alt',\n\t\t\tlabel: __( 'Alt text' ),\n\t\t\ttype: 'text',\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'image', 'link', 'caption', 'alt' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": "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",
6
6
  "names": ["metadata", "blocksPrivateApis", "icon", "transforms", "edit", "save", "deprecated", "initBlock", "metadata"]
7
7
  }
package/build/index.cjs CHANGED
@@ -144,9 +144,12 @@ var socialLink = __toESM(require("./social-link/index.cjs"));
144
144
  var socialLinks = __toESM(require("./social-links/index.cjs"));
145
145
  var spacer = __toESM(require("./spacer/index.cjs"));
146
146
  var tab = __toESM(require("./tab/index.cjs"));
147
+ var tabPanels = __toESM(require("./tab-panels/index.cjs"));
147
148
  var table = __toESM(require("./table/index.cjs"));
148
149
  var tableOfContents = __toESM(require("./table-of-contents/index.cjs"));
149
150
  var tabs = __toESM(require("./tabs/index.cjs"));
151
+ var tabsMenu = __toESM(require("./tabs-menu/index.cjs"));
152
+ var tabsMenuItem = __toESM(require("./tabs-menu-item/index.cjs"));
150
153
  var tagCloud = __toESM(require("./tag-cloud/index.cjs"));
151
154
  var templatePart = __toESM(require("./template-part/index.cjs"));
152
155
  var termCount = __toESM(require("./term-count/index.cjs"));
@@ -279,6 +282,9 @@ var getAllBlocks = () => {
279
282
  if (window?.__experimentalEnableBlockExperiments) {
280
283
  blocks.push(tab);
281
284
  blocks.push(tabs);
285
+ blocks.push(tabsMenu);
286
+ blocks.push(tabsMenuItem);
287
+ blocks.push(tabPanels);
282
288
  }
283
289
  if (window?.__experimentalEnableFormBlocks) {
284
290
  blocks.push(form);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n\tregisterBlockType,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useDisabled } from '@wordpress/compose';\nimport { select } from '@wordpress/data';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { useServerSideRender } from '@wordpress/server-side-render';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport HtmlRenderer from './utils/html-renderer';\n\n/**\n * Internal dependencies\n */\n// When IS_GUTENBERG_PLUGIN is set to false, imports of experimental blocks\n// are transformed by packages/block-library/src/index.js as follows:\n// import * as experimentalBlock from './experimental-block'\n// becomes\n// const experimentalBlock = null;\n// This enables webpack to eliminate the experimental blocks code from the\n// production build to make the final bundle smaller.\n//\n// See https://github.com/WordPress/gutenberg/pull/40655 for more context.\nimport * as accordion from './accordion';\nimport * as accordionItem from './accordion-item';\nimport * as accordionHeading from './accordion-heading';\nimport * as accordionPanel from './accordion-panel';\nimport * as archives from './archives';\nimport * as avatar from './avatar';\nimport * as audio from './audio';\nimport * as breadcrumbs from './breadcrumbs';\nimport * as button from './button';\nimport * as buttons from './buttons';\nimport * as calendar from './calendar';\nimport * as categories from './categories';\nimport * as classic from './freeform';\nimport * as code from './code';\nimport * as column from './column';\nimport * as columns from './columns';\nimport * as comments from './comments';\nimport * as commentAuthorAvatar from './comment-author-avatar';\nimport * as commentAuthorName from './comment-author-name';\nimport * as commentContent from './comment-content';\nimport * as commentDate from './comment-date';\nimport * as commentEditLink from './comment-edit-link';\nimport * as commentReplyLink from './comment-reply-link';\nimport * as commentTemplate from './comment-template';\nimport * as commentsPaginationPrevious from './comments-pagination-previous';\nimport * as commentsPagination from './comments-pagination';\nimport * as commentsPaginationNext from './comments-pagination-next';\nimport * as commentsPaginationNumbers from './comments-pagination-numbers';\nimport * as commentsTitle from './comments-title';\nimport * as cover from './cover';\nimport * as details from './details';\nimport * as embed from './embed';\nimport * as file from './file';\nimport * as form from './form';\nimport * as formInput from './form-input';\nimport * as formSubmitButton from './form-submit-button';\nimport * as formSubmissionNotification from './form-submission-notification';\nimport * as gallery from './gallery';\nimport * as group from './group';\nimport * as heading from './heading';\nimport * as homeLink from './home-link';\nimport * as html from './html';\nimport * as image from './image';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as math from './math';\nimport * as listItem from './list-item';\nimport * as logInOut from './loginout';\nimport * as mediaText from './media-text';\nimport * as missing from './missing';\nimport * as more from './more';\nimport * as navigation from './navigation';\nimport * as navigationLink from './navigation-link';\nimport * as navigationSubmenu from './navigation-submenu';\nimport * as nextpage from './nextpage';\nimport * as navigationOverlayClose from './navigation-overlay-close';\nimport * as pattern from './pattern';\nimport * as pageList from './page-list';\nimport * as pageListItem from './page-list-item';\nimport * as paragraph from './paragraph';\nimport * as postAuthor from './post-author';\nimport * as postAuthorName from './post-author-name';\nimport * as postAuthorBiography from './post-author-biography';\nimport * as postComment from './post-comment';\nimport * as postCommentsCount from './post-comments-count';\nimport * as postCommentsForm from './post-comments-form';\nimport * as postCommentsLink from './post-comments-link';\nimport * as postContent from './post-content';\nimport * as postDate from './post-date';\nimport * as postExcerpt from './post-excerpt';\nimport * as postFeaturedImage from './post-featured-image';\nimport * as postNavigationLink from './post-navigation-link';\nimport * as postTemplate from './post-template';\nimport * as postTerms from './post-terms';\nimport * as postTimeToRead from './post-time-to-read';\nimport * as postTitle from './post-title';\nimport * as preformatted from './preformatted';\nimport * as pullquote from './pullquote';\nimport * as query from './query';\nimport * as queryNoResults from './query-no-results';\nimport * as queryPagination from './query-pagination';\nimport * as queryPaginationNext from './query-pagination-next';\nimport * as queryPaginationNumbers from './query-pagination-numbers';\nimport * as queryPaginationPrevious from './query-pagination-previous';\nimport * as queryTitle from './query-title';\nimport * as queryTotal from './query-total';\nimport * as quote from './quote';\nimport * as reusableBlock from './block';\nimport * as readMore from './read-more';\nimport * as rss from './rss';\nimport * as search from './search';\nimport * as separator from './separator';\nimport * as shortcode from './shortcode';\nimport * as siteLogo from './site-logo';\nimport * as siteTagline from './site-tagline';\nimport * as siteTitle from './site-title';\nimport * as socialLink from './social-link';\nimport * as socialLinks from './social-links';\nimport * as spacer from './spacer';\nimport * as tab from './tab';\nimport * as table from './table';\nimport * as tableOfContents from './table-of-contents';\nimport * as tabs from './tabs';\nimport * as tagCloud from './tag-cloud';\nimport * as templatePart from './template-part';\nimport * as termCount from './term-count';\nimport * as termDescription from './term-description';\nimport * as termName from './term-name';\nimport * as termsQuery from './terms-query';\nimport * as termTemplate from './term-template';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\nimport * as footnotes from './footnotes';\n\nimport isBlockMetadataExperimental from './utils/is-block-metadata-experimental';\nimport { unlock } from './lock-unlock';\n\n/**\n * Function to get all the block-library blocks in an array\n */\nconst getAllBlocks = () => {\n\tconst blocks = [\n\t\t// Common blocks are grouped at the top to prioritize their display\n\t\t// in various contexts \u2014 like the inserter and auto-complete components.\n\t\tparagraph,\n\t\timage,\n\t\theading,\n\t\tgallery,\n\t\tlist,\n\t\tlistItem,\n\t\tquote,\n\n\t\t// Register all remaining core blocks.\n\t\taccordion,\n\t\taccordionItem,\n\t\taccordionHeading,\n\t\taccordionPanel,\n\t\tarchives,\n\t\taudio,\n\t\tbutton,\n\t\tbuttons,\n\t\tcalendar,\n\t\tcategories,\n\t\tcode,\n\t\tcolumn,\n\t\tcolumns,\n\t\tcommentAuthorAvatar,\n\t\tcover,\n\t\tdetails,\n\t\tembed,\n\t\tfile,\n\t\tgroup,\n\t\thtml,\n\t\tmath,\n\t\tlatestComments,\n\t\tlatestPosts,\n\t\tmediaText,\n\t\tmissing,\n\t\tmore,\n\t\tnextpage,\n\t\tpageList,\n\t\tpageListItem,\n\t\tpattern,\n\t\tpreformatted,\n\t\tpullquote,\n\t\treusableBlock,\n\t\trss,\n\t\tsearch,\n\t\tseparator,\n\t\tshortcode,\n\t\tsocialLink,\n\t\tsocialLinks,\n\t\tspacer,\n\t\ttable,\n\t\ttagCloud,\n\t\ttextColumns,\n\t\tverse,\n\t\tvideo,\n\t\tfootnotes,\n\n\t\t// theme blocks\n\t\tnavigation,\n\t\tnavigationLink,\n\t\tnavigationSubmenu,\n\t\tsiteLogo,\n\t\tsiteTitle,\n\t\tsiteTagline,\n\t\tquery,\n\t\ttemplatePart,\n\t\tavatar,\n\t\tpostTitle,\n\t\tpostExcerpt,\n\t\tpostFeaturedImage,\n\t\tpostContent,\n\t\tpostAuthor,\n\t\tpostAuthorName,\n\t\tpostComment,\n\t\tpostCommentsCount,\n\t\tpostCommentsLink,\n\t\tpostDate,\n\t\tpostTerms,\n\t\tpostNavigationLink,\n\t\tpostTemplate,\n\t\tpostTimeToRead,\n\t\tqueryPagination,\n\t\tqueryPaginationNext,\n\t\tqueryPaginationNumbers,\n\t\tqueryPaginationPrevious,\n\t\tqueryNoResults,\n\t\tqueryTotal,\n\t\treadMore,\n\t\tcomments,\n\t\tcommentAuthorName,\n\t\tcommentContent,\n\t\tcommentDate,\n\t\tcommentEditLink,\n\t\tcommentReplyLink,\n\t\tcommentTemplate,\n\t\tcommentsTitle,\n\t\tcommentsPagination,\n\t\tcommentsPaginationNext,\n\t\tcommentsPaginationNumbers,\n\t\tcommentsPaginationPrevious,\n\t\tpostCommentsForm,\n\t\ttableOfContents,\n\t\thomeLink,\n\t\tlogInOut,\n\t\ttermCount,\n\t\ttermDescription,\n\t\ttermName,\n\t\ttermsQuery,\n\t\ttermTemplate,\n\t\tqueryTitle,\n\t\tpostAuthorBiography,\n\t\tbreadcrumbs,\n\t];\n\n\tif ( window?.__experimentalEnableBlockExperiments ) {\n\t\tblocks.push( tab );\n\t\tblocks.push( tabs );\n\t}\n\n\tif ( window?.__experimentalEnableFormBlocks ) {\n\t\tblocks.push( form );\n\t\tblocks.push( formInput );\n\t\tblocks.push( formSubmitButton );\n\t\tblocks.push( formSubmissionNotification );\n\t}\n\n\tif ( window?.__experimentalNavigationOverlays ) {\n\t\tblocks.push( navigationOverlayClose );\n\t}\n\n\t// When in a WordPress context, conditionally\n\t// add the classic block and TinyMCE editor\n\t// under any of the following conditions:\n\t// - the current post contains a classic block\n\t// - the experiment to disable TinyMCE isn't active.\n\t// - a query argument specifies that TinyMCE should be loaded\n\tif (\n\t\twindow?.wp?.oldEditor &&\n\t\t( window?.wp?.needsClassicBlock ||\n\t\t\t! window?.__experimentalDisableTinymce ||\n\t\t\t!! new URLSearchParams( window?.location?.search ).get(\n\t\t\t\t'requiresTinymce'\n\t\t\t) )\n\t) {\n\t\tblocks.push( classic );\n\t}\n\n\treturn blocks.filter( Boolean );\n};\n\n/**\n * Function to get all the core blocks in an array.\n *\n * @example\n * ```js\n * import { __experimentalGetCoreBlocks } from '@wordpress/block-library';\n *\n * const coreBlocks = __experimentalGetCoreBlocks();\n * ```\n */\nexport const __experimentalGetCoreBlocks = () =>\n\tgetAllBlocks().filter(\n\t\t( { metadata } ) => ! isBlockMetadataExperimental( metadata )\n\t);\n\n/**\n * Function to register core blocks provided by the block editor.\n *\n * @param {Array} blocks An optional array of the core blocks being registered.\n *\n * @example\n * ```js\n * import { registerCoreBlocks } from '@wordpress/block-library';\n *\n * registerCoreBlocks();\n * ```\n */\nexport const registerCoreBlocks = (\n\tblocks = __experimentalGetCoreBlocks()\n) => {\n\tblocks.forEach( ( { init } ) => init() );\n\n\t// Auto-register PHP-only blocks with ServerSideRender\n\tif ( window.__unstableAutoRegisterBlocks ) {\n\t\twindow.__unstableAutoRegisterBlocks.forEach( ( blockName ) => {\n\t\t\tconst bootstrappedBlockType = unlock(\n\t\t\t\tselect( blocksStore )\n\t\t\t).getBootstrappedBlockType( blockName );\n\n\t\t\tregisterBlockType( blockName, {\n\t\t\t\t// Use all metadata from PHP registration,\n\t\t\t\t// but fall back title to block name if not provided,\n\t\t\t\t// ensure minimum apiVersion 3 for block wrapper support,\n\t\t\t\t// and override with a ServerSideRender-based edit function.\n\t\t\t\t...bootstrappedBlockType,\n\t\t\t\ttitle: bootstrappedBlockType?.title || blockName,\n\t\t\t\t...( ( bootstrappedBlockType?.apiVersion ?? 0 ) < 3 && {\n\t\t\t\t\tapiVersion: 3,\n\t\t\t\t} ),\n\t\t\t\t// Inspector controls are rendered by the auto-register hook in block-editor\n\t\t\t\tedit: function Edit( { attributes } ) {\n\t\t\t\t\tconst disabledRef = useDisabled();\n\t\t\t\t\tconst blockProps = useBlockProps( { ref: disabledRef } );\n\t\t\t\t\tconst { content, status, error } = useServerSideRender( {\n\t\t\t\t\t\tblock: blockName,\n\t\t\t\t\t\tattributes,\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( status === 'loading' ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div { ...blockProps }>{ __( 'Loading\u2026' ) }</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( status === 'error' ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: error message describing the problem */\n\t\t\t\t\t\t\t\t\t__( 'Error loading block: %s' ),\n\t\t\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<HtmlRenderer\n\t\t\t\t\t\t\twrapperProps={ blockProps }\n\t\t\t\t\t\t\thtml={ content }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tsave: () => null,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tsetDefaultBlockName( paragraph.name );\n\tif (\n\t\twindow.wp &&\n\t\twindow.wp.oldEditor &&\n\t\tblocks.some( ( { name } ) => name === classic.name )\n\t) {\n\t\tsetFreeformContentHandlerName( classic.name );\n\t}\n\tsetUnregisteredTypeHandlerName( missing.name );\n\tsetGroupingBlockName( group.name );\n};\n\n/**\n * Function to register experimental core blocks depending on editor settings.\n *\n * @param {boolean} enableFSEBlocks Whether to enable the full site editing blocks.\n * @example\n * ```js\n * import { __experimentalRegisterExperimentalCoreBlocks } from '@wordpress/block-library';\n *\n * __experimentalRegisterExperimentalCoreBlocks( settings );\n * ```\n */\nexport const __experimentalRegisterExperimentalCoreBlocks =\n\tglobalThis.IS_GUTENBERG_PLUGIN\n\t\t? ( { enableFSEBlocks } = {} ) => {\n\t\t\t\tconst enabledExperiments = [ enableFSEBlocks ? 'fse' : null ];\n\t\t\t\tgetAllBlocks()\n\t\t\t\t\t.filter( ( { metadata } ) =>\n\t\t\t\t\t\tisBlockMetadataExperimental( metadata )\n\t\t\t\t\t)\n\t\t\t\t\t.filter(\n\t\t\t\t\t\t( { metadata: { __experimental } } ) =>\n\t\t\t\t\t\t\t__experimental === true ||\n\t\t\t\t\t\t\tenabledExperiments.includes( __experimental )\n\t\t\t\t\t)\n\t\t\t\t\t.forEach( ( { init } ) => init() );\n\t\t }\n\t\t: undefined;\n\nexport { privateApis } from './private-apis';\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n\tregisterBlockType,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useDisabled } from '@wordpress/compose';\nimport { select } from '@wordpress/data';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { useServerSideRender } from '@wordpress/server-side-render';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport HtmlRenderer from './utils/html-renderer';\n\n/**\n * Internal dependencies\n */\n// When IS_GUTENBERG_PLUGIN is set to false, imports of experimental blocks\n// are transformed by packages/block-library/src/index.js as follows:\n// import * as experimentalBlock from './experimental-block'\n// becomes\n// const experimentalBlock = null;\n// This enables webpack to eliminate the experimental blocks code from the\n// production build to make the final bundle smaller.\n//\n// See https://github.com/WordPress/gutenberg/pull/40655 for more context.\nimport * as accordion from './accordion';\nimport * as accordionItem from './accordion-item';\nimport * as accordionHeading from './accordion-heading';\nimport * as accordionPanel from './accordion-panel';\nimport * as archives from './archives';\nimport * as avatar from './avatar';\nimport * as audio from './audio';\nimport * as breadcrumbs from './breadcrumbs';\nimport * as button from './button';\nimport * as buttons from './buttons';\nimport * as calendar from './calendar';\nimport * as categories from './categories';\nimport * as classic from './freeform';\nimport * as code from './code';\nimport * as column from './column';\nimport * as columns from './columns';\nimport * as comments from './comments';\nimport * as commentAuthorAvatar from './comment-author-avatar';\nimport * as commentAuthorName from './comment-author-name';\nimport * as commentContent from './comment-content';\nimport * as commentDate from './comment-date';\nimport * as commentEditLink from './comment-edit-link';\nimport * as commentReplyLink from './comment-reply-link';\nimport * as commentTemplate from './comment-template';\nimport * as commentsPaginationPrevious from './comments-pagination-previous';\nimport * as commentsPagination from './comments-pagination';\nimport * as commentsPaginationNext from './comments-pagination-next';\nimport * as commentsPaginationNumbers from './comments-pagination-numbers';\nimport * as commentsTitle from './comments-title';\nimport * as cover from './cover';\nimport * as details from './details';\nimport * as embed from './embed';\nimport * as file from './file';\nimport * as form from './form';\nimport * as formInput from './form-input';\nimport * as formSubmitButton from './form-submit-button';\nimport * as formSubmissionNotification from './form-submission-notification';\nimport * as gallery from './gallery';\nimport * as group from './group';\nimport * as heading from './heading';\nimport * as homeLink from './home-link';\nimport * as html from './html';\nimport * as image from './image';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as math from './math';\nimport * as listItem from './list-item';\nimport * as logInOut from './loginout';\nimport * as mediaText from './media-text';\nimport * as missing from './missing';\nimport * as more from './more';\nimport * as navigation from './navigation';\nimport * as navigationLink from './navigation-link';\nimport * as navigationSubmenu from './navigation-submenu';\nimport * as nextpage from './nextpage';\nimport * as navigationOverlayClose from './navigation-overlay-close';\nimport * as pattern from './pattern';\nimport * as pageList from './page-list';\nimport * as pageListItem from './page-list-item';\nimport * as paragraph from './paragraph';\nimport * as postAuthor from './post-author';\nimport * as postAuthorName from './post-author-name';\nimport * as postAuthorBiography from './post-author-biography';\nimport * as postComment from './post-comment';\nimport * as postCommentsCount from './post-comments-count';\nimport * as postCommentsForm from './post-comments-form';\nimport * as postCommentsLink from './post-comments-link';\nimport * as postContent from './post-content';\nimport * as postDate from './post-date';\nimport * as postExcerpt from './post-excerpt';\nimport * as postFeaturedImage from './post-featured-image';\nimport * as postNavigationLink from './post-navigation-link';\nimport * as postTemplate from './post-template';\nimport * as postTerms from './post-terms';\nimport * as postTimeToRead from './post-time-to-read';\nimport * as postTitle from './post-title';\nimport * as preformatted from './preformatted';\nimport * as pullquote from './pullquote';\nimport * as query from './query';\nimport * as queryNoResults from './query-no-results';\nimport * as queryPagination from './query-pagination';\nimport * as queryPaginationNext from './query-pagination-next';\nimport * as queryPaginationNumbers from './query-pagination-numbers';\nimport * as queryPaginationPrevious from './query-pagination-previous';\nimport * as queryTitle from './query-title';\nimport * as queryTotal from './query-total';\nimport * as quote from './quote';\nimport * as reusableBlock from './block';\nimport * as readMore from './read-more';\nimport * as rss from './rss';\nimport * as search from './search';\nimport * as separator from './separator';\nimport * as shortcode from './shortcode';\nimport * as siteLogo from './site-logo';\nimport * as siteTagline from './site-tagline';\nimport * as siteTitle from './site-title';\nimport * as socialLink from './social-link';\nimport * as socialLinks from './social-links';\nimport * as spacer from './spacer';\nimport * as tab from './tab';\nimport * as tabPanels from './tab-panels';\nimport * as table from './table';\nimport * as tableOfContents from './table-of-contents';\nimport * as tabs from './tabs';\nimport * as tabsMenu from './tabs-menu';\nimport * as tabsMenuItem from './tabs-menu-item';\nimport * as tagCloud from './tag-cloud';\nimport * as templatePart from './template-part';\nimport * as termCount from './term-count';\nimport * as termDescription from './term-description';\nimport * as termName from './term-name';\nimport * as termsQuery from './terms-query';\nimport * as termTemplate from './term-template';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\nimport * as footnotes from './footnotes';\n\nimport isBlockMetadataExperimental from './utils/is-block-metadata-experimental';\nimport { unlock } from './lock-unlock';\n\n/**\n * Function to get all the block-library blocks in an array\n */\nconst getAllBlocks = () => {\n\tconst blocks = [\n\t\t// Common blocks are grouped at the top to prioritize their display\n\t\t// in various contexts \u2014 like the inserter and auto-complete components.\n\t\tparagraph,\n\t\timage,\n\t\theading,\n\t\tgallery,\n\t\tlist,\n\t\tlistItem,\n\t\tquote,\n\n\t\t// Register all remaining core blocks.\n\t\taccordion,\n\t\taccordionItem,\n\t\taccordionHeading,\n\t\taccordionPanel,\n\t\tarchives,\n\t\taudio,\n\t\tbutton,\n\t\tbuttons,\n\t\tcalendar,\n\t\tcategories,\n\t\tcode,\n\t\tcolumn,\n\t\tcolumns,\n\t\tcommentAuthorAvatar,\n\t\tcover,\n\t\tdetails,\n\t\tembed,\n\t\tfile,\n\t\tgroup,\n\t\thtml,\n\t\tmath,\n\t\tlatestComments,\n\t\tlatestPosts,\n\t\tmediaText,\n\t\tmissing,\n\t\tmore,\n\t\tnextpage,\n\t\tpageList,\n\t\tpageListItem,\n\t\tpattern,\n\t\tpreformatted,\n\t\tpullquote,\n\t\treusableBlock,\n\t\trss,\n\t\tsearch,\n\t\tseparator,\n\t\tshortcode,\n\t\tsocialLink,\n\t\tsocialLinks,\n\t\tspacer,\n\t\ttable,\n\t\ttagCloud,\n\t\ttextColumns,\n\t\tverse,\n\t\tvideo,\n\t\tfootnotes,\n\n\t\t// theme blocks\n\t\tnavigation,\n\t\tnavigationLink,\n\t\tnavigationSubmenu,\n\t\tsiteLogo,\n\t\tsiteTitle,\n\t\tsiteTagline,\n\t\tquery,\n\t\ttemplatePart,\n\t\tavatar,\n\t\tpostTitle,\n\t\tpostExcerpt,\n\t\tpostFeaturedImage,\n\t\tpostContent,\n\t\tpostAuthor,\n\t\tpostAuthorName,\n\t\tpostComment,\n\t\tpostCommentsCount,\n\t\tpostCommentsLink,\n\t\tpostDate,\n\t\tpostTerms,\n\t\tpostNavigationLink,\n\t\tpostTemplate,\n\t\tpostTimeToRead,\n\t\tqueryPagination,\n\t\tqueryPaginationNext,\n\t\tqueryPaginationNumbers,\n\t\tqueryPaginationPrevious,\n\t\tqueryNoResults,\n\t\tqueryTotal,\n\t\treadMore,\n\t\tcomments,\n\t\tcommentAuthorName,\n\t\tcommentContent,\n\t\tcommentDate,\n\t\tcommentEditLink,\n\t\tcommentReplyLink,\n\t\tcommentTemplate,\n\t\tcommentsTitle,\n\t\tcommentsPagination,\n\t\tcommentsPaginationNext,\n\t\tcommentsPaginationNumbers,\n\t\tcommentsPaginationPrevious,\n\t\tpostCommentsForm,\n\t\ttableOfContents,\n\t\thomeLink,\n\t\tlogInOut,\n\t\ttermCount,\n\t\ttermDescription,\n\t\ttermName,\n\t\ttermsQuery,\n\t\ttermTemplate,\n\t\tqueryTitle,\n\t\tpostAuthorBiography,\n\t\tbreadcrumbs,\n\t];\n\n\tif ( window?.__experimentalEnableBlockExperiments ) {\n\t\tblocks.push( tab );\n\t\tblocks.push( tabs );\n\t\tblocks.push( tabsMenu );\n\t\tblocks.push( tabsMenuItem );\n\t\tblocks.push( tabPanels );\n\t}\n\n\tif ( window?.__experimentalEnableFormBlocks ) {\n\t\tblocks.push( form );\n\t\tblocks.push( formInput );\n\t\tblocks.push( formSubmitButton );\n\t\tblocks.push( formSubmissionNotification );\n\t}\n\n\tif ( window?.__experimentalNavigationOverlays ) {\n\t\tblocks.push( navigationOverlayClose );\n\t}\n\n\t// When in a WordPress context, conditionally\n\t// add the classic block and TinyMCE editor\n\t// under any of the following conditions:\n\t// - the current post contains a classic block\n\t// - the experiment to disable TinyMCE isn't active.\n\t// - a query argument specifies that TinyMCE should be loaded\n\tif (\n\t\twindow?.wp?.oldEditor &&\n\t\t( window?.wp?.needsClassicBlock ||\n\t\t\t! window?.__experimentalDisableTinymce ||\n\t\t\t!! new URLSearchParams( window?.location?.search ).get(\n\t\t\t\t'requiresTinymce'\n\t\t\t) )\n\t) {\n\t\tblocks.push( classic );\n\t}\n\n\treturn blocks.filter( Boolean );\n};\n\n/**\n * Function to get all the core blocks in an array.\n *\n * @example\n * ```js\n * import { __experimentalGetCoreBlocks } from '@wordpress/block-library';\n *\n * const coreBlocks = __experimentalGetCoreBlocks();\n * ```\n */\nexport const __experimentalGetCoreBlocks = () =>\n\tgetAllBlocks().filter(\n\t\t( { metadata } ) => ! isBlockMetadataExperimental( metadata )\n\t);\n\n/**\n * Function to register core blocks provided by the block editor.\n *\n * @param {Array} blocks An optional array of the core blocks being registered.\n *\n * @example\n * ```js\n * import { registerCoreBlocks } from '@wordpress/block-library';\n *\n * registerCoreBlocks();\n * ```\n */\nexport const registerCoreBlocks = (\n\tblocks = __experimentalGetCoreBlocks()\n) => {\n\tblocks.forEach( ( { init } ) => init() );\n\n\t// Auto-register PHP-only blocks with ServerSideRender\n\tif ( window.__unstableAutoRegisterBlocks ) {\n\t\twindow.__unstableAutoRegisterBlocks.forEach( ( blockName ) => {\n\t\t\tconst bootstrappedBlockType = unlock(\n\t\t\t\tselect( blocksStore )\n\t\t\t).getBootstrappedBlockType( blockName );\n\n\t\t\tregisterBlockType( blockName, {\n\t\t\t\t// Use all metadata from PHP registration,\n\t\t\t\t// but fall back title to block name if not provided,\n\t\t\t\t// ensure minimum apiVersion 3 for block wrapper support,\n\t\t\t\t// and override with a ServerSideRender-based edit function.\n\t\t\t\t...bootstrappedBlockType,\n\t\t\t\ttitle: bootstrappedBlockType?.title || blockName,\n\t\t\t\t...( ( bootstrappedBlockType?.apiVersion ?? 0 ) < 3 && {\n\t\t\t\t\tapiVersion: 3,\n\t\t\t\t} ),\n\t\t\t\t// Inspector controls are rendered by the auto-register hook in block-editor\n\t\t\t\tedit: function Edit( { attributes } ) {\n\t\t\t\t\tconst disabledRef = useDisabled();\n\t\t\t\t\tconst blockProps = useBlockProps( { ref: disabledRef } );\n\t\t\t\t\tconst { content, status, error } = useServerSideRender( {\n\t\t\t\t\t\tblock: blockName,\n\t\t\t\t\t\tattributes,\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( status === 'loading' ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div { ...blockProps }>{ __( 'Loading\u2026' ) }</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( status === 'error' ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: error message describing the problem */\n\t\t\t\t\t\t\t\t\t__( 'Error loading block: %s' ),\n\t\t\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<HtmlRenderer\n\t\t\t\t\t\t\twrapperProps={ blockProps }\n\t\t\t\t\t\t\thtml={ content }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tsave: () => null,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tsetDefaultBlockName( paragraph.name );\n\tif (\n\t\twindow.wp &&\n\t\twindow.wp.oldEditor &&\n\t\tblocks.some( ( { name } ) => name === classic.name )\n\t) {\n\t\tsetFreeformContentHandlerName( classic.name );\n\t}\n\tsetUnregisteredTypeHandlerName( missing.name );\n\tsetGroupingBlockName( group.name );\n};\n\n/**\n * Function to register experimental core blocks depending on editor settings.\n *\n * @param {boolean} enableFSEBlocks Whether to enable the full site editing blocks.\n * @example\n * ```js\n * import { __experimentalRegisterExperimentalCoreBlocks } from '@wordpress/block-library';\n *\n * __experimentalRegisterExperimentalCoreBlocks( settings );\n * ```\n */\nexport const __experimentalRegisterExperimentalCoreBlocks =\n\tglobalThis.IS_GUTENBERG_PLUGIN\n\t\t? ( { enableFSEBlocks } = {} ) => {\n\t\t\t\tconst enabledExperiments = [ enableFSEBlocks ? 'fse' : null ];\n\t\t\t\tgetAllBlocks()\n\t\t\t\t\t.filter( ( { metadata } ) =>\n\t\t\t\t\t\tisBlockMetadataExperimental( metadata )\n\t\t\t\t\t)\n\t\t\t\t\t.filter(\n\t\t\t\t\t\t( { metadata: { __experimental } } ) =>\n\t\t\t\t\t\t\t__experimental === true ||\n\t\t\t\t\t\t\tenabledExperiments.includes( __experimental )\n\t\t\t\t\t)\n\t\t\t\t\t.forEach( ( { init } ) => init() );\n\t\t }\n\t\t: undefined;\n\nexport { privateApis } from './private-apis';\n"],
5
+ "mappings": "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",
6
6
  "names": ["isBlockMetadataExperimental", "blocksStore", "HtmlRenderer", "name"]
7
7
  }
@@ -67,6 +67,9 @@ var settings = {
67
67
  if (context === "list-view" && (customName || hasContent)) {
68
68
  return customName || content;
69
69
  }
70
+ if (context === "breadcrumb" && customName) {
71
+ return customName;
72
+ }
70
73
  }
71
74
  };
72
75
  if (window.__experimentalContentOnlyInspectorFields) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/list-item/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { listItem as icon } from '@wordpress/icons';\nimport { privateApis } from '@wordpress/block-editor';\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;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tcontent: attributes.content + attributesToMerge.content,\n\t\t};\n\t},\n\ttransforms,\n\t[ unlock( privateApis ).requiresWrapperOnCopy ]: true,\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { content } = 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\t},\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 = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAAiC;AACjC,0BAA4B;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;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAE;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,MAAO,YAAY,mBAAoB;AACtC,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS,WAAW,UAAU,kBAAkB;AAAA,IACjD;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,KAAE,2BAAQ,+BAAY,EAAE,qBAAsB,GAAG;AAAA,EACjD,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;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,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 { __ } from '@wordpress/i18n';\nimport { listItem as icon } from '@wordpress/icons';\nimport { privateApis } from '@wordpress/block-editor';\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;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tcontent: attributes.content + attributesToMerge.content,\n\t\t};\n\t},\n\ttransforms,\n\t[ unlock( privateApis ).requiresWrapperOnCopy ]: true,\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { content } = 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\t},\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 = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAAiC;AACjC,0BAA4B;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;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAE;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,MAAO,YAAY,mBAAoB;AACtC,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS,WAAW,UAAU,kBAAkB;AAAA,IACjD;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,KAAE,2BAAQ,+BAAY,EAAE,qBAAsB,GAAG;AAAA,EACjD,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;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,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", "edit", "save", "transforms", "initBlock", "metadata"]
7
7
  }
@@ -52,7 +52,7 @@ var settings = {
52
52
  example: {},
53
53
  __experimentalLabel(attributes, { context }) {
54
54
  const customName = attributes?.metadata?.name;
55
- if (context === "list-view" && customName) {
55
+ if ((context === "list-view" || context === "breadcrumb") && customName) {
56
56
  return customName;
57
57
  }
58
58
  if (context === "accessibility") {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/more/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { more as icon } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\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__experimentalLabel( attributes, { context } ) {\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\tif ( context === 'list-view' && customName ) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn attributes.customText;\n\t\t}\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'customText',\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: [ 'customText' ],\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,mBAA6B;AAC7B,kBAAmB;AACnB,oBAAiD;AAKjD,wBAAsB;AACtB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,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,CAAC;AAAA,EACV,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,aAAa,YAAY,UAAU;AAEzC,QAAK,YAAY,eAAe,YAAa;AAC5C,aAAO;AAAA,IACR;AAEA,QAAK,YAAY,iBAAkB;AAClC,aAAO,WAAW;AAAA,IACnB;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;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,YAAa;AAAA,EACxB;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { more as icon } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\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__experimentalLabel( attributes, { context } ) {\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\tif (\n\t\t\t( context === 'list-view' || context === 'breadcrumb' ) &&\n\t\t\tcustomName\n\t\t) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn attributes.customText;\n\t\t}\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'customText',\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: [ 'customText' ],\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,mBAA6B;AAC7B,kBAAmB;AACnB,oBAAiD;AAKjD,wBAAsB;AACtB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,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,CAAC;AAAA,EACV,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,aAAa,YAAY,UAAU;AAEzC,SACG,YAAY,eAAe,YAAY,iBACzC,YACC;AACD,aAAO;AAAA,IACR;AAEA,QAAK,YAAY,iBAAkB;AAClC,aAAO,WAAW;AAAA,IACnB;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;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,YAAa;AAAA,EACxB;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
6
  "names": ["metadata", "blocksPrivateApis", "icon", "transforms", "edit", "save", "initBlock", "metadata"]
7
7
  }
@@ -378,11 +378,32 @@ function Navigation({
378
378
  ),
379
379
  [clientId]
380
380
  );
381
+ const hasSetOverlayDefault = (0, import_element.useRef)(false);
381
382
  (0, import_element.useEffect)(() => {
382
- if (isWithinOverlay && overlayMenu !== "never") {
383
+ if (!isWithinOverlay) {
384
+ return;
385
+ }
386
+ if (overlayMenu !== "never") {
383
387
  setAttributes({ overlayMenu: "never" });
384
388
  }
385
- }, [isWithinOverlay, overlayMenu, setAttributes]);
389
+ if (!hasSetOverlayDefault.current && !ref) {
390
+ hasSetOverlayDefault.current = true;
391
+ setAttributes({
392
+ submenuVisibility: "always",
393
+ layout: {
394
+ ...attributes.layout,
395
+ orientation: "vertical"
396
+ },
397
+ showSubmenuIcon: false
398
+ });
399
+ }
400
+ }, [
401
+ attributes.layout,
402
+ isWithinOverlay,
403
+ overlayMenu,
404
+ ref,
405
+ setAttributes
406
+ ]);
386
407
  const isResponsive = "never" !== overlayMenu;
387
408
  const blockProps = (0, import_block_editor.useBlockProps)({
388
409
  ref: navRef,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/navigation/edit/index.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tSpinner,\n\tNotice,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { page } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuPreview from './overlay-menu-preview';\nimport OverlayPanel from './overlay-panel';\nimport OverlayVisibilityControl from './overlay-visibility-control';\nimport OverlayMenuPreviewButton from './overlay-menu-preview-button';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\nimport { useToolsPanelDropdownMenuProps } from '../../utils/hooks';\nimport { isWithinNavigationOverlay } from '../../utils/is-within-overlay';\nimport { DEFAULT_BLOCK } from '../constants';\nimport { getSubmenuVisibility } from '../utils/get-submenu-visibility';\n\n/**\n * Component that renders the Add page button for the Navigation block.\n *\n * @param {Object} props Component props.\n * @param {string} props.clientId Block client ID.\n * @return {JSX.Element|null} The Add page button component or null if not applicable.\n */\nfunction NavigationAddPageButton( { clientId } ) {\n\tconst { insertBlock } = useDispatch( blockEditorStore );\n\tconst { getBlockCount } = useSelect( blockEditorStore );\n\n\tconst onAddPage = useCallback( () => {\n\t\t// Get the current number of blocks to insert at the end\n\t\tconst blockCount = getBlockCount( clientId );\n\n\t\t// Create a new navigation link block (default block)\n\t\tconst newBlock = createBlock( DEFAULT_BLOCK.name, {\n\t\t\tkind: DEFAULT_BLOCK.attributes.kind,\n\t\t\ttype: DEFAULT_BLOCK.attributes.type,\n\t\t} );\n\n\t\t// Insert the block at the end of the navigation\n\t\tinsertBlock( newBlock, blockCount, clientId );\n\t}, [ clientId, insertBlock, getBlockCount ] );\n\n\treturn (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tname=\"add-page\"\n\t\t\t\t\ticon={ page }\n\t\t\t\t\tonClick={ onAddPage }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add page' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n}\n\nfunction ColorTools( {\n\ttextColor,\n\tsetTextColor,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\tclientId,\n\tnavRef,\n\thasCustomOverlay,\n} ) {\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\t// Detect if we're editing inside an overlay template part.\n\tconst isWithinOverlay = useSelect( () => isWithinNavigationOverlay(), [] );\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t}, [\n\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t\tnavRef,\n\t] );\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\n\tconst colorSettings = [\n\t\t{\n\t\t\tcolorValue: textColor.color,\n\t\t\tlabel: __( 'Text' ),\n\t\t\tonColorChange: setTextColor,\n\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t},\n\t\t{\n\t\t\tcolorValue: backgroundColor.color,\n\t\t\tlabel: __( 'Background' ),\n\t\t\tonColorChange: setBackgroundColor,\n\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t},\n\t];\n\n\t// Only show overlay controls when not in an overlay template.\n\tcolorSettings.push(\n\t\t{\n\t\t\tcolorValue: overlayTextColor.color,\n\t\t\tlabel:\n\t\t\t\thasCustomOverlay || isWithinOverlay\n\t\t\t\t\t? __( 'Submenu text' )\n\t\t\t\t\t: __( 'Submenu & overlay text' ),\n\t\t\tonColorChange: setOverlayTextColor,\n\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t},\n\t\t{\n\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\tlabel:\n\t\t\t\thasCustomOverlay || isWithinOverlay\n\t\t\t\t\t? __( 'Submenu background' )\n\t\t\t\t\t: __( 'Submenu & overlay background' ),\n\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\tresetAllFilter: () => setOverlayBackgroundColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\tsettings={ colorSettings }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\tgradients={ [] }\n\t\t\t\tdisableCustomGradients\n\t\t\t/>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedOverlayBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\tsubmenuVisibility,\n\t\toverlayMenu,\n\t\toverlay,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\t// Reset submenuVisibility to default if orientation changes to horizontal while \"always\" is selected\n\tuseEffect( () => {\n\t\tif ( orientation === 'horizontal' && submenuVisibility === 'always' ) {\n\t\t\tsetAttributes( {\n\t\t\t\tsubmenuVisibility: 'hover',\n\t\t\t\tshowSubmenuIcon: true,\n\t\t\t} );\n\t\t}\n\t}, [ orientation, submenuVisibility, setAttributes ] );\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\n\t// Skip recursion check when in preview mode.\n\tconst recursionDetected = useHasRecursion( recursionId );\n\tconst { isPreviewMode, onNavigateToEntityRecord, currentTheme } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\tconst settings = getSettings();\n\t\t\treturn {\n\t\t\t\tisPreviewMode: settings.isPreviewMode,\n\t\t\t\tonNavigateToEntityRecord: settings?.onNavigateToEntityRecord,\n\t\t\t\t// Needed to construct the template part ID for the overlay preview.\n\t\t\t\tcurrentTheme: select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst hasAlreadyRendered = isPreviewMode ? false : recursionDetected;\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst isOverlayExperimentEnabled =\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.__experimentalNavigationOverlays === true;\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = async () => {\n\t\tawait createNavigationMenu( '' );\n\t};\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\tisResolvingCanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst navRef = useRef();\n\n\t// Detect if we're editing inside an overlay template part.\n\tconst isWithinOverlay = useSelect( () => isWithinNavigationOverlay(), [] );\n\n\t// Use div wrapper if this navigation block is within an overlay template part.\n\t// Otherwise, use nav as the standard HTML5 tag.\n\tconst TagName = isWithinOverlay ? 'div' : 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\n\t// Force overlayMenu to 'never' if within an overlay template part\n\t// to prevent overlays within overlays.\n\tuseEffect( () => {\n\t\tif ( isWithinOverlay && overlayMenu !== 'never' ) {\n\t\t\tsetAttributes( { overlayMenu: 'never' } );\n\t\t}\n\t}, [ isWithinOverlay, overlayMenu, setAttributes ] );\n\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\n\t\t),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\treturn convertClassicMenu( classicMenu.id, classicMenu.name, 'draft' );\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t\tcreateNavigationMenuPost?.id,\n\t\thandleUpdateMenu,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenus &&\n\t\t\t\t! canUserCreateNavigationMenus\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenus || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = clsx(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst computedSubmenuVisibility = getSubmenuVisibility( attributes );\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon &&\n\t\tcomputedSubmenuVisibility !== 'click' &&\n\t\tcomputedSubmenuVisibility !== 'always'\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ ( ! isOverlayExperimentEnabled || hasSubmenus ) && (\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Display' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\tsubmenuVisibility: 'hover',\n\t\t\t\t\t\t\t\toverlayMenu: 'mobile',\n\t\t\t\t\t\t\t\thasIcon: true,\n\t\t\t\t\t\t\t\ticon: 'handle',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! isOverlayExperimentEnabled && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t\t\t<OverlayMenuPreviewButton\n\t\t\t\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\t\t\t\toverlayMenuPreview={\n\t\t\t\t\t\t\t\t\t\t\toverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview={\n\t\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\toverlayMenuPreviewClasses={\n\t\t\t\t\t\t\t\t\t\t\toverlayMenuPreviewClasses\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\toverlayMenuPreviewId={\n\t\t\t\t\t\t\t\t\t\t\toverlayMenuPreviewId\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcontainerStyle={ {\n\t\t\t\t\t\t\t\t\t\t\tgridColumn: 'span 2',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => overlayMenu !== 'mobile' }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Overlay Visibility' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\toverlayMenu: 'mobile',\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<OverlayVisibilityControl\n\t\t\t\t\t\t\t\t\t\toverlayMenu={ overlayMenu }\n\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3 className=\"wp-block-navigation__submenu-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Submenus' ) }\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\t\tsubmenuVisibility !== 'hover'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Submenu Visibility' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tsubmenuVisibility: 'hover',\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Submenu Visibility' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ submenuVisibility }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst newAttributes = {\n\t\t\t\t\t\t\t\t\t\t\t\tsubmenuVisibility: value,\n\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\tconst prevSubmenuVisibility =\n\t\t\t\t\t\t\t\t\t\t\t\tsubmenuVisibility;\n\t\t\t\t\t\t\t\t\t\t\t// If \"always\" is selected, hide the arrow because the formatting is broken for it when using center alignment.\n\t\t\t\t\t\t\t\t\t\t\tif ( value === 'always' ) {\n\t\t\t\t\t\t\t\t\t\t\t\tnewAttributes.showSubmenuIcon = false;\n\t\t\t\t\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t\t\t\t\tvalue === 'click' ||\n\t\t\t\t\t\t\t\t\t\t\t\tprevSubmenuVisibility ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t'always'\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t// When switching to \"click\" or away from \"always\", show the arrow\n\t\t\t\t\t\t\t\t\t\t\t\tnewAttributes.showSubmenuIcon = true;\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( newAttributes );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tvalue=\"hover\"\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Hover' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tvalue=\"click\"\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Click' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ orientation === 'vertical' && (\n\t\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => ! showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisDisabled={\n\t\t\t\t\t\t\t\t\t\tcomputedSubmenuVisibility === 'click' ||\n\t\t\t\t\t\t\t\t\t\tcomputedSubmenuVisibility === 'always'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tcomputedSubmenuVisibility ===\n\t\t\t\t\t\t\t\t\t\t\t\t'click' ||\n\t\t\t\t\t\t\t\t\t\t\tcomputedSubmenuVisibility ===\n\t\t\t\t\t\t\t\t\t\t\t\t'always'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu-accessibility-notice\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t</Notice>\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</ToolsPanel>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ isOverlayExperimentEnabled && ! isWithinOverlay && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<OverlayPanel\n\t\t\t\t\t\toverlayMenu={ overlayMenu }\n\t\t\t\t\t\toverlay={ overlay }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonNavigateToEntityRecord={ onNavigateToEntityRecord }\n\t\t\t\t\t\toverlayMenuPreview={ overlayMenuPreview }\n\t\t\t\t\t\tsetOverlayMenuPreview={ setOverlayMenuPreview }\n\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\toverlayMenuPreviewClasses={ overlayMenuPreviewClasses }\n\t\t\t\t\t\toverlayMenuPreviewId={ overlayMenuPreviewId }\n\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\tcurrentTheme={ currentTheme }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t{ /*\n\t\t\t\t * Avoid useMultipleOriginColorsAndGradients and detectColors\n\t\t\t\t * on block mount. InspectorControls only mounts this component\n\t\t\t\t * when the block is selected.\n\t\t\t\t * */ }\n\t\t\t\t<ColorTools\n\t\t\t\t\ttextColor={ textColor }\n\t\t\t\t\tsetTextColor={ setTextColor }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tsetBackgroundColor={ setBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\tsetOverlayTextColor={ setOverlayTextColor }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\tsetOverlayBackgroundColor={ setOverlayBackgroundColor }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tnavRef={ navRef }\n\t\t\t\t\thasCustomOverlay={ !! overlay }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\tconst isHiddenByDefault = 'always' === overlayMenu;\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\toverlay={ overlay }\n\t\t\t\t\tonNavigateToEntityRecord={ onNavigateToEntityRecord }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenus={\n\t\t\t\t\t\tcanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenus={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'contentOnly' && isEntityAvailable && (\n\t\t\t\t\t<NavigationAddPageButton clientId={ clientId } />\n\t\t\t\t) }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ () => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation Menu successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t! isPlaceholder && ! isLoading\n\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isLoading && ! isHiddenByDefault && (\n\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ( ! isLoading || isHiddenByDefault ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\t\t\t\toverlayBackgroundColor={\n\t\t\t\t\t\t\t\t\toverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t\t\toverlay={ overlay }\n\t\t\t\t\t\t\t\tonNavigateToEntityRecord={\n\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</TagName>\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tSpinner,\n\tNotice,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { page } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuPreview from './overlay-menu-preview';\nimport OverlayPanel from './overlay-panel';\nimport OverlayVisibilityControl from './overlay-visibility-control';\nimport OverlayMenuPreviewButton from './overlay-menu-preview-button';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\nimport { useToolsPanelDropdownMenuProps } from '../../utils/hooks';\nimport { isWithinNavigationOverlay } from '../../utils/is-within-overlay';\nimport { DEFAULT_BLOCK } from '../constants';\nimport { getSubmenuVisibility } from '../utils/get-submenu-visibility';\n\n/**\n * Component that renders the Add page button for the Navigation block.\n *\n * @param {Object} props Component props.\n * @param {string} props.clientId Block client ID.\n * @return {JSX.Element|null} The Add page button component or null if not applicable.\n */\nfunction NavigationAddPageButton( { clientId } ) {\n\tconst { insertBlock } = useDispatch( blockEditorStore );\n\tconst { getBlockCount } = useSelect( blockEditorStore );\n\n\tconst onAddPage = useCallback( () => {\n\t\t// Get the current number of blocks to insert at the end\n\t\tconst blockCount = getBlockCount( clientId );\n\n\t\t// Create a new navigation link block (default block)\n\t\tconst newBlock = createBlock( DEFAULT_BLOCK.name, {\n\t\t\tkind: DEFAULT_BLOCK.attributes.kind,\n\t\t\ttype: DEFAULT_BLOCK.attributes.type,\n\t\t} );\n\n\t\t// Insert the block at the end of the navigation\n\t\tinsertBlock( newBlock, blockCount, clientId );\n\t}, [ clientId, insertBlock, getBlockCount ] );\n\n\treturn (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tname=\"add-page\"\n\t\t\t\t\ticon={ page }\n\t\t\t\t\tonClick={ onAddPage }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add page' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n}\n\nfunction ColorTools( {\n\ttextColor,\n\tsetTextColor,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\tclientId,\n\tnavRef,\n\thasCustomOverlay,\n} ) {\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\t// Detect if we're editing inside an overlay template part.\n\tconst isWithinOverlay = useSelect( () => isWithinNavigationOverlay(), [] );\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t}, [\n\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t\tnavRef,\n\t] );\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\n\tconst colorSettings = [\n\t\t{\n\t\t\tcolorValue: textColor.color,\n\t\t\tlabel: __( 'Text' ),\n\t\t\tonColorChange: setTextColor,\n\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t},\n\t\t{\n\t\t\tcolorValue: backgroundColor.color,\n\t\t\tlabel: __( 'Background' ),\n\t\t\tonColorChange: setBackgroundColor,\n\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t},\n\t];\n\n\t// Only show overlay controls when not in an overlay template.\n\tcolorSettings.push(\n\t\t{\n\t\t\tcolorValue: overlayTextColor.color,\n\t\t\tlabel:\n\t\t\t\thasCustomOverlay || isWithinOverlay\n\t\t\t\t\t? __( 'Submenu text' )\n\t\t\t\t\t: __( 'Submenu & overlay text' ),\n\t\t\tonColorChange: setOverlayTextColor,\n\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t},\n\t\t{\n\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\tlabel:\n\t\t\t\thasCustomOverlay || isWithinOverlay\n\t\t\t\t\t? __( 'Submenu background' )\n\t\t\t\t\t: __( 'Submenu & overlay background' ),\n\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\tresetAllFilter: () => setOverlayBackgroundColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\tsettings={ colorSettings }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\tgradients={ [] }\n\t\t\t\tdisableCustomGradients\n\t\t\t/>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedOverlayBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\tsubmenuVisibility,\n\t\toverlayMenu,\n\t\toverlay,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\t// Reset submenuVisibility to default if orientation changes to horizontal while \"always\" is selected\n\tuseEffect( () => {\n\t\tif ( orientation === 'horizontal' && submenuVisibility === 'always' ) {\n\t\t\tsetAttributes( {\n\t\t\t\tsubmenuVisibility: 'hover',\n\t\t\t\tshowSubmenuIcon: true,\n\t\t\t} );\n\t\t}\n\t}, [ orientation, submenuVisibility, setAttributes ] );\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\n\t// Skip recursion check when in preview mode.\n\tconst recursionDetected = useHasRecursion( recursionId );\n\tconst { isPreviewMode, onNavigateToEntityRecord, currentTheme } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\tconst settings = getSettings();\n\t\t\treturn {\n\t\t\t\tisPreviewMode: settings.isPreviewMode,\n\t\t\t\tonNavigateToEntityRecord: settings?.onNavigateToEntityRecord,\n\t\t\t\t// Needed to construct the template part ID for the overlay preview.\n\t\t\t\tcurrentTheme: select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst hasAlreadyRendered = isPreviewMode ? false : recursionDetected;\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst isOverlayExperimentEnabled =\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.__experimentalNavigationOverlays === true;\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = async () => {\n\t\tawait createNavigationMenu( '' );\n\t};\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\tisResolvingCanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst navRef = useRef();\n\n\t// Detect if we're editing inside an overlay template part.\n\tconst isWithinOverlay = useSelect( () => isWithinNavigationOverlay(), [] );\n\n\t// Use div wrapper if this navigation block is within an overlay template part.\n\t// Otherwise, use nav as the standard HTML5 tag.\n\tconst TagName = isWithinOverlay ? 'div' : 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\n\t// Configure navigation blocks in overlay templates.\n\tconst hasSetOverlayDefault = useRef( false );\n\tuseEffect( () => {\n\t\tif ( ! isWithinOverlay ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Prevent nested overlays.\n\t\tif ( overlayMenu !== 'never' ) {\n\t\t\tsetAttributes( { overlayMenu: 'never' } );\n\t\t}\n\n\t\t// Set vertical orientation and always-open submenus for new blocks.\n\t\tif ( ! hasSetOverlayDefault.current && ! ref ) {\n\t\t\thasSetOverlayDefault.current = true;\n\t\t\tsetAttributes( {\n\t\t\t\tsubmenuVisibility: 'always',\n\t\t\t\tlayout: {\n\t\t\t\t\t...attributes.layout,\n\t\t\t\t\torientation: 'vertical',\n\t\t\t\t},\n\t\t\t\tshowSubmenuIcon: false,\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tattributes.layout,\n\t\tisWithinOverlay,\n\t\toverlayMenu,\n\t\tref,\n\t\tsetAttributes,\n\t] );\n\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\n\t\t),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\treturn convertClassicMenu( classicMenu.id, classicMenu.name, 'draft' );\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t\tcreateNavigationMenuPost?.id,\n\t\thandleUpdateMenu,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenus &&\n\t\t\t\t! canUserCreateNavigationMenus\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenus || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = clsx(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst computedSubmenuVisibility = getSubmenuVisibility( attributes );\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon &&\n\t\tcomputedSubmenuVisibility !== 'click' &&\n\t\tcomputedSubmenuVisibility !== 'always'\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ ( ! isOverlayExperimentEnabled || hasSubmenus ) && (\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Display' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\tsubmenuVisibility: 'hover',\n\t\t\t\t\t\t\t\toverlayMenu: 'mobile',\n\t\t\t\t\t\t\t\thasIcon: true,\n\t\t\t\t\t\t\t\ticon: 'handle',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! isOverlayExperimentEnabled && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t\t\t<OverlayMenuPreviewButton\n\t\t\t\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\t\t\t\toverlayMenuPreview={\n\t\t\t\t\t\t\t\t\t\t\toverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview={\n\t\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\toverlayMenuPreviewClasses={\n\t\t\t\t\t\t\t\t\t\t\toverlayMenuPreviewClasses\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\toverlayMenuPreviewId={\n\t\t\t\t\t\t\t\t\t\t\toverlayMenuPreviewId\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcontainerStyle={ {\n\t\t\t\t\t\t\t\t\t\t\tgridColumn: 'span 2',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => overlayMenu !== 'mobile' }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Overlay Visibility' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\toverlayMenu: 'mobile',\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<OverlayVisibilityControl\n\t\t\t\t\t\t\t\t\t\toverlayMenu={ overlayMenu }\n\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3 className=\"wp-block-navigation__submenu-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Submenus' ) }\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\t\tsubmenuVisibility !== 'hover'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Submenu Visibility' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tsubmenuVisibility: 'hover',\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Submenu Visibility' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ submenuVisibility }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst newAttributes = {\n\t\t\t\t\t\t\t\t\t\t\t\tsubmenuVisibility: value,\n\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\tconst prevSubmenuVisibility =\n\t\t\t\t\t\t\t\t\t\t\t\tsubmenuVisibility;\n\t\t\t\t\t\t\t\t\t\t\t// If \"always\" is selected, hide the arrow because the formatting is broken for it when using center alignment.\n\t\t\t\t\t\t\t\t\t\t\tif ( value === 'always' ) {\n\t\t\t\t\t\t\t\t\t\t\t\tnewAttributes.showSubmenuIcon = false;\n\t\t\t\t\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t\t\t\t\tvalue === 'click' ||\n\t\t\t\t\t\t\t\t\t\t\t\tprevSubmenuVisibility ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t'always'\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t// When switching to \"click\" or away from \"always\", show the arrow\n\t\t\t\t\t\t\t\t\t\t\t\tnewAttributes.showSubmenuIcon = true;\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( newAttributes );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tvalue=\"hover\"\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Hover' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tvalue=\"click\"\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Click' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ orientation === 'vertical' && (\n\t\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => ! showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisDisabled={\n\t\t\t\t\t\t\t\t\t\tcomputedSubmenuVisibility === 'click' ||\n\t\t\t\t\t\t\t\t\t\tcomputedSubmenuVisibility === 'always'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tcomputedSubmenuVisibility ===\n\t\t\t\t\t\t\t\t\t\t\t\t'click' ||\n\t\t\t\t\t\t\t\t\t\t\tcomputedSubmenuVisibility ===\n\t\t\t\t\t\t\t\t\t\t\t\t'always'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu-accessibility-notice\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t</Notice>\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</ToolsPanel>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ isOverlayExperimentEnabled && ! isWithinOverlay && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<OverlayPanel\n\t\t\t\t\t\toverlayMenu={ overlayMenu }\n\t\t\t\t\t\toverlay={ overlay }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonNavigateToEntityRecord={ onNavigateToEntityRecord }\n\t\t\t\t\t\toverlayMenuPreview={ overlayMenuPreview }\n\t\t\t\t\t\tsetOverlayMenuPreview={ setOverlayMenuPreview }\n\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\toverlayMenuPreviewClasses={ overlayMenuPreviewClasses }\n\t\t\t\t\t\toverlayMenuPreviewId={ overlayMenuPreviewId }\n\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\tcurrentTheme={ currentTheme }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t{ /*\n\t\t\t\t * Avoid useMultipleOriginColorsAndGradients and detectColors\n\t\t\t\t * on block mount. InspectorControls only mounts this component\n\t\t\t\t * when the block is selected.\n\t\t\t\t * */ }\n\t\t\t\t<ColorTools\n\t\t\t\t\ttextColor={ textColor }\n\t\t\t\t\tsetTextColor={ setTextColor }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tsetBackgroundColor={ setBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\tsetOverlayTextColor={ setOverlayTextColor }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\tsetOverlayBackgroundColor={ setOverlayBackgroundColor }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tnavRef={ navRef }\n\t\t\t\t\thasCustomOverlay={ !! overlay }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\tconst isHiddenByDefault = 'always' === overlayMenu;\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\toverlay={ overlay }\n\t\t\t\t\tonNavigateToEntityRecord={ onNavigateToEntityRecord }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenus={\n\t\t\t\t\t\tcanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenus={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'contentOnly' && isEntityAvailable && (\n\t\t\t\t\t<NavigationAddPageButton clientId={ clientId } />\n\t\t\t\t) }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ () => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation Menu successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t! isPlaceholder && ! isLoading\n\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isLoading && ! isHiddenByDefault && (\n\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ( ! isLoading || isHiddenByDefault ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\t\t\t\toverlayBackgroundColor={\n\t\t\t\t\t\t\t\t\toverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t\t\toverlay={ overlay }\n\t\t\t\t\t\t\t\tonNavigateToEntityRecord={\n\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</TagName>\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"],
5
+ "mappings": "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",
6
6
  "names": ["blockEditorStore", "useMultipleOriginColorsAndGradients", "ColorGradientSettingsDropdown", "coreStore", "useNavigationEntities", "useNavigationNotice", "useCreateNavigationMenu", "useNavigationMenu", "useConvertClassicToBlockMenu", "clsx", "OverlayMenuPreview", "ToolsPanel", "OverlayMenuPreviewButton", "ToolsPanelItem", "OverlayVisibilityControl", "ToggleGroupControl", "ToggleGroupControlOption", "OverlayPanel", "AccessibleDescription", "MenuInspectorControls", "ResponsiveWrapper", "UnsavedInnerBlocks", "DeletedNavigationWarning", "Placeholder", "NavigationMenuNameControl", "NavigationMenuDeleteControl", "ManageMenusButton", "AccessibleMenuDescription", "NavigationInnerBlocks"]
7
7
  }
@@ -57,8 +57,8 @@ var settings = {
57
57
  __experimentalLabel(attributes, { context }) {
58
58
  const { label } = attributes;
59
59
  const customName = attributes?.metadata?.name;
60
- if (context === "list-view" && (customName || label)) {
61
- return attributes?.metadata?.name || label;
60
+ if ((context === "list-view" || context === "breadcrumb") && customName) {
61
+ return customName;
62
62
  }
63
63
  return label;
64
64
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/navigation-submenu/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { page, addSubmenu } from '@wordpress/icons';\nimport { _x, __ } 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;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: ( { context } ) => {\n\t\tif ( context === 'list-view' ) {\n\t\t\treturn page;\n\t\t}\n\t\treturn addSubmenu;\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { label } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\t// In the list view, use the block's menu label as the label.\n\t\t// If the menu label is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || label ) ) {\n\t\t\treturn attributes?.metadata?.name || label;\n\t\t}\n\n\t\treturn label;\n\t},\n\tedit,\n\texample: {\n\t\tattributes: {\n\t\t\tlabel: _x( 'About', 'Example link text for Navigation Submenu' ),\n\t\t\ttype: 'page',\n\t\t},\n\t},\n\tsave,\n\ttransforms,\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'label',\n\t\t\tlabel: __( 'Label' ),\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} ),\n\t\t\tsetValue: ( { value } ) => ( {\n\t\t\t\turl: value.url,\n\t\t\t\trel: value.rel,\n\t\t\t} ),\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'label', '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,mBAAiC;AACjC,kBAAuB;AACvB,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;AAIV,IAAM,WAAW;AAAA,EACvB,MAAM,CAAE,EAAE,QAAQ,MAAO;AACxB,QAAK,YAAY,aAAc;AAC9B,aAAO;AAAA,IACR;AACA,WAAO;AAAA,EACR;AAAA,EACA,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,EAAE,MAAM,IAAI;AAElB,UAAM,aAAa,YAAY,UAAU;AAIzC,QAAK,YAAY,gBAAiB,cAAc,QAAU;AACzD,aAAO,YAAY,UAAU,QAAQ;AAAA,IACtC;AAEA,WAAO;AAAA,EACR;AAAA,EACA,kBAAAE;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,WAAO,gBAAI,SAAS,0CAA2C;AAAA,MAC/D,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AACD;AAEA,IAAK,OAAO,0CAA2C;AACtD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,OAAQ;AAAA,MACnB,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,MACX;AAAA,MACA,UAAU,CAAE,EAAE,MAAM,OAAS;AAAA,QAC5B,KAAK,MAAM;AAAA,QACX,KAAK,MAAM;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,SAAS,MAAO;AAAA,EAC3B;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { page, addSubmenu } from '@wordpress/icons';\nimport { _x, __ } 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;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: ( { context } ) => {\n\t\tif ( context === 'list-view' ) {\n\t\t\treturn page;\n\t\t}\n\t\treturn addSubmenu;\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { label } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\t// In the list view and breadcrumb, use the block's menu label as the label.\n\t\t// If the menu label is empty, fall back to the default label.\n\t\tif (\n\t\t\t( context === 'list-view' || context === 'breadcrumb' ) &&\n\t\t\tcustomName\n\t\t) {\n\t\t\treturn customName;\n\t\t}\n\n\t\treturn label;\n\t},\n\tedit,\n\texample: {\n\t\tattributes: {\n\t\t\tlabel: _x( 'About', 'Example link text for Navigation Submenu' ),\n\t\t\ttype: 'page',\n\t\t},\n\t},\n\tsave,\n\ttransforms,\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'label',\n\t\t\tlabel: __( 'Label' ),\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} ),\n\t\t\tsetValue: ( { value } ) => ( {\n\t\t\t\turl: value.url,\n\t\t\t\trel: value.rel,\n\t\t\t} ),\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'label', '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,mBAAiC;AACjC,kBAAuB;AACvB,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;AAIV,IAAM,WAAW;AAAA,EACvB,MAAM,CAAE,EAAE,QAAQ,MAAO;AACxB,QAAK,YAAY,aAAc;AAC9B,aAAO;AAAA,IACR;AACA,WAAO;AAAA,EACR;AAAA,EACA,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,EAAE,MAAM,IAAI;AAElB,UAAM,aAAa,YAAY,UAAU;AAIzC,SACG,YAAY,eAAe,YAAY,iBACzC,YACC;AACD,aAAO;AAAA,IACR;AAEA,WAAO;AAAA,EACR;AAAA,EACA,kBAAAE;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,WAAO,gBAAI,SAAS,0CAA2C;AAAA,MAC/D,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AACD;AAEA,IAAK,OAAO,0CAA2C;AACtD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,OAAQ;AAAA,MACnB,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,MACX;AAAA,MACA,UAAU,CAAE,EAAE,MAAM,OAAS;AAAA,QAC5B,KAAK,MAAM;AAAA,QACX,KAAK,MAAM;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,SAAS,MAAO;AAAA,EAC3B;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
6
  "names": ["metadata", "blocksPrivateApis", "edit", "save", "transforms", "initBlock", "metadata"]
7
7
  }
@@ -59,7 +59,7 @@ var settings = {
59
59
  },
60
60
  __experimentalLabel(attributes, { context }) {
61
61
  const customName = attributes?.metadata?.name;
62
- if (context === "list-view" && customName) {
62
+ if ((context === "list-view" || context === "breadcrumb") && customName) {
63
63
  return customName;
64
64
  }
65
65
  if (context === "accessibility") {