@wordpress/block-library 8.22.0 → 8.24.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 (266) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/block/edit.js +11 -13
  3. package/build/block/edit.js.map +1 -1
  4. package/build/block/edit.native.js +3 -4
  5. package/build/block/edit.native.js.map +1 -1
  6. package/build/button/edit.js +61 -9
  7. package/build/button/edit.js.map +1 -1
  8. package/build/code/transforms.js +20 -7
  9. package/build/code/transforms.js.map +1 -1
  10. package/build/column/edit.js +1 -1
  11. package/build/column/edit.js.map +1 -1
  12. package/build/column/edit.native.js +1 -1
  13. package/build/column/edit.native.js.map +1 -1
  14. package/build/comments/edit/comments-inspector-controls.js +1 -0
  15. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  16. package/build/cover/edit/index.js +2 -1
  17. package/build/cover/edit/index.js.map +1 -1
  18. package/build/cover/edit/inspector-controls.js +1 -0
  19. package/build/cover/edit/inspector-controls.js.map +1 -1
  20. package/build/details/edit.js +1 -2
  21. package/build/details/edit.js.map +1 -1
  22. package/build/file/edit.js +8 -9
  23. package/build/file/edit.js.map +1 -1
  24. package/build/file/view.js +4 -6
  25. package/build/file/view.js.map +1 -1
  26. package/build/form/index.js +1 -1
  27. package/build/form/index.js.map +1 -1
  28. package/build/form-submit-button/edit.js +2 -1
  29. package/build/form-submit-button/edit.js.map +1 -1
  30. package/build/gallery/gap-styles.js +12 -7
  31. package/build/gallery/gap-styles.js.map +1 -1
  32. package/build/group/edit.js +4 -7
  33. package/build/group/edit.js.map +1 -1
  34. package/build/html/transforms.js +7 -2
  35. package/build/html/transforms.js.map +1 -1
  36. package/build/image/deprecated.js +8 -0
  37. package/build/image/deprecated.js.map +1 -1
  38. package/build/image/edit.js +17 -18
  39. package/build/image/edit.js.map +1 -1
  40. package/build/image/edit.native.js +22 -15
  41. package/build/image/edit.native.js.map +1 -1
  42. package/build/image/image.js +35 -27
  43. package/build/image/image.js.map +1 -1
  44. package/build/image/index.js +2 -3
  45. package/build/image/index.js.map +1 -1
  46. package/build/image/view.js +234 -266
  47. package/build/image/view.js.map +1 -1
  48. package/build/missing/index.js +1 -1
  49. package/build/navigation/edit/overlay-menu-preview.js +1 -1
  50. package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
  51. package/build/navigation/use-template-part-area-label.js +2 -1
  52. package/build/navigation/use-template-part-area-label.js.map +1 -1
  53. package/build/navigation/view.js +153 -176
  54. package/build/navigation/view.js.map +1 -1
  55. package/build/navigation-link/edit.js +1 -1
  56. package/build/navigation-link/edit.js.map +1 -1
  57. package/build/navigation-link/index.js +2 -1
  58. package/build/navigation-link/index.js.map +1 -1
  59. package/build/pattern/edit.js +2 -4
  60. package/build/pattern/edit.js.map +1 -1
  61. package/build/post-author/edit.js +0 -1
  62. package/build/post-author/edit.js.map +1 -1
  63. package/build/post-featured-image/edit.js +21 -6
  64. package/build/post-featured-image/edit.js.map +1 -1
  65. package/build/post-template/edit.js +2 -8
  66. package/build/post-template/edit.js.map +1 -1
  67. package/build/post-template/index.js +1 -1
  68. package/build/post-terms/edit.js +0 -2
  69. package/build/post-terms/edit.js.map +1 -1
  70. package/build/preformatted/transforms.js +1 -4
  71. package/build/preformatted/transforms.js.map +1 -1
  72. package/build/query/edit/query-content.js +1 -0
  73. package/build/query/edit/query-content.js.map +1 -1
  74. package/build/query/view.js +52 -60
  75. package/build/query/view.js.map +1 -1
  76. package/build/quote/index.js +6 -0
  77. package/build/quote/index.js.map +1 -1
  78. package/build/search/view.js +66 -74
  79. package/build/search/view.js.map +1 -1
  80. package/build/template-part/edit/advanced-controls.js +1 -0
  81. package/build/template-part/edit/advanced-controls.js.map +1 -1
  82. package/build/template-part/edit/index.js +3 -7
  83. package/build/template-part/edit/index.js.map +1 -1
  84. package/build/template-part/index.js +6 -2
  85. package/build/template-part/index.js.map +1 -1
  86. package/build/template-part/variations.js +5 -1
  87. package/build/template-part/variations.js.map +1 -1
  88. package/build/utils/remove-anchor-tag.js +17 -0
  89. package/build/utils/remove-anchor-tag.js.map +1 -0
  90. package/build-module/block/edit.js +11 -13
  91. package/build-module/block/edit.js.map +1 -1
  92. package/build-module/block/edit.native.js +3 -4
  93. package/build-module/block/edit.native.js.map +1 -1
  94. package/build-module/button/edit.js +65 -13
  95. package/build-module/button/edit.js.map +1 -1
  96. package/build-module/code/transforms.js +20 -7
  97. package/build-module/code/transforms.js.map +1 -1
  98. package/build-module/column/edit.js +1 -1
  99. package/build-module/column/edit.js.map +1 -1
  100. package/build-module/column/edit.native.js +1 -1
  101. package/build-module/column/edit.native.js.map +1 -1
  102. package/build-module/comments/edit/comments-inspector-controls.js +1 -0
  103. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  104. package/build-module/cover/edit/index.js +2 -1
  105. package/build-module/cover/edit/index.js.map +1 -1
  106. package/build-module/cover/edit/inspector-controls.js +1 -0
  107. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  108. package/build-module/details/edit.js +1 -2
  109. package/build-module/details/edit.js.map +1 -1
  110. package/build-module/file/edit.js +8 -9
  111. package/build-module/file/edit.js.map +1 -1
  112. package/build-module/file/view.js +5 -7
  113. package/build-module/file/view.js.map +1 -1
  114. package/build-module/form/index.js +1 -1
  115. package/build-module/form/index.js.map +1 -1
  116. package/build-module/form-submit-button/edit.js +2 -1
  117. package/build-module/form-submit-button/edit.js.map +1 -1
  118. package/build-module/gallery/gap-styles.js +13 -8
  119. package/build-module/gallery/gap-styles.js.map +1 -1
  120. package/build-module/group/edit.js +4 -7
  121. package/build-module/group/edit.js.map +1 -1
  122. package/build-module/html/transforms.js +7 -2
  123. package/build-module/html/transforms.js.map +1 -1
  124. package/build-module/image/deprecated.js +8 -0
  125. package/build-module/image/deprecated.js.map +1 -1
  126. package/build-module/image/edit.js +18 -19
  127. package/build-module/image/edit.js.map +1 -1
  128. package/build-module/image/edit.native.js +23 -16
  129. package/build-module/image/edit.native.js.map +1 -1
  130. package/build-module/image/image.js +36 -28
  131. package/build-module/image/image.js.map +1 -1
  132. package/build-module/image/index.js +2 -3
  133. package/build-module/image/index.js.map +1 -1
  134. package/build-module/image/view.js +235 -267
  135. package/build-module/image/view.js.map +1 -1
  136. package/build-module/missing/index.js +1 -1
  137. package/build-module/navigation/edit/overlay-menu-preview.js +1 -1
  138. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
  139. package/build-module/navigation/use-template-part-area-label.js +2 -1
  140. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  141. package/build-module/navigation/view.js +154 -177
  142. package/build-module/navigation/view.js.map +1 -1
  143. package/build-module/navigation-link/edit.js +2 -2
  144. package/build-module/navigation-link/edit.js.map +1 -1
  145. package/build-module/navigation-link/index.js +2 -1
  146. package/build-module/navigation-link/index.js.map +1 -1
  147. package/build-module/pattern/edit.js +2 -4
  148. package/build-module/pattern/edit.js.map +1 -1
  149. package/build-module/post-author/edit.js +0 -1
  150. package/build-module/post-author/edit.js.map +1 -1
  151. package/build-module/post-featured-image/edit.js +21 -6
  152. package/build-module/post-featured-image/edit.js.map +1 -1
  153. package/build-module/post-template/edit.js +2 -8
  154. package/build-module/post-template/edit.js.map +1 -1
  155. package/build-module/post-template/index.js +1 -1
  156. package/build-module/post-terms/edit.js +0 -2
  157. package/build-module/post-terms/edit.js.map +1 -1
  158. package/build-module/preformatted/transforms.js +1 -4
  159. package/build-module/preformatted/transforms.js.map +1 -1
  160. package/build-module/query/edit/query-content.js +1 -0
  161. package/build-module/query/edit/query-content.js.map +1 -1
  162. package/build-module/query/view.js +53 -61
  163. package/build-module/query/view.js.map +1 -1
  164. package/build-module/quote/index.js +6 -0
  165. package/build-module/quote/index.js.map +1 -1
  166. package/build-module/search/view.js +67 -75
  167. package/build-module/search/view.js.map +1 -1
  168. package/build-module/template-part/edit/advanced-controls.js +1 -0
  169. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  170. package/build-module/template-part/edit/index.js +5 -9
  171. package/build-module/template-part/edit/index.js.map +1 -1
  172. package/build-module/template-part/index.js +6 -2
  173. package/build-module/template-part/index.js.map +1 -1
  174. package/build-module/template-part/variations.js +5 -1
  175. package/build-module/template-part/variations.js.map +1 -1
  176. package/build-module/utils/remove-anchor-tag.js +11 -0
  177. package/build-module/utils/remove-anchor-tag.js.map +1 -0
  178. package/build-style/cover/style-rtl.css +14 -14
  179. package/build-style/cover/style.css +14 -14
  180. package/build-style/editor-rtl.css +15 -6
  181. package/build-style/editor.css +15 -6
  182. package/build-style/gallery/style-rtl.css +28 -0
  183. package/build-style/gallery/style.css +28 -0
  184. package/build-style/image/style-rtl.css +19 -13
  185. package/build-style/image/style.css +19 -13
  186. package/build-style/post-featured-image/editor-rtl.css +9 -0
  187. package/build-style/post-featured-image/editor.css +9 -0
  188. package/build-style/quote/style-rtl.css +3 -0
  189. package/build-style/quote/style.css +3 -0
  190. package/build-style/read-more/style-rtl.css +2 -2
  191. package/build-style/read-more/style.css +2 -2
  192. package/build-style/style-rtl.css +66 -29
  193. package/build-style/style.css +66 -29
  194. package/package.json +32 -32
  195. package/src/block/edit.js +20 -20
  196. package/src/block/edit.native.js +5 -13
  197. package/src/button/edit.js +76 -10
  198. package/src/buttons/test/__snapshots__/edit.native.js.snap +0 -6
  199. package/src/buttons/test/edit.native.js +0 -27
  200. package/src/code/transforms.js +14 -8
  201. package/src/column/edit.js +1 -1
  202. package/src/column/edit.native.js +1 -1
  203. package/src/comments/edit/comments-inspector-controls.js +1 -0
  204. package/src/cover/edit/index.js +1 -0
  205. package/src/cover/edit/inspector-controls.js +1 -0
  206. package/src/cover/style.scss +1 -1
  207. package/src/cover/test/edit.js +1 -1
  208. package/src/details/edit.js +0 -1
  209. package/src/editor.scss +6 -6
  210. package/src/file/edit.js +11 -10
  211. package/src/file/index.php +30 -11
  212. package/src/file/view.js +5 -7
  213. package/src/form/index.js +1 -1
  214. package/src/form-submit-button/edit.js +1 -0
  215. package/src/gallery/gap-styles.js +10 -9
  216. package/src/gallery/style.scss +1 -0
  217. package/src/group/edit.js +4 -11
  218. package/src/heading/test/__snapshots__/index.native.js.snap +6 -0
  219. package/src/heading/test/index.native.js +40 -0
  220. package/src/html/transforms.js +5 -2
  221. package/src/image/block.json +2 -3
  222. package/src/image/deprecated.js +8 -0
  223. package/src/image/edit.js +16 -21
  224. package/src/image/edit.native.js +17 -18
  225. package/src/image/image.js +48 -51
  226. package/src/image/index.php +57 -49
  227. package/src/image/style.scss +18 -13
  228. package/src/image/view.js +281 -324
  229. package/src/missing/block.json +1 -1
  230. package/src/navigation/edit/overlay-menu-preview.js +1 -1
  231. package/src/navigation/index.php +46 -402
  232. package/src/navigation/use-template-part-area-label.js +4 -2
  233. package/src/navigation/view.js +159 -192
  234. package/src/navigation-link/block.json +2 -1
  235. package/src/navigation-link/edit.js +2 -2
  236. package/src/navigation-link/index.php +57 -0
  237. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +6 -0
  238. package/src/paragraph/test/edit.native.js +37 -1
  239. package/src/paragraph/test/transforms.native.js +1 -0
  240. package/src/pattern/edit.js +7 -4
  241. package/src/pattern/index.php +6 -1
  242. package/src/post-author/edit.js +0 -1
  243. package/src/post-featured-image/edit.js +38 -5
  244. package/src/post-featured-image/editor.scss +19 -0
  245. package/src/post-template/block.json +0 -1
  246. package/src/post-template/edit.js +1 -5
  247. package/src/post-terms/edit.js +0 -2
  248. package/src/preformatted/transforms.js +1 -4
  249. package/src/query/edit/query-content.js +1 -0
  250. package/src/query/index.php +42 -24
  251. package/src/query/view.js +58 -65
  252. package/src/query-pagination-next/index.php +3 -3
  253. package/src/query-pagination-numbers/index.php +1 -1
  254. package/src/query-pagination-previous/index.php +3 -3
  255. package/src/quote/block.json +6 -0
  256. package/src/quote/style.scss +4 -0
  257. package/src/read-more/style.scss +1 -1
  258. package/src/search/index.php +40 -40
  259. package/src/search/view.js +58 -63
  260. package/src/template-part/edit/advanced-controls.js +1 -0
  261. package/src/template-part/edit/index.js +7 -14
  262. package/src/template-part/index.js +4 -3
  263. package/src/template-part/index.php +4 -4
  264. package/src/template-part/variations.js +4 -2
  265. package/src/utils/remove-anchor-tag.js +10 -0
  266. package/tsconfig.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_interactivity","require","focusableSelectors","document","addEventListener","openMenu","store","menuOpenedOn","context","selectors","core","navigation","menuOpenedBy","type","documentElement","classList","add","closeMenu","menuClosedOn","isMenuOpen","modal","contains","window","activeElement","previousFocus","focus","remove","wpStore","effects","initMenu","ref","focusableElements","querySelectorAll","firstFocusableElement","lastFocusableElement","length","focusFirstElement","querySelector","roleAttribute","ariaModal","ariaLabel","Object","values","filter","Boolean","actions","openMenuOnHover","overlayOpenedBy","closeMenuOnHover","openMenuOnClick","closeMenuOnClick","openMenuOnFocus","toggleMenuOnClick","click","handleMenuKeydown","event","key","shiftKey","preventDefault","handleMenuFocusout","relatedTarget","target"],"sources":["@wordpress/block-library/src/navigation/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as wpStore } from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n// This is a fix for Safari in iOS/iPadOS. Without it, Safari doesn't focus out\n// when the user taps in the body. It can be removed once we add an overlay to\n// capture the clicks, instead of relying on the focusout event.\ndocument.addEventListener( 'click', () => {} );\n\nconst openMenu = ( store, menuOpenedOn ) => {\n\tconst { context, selectors } = store;\n\tselectors.core.navigation.menuOpenedBy( store )[ menuOpenedOn ] = true;\n\tif ( context.core.navigation.type === 'overlay' ) {\n\t\t// Add a `has-modal-open` class to the <html> root.\n\t\tdocument.documentElement.classList.add( 'has-modal-open' );\n\t}\n};\n\nconst closeMenu = ( store, menuClosedOn ) => {\n\tconst { context, selectors } = store;\n\tselectors.core.navigation.menuOpenedBy( store )[ menuClosedOn ] = false;\n\t// Check if the menu is still open or not.\n\tif ( ! selectors.core.navigation.isMenuOpen( store ) ) {\n\t\tif (\n\t\t\tcontext.core.navigation.modal?.contains(\n\t\t\t\twindow.document.activeElement\n\t\t\t)\n\t\t) {\n\t\t\tcontext.core.navigation.previousFocus?.focus();\n\t\t}\n\t\tcontext.core.navigation.modal = null;\n\t\tcontext.core.navigation.previousFocus = null;\n\t\tif ( context.core.navigation.type === 'overlay' ) {\n\t\t\tdocument.documentElement.classList.remove( 'has-modal-open' );\n\t\t}\n\t}\n};\n\nwpStore( {\n\teffects: {\n\t\tcore: {\n\t\t\tnavigation: {\n\t\t\t\tinitMenu: ( store ) => {\n\t\t\t\t\tconst { context, selectors, ref } = store;\n\t\t\t\t\tif ( selectors.core.navigation.isMenuOpen( store ) ) {\n\t\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\t\tcontext.core.navigation.modal = ref;\n\t\t\t\t\t\tcontext.core.navigation.firstFocusableElement =\n\t\t\t\t\t\t\tfocusableElements[ 0 ];\n\t\t\t\t\t\tcontext.core.navigation.lastFocusableElement =\n\t\t\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tfocusFirstElement: ( store ) => {\n\t\t\t\t\tconst { selectors, ref } = store;\n\t\t\t\t\tif ( selectors.core.navigation.isMenuOpen( store ) ) {\n\t\t\t\t\t\tref.querySelector(\n\t\t\t\t\t\t\t'.wp-block-navigation-item > *:first-child'\n\t\t\t\t\t\t).focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tselectors: {\n\t\tcore: {\n\t\t\tnavigation: {\n\t\t\t\troleAttribute: ( store ) => {\n\t\t\t\t\tconst { context, selectors } = store;\n\t\t\t\t\treturn context.core.navigation.type === 'overlay' &&\n\t\t\t\t\t\tselectors.core.navigation.isMenuOpen( store )\n\t\t\t\t\t\t? 'dialog'\n\t\t\t\t\t\t: null;\n\t\t\t\t},\n\t\t\t\tariaModal: ( store ) => {\n\t\t\t\t\tconst { context, selectors } = store;\n\t\t\t\t\treturn context.core.navigation.type === 'overlay' &&\n\t\t\t\t\t\tselectors.core.navigation.isMenuOpen( store )\n\t\t\t\t\t\t? 'true'\n\t\t\t\t\t\t: null;\n\t\t\t\t},\n\t\t\t\tariaLabel: ( store ) => {\n\t\t\t\t\tconst { context, selectors } = store;\n\t\t\t\t\treturn context.core.navigation.type === 'overlay' &&\n\t\t\t\t\t\tselectors.core.navigation.isMenuOpen( store )\n\t\t\t\t\t\t? context.core.navigation.ariaLabel\n\t\t\t\t\t\t: null;\n\t\t\t\t},\n\t\t\t\tisMenuOpen: ( { context } ) =>\n\t\t\t\t\t// The menu is opened if either `click`, `hover` or `focus` is true.\n\t\t\t\t\tObject.values(\n\t\t\t\t\t\tcontext.core.navigation[\n\t\t\t\t\t\t\tcontext.core.navigation.type === 'overlay'\n\t\t\t\t\t\t\t\t? 'overlayOpenedBy'\n\t\t\t\t\t\t\t\t: 'submenuOpenedBy'\n\t\t\t\t\t\t]\n\t\t\t\t\t).filter( Boolean ).length > 0,\n\t\t\t\tmenuOpenedBy: ( { context } ) =>\n\t\t\t\t\tcontext.core.navigation[\n\t\t\t\t\t\tcontext.core.navigation.type === 'overlay'\n\t\t\t\t\t\t\t? 'overlayOpenedBy'\n\t\t\t\t\t\t\t: 'submenuOpenedBy'\n\t\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n\tactions: {\n\t\tcore: {\n\t\t\tnavigation: {\n\t\t\t\topenMenuOnHover( store ) {\n\t\t\t\t\tconst { navigation } = store.context.core;\n\t\t\t\t\tif (\n\t\t\t\t\t\tnavigation.type === 'submenu' &&\n\t\t\t\t\t\t// Only open on hover if the overlay is closed.\n\t\t\t\t\t\tObject.values(\n\t\t\t\t\t\t\tnavigation.overlayOpenedBy || {}\n\t\t\t\t\t\t).filter( Boolean ).length === 0\n\t\t\t\t\t)\n\t\t\t\t\t\topenMenu( store, 'hover' );\n\t\t\t\t},\n\t\t\t\tcloseMenuOnHover( store ) {\n\t\t\t\t\tcloseMenu( store, 'hover' );\n\t\t\t\t},\n\t\t\t\topenMenuOnClick( store ) {\n\t\t\t\t\tconst { context, ref } = store;\n\t\t\t\t\tcontext.core.navigation.previousFocus = ref;\n\t\t\t\t\topenMenu( store, 'click' );\n\t\t\t\t},\n\t\t\t\tcloseMenuOnClick( store ) {\n\t\t\t\t\tcloseMenu( store, 'click' );\n\t\t\t\t\tcloseMenu( store, 'focus' );\n\t\t\t\t},\n\t\t\t\topenMenuOnFocus( store ) {\n\t\t\t\t\topenMenu( store, 'focus' );\n\t\t\t\t},\n\t\t\t\ttoggleMenuOnClick: ( store ) => {\n\t\t\t\t\tconst { selectors, context, ref } = store;\n\t\t\t\t\t// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261\n\t\t\t\t\tif ( window.document.activeElement !== ref ) ref.focus();\n\t\t\t\t\tconst menuOpenedBy =\n\t\t\t\t\t\tselectors.core.navigation.menuOpenedBy( store );\n\t\t\t\t\tif ( menuOpenedBy.click || menuOpenedBy.focus ) {\n\t\t\t\t\t\tcloseMenu( store, 'click' );\n\t\t\t\t\t\tcloseMenu( store, 'focus' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.core.navigation.previousFocus = ref;\n\t\t\t\t\t\topenMenu( store, 'click' );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\thandleMenuKeydown: ( store ) => {\n\t\t\t\t\tconst { context, selectors, event } = store;\n\t\t\t\t\tif (\n\t\t\t\t\t\tselectors.core.navigation.menuOpenedBy( store ).click\n\t\t\t\t\t) {\n\t\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\t\t\t\tcloseMenu( store, 'click' );\n\t\t\t\t\t\t\tcloseMenu( store, 'focus' );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Trap focus if it is an overlay (main menu).\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcontext.core.navigation.type === 'overlay' &&\n\t\t\t\t\t\t\tevent.key === 'Tab'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// If shift + tab it change the direction.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\t\tcontext.core.navigation\n\t\t\t\t\t\t\t\t\t\t.firstFocusableElement\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tcontext.core.navigation.lastFocusableElement.focus();\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\t\tcontext.core.navigation.lastFocusableElement\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tcontext.core.navigation.firstFocusableElement.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\thandleMenuFocusout: ( store ) => {\n\t\t\t\t\tconst { context, event } = store;\n\t\t\t\t\t// If focus is outside modal, and in the document, close menu\n\t\t\t\t\t// event.target === The element losing focus\n\t\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t\t// When focusout is outsite the document,\n\t\t\t\t\t// `window.document.activeElement` doesn't change.\n\n\t\t\t\t\t// The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari.\n\t\t\t\t\tif (\n\t\t\t\t\t\tevent.relatedTarget === null ||\n\t\t\t\t\t\t( ! context.core.navigation.modal?.contains(\n\t\t\t\t\t\t\tevent.relatedTarget\n\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\tevent.target !== window.document.activeElement )\n\t\t\t\t\t) {\n\t\t\t\t\t\tcloseMenu( store, 'click' );\n\t\t\t\t\t\tcloseMenu( store, 'focus' );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n} );\n"],"mappings":"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"}
1
+ {"version":3,"names":["_interactivity","require","focusableSelectors","document","addEventListener","state","actions","store","roleAttribute","ctx","getContext","type","isMenuOpen","ariaModal","ariaLabel","Object","values","menuOpenedBy","filter","Boolean","length","overlayOpenedBy","submenuOpenedBy","openMenuOnHover","openMenu","closeMenuOnHover","closeMenu","openMenuOnClick","ref","getElement","previousFocus","closeMenuOnClick","openMenuOnFocus","toggleMenuOnClick","window","activeElement","focus","click","handleMenuKeydown","event","firstFocusableElement","lastFocusableElement","key","shiftKey","preventDefault","handleMenuFocusout","modal","relatedTarget","contains","target","menuOpenedOn","documentElement","classList","add","menuClosedOn","remove","callbacks","initMenu","focusableElements","querySelectorAll","focusFirstElement","querySelector"],"sources":["@wordpress/block-library/src/navigation/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store, getContext, getElement } from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n// This is a fix for Safari in iOS/iPadOS. Without it, Safari doesn't focus out\n// when the user taps in the body. It can be removed once we add an overlay to\n// capture the clicks, instead of relying on the focusout event.\ndocument.addEventListener( 'click', () => {} );\n\nconst { state, actions } = store( 'core/navigation', {\n\tstate: {\n\t\tget roleAttribute() {\n\t\t\tconst ctx = getContext();\n\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen ? 'dialog' : null;\n\t\t},\n\t\tget ariaModal() {\n\t\t\tconst ctx = getContext();\n\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen ? 'true' : null;\n\t\t},\n\t\tget ariaLabel() {\n\t\t\tconst ctx = getContext();\n\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t? ctx.ariaLabel\n\t\t\t\t: null;\n\t\t},\n\t\tget isMenuOpen() {\n\t\t\t// The menu is opened if either `click`, `hover` or `focus` is true.\n\t\t\treturn (\n\t\t\t\tObject.values( state.menuOpenedBy ).filter( Boolean ).length > 0\n\t\t\t);\n\t\t},\n\t\tget menuOpenedBy() {\n\t\t\tconst ctx = getContext();\n\t\t\treturn ctx.type === 'overlay'\n\t\t\t\t? ctx.overlayOpenedBy\n\t\t\t\t: ctx.submenuOpenedBy;\n\t\t},\n\t},\n\tactions: {\n\t\topenMenuOnHover() {\n\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\tif (\n\t\t\t\ttype === 'submenu' &&\n\t\t\t\t// Only open on hover if the overlay is closed.\n\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t.length === 0\n\t\t\t)\n\t\t\t\tactions.openMenu( 'hover' );\n\t\t},\n\t\tcloseMenuOnHover() {\n\t\t\tactions.closeMenu( 'hover' );\n\t\t},\n\t\topenMenuOnClick() {\n\t\t\tconst ctx = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\tctx.previousFocus = ref;\n\t\t\tactions.openMenu( 'click' );\n\t\t},\n\t\tcloseMenuOnClick() {\n\t\t\tactions.closeMenu( 'click' );\n\t\t\tactions.closeMenu( 'focus' );\n\t\t},\n\t\topenMenuOnFocus() {\n\t\t\tactions.openMenu( 'focus' );\n\t\t},\n\t\ttoggleMenuOnClick() {\n\t\t\tconst ctx = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\t// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261\n\t\t\tif ( window.document.activeElement !== ref ) ref.focus();\n\t\t\tconst { menuOpenedBy } = state;\n\t\t\tif ( menuOpenedBy.click || menuOpenedBy.focus ) {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t} else {\n\t\t\t\tctx.previousFocus = ref;\n\t\t\t\tactions.openMenu( 'click' );\n\t\t\t}\n\t\t},\n\t\thandleMenuKeydown( event ) {\n\t\t\tconst { type, firstFocusableElement, lastFocusableElement } =\n\t\t\t\tgetContext();\n\t\t\tif ( state.menuOpenedBy.click ) {\n\t\t\t\t// If Escape close the menu.\n\t\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Trap focus if it is an overlay (main menu).\n\t\t\t\tif ( type === 'overlay' && event.key === 'Tab' ) {\n\t\t\t\t\t// If shift + tab it change the direction.\n\t\t\t\t\tif (\n\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\twindow.document.activeElement === firstFocusableElement\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tlastFocusableElement.focus();\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\twindow.document.activeElement === lastFocusableElement\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tfirstFocusableElement.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thandleMenuFocusout( event ) {\n\t\t\tconst { modal } = getContext();\n\t\t\t// If focus is outside modal, and in the document, close menu\n\t\t\t// event.target === The element losing focus\n\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t// When focusout is outsite the document,\n\t\t\t// `window.document.activeElement` doesn't change.\n\n\t\t\t// The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari.\n\t\t\tif (\n\t\t\t\tevent.relatedTarget === null ||\n\t\t\t\t( ! modal?.contains( event.relatedTarget ) &&\n\t\t\t\t\tevent.target !== window.document.activeElement )\n\t\t\t) {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t}\n\t\t},\n\n\t\topenMenu( menuOpenedOn = 'click' ) {\n\t\t\tconst { type } = getContext();\n\t\t\tstate.menuOpenedBy[ menuOpenedOn ] = true;\n\t\t\tif ( type === 'overlay' ) {\n\t\t\t\t// Add a `has-modal-open` class to the <html> root.\n\t\t\t\tdocument.documentElement.classList.add( 'has-modal-open' );\n\t\t\t}\n\t\t},\n\n\t\tcloseMenu( menuClosedOn = 'click' ) {\n\t\t\tconst ctx = getContext();\n\t\t\tstate.menuOpenedBy[ menuClosedOn ] = false;\n\t\t\t// Check if the menu is still open or not.\n\t\t\tif ( ! state.isMenuOpen ) {\n\t\t\t\tif ( ctx.modal?.contains( window.document.activeElement ) ) {\n\t\t\t\t\tctx.previousFocus?.focus();\n\t\t\t\t}\n\t\t\t\tctx.modal = null;\n\t\t\t\tctx.previousFocus = null;\n\t\t\t\tif ( ctx.type === 'overlay' ) {\n\t\t\t\t\tdocument.documentElement.classList.remove(\n\t\t\t\t\t\t'has-modal-open'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tcallbacks: {\n\t\tinitMenu() {\n\t\t\tconst ctx = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\tconst focusableElements =\n\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\tctx.modal = ref;\n\t\t\t\tctx.firstFocusableElement = focusableElements[ 0 ];\n\t\t\t\tctx.lastFocusableElement =\n\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\t\t\t}\n\t\t},\n\t\tfocusFirstElement() {\n\t\t\tconst { ref } = getElement();\n\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\tref.querySelector(\n\t\t\t\t\t'.wp-block-navigation-item > *:first-child'\n\t\t\t\t).focus();\n\t\t\t}\n\t\t},\n\t},\n} );\n"],"mappings":";;AAGA,IAAAA,cAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA,MAAMC,kBAAkB,GAAG,CAC1B,SAAS,EACT,+DAA+D,EAC/D,2CAA2C,EAC3C,6CAA6C,EAC7C,2CAA2C,EAC3C,mBAAmB,EACnB,iCAAiC,CACjC;;AAED;AACA;AACA;AACAC,QAAQ,CAACC,gBAAgB,CAAE,OAAO,EAAE,MAAM,CAAC,CAAE,CAAC;AAE9C,MAAM;EAAEC,KAAK;EAAEC;AAAQ,CAAC,GAAG,IAAAC,oBAAK,EAAE,iBAAiB,EAAE;EACpDF,KAAK,EAAE;IACN,IAAIG,aAAaA,CAAA,EAAG;MACnB,MAAMC,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,OAAOD,GAAG,CAACE,IAAI,KAAK,SAAS,IAAIN,KAAK,CAACO,UAAU,GAAG,QAAQ,GAAG,IAAI;IACpE,CAAC;IACD,IAAIC,SAASA,CAAA,EAAG;MACf,MAAMJ,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,OAAOD,GAAG,CAACE,IAAI,KAAK,SAAS,IAAIN,KAAK,CAACO,UAAU,GAAG,MAAM,GAAG,IAAI;IAClE,CAAC;IACD,IAAIE,SAASA,CAAA,EAAG;MACf,MAAML,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,OAAOD,GAAG,CAACE,IAAI,KAAK,SAAS,IAAIN,KAAK,CAACO,UAAU,GAC9CH,GAAG,CAACK,SAAS,GACb,IAAI;IACR,CAAC;IACD,IAAIF,UAAUA,CAAA,EAAG;MAChB;MACA,OACCG,MAAM,CAACC,MAAM,CAAEX,KAAK,CAACY,YAAa,CAAC,CAACC,MAAM,CAAEC,OAAQ,CAAC,CAACC,MAAM,GAAG,CAAC;IAElE,CAAC;IACD,IAAIH,YAAYA,CAAA,EAAG;MAClB,MAAMR,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,OAAOD,GAAG,CAACE,IAAI,KAAK,SAAS,GAC1BF,GAAG,CAACY,eAAe,GACnBZ,GAAG,CAACa,eAAe;IACvB;EACD,CAAC;EACDhB,OAAO,EAAE;IACRiB,eAAeA,CAAA,EAAG;MACjB,MAAM;QAAEZ,IAAI;QAAEU;MAAgB,CAAC,GAAG,IAAAX,yBAAU,EAAC,CAAC;MAC9C,IACCC,IAAI,KAAK,SAAS;MAClB;MACAI,MAAM,CAACC,MAAM,CAAEK,eAAe,IAAI,CAAC,CAAE,CAAC,CAACH,MAAM,CAAEC,OAAQ,CAAC,CACtDC,MAAM,KAAK,CAAC,EAEdd,OAAO,CAACkB,QAAQ,CAAE,OAAQ,CAAC;IAC7B,CAAC;IACDC,gBAAgBA,CAAA,EAAG;MAClBnB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;IAC7B,CAAC;IACDC,eAAeA,CAAA,EAAG;MACjB,MAAMlB,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,MAAM;QAAEkB;MAAI,CAAC,GAAG,IAAAC,yBAAU,EAAC,CAAC;MAC5BpB,GAAG,CAACqB,aAAa,GAAGF,GAAG;MACvBtB,OAAO,CAACkB,QAAQ,CAAE,OAAQ,CAAC;IAC5B,CAAC;IACDO,gBAAgBA,CAAA,EAAG;MAClBzB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;MAC5BpB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;IAC7B,CAAC;IACDM,eAAeA,CAAA,EAAG;MACjB1B,OAAO,CAACkB,QAAQ,CAAE,OAAQ,CAAC;IAC5B,CAAC;IACDS,iBAAiBA,CAAA,EAAG;MACnB,MAAMxB,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,MAAM;QAAEkB;MAAI,CAAC,GAAG,IAAAC,yBAAU,EAAC,CAAC;MAC5B;MACA,IAAKK,MAAM,CAAC/B,QAAQ,CAACgC,aAAa,KAAKP,GAAG,EAAGA,GAAG,CAACQ,KAAK,CAAC,CAAC;MACxD,MAAM;QAAEnB;MAAa,CAAC,GAAGZ,KAAK;MAC9B,IAAKY,YAAY,CAACoB,KAAK,IAAIpB,YAAY,CAACmB,KAAK,EAAG;QAC/C9B,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;QAC5BpB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;MAC7B,CAAC,MAAM;QACNjB,GAAG,CAACqB,aAAa,GAAGF,GAAG;QACvBtB,OAAO,CAACkB,QAAQ,CAAE,OAAQ,CAAC;MAC5B;IACD,CAAC;IACDc,iBAAiBA,CAAEC,KAAK,EAAG;MAC1B,MAAM;QAAE5B,IAAI;QAAE6B,qBAAqB;QAAEC;MAAqB,CAAC,GAC1D,IAAA/B,yBAAU,EAAC,CAAC;MACb,IAAKL,KAAK,CAACY,YAAY,CAACoB,KAAK,EAAG;QAC/B;QACA,IAAKE,KAAK,EAAEG,GAAG,KAAK,QAAQ,EAAG;UAC9BpC,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;UAC5BpB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;UAC5B;QACD;;QAEA;QACA,IAAKf,IAAI,KAAK,SAAS,IAAI4B,KAAK,CAACG,GAAG,KAAK,KAAK,EAAG;UAChD;UACA,IACCH,KAAK,CAACI,QAAQ,IACdT,MAAM,CAAC/B,QAAQ,CAACgC,aAAa,KAAKK,qBAAqB,EACtD;YACDD,KAAK,CAACK,cAAc,CAAC,CAAC;YACtBH,oBAAoB,CAACL,KAAK,CAAC,CAAC;UAC7B,CAAC,MAAM,IACN,CAAEG,KAAK,CAACI,QAAQ,IAChBT,MAAM,CAAC/B,QAAQ,CAACgC,aAAa,KAAKM,oBAAoB,EACrD;YACDF,KAAK,CAACK,cAAc,CAAC,CAAC;YACtBJ,qBAAqB,CAACJ,KAAK,CAAC,CAAC;UAC9B;QACD;MACD;IACD,CAAC;IACDS,kBAAkBA,CAAEN,KAAK,EAAG;MAC3B,MAAM;QAAEO;MAAM,CAAC,GAAG,IAAApC,yBAAU,EAAC,CAAC;MAC9B;MACA;MACA;MACA;MACA;;MAEA;MACA,IACC6B,KAAK,CAACQ,aAAa,KAAK,IAAI,IAC1B,CAAED,KAAK,EAAEE,QAAQ,CAAET,KAAK,CAACQ,aAAc,CAAC,IACzCR,KAAK,CAACU,MAAM,KAAKf,MAAM,CAAC/B,QAAQ,CAACgC,aAAe,EAChD;QACD7B,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;QAC5BpB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;MAC7B;IACD,CAAC;IAEDF,QAAQA,CAAE0B,YAAY,GAAG,OAAO,EAAG;MAClC,MAAM;QAAEvC;MAAK,CAAC,GAAG,IAAAD,yBAAU,EAAC,CAAC;MAC7BL,KAAK,CAACY,YAAY,CAAEiC,YAAY,CAAE,GAAG,IAAI;MACzC,IAAKvC,IAAI,KAAK,SAAS,EAAG;QACzB;QACAR,QAAQ,CAACgD,eAAe,CAACC,SAAS,CAACC,GAAG,CAAE,gBAAiB,CAAC;MAC3D;IACD,CAAC;IAED3B,SAASA,CAAE4B,YAAY,GAAG,OAAO,EAAG;MACnC,MAAM7C,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxBL,KAAK,CAACY,YAAY,CAAEqC,YAAY,CAAE,GAAG,KAAK;MAC1C;MACA,IAAK,CAAEjD,KAAK,CAACO,UAAU,EAAG;QACzB,IAAKH,GAAG,CAACqC,KAAK,EAAEE,QAAQ,CAAEd,MAAM,CAAC/B,QAAQ,CAACgC,aAAc,CAAC,EAAG;UAC3D1B,GAAG,CAACqB,aAAa,EAAEM,KAAK,CAAC,CAAC;QAC3B;QACA3B,GAAG,CAACqC,KAAK,GAAG,IAAI;QAChBrC,GAAG,CAACqB,aAAa,GAAG,IAAI;QACxB,IAAKrB,GAAG,CAACE,IAAI,KAAK,SAAS,EAAG;UAC7BR,QAAQ,CAACgD,eAAe,CAACC,SAAS,CAACG,MAAM,CACxC,gBACD,CAAC;QACF;MACD;IACD;EACD,CAAC;EACDC,SAAS,EAAE;IACVC,QAAQA,CAAA,EAAG;MACV,MAAMhD,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,MAAM;QAAEkB;MAAI,CAAC,GAAG,IAAAC,yBAAU,EAAC,CAAC;MAC5B,IAAKxB,KAAK,CAACO,UAAU,EAAG;QACvB,MAAM8C,iBAAiB,GACtB9B,GAAG,CAAC+B,gBAAgB,CAAEzD,kBAAmB,CAAC;QAC3CO,GAAG,CAACqC,KAAK,GAAGlB,GAAG;QACfnB,GAAG,CAAC+B,qBAAqB,GAAGkB,iBAAiB,CAAE,CAAC,CAAE;QAClDjD,GAAG,CAACgC,oBAAoB,GACvBiB,iBAAiB,CAAEA,iBAAiB,CAACtC,MAAM,GAAG,CAAC,CAAE;MACnD;IACD,CAAC;IACDwC,iBAAiBA,CAAA,EAAG;MACnB,MAAM;QAAEhC;MAAI,CAAC,GAAG,IAAAC,yBAAU,EAAC,CAAC;MAC5B,IAAKxB,KAAK,CAACO,UAAU,EAAG;QACvBgB,GAAG,CAACiC,aAAa,CAChB,2CACD,CAAC,CAACzB,KAAK,CAAC,CAAC;MACV;IACD;EACD;AACD,CAAE,CAAC"}
@@ -365,7 +365,7 @@ function NavigationLinkEdit({
365
365
  onBlur: () => setIsLabelFieldFocused(false)
366
366
  }), (0, _react.createElement)(_components.TextControl, {
367
367
  __nextHasNoMarginBottom: true,
368
- value: url || '',
368
+ value: url ? (0, _url.safeDecodeURI)(url) : '',
369
369
  onChange: urlValue => {
370
370
  (0, _updateAttributes.updateAttributes)({
371
371
  url: urlValue
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_blocks","_data","_components","_keycodes","_i18n","_blockEditor","_url","_element","_dom","_htmlEntities","_icons","_coreData","_compose","_linkUi","_updateAttributes","_utils","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","useState","useEffect","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","useIsInvalidLink","kind","type","id","isPostType","hasId","Number","isInteger","postStatus","useSelect","select","getEntityRecord","coreStore","status","isInvalid","isDraft","getMissingText","missingText","__","NavigationLinkEdit","attributes","isSelected","setAttributes","insertBlocksAfter","mergeBlocks","onReplace","context","clientId","label","url","description","rel","title","maxNestingLevel","replaceBlock","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","isLinkOpen","setIsLinkOpen","popoverAnchor","setPopoverAnchor","listItemRef","useRef","itemLabelPlaceholder","ref","isLabelFieldFocused","setIsLabelFieldFocused","innerBlocks","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","hasChildren","getBlocks","getBlockCount","getBlockName","getBlockRootClientId","hasSelectedInnerBlock","getBlockParentsByBlockName","length","transformToSubmenu","newSubmenu","createBlock","isURL","prependHTTP","test","selectLabelText","placeCaretAtHorizontalEdge","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","undefined","opensInNewTab","textColor","customTextColor","backgroundColor","customBackgroundColor","getColors","onKeyDown","isKeyboardEvent","primary","keyCode","ENTER","blockProps","useBlockProps","useMergeRefs","className","classnames","getColorClassName","style","color","ALLOWED_BLOCKS","DEFAULT_BLOCK","name","innerBlocksProps","useInnerBlocksProps","allowedBlocks","defaultBlock","directInsert","renderAppender","onClick","classes","placeholderText","tooltipText","_react","createElement","Fragment","BlockControls","ToolbarGroup","ToolbarButton","icon","linkIcon","shortcut","displayShortcut","addSubmenu","InspectorControls","PanelBody","TextControl","__nextHasNoMarginBottom","value","stripHTML","onChange","labelValue","autoComplete","onFocus","onBlur","urlValue","updateAttributes","TextareaControl","descriptionValue","help","titleValue","relValue","Tooltip","text","RichText","identifier","onMerge","__unstableOnSplitAtEnd","placeholder","withoutInteractiveFormatting","allowedFormats","decodeEntities","trim","LinkUI","link","onClose","anchor","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tTooltip,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport {\n\tplaceCaretAtHorizontalEdge,\n\t__unstableStripHTML as stripHTML,\n} from '@wordpress/dom';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { link as linkIcon, addSubmenu } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { LinkUI } from './link-ui';\nimport { updateAttributes } from './update-attributes';\nimport { getColors } from '../navigation/edit/utils';\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [] );\n\n\treturn isDraggingWithin;\n};\n\nconst useIsInvalidLink = ( kind, type, id ) => {\n\tconst isPostType =\n\t\tkind === 'post-type' || type === 'post' || type === 'page';\n\tconst hasId = Number.isInteger( id );\n\tconst postStatus = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isPostType ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\treturn getEntityRecord( 'postType', type, id )?.status;\n\t\t},\n\t\t[ isPostType, type, id ]\n\t);\n\n\t// Check Navigation Link validity if:\n\t// 1. Link is 'post-type'.\n\t// 2. It has an id.\n\t// 3. It's neither null, nor undefined, as valid items might be either of those while loading.\n\t// If those conditions are met, check if\n\t// 1. The post status is published.\n\t// 2. The Navigation Link item has no label.\n\t// If either of those is true, invalidate.\n\tconst isInvalid =\n\t\tisPostType && hasId && postStatus && 'trash' === postStatus;\n\tconst isDraft = 'draft' === postStatus;\n\n\treturn [ isInvalid, isDraft ];\n};\n\nfunction getMissingText( type ) {\n\tlet missingText = '';\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn missingText;\n}\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { id, label, type, url, description, rel, title, kind } = attributes;\n\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink( kind, type, id );\n\tconst { maxNestingLevel } = context;\n\n\tconst { replaceBlock, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( false );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add label…' );\n\tconst ref = useRef();\n\n\t// Change the label using inspector causes rich text to change focus on firefox.\n\t// This is a workaround to keep the focus on the label field when label filed is focused we don't render the rich text.\n\tconst [ isLabelFieldFocused, setIsLabelFieldFocused ] = useState( false );\n\n\tconst {\n\t\tinnerBlocks,\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\thasChildren,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, [\n\t\t\t\t\t\t'core/navigation-link',\n\t\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\t] ).length >= maxNestingLevel,\n\t\t\t\tisTopLevelLink:\n\t\t\t\t\tgetBlockName( getBlockRootClientId( clientId ) ) ===\n\t\t\t\t\t'core/navigation',\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t/**\n\t * Transform to submenu block.\n\t */\n\tfunction transformToSubmenu() {\n\t\tconst newSubmenu = createBlock(\n\t\t\t'core/navigation-submenu',\n\t\t\tattributes,\n\t\t\tinnerBlocks.length > 0\n\t\t\t\t? innerBlocks\n\t\t\t\t: [ createBlock( 'core/navigation-link' ) ]\n\t\t);\n\t\treplaceBlock( clientId, newSubmenu );\n\t}\n\n\tuseEffect( () => {\n\t\t// Show the LinkControl on mount if the URL is empty\n\t\t// ( When adding a new menu item)\n\t\t// This can't be done in the useState call because it conflicts\n\t\t// with the autofocus behavior of the BlockListBlock component.\n\t\tif ( ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}, [ url ] );\n\n\tuseEffect( () => {\n\t\t// If block has inner blocks, transform to Submenu.\n\t\tif ( hasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToSubmenu();\n\t\t}\n\t}, [ hasChildren ] );\n\n\t/**\n\t * The hook shouldn't be necessary but due to a focus loss happening\n\t * when selecting a suggestion in the link popover, we force close on block unselection.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsLinkOpen( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\tif ( isLinkOpen && url ) {\n\t\t\t// Does this look like a URL and have something TLD-ish?\n\t\t\tif (\n\t\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t\t) {\n\t\t\t\t// Focus and select the label text.\n\t\t\t\tselectLabelText();\n\t\t\t} else {\n\t\t\t\t// Focus it (but do not select).\n\t\t\t\tplaceCaretAtHorizontalEdge( ref.current, true );\n\t\t\t}\n\t\t}\n\t}, [ url ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\t// It is critical that all attributes are reset\n\t\t// to their default values otherwise this may\n\t\t// in advertently trigger side effects because\n\t\t// the values will have \"changed\".\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlabel: undefined,\n\t\t\tid: undefined,\n\t\t\tkind: undefined,\n\t\t\ttype: undefined,\n\t\t\topensInNewTab: false,\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelLink );\n\n\tfunction onKeyDown( event ) {\n\t\tif (\n\t\t\tisKeyboardEvent.primary( event, 'k' ) ||\n\t\t\t( ( ! url || isDraft || isInvalid ) && event.keyCode === ENTER )\n\t\t) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: classnames( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\tconst ALLOWED_BLOCKS = [\n\t\t'core/navigation-link',\n\t\t'core/navigation-submenu',\n\t\t'core/page-list',\n\t];\n\tconst DEFAULT_BLOCK = {\n\t\tname: 'core/navigation-link',\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\t...blockProps,\n\t\t\tclassName: 'remove-outline', // Remove the outline from the inner blocks container.\n\t\t},\n\t\t{\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t\tdirectInsert: true,\n\t\t\trenderAppender: false,\n\t\t}\n\t);\n\n\tif ( ! url || isInvalid || isDraft ) {\n\t\tblockProps.onClick = () => setIsLinkOpen( true );\n\t}\n\n\tconst classes = classnames( 'wp-block-navigation-item__content', {\n\t\t'wp-block-navigation-link__placeholder': ! url || isInvalid || isDraft,\n\t} );\n\n\tconst missingText = getMissingText( type );\n\t/* translators: Whether the navigation link is Invalid or a Draft. */\n\tconst placeholderText = `(${\n\t\tisInvalid ? __( 'Invalid' ) : __( 'Draft' )\n\t})`;\n\tconst tooltipText =\n\t\tisInvalid || isDraft\n\t\t\t? __( 'This item has been deleted, or is a draft' )\n\t\t\t: __( 'This item is missing a link' );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ () => setIsLinkOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isAtMaxNesting && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"submenu\"\n\t\t\t\t\t\t\ticon={ addSubmenu }\n\t\t\t\t\t\t\ttitle={ __( 'Add submenu' ) }\n\t\t\t\t\t\t\tonClick={ transformToSubmenu }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ /* Warning, this duplicated in packages/block-library/src/navigation-submenu/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ label ? stripHTML( label ) : '' }\n\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tonFocus={ () => setIsLabelFieldFocused( true ) }\n\t\t\t\t\t\tonBlur={ () => setIsLabelFieldFocused( false ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ url || '' }\n\t\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t{ url: urlValue },\n\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'URL' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { description: descriptionValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Additional information to help clarify the purpose of the link.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<a className={ classes }>\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{ ! url ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<Tooltip text={ tooltipText }>\n\t\t\t\t\t\t\t\t<span>{ missingText }</span>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isInvalid &&\n\t\t\t\t\t\t\t\t! isDraft &&\n\t\t\t\t\t\t\t\t! isLabelFieldFocused && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: labelValue,\n\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'core/navigation-link'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tif ( ! url ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\t\t\t\t\t}\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\t{ description && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t\t</span>\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{ ( isInvalid ||\n\t\t\t\t\t\t\t\tisDraft ||\n\t\t\t\t\t\t\t\tisLabelFieldFocused ) && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text wp-block-navigation-link__label\">\n\t\t\t\t\t\t\t\t\t<Tooltip text={ tooltipText }>\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\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\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t// Some attributes are stored in an escaped form. It's a legacy issue.\n\t\t\t\t\t\t\t\t\t\t\t\t// Ideally they would be stored in a raw, unescaped form.\n\t\t\t\t\t\t\t\t\t\t\t\t// Unescape is used here to \"recover\" the escaped characters\n\t\t\t\t\t\t\t\t\t\t\t\t// so they display without encoding.\n\t\t\t\t\t\t\t\t\t\t\t\t// See `updateAttributes` for more details.\n\t\t\t\t\t\t\t\t\t\t\t\t`${ decodeEntities( label ) } ${\n\t\t\t\t\t\t\t\t\t\t\t\t\tisInvalid || isDraft\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? placeholderText\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t\t}`.trim()\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tonClose={ () => setIsLinkOpen( false ) }\n\t\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\tonRemove={ removeLink }\n\t\t\t\t\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</a>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_blocks","_data","_components","_keycodes","_i18n","_blockEditor","_url","_element","_dom","_htmlEntities","_icons","_coreData","_compose","_linkUi","_updateAttributes","_utils","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","useState","useEffect","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","useIsInvalidLink","kind","type","id","isPostType","hasId","Number","isInteger","postStatus","useSelect","select","getEntityRecord","coreStore","status","isInvalid","isDraft","getMissingText","missingText","__","NavigationLinkEdit","attributes","isSelected","setAttributes","insertBlocksAfter","mergeBlocks","onReplace","context","clientId","label","url","description","rel","title","maxNestingLevel","replaceBlock","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","isLinkOpen","setIsLinkOpen","popoverAnchor","setPopoverAnchor","listItemRef","useRef","itemLabelPlaceholder","ref","isLabelFieldFocused","setIsLabelFieldFocused","innerBlocks","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","hasChildren","getBlocks","getBlockCount","getBlockName","getBlockRootClientId","hasSelectedInnerBlock","getBlockParentsByBlockName","length","transformToSubmenu","newSubmenu","createBlock","isURL","prependHTTP","test","selectLabelText","placeCaretAtHorizontalEdge","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","undefined","opensInNewTab","textColor","customTextColor","backgroundColor","customBackgroundColor","getColors","onKeyDown","isKeyboardEvent","primary","keyCode","ENTER","blockProps","useBlockProps","useMergeRefs","className","classnames","getColorClassName","style","color","ALLOWED_BLOCKS","DEFAULT_BLOCK","name","innerBlocksProps","useInnerBlocksProps","allowedBlocks","defaultBlock","directInsert","renderAppender","onClick","classes","placeholderText","tooltipText","_react","createElement","Fragment","BlockControls","ToolbarGroup","ToolbarButton","icon","linkIcon","shortcut","displayShortcut","addSubmenu","InspectorControls","PanelBody","TextControl","__nextHasNoMarginBottom","value","stripHTML","onChange","labelValue","autoComplete","onFocus","onBlur","safeDecodeURI","urlValue","updateAttributes","TextareaControl","descriptionValue","help","titleValue","relValue","Tooltip","text","RichText","identifier","onMerge","__unstableOnSplitAtEnd","placeholder","withoutInteractiveFormatting","allowedFormats","decodeEntities","trim","LinkUI","link","onClose","anchor","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tTooltip,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP, safeDecodeURI } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport {\n\tplaceCaretAtHorizontalEdge,\n\t__unstableStripHTML as stripHTML,\n} from '@wordpress/dom';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { link as linkIcon, addSubmenu } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { LinkUI } from './link-ui';\nimport { updateAttributes } from './update-attributes';\nimport { getColors } from '../navigation/edit/utils';\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [] );\n\n\treturn isDraggingWithin;\n};\n\nconst useIsInvalidLink = ( kind, type, id ) => {\n\tconst isPostType =\n\t\tkind === 'post-type' || type === 'post' || type === 'page';\n\tconst hasId = Number.isInteger( id );\n\tconst postStatus = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isPostType ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\treturn getEntityRecord( 'postType', type, id )?.status;\n\t\t},\n\t\t[ isPostType, type, id ]\n\t);\n\n\t// Check Navigation Link validity if:\n\t// 1. Link is 'post-type'.\n\t// 2. It has an id.\n\t// 3. It's neither null, nor undefined, as valid items might be either of those while loading.\n\t// If those conditions are met, check if\n\t// 1. The post status is published.\n\t// 2. The Navigation Link item has no label.\n\t// If either of those is true, invalidate.\n\tconst isInvalid =\n\t\tisPostType && hasId && postStatus && 'trash' === postStatus;\n\tconst isDraft = 'draft' === postStatus;\n\n\treturn [ isInvalid, isDraft ];\n};\n\nfunction getMissingText( type ) {\n\tlet missingText = '';\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn missingText;\n}\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { id, label, type, url, description, rel, title, kind } = attributes;\n\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink( kind, type, id );\n\tconst { maxNestingLevel } = context;\n\n\tconst { replaceBlock, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( false );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add label…' );\n\tconst ref = useRef();\n\n\t// Change the label using inspector causes rich text to change focus on firefox.\n\t// This is a workaround to keep the focus on the label field when label filed is focused we don't render the rich text.\n\tconst [ isLabelFieldFocused, setIsLabelFieldFocused ] = useState( false );\n\n\tconst {\n\t\tinnerBlocks,\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\thasChildren,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, [\n\t\t\t\t\t\t'core/navigation-link',\n\t\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\t] ).length >= maxNestingLevel,\n\t\t\t\tisTopLevelLink:\n\t\t\t\t\tgetBlockName( getBlockRootClientId( clientId ) ) ===\n\t\t\t\t\t'core/navigation',\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t/**\n\t * Transform to submenu block.\n\t */\n\tfunction transformToSubmenu() {\n\t\tconst newSubmenu = createBlock(\n\t\t\t'core/navigation-submenu',\n\t\t\tattributes,\n\t\t\tinnerBlocks.length > 0\n\t\t\t\t? innerBlocks\n\t\t\t\t: [ createBlock( 'core/navigation-link' ) ]\n\t\t);\n\t\treplaceBlock( clientId, newSubmenu );\n\t}\n\n\tuseEffect( () => {\n\t\t// Show the LinkControl on mount if the URL is empty\n\t\t// ( When adding a new menu item)\n\t\t// This can't be done in the useState call because it conflicts\n\t\t// with the autofocus behavior of the BlockListBlock component.\n\t\tif ( ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}, [ url ] );\n\n\tuseEffect( () => {\n\t\t// If block has inner blocks, transform to Submenu.\n\t\tif ( hasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToSubmenu();\n\t\t}\n\t}, [ hasChildren ] );\n\n\t/**\n\t * The hook shouldn't be necessary but due to a focus loss happening\n\t * when selecting a suggestion in the link popover, we force close on block unselection.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsLinkOpen( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\tif ( isLinkOpen && url ) {\n\t\t\t// Does this look like a URL and have something TLD-ish?\n\t\t\tif (\n\t\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t\t) {\n\t\t\t\t// Focus and select the label text.\n\t\t\t\tselectLabelText();\n\t\t\t} else {\n\t\t\t\t// Focus it (but do not select).\n\t\t\t\tplaceCaretAtHorizontalEdge( ref.current, true );\n\t\t\t}\n\t\t}\n\t}, [ url ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\t// It is critical that all attributes are reset\n\t\t// to their default values otherwise this may\n\t\t// in advertently trigger side effects because\n\t\t// the values will have \"changed\".\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlabel: undefined,\n\t\t\tid: undefined,\n\t\t\tkind: undefined,\n\t\t\ttype: undefined,\n\t\t\topensInNewTab: false,\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelLink );\n\n\tfunction onKeyDown( event ) {\n\t\tif (\n\t\t\tisKeyboardEvent.primary( event, 'k' ) ||\n\t\t\t( ( ! url || isDraft || isInvalid ) && event.keyCode === ENTER )\n\t\t) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: classnames( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\tconst ALLOWED_BLOCKS = [\n\t\t'core/navigation-link',\n\t\t'core/navigation-submenu',\n\t\t'core/page-list',\n\t];\n\tconst DEFAULT_BLOCK = {\n\t\tname: 'core/navigation-link',\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\t...blockProps,\n\t\t\tclassName: 'remove-outline', // Remove the outline from the inner blocks container.\n\t\t},\n\t\t{\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t\tdirectInsert: true,\n\t\t\trenderAppender: false,\n\t\t}\n\t);\n\n\tif ( ! url || isInvalid || isDraft ) {\n\t\tblockProps.onClick = () => setIsLinkOpen( true );\n\t}\n\n\tconst classes = classnames( 'wp-block-navigation-item__content', {\n\t\t'wp-block-navigation-link__placeholder': ! url || isInvalid || isDraft,\n\t} );\n\n\tconst missingText = getMissingText( type );\n\t/* translators: Whether the navigation link is Invalid or a Draft. */\n\tconst placeholderText = `(${\n\t\tisInvalid ? __( 'Invalid' ) : __( 'Draft' )\n\t})`;\n\tconst tooltipText =\n\t\tisInvalid || isDraft\n\t\t\t? __( 'This item has been deleted, or is a draft' )\n\t\t\t: __( 'This item is missing a link' );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ () => setIsLinkOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isAtMaxNesting && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"submenu\"\n\t\t\t\t\t\t\ticon={ addSubmenu }\n\t\t\t\t\t\t\ttitle={ __( 'Add submenu' ) }\n\t\t\t\t\t\t\tonClick={ transformToSubmenu }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ /* Warning, this duplicated in packages/block-library/src/navigation-submenu/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ label ? stripHTML( label ) : '' }\n\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tonFocus={ () => setIsLabelFieldFocused( true ) }\n\t\t\t\t\t\tonBlur={ () => setIsLabelFieldFocused( false ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ url ? safeDecodeURI( url ) : '' }\n\t\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t{ url: urlValue },\n\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'URL' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { description: descriptionValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Additional information to help clarify the purpose of the link.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<a className={ classes }>\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{ ! url ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<Tooltip text={ tooltipText }>\n\t\t\t\t\t\t\t\t<span>{ missingText }</span>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isInvalid &&\n\t\t\t\t\t\t\t\t! isDraft &&\n\t\t\t\t\t\t\t\t! isLabelFieldFocused && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: labelValue,\n\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'core/navigation-link'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tif ( ! url ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\t\t\t\t\t}\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\t{ description && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t\t</span>\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{ ( isInvalid ||\n\t\t\t\t\t\t\t\tisDraft ||\n\t\t\t\t\t\t\t\tisLabelFieldFocused ) && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text wp-block-navigation-link__label\">\n\t\t\t\t\t\t\t\t\t<Tooltip text={ tooltipText }>\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\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\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t// Some attributes are stored in an escaped form. It's a legacy issue.\n\t\t\t\t\t\t\t\t\t\t\t\t// Ideally they would be stored in a raw, unescaped form.\n\t\t\t\t\t\t\t\t\t\t\t\t// Unescape is used here to \"recover\" the escaped characters\n\t\t\t\t\t\t\t\t\t\t\t\t// so they display without encoding.\n\t\t\t\t\t\t\t\t\t\t\t\t// See `updateAttributes` for more details.\n\t\t\t\t\t\t\t\t\t\t\t\t`${ decodeEntities( label ) } ${\n\t\t\t\t\t\t\t\t\t\t\t\t\tisInvalid || isDraft\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? placeholderText\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t\t}`.trim()\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tonClose={ () => setIsLinkOpen( false ) }\n\t\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\tonRemove={ removeLink }\n\t\t\t\t\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</a>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -80,7 +80,8 @@ const metadata = {
80
80
  __experimentalDefaultControls: {
81
81
  fontSize: true
82
82
  }
83
- }
83
+ },
84
+ renaming: false
84
85
  },
85
86
  editorStyle: "wp-block-navigation-link-editor",
86
87
  style: "wp-block-navigation-link"
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_icons","_blockEditor","_hooks","_initBlock","_interopRequireDefault","_edit","_save","_hooks2","_transforms","metadata","$schema","apiVersion","name","title","category","parent","description","textdomain","attributes","label","type","rel","id","opensInNewTab","url","kind","isTopLevelLink","usesContext","supports","reusable","html","__experimentalSlashInserter","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalDefaultControls","editorStyle","style","exports","settings","icon","linkIcon","__experimentalLabel","merge","leftAttributes","rightLabel","edit","save","example","_x","deprecated","isEligible","nofollow","default","migrate","rest","_react","createElement","InnerBlocks","Content","transforms","init","addFilter","enhanceNavigationLinkVariations","initBlock"],"sources":["@wordpress/block-library/src/navigation-link/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { customLink as linkIcon } from '@wordpress/icons';\nimport { InnerBlocks } from '@wordpress/block-editor';\nimport { addFilter } from '@wordpress/hooks';\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 { enhanceNavigationLinkVariations } from './hooks';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: linkIcon,\n\n\t__experimentalLabel: ( { label } ) => label,\n\n\tmerge( leftAttributes, { label: rightLabel = '' } ) {\n\t\treturn {\n\t\t\t...leftAttributes,\n\t\t\tlabel: leftAttributes.label + rightLabel,\n\t\t};\n\t},\n\n\tedit,\n\n\tsave,\n\n\texample: {\n\t\tattributes: {\n\t\t\tlabel: _x( 'Example Link', 'navigation link preview example' ),\n\t\t\turl: 'https://example.com',\n\t\t},\n\t},\n\n\tdeprecated: [\n\t\t{\n\t\t\tisEligible( attributes ) {\n\t\t\t\treturn attributes.nofollow;\n\t\t\t},\n\n\t\t\tattributes: {\n\t\t\t\tlabel: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\ttype: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tnofollow: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tdescription: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t},\n\t\t\t\topensInNewTab: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tdefault: false,\n\t\t\t\t},\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tmigrate( { nofollow, ...rest } ) {\n\t\t\t\treturn {\n\t\t\t\t\trel: nofollow ? 'nofollow' : '',\n\t\t\t\t\t...rest,\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tsave() {\n\t\t\t\treturn <InnerBlocks.Content />;\n\t\t\t},\n\t\t},\n\t],\n\ttransforms,\n};\n\nexport const init = () => {\n\taddFilter(\n\t\t'blocks.registerBlockType',\n\t\t'core/navigation-link',\n\t\tenhanceNavigationLinkVariations\n\t);\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_i18n","require","_icons","_blockEditor","_hooks","_initBlock","_interopRequireDefault","_edit","_save","_hooks2","_transforms","metadata","$schema","apiVersion","name","title","category","parent","description","textdomain","attributes","label","type","rel","id","opensInNewTab","url","kind","isTopLevelLink","usesContext","supports","reusable","html","__experimentalSlashInserter","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalDefaultControls","renaming","editorStyle","style","exports","settings","icon","linkIcon","__experimentalLabel","merge","leftAttributes","rightLabel","edit","save","example","_x","deprecated","isEligible","nofollow","default","migrate","rest","_react","createElement","InnerBlocks","Content","transforms","init","addFilter","enhanceNavigationLinkVariations","initBlock"],"sources":["@wordpress/block-library/src/navigation-link/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { customLink as linkIcon } from '@wordpress/icons';\nimport { InnerBlocks } from '@wordpress/block-editor';\nimport { addFilter } from '@wordpress/hooks';\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 { enhanceNavigationLinkVariations } from './hooks';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: linkIcon,\n\n\t__experimentalLabel: ( { label } ) => label,\n\n\tmerge( leftAttributes, { label: rightLabel = '' } ) {\n\t\treturn {\n\t\t\t...leftAttributes,\n\t\t\tlabel: leftAttributes.label + rightLabel,\n\t\t};\n\t},\n\n\tedit,\n\n\tsave,\n\n\texample: {\n\t\tattributes: {\n\t\t\tlabel: _x( 'Example Link', 'navigation link preview example' ),\n\t\t\turl: 'https://example.com',\n\t\t},\n\t},\n\n\tdeprecated: [\n\t\t{\n\t\t\tisEligible( attributes ) {\n\t\t\t\treturn attributes.nofollow;\n\t\t\t},\n\n\t\t\tattributes: {\n\t\t\t\tlabel: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\ttype: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tnofollow: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tdescription: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t},\n\t\t\t\topensInNewTab: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tdefault: false,\n\t\t\t\t},\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tmigrate( { nofollow, ...rest } ) {\n\t\t\t\treturn {\n\t\t\t\t\trel: nofollow ? 'nofollow' : '',\n\t\t\t\t\t...rest,\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tsave() {\n\t\t\t\treturn <InnerBlocks.Content />;\n\t\t\t},\n\t\t},\n\t],\n\ttransforms,\n};\n\nexport const init = () => {\n\taddFilter(\n\t\t'blocks.registerBlockType',\n\t\t'core/navigation-link',\n\t\tenhanceNavigationLinkVariations\n\t);\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"],"mappings":"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"}
@@ -19,14 +19,12 @@ const PatternEdit = ({
19
19
  clientId
20
20
  }) => {
21
21
  const selectedPattern = (0, _data.useSelect)(select => select(_blockEditor.store).__experimentalGetParsedPattern(attributes.slug), [attributes.slug]);
22
- const currentThemeStylesheet = (0, _data.useSelect)(select => select(_coreData.store).getCurrentTheme().stylesheet);
22
+ const currentThemeStylesheet = (0, _data.useSelect)(select => select(_coreData.store).getCurrentTheme()?.stylesheet, []);
23
23
  const {
24
24
  replaceBlocks,
25
+ setBlockEditingMode,
25
26
  __unstableMarkNextChangeAsNotPersistent
26
27
  } = (0, _data.useDispatch)(_blockEditor.store);
27
- const {
28
- setBlockEditingMode
29
- } = (0, _data.useDispatch)(_blockEditor.store);
30
28
  const {
31
29
  getBlockRootClientId,
32
30
  getBlockEditingMode
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_data","_element","_blockEditor","_coreData","PatternEdit","attributes","clientId","selectedPattern","useSelect","select","blockEditorStore","__experimentalGetParsedPattern","slug","currentThemeStylesheet","coreStore","getCurrentTheme","stylesheet","replaceBlocks","__unstableMarkNextChangeAsNotPersistent","useDispatch","setBlockEditingMode","getBlockRootClientId","getBlockEditingMode","injectThemeAttributeInBlockTemplateContent","block","innerBlocks","find","innerBlock","name","map","theme","undefined","useEffect","blocks","window","queueMicrotask","rootClientId","clonedBlocks","cloneBlock","rootEditingMode","props","useBlockProps","_react","createElement","_default","exports","default"],"sources":["@wordpress/block-library/src/pattern/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cloneBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst PatternEdit = ( { attributes, clientId } ) => {\n\tconst selectedPattern = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__experimentalGetParsedPattern(\n\t\t\t\tattributes.slug\n\t\t\t),\n\t\t[ attributes.slug ]\n\t);\n\n\tconst currentThemeStylesheet = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme().stylesheet\n\t);\n\n\tconst { replaceBlocks, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { setBlockEditingMode } = useDispatch( blockEditorStore );\n\tconst { getBlockRootClientId, getBlockEditingMode } =\n\t\tuseSelect( blockEditorStore );\n\n\t// Duplicated in packages/edit-site/src/components/start-template-options/index.js.\n\tfunction injectThemeAttributeInBlockTemplateContent( block ) {\n\t\tif (\n\t\t\tblock.innerBlocks.find(\n\t\t\t\t( innerBlock ) => innerBlock.name === 'core/template-part'\n\t\t\t)\n\t\t) {\n\t\t\tblock.innerBlocks = block.innerBlocks.map( ( innerBlock ) => {\n\t\t\t\tif (\n\t\t\t\t\tinnerBlock.name === 'core/template-part' &&\n\t\t\t\t\tinnerBlock.attributes.theme === undefined\n\t\t\t\t) {\n\t\t\t\t\tinnerBlock.attributes.theme = currentThemeStylesheet;\n\t\t\t\t}\n\t\t\t\treturn innerBlock;\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tblock.name === 'core/template-part' &&\n\t\t\tblock.attributes.theme === undefined\n\t\t) {\n\t\t\tblock.attributes.theme = currentThemeStylesheet;\n\t\t}\n\t\treturn block;\n\t}\n\n\t// Run this effect when the component loads.\n\t// This adds the Pattern's contents to the post.\n\t// This change won't be saved.\n\t// It will continue to pull from the pattern file unless changes are made to its respective template part.\n\tuseEffect( () => {\n\t\tif ( selectedPattern?.blocks ) {\n\t\t\t// We batch updates to block list settings to avoid triggering cascading renders\n\t\t\t// for each container block included in a tree and optimize initial render.\n\t\t\t// Since the above uses microtasks, we need to use a microtask here as well,\n\t\t\t// because nested pattern blocks cannot be inserted if the parent block supports\n\t\t\t// inner blocks but doesn't have blockSettings in the state.\n\t\t\twindow.queueMicrotask( () => {\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\t\t// Clone blocks from the pattern before insertion to ensure they receive\n\t\t\t\t// distinct client ids. See https://github.com/WordPress/gutenberg/issues/50628.\n\t\t\t\tconst clonedBlocks = selectedPattern.blocks.map( ( block ) =>\n\t\t\t\t\tcloneBlock(\n\t\t\t\t\t\tinjectThemeAttributeInBlockTemplateContent( block )\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst rootEditingMode = getBlockEditingMode( rootClientId );\n\t\t\t\t// Temporarily set the root block to default mode to allow replacing the pattern.\n\t\t\t\t// This could happen when the page is disabling edits of non-content blocks.\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetBlockEditingMode( rootClientId, 'default' );\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\treplaceBlocks( clientId, clonedBlocks );\n\t\t\t\t// Restore the root block's original mode.\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetBlockEditingMode( rootClientId, rootEditingMode );\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tclientId,\n\t\tselectedPattern?.blocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceBlocks,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t\tgetBlockRootClientId,\n\t] );\n\n\tconst props = useBlockProps();\n\n\treturn <div { ...props } />;\n};\n\nexport default PatternEdit;\n"],"mappings":";;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAIA,IAAAI,SAAA,GAAAJ,OAAA;AAVA;AACA;AACA;;AAUA,MAAMK,WAAW,GAAGA,CAAE;EAAEC,UAAU;EAAEC;AAAS,CAAC,KAAM;EACnD,MAAMC,eAAe,GAAG,IAAAC,eAAS,EAC9BC,MAAM,IACPA,MAAM,CAAEC,kBAAiB,CAAC,CAACC,8BAA8B,CACxDN,UAAU,CAACO,IACZ,CAAC,EACF,CAAEP,UAAU,CAACO,IAAI,CAClB,CAAC;EAED,MAAMC,sBAAsB,GAAG,IAAAL,eAAS,EACrCC,MAAM,IAAMA,MAAM,CAAEK,eAAU,CAAC,CAACC,eAAe,CAAC,CAAC,CAACC,UACrD,CAAC;EAED,MAAM;IAAEC,aAAa;IAAEC;EAAwC,CAAC,GAC/D,IAAAC,iBAAW,EAAET,kBAAiB,CAAC;EAChC,MAAM;IAAEU;EAAoB,CAAC,GAAG,IAAAD,iBAAW,EAAET,kBAAiB,CAAC;EAC/D,MAAM;IAAEW,oBAAoB;IAAEC;EAAoB,CAAC,GAClD,IAAAd,eAAS,EAAEE,kBAAiB,CAAC;;EAE9B;EACA,SAASa,0CAA0CA,CAAEC,KAAK,EAAG;IAC5D,IACCA,KAAK,CAACC,WAAW,CAACC,IAAI,CACnBC,UAAU,IAAMA,UAAU,CAACC,IAAI,KAAK,oBACvC,CAAC,EACA;MACDJ,KAAK,CAACC,WAAW,GAAGD,KAAK,CAACC,WAAW,CAACI,GAAG,CAAIF,UAAU,IAAM;QAC5D,IACCA,UAAU,CAACC,IAAI,KAAK,oBAAoB,IACxCD,UAAU,CAACtB,UAAU,CAACyB,KAAK,KAAKC,SAAS,EACxC;UACDJ,UAAU,CAACtB,UAAU,CAACyB,KAAK,GAAGjB,sBAAsB;QACrD;QACA,OAAOc,UAAU;MAClB,CAAE,CAAC;IACJ;IAEA,IACCH,KAAK,CAACI,IAAI,KAAK,oBAAoB,IACnCJ,KAAK,CAACnB,UAAU,CAACyB,KAAK,KAAKC,SAAS,EACnC;MACDP,KAAK,CAACnB,UAAU,CAACyB,KAAK,GAAGjB,sBAAsB;IAChD;IACA,OAAOW,KAAK;EACb;;EAEA;EACA;EACA;EACA;EACA,IAAAQ,kBAAS,EAAE,MAAM;IAChB,IAAKzB,eAAe,EAAE0B,MAAM,EAAG;MAC9B;MACA;MACA;MACA;MACA;MACAC,MAAM,CAACC,cAAc,CAAE,MAAM;QAC5B,MAAMC,YAAY,GAAGf,oBAAoB,CAAEf,QAAS,CAAC;QACrD;QACA;QACA,MAAM+B,YAAY,GAAG9B,eAAe,CAAC0B,MAAM,CAACJ,GAAG,CAAIL,KAAK,IACvD,IAAAc,kBAAU,EACTf,0CAA0C,CAAEC,KAAM,CACnD,CACD,CAAC;QACD,MAAMe,eAAe,GAAGjB,mBAAmB,CAAEc,YAAa,CAAC;QAC3D;QACA;QACAlB,uCAAuC,CAAC,CAAC;QACzCE,mBAAmB,CAAEgB,YAAY,EAAE,SAAU,CAAC;QAC9ClB,uCAAuC,CAAC,CAAC;QACzCD,aAAa,CAAEX,QAAQ,EAAE+B,YAAa,CAAC;QACvC;QACAnB,uCAAuC,CAAC,CAAC;QACzCE,mBAAmB,CAAEgB,YAAY,EAAEG,eAAgB,CAAC;MACrD,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CACFjC,QAAQ,EACRC,eAAe,EAAE0B,MAAM,EACvBf,uCAAuC,EACvCD,aAAa,EACbK,mBAAmB,EACnBF,mBAAmB,EACnBC,oBAAoB,CACnB,CAAC;EAEH,MAAMmB,KAAK,GAAG,IAAAC,0BAAa,EAAC,CAAC;EAE7B,OAAO,IAAAC,MAAA,CAAAC,aAAA;IAAA,GAAUH;EAAK,CAAI,CAAC;AAC5B,CAAC;AAAC,IAAAI,QAAA,GAEaxC,WAAW;AAAAyC,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"names":["_blocks","require","_data","_element","_blockEditor","_coreData","PatternEdit","attributes","clientId","selectedPattern","useSelect","select","blockEditorStore","__experimentalGetParsedPattern","slug","currentThemeStylesheet","coreStore","getCurrentTheme","stylesheet","replaceBlocks","setBlockEditingMode","__unstableMarkNextChangeAsNotPersistent","useDispatch","getBlockRootClientId","getBlockEditingMode","injectThemeAttributeInBlockTemplateContent","block","innerBlocks","find","innerBlock","name","map","theme","undefined","useEffect","blocks","window","queueMicrotask","rootClientId","clonedBlocks","cloneBlock","rootEditingMode","props","useBlockProps","_react","createElement","_default","exports","default"],"sources":["@wordpress/block-library/src/pattern/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cloneBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst PatternEdit = ( { attributes, clientId } ) => {\n\tconst selectedPattern = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__experimentalGetParsedPattern(\n\t\t\t\tattributes.slug\n\t\t\t),\n\t\t[ attributes.slug ]\n\t);\n\n\tconst currentThemeStylesheet = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\n\tconst {\n\t\treplaceBlocks,\n\t\tsetBlockEditingMode,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\tconst { getBlockRootClientId, getBlockEditingMode } =\n\t\tuseSelect( blockEditorStore );\n\n\t// Duplicated in packages/edit-site/src/components/start-template-options/index.js.\n\tfunction injectThemeAttributeInBlockTemplateContent( block ) {\n\t\tif (\n\t\t\tblock.innerBlocks.find(\n\t\t\t\t( innerBlock ) => innerBlock.name === 'core/template-part'\n\t\t\t)\n\t\t) {\n\t\t\tblock.innerBlocks = block.innerBlocks.map( ( innerBlock ) => {\n\t\t\t\tif (\n\t\t\t\t\tinnerBlock.name === 'core/template-part' &&\n\t\t\t\t\tinnerBlock.attributes.theme === undefined\n\t\t\t\t) {\n\t\t\t\t\tinnerBlock.attributes.theme = currentThemeStylesheet;\n\t\t\t\t}\n\t\t\t\treturn innerBlock;\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tblock.name === 'core/template-part' &&\n\t\t\tblock.attributes.theme === undefined\n\t\t) {\n\t\t\tblock.attributes.theme = currentThemeStylesheet;\n\t\t}\n\t\treturn block;\n\t}\n\n\t// Run this effect when the component loads.\n\t// This adds the Pattern's contents to the post.\n\t// This change won't be saved.\n\t// It will continue to pull from the pattern file unless changes are made to its respective template part.\n\tuseEffect( () => {\n\t\tif ( selectedPattern?.blocks ) {\n\t\t\t// We batch updates to block list settings to avoid triggering cascading renders\n\t\t\t// for each container block included in a tree and optimize initial render.\n\t\t\t// Since the above uses microtasks, we need to use a microtask here as well,\n\t\t\t// because nested pattern blocks cannot be inserted if the parent block supports\n\t\t\t// inner blocks but doesn't have blockSettings in the state.\n\t\t\twindow.queueMicrotask( () => {\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\t\t// Clone blocks from the pattern before insertion to ensure they receive\n\t\t\t\t// distinct client ids. See https://github.com/WordPress/gutenberg/issues/50628.\n\t\t\t\tconst clonedBlocks = selectedPattern.blocks.map( ( block ) =>\n\t\t\t\t\tcloneBlock(\n\t\t\t\t\t\tinjectThemeAttributeInBlockTemplateContent( block )\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst rootEditingMode = getBlockEditingMode( rootClientId );\n\t\t\t\t// Temporarily set the root block to default mode to allow replacing the pattern.\n\t\t\t\t// This could happen when the page is disabling edits of non-content blocks.\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetBlockEditingMode( rootClientId, 'default' );\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\treplaceBlocks( clientId, clonedBlocks );\n\t\t\t\t// Restore the root block's original mode.\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetBlockEditingMode( rootClientId, rootEditingMode );\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tclientId,\n\t\tselectedPattern?.blocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceBlocks,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t\tgetBlockRootClientId,\n\t] );\n\n\tconst props = useBlockProps();\n\n\treturn <div { ...props } />;\n};\n\nexport default PatternEdit;\n"],"mappings":"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"}
@@ -169,7 +169,6 @@ function PostAuthorEdit({
169
169
  className: "wp-block-post-author__content"
170
170
  }, (!_blockEditor.RichText.isEmpty(byline) || isSelected) && (0, _react.createElement)(_blockEditor.RichText, {
171
171
  className: "wp-block-post-author__byline",
172
- multiline: false,
173
172
  "aria-label": (0, _i18n.__)('Post author byline text'),
174
173
  placeholder: (0, _i18n.__)('Write byline…'),
175
174
  value: byline,
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","_components","_data","_i18n","_coreData","minimumUsersForCombobox","AUTHORS_QUERY","who","per_page","PostAuthorEdit","isSelected","context","postType","postId","queryId","attributes","setAttributes","isDescendentOfQueryLoop","Number","isFinite","authorId","authorDetails","authors","useSelect","select","getEditedEntityRecord","getUser","getUsers","coreStore","_authorId","author","editEntityRecord","useDispatch","textAlign","showAvatar","showBio","byline","isLink","linkTarget","avatarSizes","authorName","name","__","avatar_urls","Object","keys","forEach","size","push","value","label","blockProps","useBlockProps","className","classnames","authorOptions","length","map","id","handleSelect","nextAuthorId","showCombobox","showAuthorControl","_react","createElement","Fragment","InspectorControls","PanelBody","title","ComboboxControl","__nextHasNoMarginBottom","options","onChange","allowReset","SelectControl","ToggleControl","checked","avatarSize","BlockControls","group","AlignmentControl","nextAlign","width","src","alt","RichText","isEmpty","multiline","placeholder","href","onClick","event","preventDefault","dangerouslySetInnerHTML","__html","description","_default","exports","default"],"sources":["@wordpress/block-library/src/post-author/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tComboboxControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst minimumUsersForCombobox = 25;\n\nconst AUTHORS_QUERY = {\n\twho: 'authors',\n\tper_page: 100,\n};\n\nfunction PostAuthorEdit( {\n\tisSelected,\n\tcontext: { postType, postId, queryId },\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { authorId, authorDetails, authors } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser, getUsers } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorId: _authorId,\n\t\t\t\tauthorDetails: _authorId ? getUser( _authorId ) : null,\n\t\t\t\tauthors: getUsers( AUTHORS_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst { textAlign, showAvatar, showBio, byline, isLink, linkTarget } =\n\t\tattributes;\n\tconst avatarSizes = [];\n\tconst authorName = authorDetails?.name || __( 'Post Author' );\n\tif ( authorDetails?.avatar_urls ) {\n\t\tObject.keys( authorDetails.avatar_urls ).forEach( ( size ) => {\n\t\t\tavatarSizes.push( {\n\t\t\t\tvalue: size,\n\t\t\t\tlabel: `${ size } x ${ size }`,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst authorOptions = authors?.length\n\t\t? authors.map( ( { id, name } ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel: name,\n\t\t\t\t};\n\t\t } )\n\t\t: [];\n\n\tconst handleSelect = ( nextAuthorId ) => {\n\t\teditEntityRecord( 'postType', postType, postId, {\n\t\t\tauthor: nextAuthorId,\n\t\t} );\n\t};\n\n\tconst showCombobox = authorOptions.length >= minimumUsersForCombobox;\n\tconst showAuthorControl =\n\t\t!! postId && ! isDescendentOfQueryLoop && authorOptions.length > 0;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ showAuthorControl &&\n\t\t\t\t\t\t( ( showCombobox && (\n\t\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\t\t\toptions={ authorOptions }\n\t\t\t\t\t\t\t\tvalue={ authorId }\n\t\t\t\t\t\t\t\tonChange={ handleSelect }\n\t\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) || (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\t\t\tvalue={ authorId }\n\t\t\t\t\t\t\t\toptions={ authorOptions }\n\t\t\t\t\t\t\t\tonChange={ handleSelect }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show avatar' ) }\n\t\t\t\t\t\tchecked={ showAvatar }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showAvatar: ! showAvatar } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t{ showAvatar && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Avatar size' ) }\n\t\t\t\t\t\t\tvalue={ attributes.avatarSize }\n\t\t\t\t\t\t\toptions={ avatarSizes }\n\t\t\t\t\t\t\tonChange={ ( size ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tavatarSize: Number( size ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show bio' ) }\n\t\t\t\t\t\tchecked={ showBio }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showBio: ! showBio } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link author name to author page' ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showAvatar && authorDetails?.avatar_urls && (\n\t\t\t\t\t<div className=\"wp-block-post-author__avatar\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\twidth={ attributes.avatarSize }\n\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\tauthorDetails.avatar_urls[\n\t\t\t\t\t\t\t\t\tattributes.avatarSize\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\talt={ authorDetails.name }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-post-author__content\">\n\t\t\t\t\t{ ( ! RichText.isEmpty( byline ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__byline\"\n\t\t\t\t\t\t\tmultiline={ false }\n\t\t\t\t\t\t\taria-label={ __( 'Post author byline text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Write byline…' ) }\n\t\t\t\t\t\t\tvalue={ byline }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { byline: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<p className=\"wp-block-post-author__name\">\n\t\t\t\t\t\t{ isLink ? (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"#post-author-pseudo-link\"\n\t\t\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ authorName }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tauthorName\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t{ showBio && (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__bio\"\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t__html: authorDetails?.description,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default PostAuthorEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","_components","_data","_i18n","_coreData","minimumUsersForCombobox","AUTHORS_QUERY","who","per_page","PostAuthorEdit","isSelected","context","postType","postId","queryId","attributes","setAttributes","isDescendentOfQueryLoop","Number","isFinite","authorId","authorDetails","authors","useSelect","select","getEditedEntityRecord","getUser","getUsers","coreStore","_authorId","author","editEntityRecord","useDispatch","textAlign","showAvatar","showBio","byline","isLink","linkTarget","avatarSizes","authorName","name","__","avatar_urls","Object","keys","forEach","size","push","value","label","blockProps","useBlockProps","className","classnames","authorOptions","length","map","id","handleSelect","nextAuthorId","showCombobox","showAuthorControl","_react","createElement","Fragment","InspectorControls","PanelBody","title","ComboboxControl","__nextHasNoMarginBottom","options","onChange","allowReset","SelectControl","ToggleControl","checked","avatarSize","BlockControls","group","AlignmentControl","nextAlign","width","src","alt","RichText","isEmpty","placeholder","href","onClick","event","preventDefault","dangerouslySetInnerHTML","__html","description","_default","exports","default"],"sources":["@wordpress/block-library/src/post-author/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tComboboxControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst minimumUsersForCombobox = 25;\n\nconst AUTHORS_QUERY = {\n\twho: 'authors',\n\tper_page: 100,\n};\n\nfunction PostAuthorEdit( {\n\tisSelected,\n\tcontext: { postType, postId, queryId },\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { authorId, authorDetails, authors } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser, getUsers } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorId: _authorId,\n\t\t\t\tauthorDetails: _authorId ? getUser( _authorId ) : null,\n\t\t\t\tauthors: getUsers( AUTHORS_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst { textAlign, showAvatar, showBio, byline, isLink, linkTarget } =\n\t\tattributes;\n\tconst avatarSizes = [];\n\tconst authorName = authorDetails?.name || __( 'Post Author' );\n\tif ( authorDetails?.avatar_urls ) {\n\t\tObject.keys( authorDetails.avatar_urls ).forEach( ( size ) => {\n\t\t\tavatarSizes.push( {\n\t\t\t\tvalue: size,\n\t\t\t\tlabel: `${ size } x ${ size }`,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst authorOptions = authors?.length\n\t\t? authors.map( ( { id, name } ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel: name,\n\t\t\t\t};\n\t\t } )\n\t\t: [];\n\n\tconst handleSelect = ( nextAuthorId ) => {\n\t\teditEntityRecord( 'postType', postType, postId, {\n\t\t\tauthor: nextAuthorId,\n\t\t} );\n\t};\n\n\tconst showCombobox = authorOptions.length >= minimumUsersForCombobox;\n\tconst showAuthorControl =\n\t\t!! postId && ! isDescendentOfQueryLoop && authorOptions.length > 0;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ showAuthorControl &&\n\t\t\t\t\t\t( ( showCombobox && (\n\t\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\t\t\toptions={ authorOptions }\n\t\t\t\t\t\t\t\tvalue={ authorId }\n\t\t\t\t\t\t\t\tonChange={ handleSelect }\n\t\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) || (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\t\t\tvalue={ authorId }\n\t\t\t\t\t\t\t\toptions={ authorOptions }\n\t\t\t\t\t\t\t\tonChange={ handleSelect }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show avatar' ) }\n\t\t\t\t\t\tchecked={ showAvatar }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showAvatar: ! showAvatar } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t{ showAvatar && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Avatar size' ) }\n\t\t\t\t\t\t\tvalue={ attributes.avatarSize }\n\t\t\t\t\t\t\toptions={ avatarSizes }\n\t\t\t\t\t\t\tonChange={ ( size ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tavatarSize: Number( size ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show bio' ) }\n\t\t\t\t\t\tchecked={ showBio }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showBio: ! showBio } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link author name to author page' ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showAvatar && authorDetails?.avatar_urls && (\n\t\t\t\t\t<div className=\"wp-block-post-author__avatar\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\twidth={ attributes.avatarSize }\n\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\tauthorDetails.avatar_urls[\n\t\t\t\t\t\t\t\t\tattributes.avatarSize\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\talt={ authorDetails.name }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-post-author__content\">\n\t\t\t\t\t{ ( ! RichText.isEmpty( byline ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__byline\"\n\t\t\t\t\t\t\taria-label={ __( 'Post author byline text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Write byline…' ) }\n\t\t\t\t\t\t\tvalue={ byline }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { byline: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<p className=\"wp-block-post-author__name\">\n\t\t\t\t\t\t{ isLink ? (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"#post-author-pseudo-link\"\n\t\t\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ authorName }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tauthorName\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t{ showBio && (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__bio\"\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t__html: authorDetails?.description,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default PostAuthorEdit;\n"],"mappings":"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"}
@@ -32,6 +32,10 @@ const ALLOWED_MEDIA_TYPES = ['image'];
32
32
  function getMediaSourceUrlBySizeSlug(media, slug) {
33
33
  return media?.media_details?.sizes?.[slug]?.source_url || media?.source_url;
34
34
  }
35
+ const disabledClickProps = {
36
+ onClick: event => event.preventDefault(),
37
+ 'aria-disabled': true
38
+ };
35
39
  function PostFeaturedImageEdit({
36
40
  clientId,
37
41
  attributes,
@@ -56,19 +60,22 @@ function PostFeaturedImageEdit({
56
60
  const [featuredImage, setFeaturedImage] = (0, _coreData.useEntityProp)('postType', postTypeSlug, 'featured_media', postId);
57
61
  const {
58
62
  media,
59
- postType
63
+ postType,
64
+ postPermalink
60
65
  } = (0, _data.useSelect)(select => {
61
66
  const {
62
67
  getMedia,
63
- getPostType
68
+ getPostType,
69
+ getEditedEntityRecord
64
70
  } = select(_coreData.store);
65
71
  return {
66
72
  media: featuredImage && getMedia(featuredImage, {
67
73
  context: 'view'
68
74
  }),
69
- postType: postTypeSlug && getPostType(postTypeSlug)
75
+ postType: postTypeSlug && getPostType(postTypeSlug),
76
+ postPermalink: getEditedEntityRecord('postType', postTypeSlug, postId)?.link
70
77
  };
71
- }, [featuredImage, postTypeSlug]);
78
+ }, [featuredImage, postTypeSlug, postId]);
72
79
  const mediaUrl = getMediaSourceUrlBySizeSlug(media, sizeSlug);
73
80
  const imageSizes = (0, _data.useSelect)(select => select(_blockEditor.store).getSettings().imageSizes, []);
74
81
  const imageSizeOptions = imageSizes.filter(({
@@ -159,7 +166,11 @@ function PostFeaturedImageEdit({
159
166
  if (!featuredImage && (isDescendentOfQueryLoop || !postId)) {
160
167
  return (0, _react.createElement)(_react.Fragment, null, controls, (0, _react.createElement)("div", {
161
168
  ...blockProps
162
- }, placeholder(), (0, _react.createElement)(_overlay.default, {
169
+ }, !!isLink ? (0, _react.createElement)("a", {
170
+ href: postPermalink,
171
+ target: linkTarget,
172
+ ...disabledClickProps
173
+ }, placeholder()) : placeholder(), (0, _react.createElement)(_overlay.default, {
163
174
  attributes: attributes,
164
175
  setAttributes: setAttributes,
165
176
  clientId: clientId
@@ -233,7 +244,11 @@ function PostFeaturedImageEdit({
233
244
  onClick: () => setFeaturedImage(0)
234
245
  }, (0, _i18n.__)('Reset')))), (0, _react.createElement)("figure", {
235
246
  ...blockProps
236
- }, image, (0, _react.createElement)(_overlay.default, {
247
+ }, !!isLink ? (0, _react.createElement)("a", {
248
+ href: postPermalink,
249
+ target: linkTarget,
250
+ ...disabledClickProps
251
+ }, image) : image, (0, _react.createElement)(_overlay.default, {
237
252
  attributes: attributes,
238
253
  setAttributes: setAttributes,
239
254
  clientId: clientId