@wordpress/block-library 8.26.0 → 8.27.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 (254) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/avatar/edit.js +2 -2
  3. package/build/avatar/edit.js.map +1 -1
  4. package/build/block/edit.js +76 -13
  5. package/build/block/edit.js.map +1 -1
  6. package/build/block/{v1/edit.native.js → edit.native.js} +4 -4
  7. package/build/block/edit.native.js.map +1 -0
  8. package/build/block/index.js +5 -3
  9. package/build/block/index.js.map +1 -1
  10. package/build/button/edit.js +24 -6
  11. package/build/button/edit.js.map +1 -1
  12. package/build/button/index.js +1 -0
  13. package/build/button/index.js.map +1 -1
  14. package/build/button/save.js +3 -1
  15. package/build/button/save.js.map +1 -1
  16. package/build/cover/edit.native.js +1 -0
  17. package/build/cover/edit.native.js.map +1 -1
  18. package/build/embed/edit.js +3 -2
  19. package/build/embed/edit.js.map +1 -1
  20. package/build/file/index.js +0 -1
  21. package/build/file/index.js.map +1 -1
  22. package/build/footnotes/edit.js +2 -1
  23. package/build/footnotes/edit.js.map +1 -1
  24. package/build/footnotes/format.js +17 -19
  25. package/build/footnotes/format.js.map +1 -1
  26. package/build/heading/edit.js +2 -1
  27. package/build/heading/edit.js.map +1 -1
  28. package/build/heading/edit.native.js +141 -0
  29. package/build/heading/edit.native.js.map +1 -0
  30. package/build/heading/index.js +1 -0
  31. package/build/heading/index.js.map +1 -1
  32. package/build/image/edit.js +8 -4
  33. package/build/image/edit.js.map +1 -1
  34. package/build/image/image.js +33 -7
  35. package/build/image/image.js.map +1 -1
  36. package/build/image/index.js +6 -3
  37. package/build/image/index.js.map +1 -1
  38. package/build/more/index.js +4 -0
  39. package/build/more/index.js.map +1 -1
  40. package/build/navigation/edit/index.js +2 -2
  41. package/build/navigation/edit/index.js.map +1 -1
  42. package/build/navigation/index.js +0 -1
  43. package/build/navigation/index.js.map +1 -1
  44. package/build/paragraph/edit.js +2 -1
  45. package/build/paragraph/edit.js.map +1 -1
  46. package/build/paragraph/index.js +1 -2
  47. package/build/paragraph/index.js.map +1 -1
  48. package/build/paragraph/transforms.js +1 -2
  49. package/build/paragraph/transforms.js.map +1 -1
  50. package/build/post-content/edit.js +2 -2
  51. package/build/post-content/edit.js.map +1 -1
  52. package/build/post-date/edit.js +1 -1
  53. package/build/post-date/edit.js.map +1 -1
  54. package/build/post-navigation-link/edit.js +43 -2
  55. package/build/post-navigation-link/edit.js.map +1 -1
  56. package/build/post-navigation-link/index.js +8 -0
  57. package/build/post-navigation-link/index.js.map +1 -1
  58. package/build/pullquote/index.js +4 -0
  59. package/build/pullquote/index.js.map +1 -1
  60. package/build/query/edit/inspector-controls/index.js +3 -3
  61. package/build/query/edit/inspector-controls/index.js.map +1 -1
  62. package/build/query/edit/query-content.js +2 -2
  63. package/build/query/edit/query-content.js.map +1 -1
  64. package/build/query/edit/query-placeholder.js +6 -7
  65. package/build/query/edit/query-placeholder.js.map +1 -1
  66. package/build/query/index.js +1 -2
  67. package/build/query/index.js.map +1 -1
  68. package/build/query/variations.js +8 -1
  69. package/build/query/variations.js.map +1 -1
  70. package/build/query/view.js +31 -12
  71. package/build/query/view.js.map +1 -1
  72. package/build/search/index.js +0 -1
  73. package/build/search/index.js.map +1 -1
  74. package/build/table-of-contents/hooks.js +2 -2
  75. package/build/table-of-contents/hooks.js.map +1 -1
  76. package/build/template-part/edit/advanced-controls.js +1 -4
  77. package/build/template-part/edit/advanced-controls.js.map +1 -1
  78. package/build/template-part/edit/index.js +39 -17
  79. package/build/template-part/edit/index.js.map +1 -1
  80. package/build/video/edit.native.js +7 -2
  81. package/build/video/edit.native.js.map +1 -1
  82. package/build/video/transforms.js +17 -0
  83. package/build/video/transforms.js.map +1 -1
  84. package/build-module/avatar/edit.js +2 -2
  85. package/build-module/avatar/edit.js.map +1 -1
  86. package/build-module/block/edit.js +76 -13
  87. package/build-module/block/edit.js.map +1 -1
  88. package/build-module/block/{v1/edit.native.js → edit.native.js} +3 -3
  89. package/build-module/block/edit.native.js.map +1 -0
  90. package/build-module/block/index.js +5 -3
  91. package/build-module/block/index.js.map +1 -1
  92. package/build-module/button/edit.js +25 -7
  93. package/build-module/button/edit.js.map +1 -1
  94. package/build-module/button/index.js +1 -0
  95. package/build-module/button/index.js.map +1 -1
  96. package/build-module/button/save.js +4 -2
  97. package/build-module/button/save.js.map +1 -1
  98. package/build-module/cover/edit.native.js +1 -0
  99. package/build-module/cover/edit.native.js.map +1 -1
  100. package/build-module/embed/edit.js +3 -2
  101. package/build-module/embed/edit.js.map +1 -1
  102. package/build-module/file/index.js +0 -1
  103. package/build-module/file/index.js.map +1 -1
  104. package/build-module/footnotes/edit.js +2 -1
  105. package/build-module/footnotes/edit.js.map +1 -1
  106. package/build-module/footnotes/format.js +17 -19
  107. package/build-module/footnotes/format.js.map +1 -1
  108. package/build-module/heading/edit.js +3 -2
  109. package/build-module/heading/edit.js.map +1 -1
  110. package/build-module/heading/edit.native.js +132 -0
  111. package/build-module/heading/edit.native.js.map +1 -0
  112. package/build-module/heading/index.js +1 -0
  113. package/build-module/heading/index.js.map +1 -1
  114. package/build-module/image/edit.js +9 -5
  115. package/build-module/image/edit.js.map +1 -1
  116. package/build-module/image/image.js +33 -7
  117. package/build-module/image/image.js.map +1 -1
  118. package/build-module/image/index.js +6 -3
  119. package/build-module/image/index.js.map +1 -1
  120. package/build-module/more/index.js +4 -0
  121. package/build-module/more/index.js.map +1 -1
  122. package/build-module/navigation/edit/index.js +1 -1
  123. package/build-module/navigation/edit/index.js.map +1 -1
  124. package/build-module/navigation/index.js +0 -1
  125. package/build-module/navigation/index.js.map +1 -1
  126. package/build-module/paragraph/edit.js +3 -2
  127. package/build-module/paragraph/edit.js.map +1 -1
  128. package/build-module/paragraph/index.js +1 -2
  129. package/build-module/paragraph/index.js.map +1 -1
  130. package/build-module/paragraph/transforms.js +1 -2
  131. package/build-module/paragraph/transforms.js.map +1 -1
  132. package/build-module/post-content/edit.js +1 -1
  133. package/build-module/post-content/edit.js.map +1 -1
  134. package/build-module/post-date/edit.js +1 -1
  135. package/build-module/post-date/edit.js.map +1 -1
  136. package/build-module/post-navigation-link/edit.js +44 -3
  137. package/build-module/post-navigation-link/edit.js.map +1 -1
  138. package/build-module/post-navigation-link/index.js +8 -0
  139. package/build-module/post-navigation-link/index.js.map +1 -1
  140. package/build-module/pullquote/index.js +4 -0
  141. package/build-module/pullquote/index.js.map +1 -1
  142. package/build-module/query/edit/inspector-controls/index.js +4 -4
  143. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  144. package/build-module/query/edit/query-content.js +2 -2
  145. package/build-module/query/edit/query-content.js.map +1 -1
  146. package/build-module/query/edit/query-placeholder.js +7 -8
  147. package/build-module/query/edit/query-placeholder.js.map +1 -1
  148. package/build-module/query/index.js +1 -2
  149. package/build-module/query/index.js.map +1 -1
  150. package/build-module/query/variations.js +8 -1
  151. package/build-module/query/variations.js.map +1 -1
  152. package/build-module/query/view.js +30 -9
  153. package/build-module/query/view.js.map +1 -1
  154. package/build-module/search/index.js +0 -1
  155. package/build-module/search/index.js.map +1 -1
  156. package/build-module/table-of-contents/hooks.js +2 -2
  157. package/build-module/table-of-contents/hooks.js.map +1 -1
  158. package/build-module/template-part/edit/advanced-controls.js +1 -4
  159. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  160. package/build-module/template-part/edit/index.js +38 -16
  161. package/build-module/template-part/edit/index.js.map +1 -1
  162. package/build-module/video/edit.native.js +7 -2
  163. package/build-module/video/edit.native.js.map +1 -1
  164. package/build-module/video/transforms.js +17 -0
  165. package/build-module/video/transforms.js.map +1 -1
  166. package/build-style/common-rtl.css +4 -2
  167. package/build-style/common.css +4 -2
  168. package/build-style/cover/style-rtl.css +1 -2
  169. package/build-style/cover/style.css +1 -2
  170. package/build-style/editor-rtl.css +6 -4
  171. package/build-style/editor.css +6 -4
  172. package/build-style/gallery/style-rtl.css +2 -4
  173. package/build-style/gallery/style.css +2 -4
  174. package/build-style/image/editor-rtl.css +6 -0
  175. package/build-style/image/editor.css +6 -0
  176. package/build-style/page-list/editor-rtl.css +0 -4
  177. package/build-style/page-list/editor.css +0 -4
  178. package/build-style/pullquote/style-rtl.css +10 -1
  179. package/build-style/pullquote/style.css +10 -1
  180. package/build-style/search/style-rtl.css +2 -1
  181. package/build-style/search/style.css +2 -1
  182. package/build-style/style-rtl.css +19 -11
  183. package/build-style/style.css +19 -11
  184. package/build-style/video/style-rtl.css +1 -2
  185. package/build-style/video/style.css +1 -2
  186. package/package.json +34 -32
  187. package/src/avatar/edit.js +16 -18
  188. package/src/block/block.json +3 -0
  189. package/src/block/edit.js +102 -20
  190. package/src/block/{v1/edit.native.js → edit.native.js} +4 -4
  191. package/src/block/index.js +2 -3
  192. package/src/block/index.php +3 -31
  193. package/src/button/block.json +1 -0
  194. package/src/button/edit.js +76 -43
  195. package/src/button/save.js +3 -0
  196. package/src/buttons/test/__snapshots__/edit.native.js.snap +6 -0
  197. package/src/buttons/test/edit.native.js +49 -0
  198. package/src/cover/edit.native.js +1 -0
  199. package/src/embed/edit.js +3 -2
  200. package/src/file/block.json +0 -1
  201. package/src/file/index.php +11 -57
  202. package/src/footnotes/edit.js +2 -1
  203. package/src/footnotes/format.js +34 -31
  204. package/src/footnotes/index.php +20 -11
  205. package/src/gallery/index.php +0 -3
  206. package/src/heading/block.json +1 -0
  207. package/src/heading/edit.js +18 -14
  208. package/src/heading/edit.native.js +144 -0
  209. package/src/image/block.json +7 -3
  210. package/src/image/edit.js +19 -6
  211. package/src/image/editor.scss +6 -1
  212. package/src/image/image.js +101 -42
  213. package/src/image/index.js +6 -0
  214. package/src/image/index.php +14 -51
  215. package/src/more/index.js +6 -0
  216. package/src/navigation/block.json +0 -1
  217. package/src/navigation/edit/index.js +2 -2
  218. package/src/navigation/index.php +777 -28
  219. package/src/navigation-link/index.php +78 -16
  220. package/src/page-list/editor.scss +0 -4
  221. package/src/paragraph/block.json +1 -2
  222. package/src/paragraph/edit.js +23 -19
  223. package/src/post-content/edit.js +2 -2
  224. package/src/post-date/edit.js +38 -33
  225. package/src/post-navigation-link/block.json +8 -0
  226. package/src/post-navigation-link/edit.js +63 -1
  227. package/src/post-navigation-link/index.php +17 -3
  228. package/src/post-terms/index.php +13 -4
  229. package/src/pullquote/block.json +4 -0
  230. package/src/pullquote/style.scss +13 -1
  231. package/src/query/block.json +1 -2
  232. package/src/query/edit/inspector-controls/index.js +137 -146
  233. package/src/query/edit/query-content.js +9 -7
  234. package/src/query/edit/query-placeholder.js +11 -11
  235. package/src/query/index.php +33 -71
  236. package/src/query/variations.js +4 -0
  237. package/src/query/view.js +24 -19
  238. package/src/search/block.json +0 -1
  239. package/src/search/index.php +18 -36
  240. package/src/table-of-contents/hooks.js +2 -2
  241. package/src/template-part/edit/advanced-controls.js +2 -3
  242. package/src/template-part/edit/index.js +77 -50
  243. package/src/template-part/index.php +2 -2
  244. package/src/video/edit.native.js +5 -2
  245. package/src/video/test/edit.native.js +38 -0
  246. package/src/video/transforms.js +32 -0
  247. package/tsconfig.json +1 -0
  248. package/build/block/v1/edit.js +0 -116
  249. package/build/block/v1/edit.js.map +0 -1
  250. package/build/block/v1/edit.native.js.map +0 -1
  251. package/build-module/block/v1/edit.js +0 -108
  252. package/build-module/block/v1/edit.js.map +0 -1
  253. package/build-module/block/v1/edit.native.js.map +0 -1
  254. package/src/block/v1/edit.js +0 -163
@@ -1 +1 @@
1
- {"version":3,"names":["__","postList","titleDate","titleExcerpt","titleDateExcerpt","imageDateTitle","QUERY_DEFAULT_ATTRIBUTES","query","perPage","pages","offset","postType","order","orderBy","author","search","exclude","sticky","inherit","variations","name","title","description","icon","attributes","scope","innerBlocks"],"sources":["@wordpress/block-library/src/query/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { postList } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport {\n\ttitleDate,\n\ttitleExcerpt,\n\ttitleDateExcerpt,\n\timageDateTitle,\n} from './icons';\n\nconst QUERY_DEFAULT_ATTRIBUTES = {\n\tquery: {\n\t\tperPage: 3,\n\t\tpages: 0,\n\t\toffset: 0,\n\t\tpostType: 'post',\n\t\torder: 'desc',\n\t\torderBy: 'date',\n\t\tauthor: '',\n\t\tsearch: '',\n\t\texclude: [],\n\t\tsticky: '',\n\t\tinherit: false,\n\t},\n};\n\nconst variations = [\n\t{\n\t\tname: 'posts-list',\n\t\ttitle: __( 'Posts List' ),\n\t\tdescription: __(\n\t\t\t'Display a list of your most recent posts, excluding sticky posts.'\n\t\t),\n\t\ticon: postList,\n\t\tattributes: {\n\t\t\tquery: {\n\t\t\t\tperPage: 4,\n\t\t\t\tpages: 1,\n\t\t\t\toffset: 0,\n\t\t\t\tpostType: 'post',\n\t\t\t\torder: 'desc',\n\t\t\t\torderBy: 'date',\n\t\t\t\tauthor: '',\n\t\t\t\tsearch: '',\n\t\t\t\tsticky: 'exclude',\n\t\t\t\tinherit: false,\n\t\t\t},\n\t\t},\n\t\tscope: [ 'inserter' ],\n\t},\n\t{\n\t\tname: 'title-date',\n\t\ttitle: __( 'Title & Date' ),\n\t\ticon: titleDate,\n\t\tattributes: { ...QUERY_DEFAULT_ATTRIBUTES },\n\t\tinnerBlocks: [\n\t\t\t[\n\t\t\t\t'core/post-template',\n\t\t\t\t{},\n\t\t\t\t[ [ 'core/post-title' ], [ 'core/post-date' ] ],\n\t\t\t],\n\t\t\t[ 'core/query-pagination' ],\n\t\t\t[ 'core/query-no-results' ],\n\t\t],\n\t\tscope: [ 'block' ],\n\t},\n\t{\n\t\tname: 'title-excerpt',\n\t\ttitle: __( 'Title & Excerpt' ),\n\t\ticon: titleExcerpt,\n\t\tattributes: { ...QUERY_DEFAULT_ATTRIBUTES },\n\t\tinnerBlocks: [\n\t\t\t[\n\t\t\t\t'core/post-template',\n\t\t\t\t{},\n\t\t\t\t[ [ 'core/post-title' ], [ 'core/post-excerpt' ] ],\n\t\t\t],\n\t\t\t[ 'core/query-pagination' ],\n\t\t\t[ 'core/query-no-results' ],\n\t\t],\n\t\tscope: [ 'block' ],\n\t},\n\t{\n\t\tname: 'title-date-excerpt',\n\t\ttitle: __( 'Title, Date, & Excerpt' ),\n\t\ticon: titleDateExcerpt,\n\t\tattributes: { ...QUERY_DEFAULT_ATTRIBUTES },\n\t\tinnerBlocks: [\n\t\t\t[\n\t\t\t\t'core/post-template',\n\t\t\t\t{},\n\t\t\t\t[\n\t\t\t\t\t[ 'core/post-title' ],\n\t\t\t\t\t[ 'core/post-date' ],\n\t\t\t\t\t[ 'core/post-excerpt' ],\n\t\t\t\t],\n\t\t\t],\n\t\t\t[ 'core/query-pagination' ],\n\t\t\t[ 'core/query-no-results' ],\n\t\t],\n\t\tscope: [ 'block' ],\n\t},\n\t{\n\t\tname: 'image-date-title',\n\t\ttitle: __( 'Image, Date, & Title' ),\n\t\ticon: imageDateTitle,\n\t\tattributes: { ...QUERY_DEFAULT_ATTRIBUTES },\n\t\tinnerBlocks: [\n\t\t\t[\n\t\t\t\t'core/post-template',\n\t\t\t\t{},\n\t\t\t\t[\n\t\t\t\t\t[ 'core/post-featured-image' ],\n\t\t\t\t\t[ 'core/post-date' ],\n\t\t\t\t\t[ 'core/post-title' ],\n\t\t\t\t],\n\t\t\t],\n\t\t\t[ 'core/query-pagination' ],\n\t\t\t[ 'core/query-no-results' ],\n\t\t],\n\t\tscope: [ 'block' ],\n\t},\n];\n\nexport default variations;\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","postList","titleDate","titleExcerpt","titleDateExcerpt","imageDateTitle","QUERY_DEFAULT_ATTRIBUTES","query","perPage","pages","offset","postType","order","orderBy","author","search","exclude","sticky","inherit","variations","name","title","description","icon","attributes","namespace","scope","isActive","innerBlocks"],"sources":["@wordpress/block-library/src/query/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { postList } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport {\n\ttitleDate,\n\ttitleExcerpt,\n\ttitleDateExcerpt,\n\timageDateTitle,\n} from './icons';\n\nconst QUERY_DEFAULT_ATTRIBUTES = {\n\tquery: {\n\t\tperPage: 3,\n\t\tpages: 0,\n\t\toffset: 0,\n\t\tpostType: 'post',\n\t\torder: 'desc',\n\t\torderBy: 'date',\n\t\tauthor: '',\n\t\tsearch: '',\n\t\texclude: [],\n\t\tsticky: '',\n\t\tinherit: false,\n\t},\n};\n\nconst variations = [\n\t{\n\t\tname: 'posts-list',\n\t\ttitle: __( 'Posts List' ),\n\t\tdescription: __(\n\t\t\t'Display a list of your most recent posts, excluding sticky posts.'\n\t\t),\n\t\ticon: postList,\n\t\tattributes: {\n\t\t\tnamespace: 'core/posts-list',\n\t\t\tquery: {\n\t\t\t\tperPage: 4,\n\t\t\t\tpages: 1,\n\t\t\t\toffset: 0,\n\t\t\t\tpostType: 'post',\n\t\t\t\torder: 'desc',\n\t\t\t\torderBy: 'date',\n\t\t\t\tauthor: '',\n\t\t\t\tsearch: '',\n\t\t\t\tsticky: 'exclude',\n\t\t\t\tinherit: false,\n\t\t\t},\n\t\t},\n\t\tscope: [ 'inserter' ],\n\t\tisActive: ( { namespace, query } ) => {\n\t\t\treturn namespace === 'core/posts-list' && query.postType === 'post';\n\t\t},\n\t},\n\t{\n\t\tname: 'title-date',\n\t\ttitle: __( 'Title & Date' ),\n\t\ticon: titleDate,\n\t\tattributes: { ...QUERY_DEFAULT_ATTRIBUTES },\n\t\tinnerBlocks: [\n\t\t\t[\n\t\t\t\t'core/post-template',\n\t\t\t\t{},\n\t\t\t\t[ [ 'core/post-title' ], [ 'core/post-date' ] ],\n\t\t\t],\n\t\t\t[ 'core/query-pagination' ],\n\t\t\t[ 'core/query-no-results' ],\n\t\t],\n\t\tscope: [ 'block' ],\n\t},\n\t{\n\t\tname: 'title-excerpt',\n\t\ttitle: __( 'Title & Excerpt' ),\n\t\ticon: titleExcerpt,\n\t\tattributes: { ...QUERY_DEFAULT_ATTRIBUTES },\n\t\tinnerBlocks: [\n\t\t\t[\n\t\t\t\t'core/post-template',\n\t\t\t\t{},\n\t\t\t\t[ [ 'core/post-title' ], [ 'core/post-excerpt' ] ],\n\t\t\t],\n\t\t\t[ 'core/query-pagination' ],\n\t\t\t[ 'core/query-no-results' ],\n\t\t],\n\t\tscope: [ 'block' ],\n\t},\n\t{\n\t\tname: 'title-date-excerpt',\n\t\ttitle: __( 'Title, Date, & Excerpt' ),\n\t\ticon: titleDateExcerpt,\n\t\tattributes: { ...QUERY_DEFAULT_ATTRIBUTES },\n\t\tinnerBlocks: [\n\t\t\t[\n\t\t\t\t'core/post-template',\n\t\t\t\t{},\n\t\t\t\t[\n\t\t\t\t\t[ 'core/post-title' ],\n\t\t\t\t\t[ 'core/post-date' ],\n\t\t\t\t\t[ 'core/post-excerpt' ],\n\t\t\t\t],\n\t\t\t],\n\t\t\t[ 'core/query-pagination' ],\n\t\t\t[ 'core/query-no-results' ],\n\t\t],\n\t\tscope: [ 'block' ],\n\t},\n\t{\n\t\tname: 'image-date-title',\n\t\ttitle: __( 'Image, Date, & Title' ),\n\t\ticon: imageDateTitle,\n\t\tattributes: { ...QUERY_DEFAULT_ATTRIBUTES },\n\t\tinnerBlocks: [\n\t\t\t[\n\t\t\t\t'core/post-template',\n\t\t\t\t{},\n\t\t\t\t[\n\t\t\t\t\t[ 'core/post-featured-image' ],\n\t\t\t\t\t[ 'core/post-date' ],\n\t\t\t\t\t[ 'core/post-title' ],\n\t\t\t\t],\n\t\t\t],\n\t\t\t[ 'core/query-pagination' ],\n\t\t\t[ 'core/query-no-results' ],\n\t\t],\n\t\tscope: [ 'block' ],\n\t},\n];\n\nexport default variations;\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { store, getContext, getElement, navigate, prefetch } from '@wordpress/interactivity';
4
+ import { store, getContext, getElement } from '@wordpress/interactivity';
5
5
  const isValidLink = ref => ref && ref instanceof window.HTMLAnchorElement && ref.href && (!ref.target || ref.target === '_self') && ref.origin === window.location.origin;
6
6
  const isValidEvent = event => event.button === 0 &&
7
7
  // Left clicks only.
@@ -27,17 +27,22 @@ store('core/query', {
27
27
  const {
28
28
  ref
29
29
  } = getElement();
30
- const isDisabled = ref.closest('[data-wp-navigation-id]')?.dataset.wpNavigationDisabled;
30
+ const {
31
+ queryRef
32
+ } = ctx;
33
+ const isDisabled = queryRef?.dataset.wpNavigationDisabled;
31
34
  if (isValidLink(ref) && isValidEvent(event) && !isDisabled) {
32
35
  event.preventDefault();
33
- const id = ref.closest('[data-wp-navigation-id]').dataset.wpNavigationId;
34
36
 
35
37
  // Don't announce the navigation immediately, wait 400 ms.
36
38
  const timeout = setTimeout(() => {
37
39
  ctx.message = ctx.loadingText;
38
40
  ctx.animation = 'start';
39
41
  }, 400);
40
- yield navigate(ref.href);
42
+ const {
43
+ actions
44
+ } = yield import('@wordpress/interactivity-router');
45
+ yield actions.navigate(ref.href);
41
46
 
42
47
  // Dismiss loading message if it hasn't been added yet.
43
48
  clearTimeout(timeout);
@@ -50,17 +55,23 @@ store('core/query', {
50
55
  ctx.url = ref.href;
51
56
 
52
57
  // Focus the first anchor of the Query block.
53
- const firstAnchor = `[data-wp-navigation-id=${id}] .wp-block-post-template a[href]`;
54
- document.querySelector(firstAnchor)?.focus();
58
+ const firstAnchor = `.wp-block-post-template a[href]`;
59
+ queryRef.querySelector(firstAnchor)?.focus();
55
60
  }
56
61
  },
57
62
  *prefetch() {
63
+ const {
64
+ queryRef
65
+ } = getContext();
58
66
  const {
59
67
  ref
60
68
  } = getElement();
61
- const isDisabled = ref.closest('[data-wp-navigation-id]')?.dataset.wpNavigationDisabled;
69
+ const isDisabled = queryRef?.dataset.wpNavigationDisabled;
62
70
  if (isValidLink(ref) && !isDisabled) {
63
- yield prefetch(ref.href);
71
+ const {
72
+ actions
73
+ } = yield import('@wordpress/interactivity-router');
74
+ yield actions.prefetch(ref.href);
64
75
  }
65
76
  }
66
77
  },
@@ -73,8 +84,18 @@ store('core/query', {
73
84
  ref
74
85
  } = getElement();
75
86
  if (url && isValidLink(ref)) {
76
- yield prefetch(ref.href);
87
+ const {
88
+ actions
89
+ } = yield import('@wordpress/interactivity-router');
90
+ yield actions.prefetch(ref.href);
77
91
  }
92
+ },
93
+ setQueryRef() {
94
+ const ctx = getContext();
95
+ const {
96
+ ref
97
+ } = getElement();
98
+ ctx.queryRef = ref;
78
99
  }
79
100
  }
80
101
  });
@@ -1 +1 @@
1
- {"version":3,"names":["store","getContext","getElement","navigate","prefetch","isValidLink","ref","window","HTMLAnchorElement","href","target","origin","location","isValidEvent","event","button","metaKey","ctrlKey","altKey","shiftKey","defaultPrevented","state","startAnimation","animation","finishAnimation","actions","ctx","isDisabled","closest","dataset","wpNavigationDisabled","preventDefault","id","wpNavigationId","timeout","setTimeout","message","loadingText","clearTimeout","loadedText","url","firstAnchor","document","querySelector","focus","callbacks"],"sources":["@wordpress/block-library/src/query/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tstore,\n\tgetContext,\n\tgetElement,\n\tnavigate,\n\tprefetch,\n} from '@wordpress/interactivity';\n\nconst isValidLink = ( ref ) =>\n\tref &&\n\tref instanceof window.HTMLAnchorElement &&\n\tref.href &&\n\t( ! ref.target || ref.target === '_self' ) &&\n\tref.origin === window.location.origin;\n\nconst isValidEvent = ( event ) =>\n\tevent.button === 0 && // Left clicks only.\n\t! event.metaKey && // Open in new tab (Mac).\n\t! event.ctrlKey && // Open in new tab (Windows).\n\t! event.altKey && // Download.\n\t! event.shiftKey &&\n\t! event.defaultPrevented;\n\nstore( 'core/query', {\n\tstate: {\n\t\tget startAnimation() {\n\t\t\treturn getContext().animation === 'start';\n\t\t},\n\t\tget finishAnimation() {\n\t\t\treturn getContext().animation === 'finish';\n\t\t},\n\t},\n\tactions: {\n\t\t*navigate( event ) {\n\t\t\tconst ctx = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\tconst isDisabled = ref.closest( '[data-wp-navigation-id]' )?.dataset\n\t\t\t\t.wpNavigationDisabled;\n\n\t\t\tif ( isValidLink( ref ) && isValidEvent( event ) && ! isDisabled ) {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tconst id = ref.closest( '[data-wp-navigation-id]' ).dataset\n\t\t\t\t\t.wpNavigationId;\n\n\t\t\t\t// Don't announce the navigation immediately, wait 400 ms.\n\t\t\t\tconst timeout = setTimeout( () => {\n\t\t\t\t\tctx.message = ctx.loadingText;\n\t\t\t\t\tctx.animation = 'start';\n\t\t\t\t}, 400 );\n\n\t\t\t\tyield navigate( ref.href );\n\n\t\t\t\t// Dismiss loading message if it hasn't been added yet.\n\t\t\t\tclearTimeout( timeout );\n\n\t\t\t\t// Announce that the page has been loaded. If the message is the\n\t\t\t\t// same, we use a no-break space similar to the @wordpress/a11y\n\t\t\t\t// package: https://github.com/WordPress/gutenberg/blob/c395242b8e6ee20f8b06c199e4fc2920d7018af1/packages/a11y/src/filter-message.js#L20-L26\n\t\t\t\tctx.message =\n\t\t\t\t\tctx.loadedText +\n\t\t\t\t\t( ctx.message === ctx.loadedText ? '\\u00A0' : '' );\n\n\t\t\t\tctx.animation = 'finish';\n\t\t\t\tctx.url = ref.href;\n\n\t\t\t\t// Focus the first anchor of the Query block.\n\t\t\t\tconst firstAnchor = `[data-wp-navigation-id=${ id }] .wp-block-post-template a[href]`;\n\t\t\t\tdocument.querySelector( firstAnchor )?.focus();\n\t\t\t}\n\t\t},\n\t\t*prefetch() {\n\t\t\tconst { ref } = getElement();\n\t\t\tconst isDisabled = ref.closest( '[data-wp-navigation-id]' )?.dataset\n\t\t\t\t.wpNavigationDisabled;\n\t\t\tif ( isValidLink( ref ) && ! isDisabled ) {\n\t\t\t\tyield prefetch( ref.href );\n\t\t\t}\n\t\t},\n\t},\n\tcallbacks: {\n\t\t*prefetch() {\n\t\t\tconst { url } = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\tif ( url && isValidLink( ref ) ) {\n\t\t\t\tyield prefetch( ref.href );\n\t\t\t}\n\t\t},\n\t},\n} );\n"],"mappings":"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"}
1
+ {"version":3,"names":["store","getContext","getElement","isValidLink","ref","window","HTMLAnchorElement","href","target","origin","location","isValidEvent","event","button","metaKey","ctrlKey","altKey","shiftKey","defaultPrevented","state","startAnimation","animation","finishAnimation","actions","navigate","ctx","queryRef","isDisabled","dataset","wpNavigationDisabled","preventDefault","timeout","setTimeout","message","loadingText","clearTimeout","loadedText","url","firstAnchor","querySelector","focus","prefetch","callbacks","setQueryRef"],"sources":["@wordpress/block-library/src/query/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store, getContext, getElement } from '@wordpress/interactivity';\n\nconst isValidLink = ( ref ) =>\n\tref &&\n\tref instanceof window.HTMLAnchorElement &&\n\tref.href &&\n\t( ! ref.target || ref.target === '_self' ) &&\n\tref.origin === window.location.origin;\n\nconst isValidEvent = ( event ) =>\n\tevent.button === 0 && // Left clicks only.\n\t! event.metaKey && // Open in new tab (Mac).\n\t! event.ctrlKey && // Open in new tab (Windows).\n\t! event.altKey && // Download.\n\t! event.shiftKey &&\n\t! event.defaultPrevented;\n\nstore( 'core/query', {\n\tstate: {\n\t\tget startAnimation() {\n\t\t\treturn getContext().animation === 'start';\n\t\t},\n\t\tget finishAnimation() {\n\t\t\treturn getContext().animation === 'finish';\n\t\t},\n\t},\n\tactions: {\n\t\t*navigate( event ) {\n\t\t\tconst ctx = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\tconst { queryRef } = ctx;\n\t\t\tconst isDisabled = queryRef?.dataset.wpNavigationDisabled;\n\n\t\t\tif ( isValidLink( ref ) && isValidEvent( event ) && ! isDisabled ) {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\t// Don't announce the navigation immediately, wait 400 ms.\n\t\t\t\tconst timeout = setTimeout( () => {\n\t\t\t\t\tctx.message = ctx.loadingText;\n\t\t\t\t\tctx.animation = 'start';\n\t\t\t\t}, 400 );\n\n\t\t\t\tconst { actions } = yield import(\n\t\t\t\t\t'@wordpress/interactivity-router'\n\t\t\t\t);\n\t\t\t\tyield actions.navigate( ref.href );\n\n\t\t\t\t// Dismiss loading message if it hasn't been added yet.\n\t\t\t\tclearTimeout( timeout );\n\n\t\t\t\t// Announce that the page has been loaded. If the message is the\n\t\t\t\t// same, we use a no-break space similar to the @wordpress/a11y\n\t\t\t\t// package: https://github.com/WordPress/gutenberg/blob/c395242b8e6ee20f8b06c199e4fc2920d7018af1/packages/a11y/src/filter-message.js#L20-L26\n\t\t\t\tctx.message =\n\t\t\t\t\tctx.loadedText +\n\t\t\t\t\t( ctx.message === ctx.loadedText ? '\\u00A0' : '' );\n\n\t\t\t\tctx.animation = 'finish';\n\t\t\t\tctx.url = ref.href;\n\n\t\t\t\t// Focus the first anchor of the Query block.\n\t\t\t\tconst firstAnchor = `.wp-block-post-template a[href]`;\n\t\t\t\tqueryRef.querySelector( firstAnchor )?.focus();\n\t\t\t}\n\t\t},\n\t\t*prefetch() {\n\t\t\tconst { queryRef } = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\tconst isDisabled = queryRef?.dataset.wpNavigationDisabled;\n\t\t\tif ( isValidLink( ref ) && ! isDisabled ) {\n\t\t\t\tconst { actions } = yield import(\n\t\t\t\t\t'@wordpress/interactivity-router'\n\t\t\t\t);\n\t\t\t\tyield actions.prefetch( ref.href );\n\t\t\t}\n\t\t},\n\t},\n\tcallbacks: {\n\t\t*prefetch() {\n\t\t\tconst { url } = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\tif ( url && isValidLink( ref ) ) {\n\t\t\t\tconst { actions } = yield import(\n\t\t\t\t\t'@wordpress/interactivity-router'\n\t\t\t\t);\n\t\t\t\tyield actions.prefetch( ref.href );\n\t\t\t}\n\t\t},\n\t\tsetQueryRef() {\n\t\t\tconst ctx = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\tctx.queryRef = ref;\n\t\t},\n\t},\n} );\n"],"mappings":"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"}
@@ -97,7 +97,6 @@ const metadata = {
97
97
  },
98
98
  html: false
99
99
  },
100
- viewScript: "file:./view.min.js",
101
100
  editorStyle: "wp-block-search-editor",
102
101
  style: "wp-block-search"
103
102
  };
@@ -1 +1 @@
1
- {"version":3,"names":["__","search","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","label","type","__experimentalRole","showLabel","placeholder","width","widthUnit","buttonText","buttonPosition","buttonUseIcon","query","isSearchFieldHidden","supports","align","color","gradients","__experimentalSkipSerialization","__experimentalDefaultControls","background","text","interactivity","typography","__experimentalSelector","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalBorder","radius","html","viewScript","editorStyle","style","edit","variations","settings","example","viewportWidth","init"],"sources":["@wordpress/block-library/src/search/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { search as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: { buttonText: __( 'Search' ), label: __( 'Search' ) },\n\t\tviewportWidth: 400,\n\t},\n\tvariations,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,MAAM,IAAIC,IAAI,QAAQ,kBAAkB;;AAEjD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,KAAA;MAAAC,IAAA;MAAAC,kBAAA;IAAA;IAAAC,SAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,WAAA;MAAAH,IAAA;MAAA;MAAAC,kBAAA;IAAA;IAAAG,KAAA;MAAAJ,IAAA;IAAA;IAAAK,SAAA;MAAAL,IAAA;IAAA;IAAAM,UAAA;MAAAN,IAAA;MAAAC,kBAAA;IAAA;IAAAM,cAAA;MAAAP,IAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAR,IAAA;MAAA;IAAA;IAAAS,KAAA;MAAAT,IAAA;MAAA;IAAA;IAAAU,mBAAA;MAAAV,IAAA;MAAA;IAAA;EAAA;EAAAW,QAAA;IAAAC,KAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,+BAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,aAAA;IAAAC,UAAA;MAAAL,+BAAA;MAAAM,sBAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAb,6BAAA;QAAAM,QAAA;MAAA;IAAA;IAAAQ,oBAAA;MAAAjB,KAAA;MAAAkB,MAAA;MAAA3B,KAAA;MAAAW,+BAAA;MAAAC,6BAAA;QAAAH,KAAA;QAAAkB,MAAA;QAAA3B,KAAA;MAAA;IAAA;IAAA4B,IAAA;EAAA;EAAAC,UAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE7C;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM8C,QAAQ,GAAG;EACvBnD,IAAI;EACJoD,OAAO,EAAE;IACRzC,UAAU,EAAE;MAAEQ,UAAU,EAAErB,EAAE,CAAE,QAAS,CAAC;MAAEc,KAAK,EAAEd,EAAE,CAAE,QAAS;IAAE,CAAC;IACjEuD,aAAa,EAAE;EAChB,CAAC;EACDH,UAAU;EACVD;AACD,CAAC;AAED,OAAO,MAAMK,IAAI,GAAGA,CAAA,KAAMrD,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEiD;AAAS,CAAE,CAAC"}
1
+ {"version":3,"names":["__","search","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","label","type","__experimentalRole","showLabel","placeholder","width","widthUnit","buttonText","buttonPosition","buttonUseIcon","query","isSearchFieldHidden","supports","align","color","gradients","__experimentalSkipSerialization","__experimentalDefaultControls","background","text","interactivity","typography","__experimentalSelector","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalBorder","radius","html","editorStyle","style","edit","variations","settings","example","viewportWidth","init"],"sources":["@wordpress/block-library/src/search/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { search as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: { buttonText: __( 'Search' ), label: __( 'Search' ) },\n\t\tviewportWidth: 400,\n\t},\n\tvariations,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,MAAM,IAAIC,IAAI,QAAQ,kBAAkB;;AAEjD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,KAAA;MAAAC,IAAA;MAAAC,kBAAA;IAAA;IAAAC,SAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,WAAA;MAAAH,IAAA;MAAA;MAAAC,kBAAA;IAAA;IAAAG,KAAA;MAAAJ,IAAA;IAAA;IAAAK,SAAA;MAAAL,IAAA;IAAA;IAAAM,UAAA;MAAAN,IAAA;MAAAC,kBAAA;IAAA;IAAAM,cAAA;MAAAP,IAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAR,IAAA;MAAA;IAAA;IAAAS,KAAA;MAAAT,IAAA;MAAA;IAAA;IAAAU,mBAAA;MAAAV,IAAA;MAAA;IAAA;EAAA;EAAAW,QAAA;IAAAC,KAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,+BAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,aAAA;IAAAC,UAAA;MAAAL,+BAAA;MAAAM,sBAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAb,6BAAA;QAAAM,QAAA;MAAA;IAAA;IAAAQ,oBAAA;MAAAjB,KAAA;MAAAkB,MAAA;MAAA3B,KAAA;MAAAW,+BAAA;MAAAC,6BAAA;QAAAH,KAAA;QAAAkB,MAAA;QAAA3B,KAAA;MAAA;IAAA;IAAA4B,IAAA;EAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE5C;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM6C,QAAQ,GAAG;EACvBlD,IAAI;EACJmD,OAAO,EAAE;IACRxC,UAAU,EAAE;MAAEQ,UAAU,EAAErB,EAAE,CAAE,QAAS,CAAC;MAAEc,KAAK,EAAEd,EAAE,CAAE,QAAS;IAAE,CAAC;IACjEsD,aAAa,EAAE;EAChB,CAAC;EACDH,UAAU;EACVD;AACD,CAAC;AAED,OAAO,MAAMK,IAAI,GAAGA,CAAA,KAAMpD,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEgD;AAAS,CAAE,CAAC"}
@@ -17,7 +17,7 @@ function getLatestHeadings(select, clientId) {
17
17
  getBlockAttributes,
18
18
  getBlockName,
19
19
  getClientIdsWithDescendants,
20
- __experimentalGetGlobalBlocksByName: getGlobalBlocksByName
20
+ getBlocksByName
21
21
  } = select(blockEditorStore);
22
22
 
23
23
  // FIXME: @wordpress/block-library should not depend on @wordpress/editor.
@@ -27,7 +27,7 @@ function getLatestHeadings(select, clientId) {
27
27
  // will be null, and the block's saved markup will lack permalinks.
28
28
  // eslint-disable-next-line @wordpress/data-no-store-string-literals
29
29
  const permalink = (_select$getPermalink = select('core/editor').getPermalink()) !== null && _select$getPermalink !== void 0 ? _select$getPermalink : null;
30
- const isPaginated = getGlobalBlocksByName('core/nextpage').length !== 0;
30
+ const isPaginated = getBlocksByName('core/nextpage').length !== 0;
31
31
  const {
32
32
  onlyIncludeCurrentPage
33
33
  } = (_getBlockAttributes = getBlockAttributes(clientId)) !== null && _getBlockAttributes !== void 0 ? _getBlockAttributes : {};
@@ -1 +1 @@
1
- {"version":3,"names":["fastDeepEqual","useRegistry","__unstableStripHTML","stripHTML","useEffect","addQueryArgs","removeQueryArgs","store","blockEditorStore","getLatestHeadings","select","clientId","_select$getPermalink","_getBlockAttributes","getBlockAttributes","getBlockName","getClientIdsWithDescendants","__experimentalGetGlobalBlocksByName","getGlobalBlocksByName","permalink","getPermalink","isPaginated","length","onlyIncludeCurrentPage","allBlockClientIds","tocPage","tocIndex","indexOf","blockIndex","blockClientId","entries","latestHeadings","headingPage","headingPageLink","page","blockName","headingAttributes","canBeLinked","anchor","push","content","replace","level","link","observeCallback","dispatch","updateBlockAttributes","__unstableMarkNextChangeAsNotPersistent","attributes","headings","useObserveHeadings","registry","subscribe"],"sources":["@wordpress/block-library/src/table-of-contents/hooks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { useRegistry } from '@wordpress/data';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { useEffect } from '@wordpress/element';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nfunction getLatestHeadings( select, clientId ) {\n\tconst {\n\t\tgetBlockAttributes,\n\t\tgetBlockName,\n\t\tgetClientIdsWithDescendants,\n\t\t__experimentalGetGlobalBlocksByName: getGlobalBlocksByName,\n\t} = select( blockEditorStore );\n\n\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t// Blocks can be loaded into a *non-post* block editor, so to avoid\n\t// declaring @wordpress/editor as a dependency, we must access its\n\t// store by string. When the store is not available, editorSelectors\n\t// will be null, and the block's saved markup will lack permalinks.\n\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\tconst permalink = select( 'core/editor' ).getPermalink() ?? null;\n\n\tconst isPaginated = getGlobalBlocksByName( 'core/nextpage' ).length !== 0;\n\tconst { onlyIncludeCurrentPage } = getBlockAttributes( clientId ) ?? {};\n\n\t// Get the client ids of all blocks in the editor.\n\tconst allBlockClientIds = getClientIdsWithDescendants();\n\n\t// If onlyIncludeCurrentPage is true, calculate the page (of a paginated post) this block is part of, so we know which headings to include; otherwise, skip the calculation.\n\tlet tocPage = 1;\n\n\tif ( isPaginated && onlyIncludeCurrentPage ) {\n\t\t// We can't use getBlockIndex because it only returns the index\n\t\t// relative to sibling blocks.\n\t\tconst tocIndex = allBlockClientIds.indexOf( clientId );\n\n\t\tfor ( const [\n\t\t\tblockIndex,\n\t\t\tblockClientId,\n\t\t] of allBlockClientIds.entries() ) {\n\t\t\t// If we've reached blocks after the Table of Contents, we've\n\t\t\t// finished calculating which page the block is on.\n\t\t\tif ( blockIndex >= tocIndex ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( getBlockName( blockClientId ) === 'core/nextpage' ) {\n\t\t\t\ttocPage++;\n\t\t\t}\n\t\t}\n\t}\n\n\tconst latestHeadings = [];\n\n\t/** The page (of a paginated post) a heading will be part of. */\n\tlet headingPage = 1;\n\tlet headingPageLink = null;\n\n\t// If the core/editor store is available, we can add permalinks to the\n\t// generated table of contents.\n\tif ( typeof permalink === 'string' ) {\n\t\theadingPageLink = isPaginated\n\t\t\t? addQueryArgs( permalink, { page: headingPage } )\n\t\t\t: permalink;\n\t}\n\n\tfor ( const blockClientId of allBlockClientIds ) {\n\t\tconst blockName = getBlockName( blockClientId );\n\t\tif ( blockName === 'core/nextpage' ) {\n\t\t\theadingPage++;\n\n\t\t\t// If we're only including headings from the current page (of\n\t\t\t// a paginated post), then exit the loop if we've reached the\n\t\t\t// pages after the one with the Table of Contents block.\n\t\t\tif ( onlyIncludeCurrentPage && headingPage > tocPage ) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif ( typeof permalink === 'string' ) {\n\t\t\t\theadingPageLink = addQueryArgs(\n\t\t\t\t\tremoveQueryArgs( permalink, [ 'page' ] ),\n\t\t\t\t\t{ page: headingPage }\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// If we're including all headings or we've reached headings on\n\t\t// the same page as the Table of Contents block, add them to the\n\t\t// list.\n\t\telse if ( ! onlyIncludeCurrentPage || headingPage === tocPage ) {\n\t\t\tif ( blockName === 'core/heading' ) {\n\t\t\t\tconst headingAttributes = getBlockAttributes( blockClientId );\n\n\t\t\t\tconst canBeLinked =\n\t\t\t\t\ttypeof headingPageLink === 'string' &&\n\t\t\t\t\ttypeof headingAttributes.anchor === 'string' &&\n\t\t\t\t\theadingAttributes.anchor !== '';\n\n\t\t\t\tlatestHeadings.push( {\n\t\t\t\t\t// Convert line breaks to spaces, and get rid of HTML tags in the headings.\n\t\t\t\t\tcontent: stripHTML(\n\t\t\t\t\t\theadingAttributes.content.replace(\n\t\t\t\t\t\t\t/(<br *\\/?>)+/g,\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\tlevel: headingAttributes.level,\n\t\t\t\t\tlink: canBeLinked\n\t\t\t\t\t\t? `${ headingPageLink }#${ headingAttributes.anchor }`\n\t\t\t\t\t\t: null,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn latestHeadings;\n}\n\nfunction observeCallback( select, dispatch, clientId ) {\n\tconst { getBlockAttributes } = select( blockEditorStore );\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tdispatch( blockEditorStore );\n\n\t/**\n\t * If the block no longer exists in the store, skip the update.\n\t * The \"undo\" action recreates the block and provides a new `clientId`.\n\t * The hook still might be observing the changes while the old block unmounts.\n\t */\n\tconst attributes = getBlockAttributes( clientId );\n\tif ( attributes === null ) {\n\t\treturn;\n\t}\n\n\tconst headings = getLatestHeadings( select, clientId );\n\tif ( ! fastDeepEqual( headings, attributes.headings ) ) {\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tupdateBlockAttributes( clientId, { headings } );\n\t}\n}\n\nexport function useObserveHeadings( clientId ) {\n\tconst registry = useRegistry();\n\tuseEffect( () => {\n\t\t// Todo: Limit subscription to block editor store when data no longer depends on `getPermalink`.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/45513\n\t\treturn registry.subscribe( () =>\n\t\t\tobserveCallback( registry.select, registry.dispatch, clientId )\n\t\t);\n\t}, [ registry, clientId ] );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["fastDeepEqual","useRegistry","__unstableStripHTML","stripHTML","useEffect","addQueryArgs","removeQueryArgs","store","blockEditorStore","getLatestHeadings","select","clientId","_select$getPermalink","_getBlockAttributes","getBlockAttributes","getBlockName","getClientIdsWithDescendants","getBlocksByName","permalink","getPermalink","isPaginated","length","onlyIncludeCurrentPage","allBlockClientIds","tocPage","tocIndex","indexOf","blockIndex","blockClientId","entries","latestHeadings","headingPage","headingPageLink","page","blockName","headingAttributes","canBeLinked","anchor","push","content","replace","level","link","observeCallback","dispatch","updateBlockAttributes","__unstableMarkNextChangeAsNotPersistent","attributes","headings","useObserveHeadings","registry","subscribe"],"sources":["@wordpress/block-library/src/table-of-contents/hooks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { useRegistry } from '@wordpress/data';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { useEffect } from '@wordpress/element';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nfunction getLatestHeadings( select, clientId ) {\n\tconst {\n\t\tgetBlockAttributes,\n\t\tgetBlockName,\n\t\tgetClientIdsWithDescendants,\n\t\tgetBlocksByName,\n\t} = select( blockEditorStore );\n\n\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t// Blocks can be loaded into a *non-post* block editor, so to avoid\n\t// declaring @wordpress/editor as a dependency, we must access its\n\t// store by string. When the store is not available, editorSelectors\n\t// will be null, and the block's saved markup will lack permalinks.\n\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\tconst permalink = select( 'core/editor' ).getPermalink() ?? null;\n\n\tconst isPaginated = getBlocksByName( 'core/nextpage' ).length !== 0;\n\tconst { onlyIncludeCurrentPage } = getBlockAttributes( clientId ) ?? {};\n\n\t// Get the client ids of all blocks in the editor.\n\tconst allBlockClientIds = getClientIdsWithDescendants();\n\n\t// If onlyIncludeCurrentPage is true, calculate the page (of a paginated post) this block is part of, so we know which headings to include; otherwise, skip the calculation.\n\tlet tocPage = 1;\n\n\tif ( isPaginated && onlyIncludeCurrentPage ) {\n\t\t// We can't use getBlockIndex because it only returns the index\n\t\t// relative to sibling blocks.\n\t\tconst tocIndex = allBlockClientIds.indexOf( clientId );\n\n\t\tfor ( const [\n\t\t\tblockIndex,\n\t\t\tblockClientId,\n\t\t] of allBlockClientIds.entries() ) {\n\t\t\t// If we've reached blocks after the Table of Contents, we've\n\t\t\t// finished calculating which page the block is on.\n\t\t\tif ( blockIndex >= tocIndex ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( getBlockName( blockClientId ) === 'core/nextpage' ) {\n\t\t\t\ttocPage++;\n\t\t\t}\n\t\t}\n\t}\n\n\tconst latestHeadings = [];\n\n\t/** The page (of a paginated post) a heading will be part of. */\n\tlet headingPage = 1;\n\tlet headingPageLink = null;\n\n\t// If the core/editor store is available, we can add permalinks to the\n\t// generated table of contents.\n\tif ( typeof permalink === 'string' ) {\n\t\theadingPageLink = isPaginated\n\t\t\t? addQueryArgs( permalink, { page: headingPage } )\n\t\t\t: permalink;\n\t}\n\n\tfor ( const blockClientId of allBlockClientIds ) {\n\t\tconst blockName = getBlockName( blockClientId );\n\t\tif ( blockName === 'core/nextpage' ) {\n\t\t\theadingPage++;\n\n\t\t\t// If we're only including headings from the current page (of\n\t\t\t// a paginated post), then exit the loop if we've reached the\n\t\t\t// pages after the one with the Table of Contents block.\n\t\t\tif ( onlyIncludeCurrentPage && headingPage > tocPage ) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif ( typeof permalink === 'string' ) {\n\t\t\t\theadingPageLink = addQueryArgs(\n\t\t\t\t\tremoveQueryArgs( permalink, [ 'page' ] ),\n\t\t\t\t\t{ page: headingPage }\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// If we're including all headings or we've reached headings on\n\t\t// the same page as the Table of Contents block, add them to the\n\t\t// list.\n\t\telse if ( ! onlyIncludeCurrentPage || headingPage === tocPage ) {\n\t\t\tif ( blockName === 'core/heading' ) {\n\t\t\t\tconst headingAttributes = getBlockAttributes( blockClientId );\n\n\t\t\t\tconst canBeLinked =\n\t\t\t\t\ttypeof headingPageLink === 'string' &&\n\t\t\t\t\ttypeof headingAttributes.anchor === 'string' &&\n\t\t\t\t\theadingAttributes.anchor !== '';\n\n\t\t\t\tlatestHeadings.push( {\n\t\t\t\t\t// Convert line breaks to spaces, and get rid of HTML tags in the headings.\n\t\t\t\t\tcontent: stripHTML(\n\t\t\t\t\t\theadingAttributes.content.replace(\n\t\t\t\t\t\t\t/(<br *\\/?>)+/g,\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\tlevel: headingAttributes.level,\n\t\t\t\t\tlink: canBeLinked\n\t\t\t\t\t\t? `${ headingPageLink }#${ headingAttributes.anchor }`\n\t\t\t\t\t\t: null,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn latestHeadings;\n}\n\nfunction observeCallback( select, dispatch, clientId ) {\n\tconst { getBlockAttributes } = select( blockEditorStore );\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tdispatch( blockEditorStore );\n\n\t/**\n\t * If the block no longer exists in the store, skip the update.\n\t * The \"undo\" action recreates the block and provides a new `clientId`.\n\t * The hook still might be observing the changes while the old block unmounts.\n\t */\n\tconst attributes = getBlockAttributes( clientId );\n\tif ( attributes === null ) {\n\t\treturn;\n\t}\n\n\tconst headings = getLatestHeadings( select, clientId );\n\tif ( ! fastDeepEqual( headings, attributes.headings ) ) {\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tupdateBlockAttributes( clientId, { headings } );\n\t}\n}\n\nexport function useObserveHeadings( clientId ) {\n\tconst registry = useRegistry();\n\tuseEffect( () => {\n\t\t// Todo: Limit subscription to block editor store when data no longer depends on `getPermalink`.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/45513\n\t\treturn registry.subscribe( () =>\n\t\t\tobserveCallback( registry.select, registry.dispatch, clientId )\n\t\t);\n\t}, [ registry, clientId ] );\n}\n"],"mappings":"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"}
@@ -5,7 +5,6 @@ import { createElement, Fragment } from "react";
5
5
  import { useEntityProp } from '@wordpress/core-data';
6
6
  import { SelectControl, TextControl } from '@wordpress/components';
7
7
  import { sprintf, __ } from '@wordpress/i18n';
8
- import { InspectorControls } from '@wordpress/block-editor';
9
8
  import { useSelect } from '@wordpress/data';
10
9
 
11
10
  /**
@@ -43,9 +42,7 @@ export function TemplatePartAdvancedControls({
43
42
  label,
44
43
  value: _area
45
44
  }));
46
- return createElement(InspectorControls, {
47
- group: "advanced"
48
- }, isEntityAvailable && createElement(Fragment, null, createElement(TextControl, {
45
+ return createElement(Fragment, null, isEntityAvailable && createElement(Fragment, null, createElement(TextControl, {
49
46
  __nextHasNoMarginBottom: true,
50
47
  label: __('Title'),
51
48
  value: title,
@@ -1 +1 @@
1
- {"version":3,"names":["useEntityProp","SelectControl","TextControl","sprintf","__","InspectorControls","useSelect","TemplatePartImportControls","htmlElementMessages","header","main","section","article","aside","footer","TemplatePartAdvancedControls","tagName","setAttributes","isEntityAvailable","templatePartId","defaultWrapper","hasInnerBlocks","area","setArea","title","setTitle","definedAreas","select","__experimentalGetDefaultTemplatePartAreas","areaOptions","map","label","_area","value","createElement","group","Fragment","__nextHasNoMarginBottom","onChange","onFocus","event","target","labelPosition","options","__next40pxDefaultSize","help"],"sources":["@wordpress/block-library/src/template-part/edit/advanced-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport { SelectControl, TextControl } from '@wordpress/components';\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { TemplatePartImportControls } from './import-controls';\n\nconst htmlElementMessages = {\n\theader: __(\n\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t),\n\tmain: __(\n\t\t'The <main> element should be used for the primary content of your document only.'\n\t),\n\tsection: __(\n\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t),\n\tarticle: __(\n\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t),\n\taside: __(\n\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t),\n\tfooter: __(\n\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t),\n};\n\nexport function TemplatePartAdvancedControls( {\n\ttagName,\n\tsetAttributes,\n\tisEntityAvailable,\n\ttemplatePartId,\n\tdefaultWrapper,\n\thasInnerBlocks,\n} ) {\n\tconst [ area, setArea ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t'area',\n\t\ttemplatePartId\n\t);\n\n\tconst [ title, setTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t'title',\n\t\ttemplatePartId\n\t);\n\n\tconst definedAreas = useSelect( ( select ) => {\n\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t// Blocks can be loaded into a *non-post* block editor.\n\t\t/* eslint-disable-next-line @wordpress/data-no-store-string-literals */\n\t\treturn select(\n\t\t\t'core/editor'\n\t\t).__experimentalGetDefaultTemplatePartAreas();\n\t}, [] );\n\n\tconst areaOptions = definedAreas.map( ( { label, area: _area } ) => ( {\n\t\tlabel,\n\t\tvalue: _area,\n\t} ) );\n\n\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t{ isEntityAvailable && (\n\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\tlabel={ __( 'Title' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetTitle( value );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonFocus={ ( event ) => event.target.select() }\n\t\t\t\t\t/>\n\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\toptions={ areaOptions }\n\t\t\t\t\t\tvalue={ area }\n\t\t\t\t\t\tonChange={ setArea }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: sprintf(\n\t\t\t\t\t\t\t/* translators: %s: HTML tag based on area. */\n\t\t\t\t\t\t\t__( 'Default based on area (%s)' ),\n\t\t\t\t\t\t\t`<${ defaultWrapper }>`\n\t\t\t\t\t\t),\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t},\n\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t{ label: '<div>', value: 'div' },\n\t\t\t\t] }\n\t\t\t\tvalue={ tagName || '' }\n\t\t\t\tonChange={ ( value ) => setAttributes( { tagName: value } ) }\n\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t/>\n\t\t\t{ ! hasInnerBlocks && (\n\t\t\t\t<TemplatePartImportControls\n\t\t\t\t\tarea={ area }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useEntityProp","SelectControl","TextControl","sprintf","__","useSelect","TemplatePartImportControls","htmlElementMessages","header","main","section","article","aside","footer","TemplatePartAdvancedControls","tagName","setAttributes","isEntityAvailable","templatePartId","defaultWrapper","hasInnerBlocks","area","setArea","title","setTitle","definedAreas","select","__experimentalGetDefaultTemplatePartAreas","areaOptions","map","label","_area","value","createElement","Fragment","__nextHasNoMarginBottom","onChange","onFocus","event","target","labelPosition","options","__next40pxDefaultSize","help"],"sources":["@wordpress/block-library/src/template-part/edit/advanced-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport { SelectControl, TextControl } from '@wordpress/components';\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { TemplatePartImportControls } from './import-controls';\n\nconst htmlElementMessages = {\n\theader: __(\n\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t),\n\tmain: __(\n\t\t'The <main> element should be used for the primary content of your document only.'\n\t),\n\tsection: __(\n\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t),\n\tarticle: __(\n\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t),\n\taside: __(\n\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t),\n\tfooter: __(\n\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t),\n};\n\nexport function TemplatePartAdvancedControls( {\n\ttagName,\n\tsetAttributes,\n\tisEntityAvailable,\n\ttemplatePartId,\n\tdefaultWrapper,\n\thasInnerBlocks,\n} ) {\n\tconst [ area, setArea ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t'area',\n\t\ttemplatePartId\n\t);\n\n\tconst [ title, setTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t'title',\n\t\ttemplatePartId\n\t);\n\n\tconst definedAreas = useSelect( ( select ) => {\n\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t// Blocks can be loaded into a *non-post* block editor.\n\t\t/* eslint-disable-next-line @wordpress/data-no-store-string-literals */\n\t\treturn select(\n\t\t\t'core/editor'\n\t\t).__experimentalGetDefaultTemplatePartAreas();\n\t}, [] );\n\n\tconst areaOptions = definedAreas.map( ( { label, area: _area } ) => ( {\n\t\tlabel,\n\t\tvalue: _area,\n\t} ) );\n\n\treturn (\n\t\t<>\n\t\t\t{ isEntityAvailable && (\n\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\tlabel={ __( 'Title' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetTitle( value );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonFocus={ ( event ) => event.target.select() }\n\t\t\t\t\t/>\n\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\toptions={ areaOptions }\n\t\t\t\t\t\tvalue={ area }\n\t\t\t\t\t\tonChange={ setArea }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: sprintf(\n\t\t\t\t\t\t\t/* translators: %s: HTML tag based on area. */\n\t\t\t\t\t\t\t__( 'Default based on area (%s)' ),\n\t\t\t\t\t\t\t`<${ defaultWrapper }>`\n\t\t\t\t\t\t),\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t},\n\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t{ label: '<div>', value: 'div' },\n\t\t\t\t] }\n\t\t\t\tvalue={ tagName || '' }\n\t\t\t\tonChange={ ( value ) => setAttributes( { tagName: value } ) }\n\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t/>\n\t\t\t{ ! hasInnerBlocks && (\n\t\t\t\t<TemplatePartImportControls\n\t\t\t\t\tarea={ area }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { createElement, Fragment } from "react";
3
3
  * WordPress dependencies
4
4
  */
5
5
  import { useSelect } from '@wordpress/data';
6
- import { BlockSettingsMenuControls, useBlockProps, Warning, store as blockEditorStore, __experimentalRecursionProvider as RecursionProvider, __experimentalUseHasRecursion as useHasRecursion } from '@wordpress/block-editor';
6
+ import { BlockSettingsMenuControls, useBlockProps, Warning, store as blockEditorStore, RecursionProvider, useHasRecursion, InspectorControls } from '@wordpress/block-editor';
7
7
  import { Spinner, Modal, MenuItem } from '@wordpress/components';
8
8
  import { __, sprintf } from '@wordpress/i18n';
9
9
  import { store as coreStore } from '@wordpress/core-data';
@@ -18,6 +18,31 @@ import { TemplatePartAdvancedControls } from './advanced-controls';
18
18
  import TemplatePartInnerBlocks from './inner-blocks';
19
19
  import { createTemplatePartId } from './utils/create-template-part-id';
20
20
  import { useAlternativeBlockPatterns, useAlternativeTemplateParts, useTemplatePartArea } from './utils/hooks';
21
+ function ReplaceButton({
22
+ isEntityAvailable,
23
+ area,
24
+ clientId,
25
+ templatePartId,
26
+ isTemplatePartSelectionOpen,
27
+ setIsTemplatePartSelectionOpen
28
+ }) {
29
+ const {
30
+ templateParts
31
+ } = useAlternativeTemplateParts(area, templatePartId);
32
+ const blockPatterns = useAlternativeBlockPatterns(area, clientId);
33
+ const hasReplacements = !!templateParts.length || !!blockPatterns.length;
34
+ const canReplace = isEntityAvailable && hasReplacements && (area === 'header' || area === 'footer');
35
+ if (!canReplace) {
36
+ return null;
37
+ }
38
+ return createElement(MenuItem, {
39
+ onClick: () => {
40
+ setIsTemplatePartSelectionOpen(true);
41
+ },
42
+ "aria-expanded": isTemplatePartSelectionOpen,
43
+ "aria-haspopup": "dialog"
44
+ }, __('Replace'));
45
+ }
21
46
  export default function TemplatePartEdit({
22
47
  attributes,
23
48
  setAttributes,
@@ -61,17 +86,11 @@ export default function TemplatePartEdit({
61
86
  area: _area
62
87
  };
63
88
  }, [templatePartId, attributes.area, clientId]);
64
- const {
65
- templateParts
66
- } = useAlternativeTemplateParts(area, templatePartId);
67
- const blockPatterns = useAlternativeBlockPatterns(area, clientId);
68
- const hasReplacements = !!templateParts.length || !!blockPatterns.length;
69
89
  const areaObject = useTemplatePartArea(area);
70
90
  const blockProps = useBlockProps();
71
91
  const isPlaceholder = !slug;
72
92
  const isEntityAvailable = !isPlaceholder && !isMissing && isResolved;
73
93
  const TagName = tagName || areaObject.tagName;
74
- const canReplace = isEntityAvailable && hasReplacements && (area === 'header' || area === 'footer');
75
94
 
76
95
  // We don't want to render a missing state if we have any inner blocks.
77
96
  // A new template part is automatically created if we have any inner blocks but no entity.
@@ -88,6 +107,8 @@ export default function TemplatePartEdit({
88
107
  }
89
108
  return createElement(Fragment, null, createElement(RecursionProvider, {
90
109
  uniqueId: templatePartId
110
+ }, createElement(InspectorControls, {
111
+ group: "advanced"
91
112
  }, createElement(TemplatePartAdvancedControls, {
92
113
  tagName: tagName,
93
114
  setAttributes: setAttributes,
@@ -95,7 +116,7 @@ export default function TemplatePartEdit({
95
116
  templatePartId: templatePartId,
96
117
  defaultWrapper: areaObject.tagName,
97
118
  hasInnerBlocks: innerBlocks.length > 0
98
- }), isPlaceholder && createElement(TagName, {
119
+ })), isPlaceholder && createElement(TagName, {
99
120
  ...blockProps
100
121
  }, createElement(TemplatePartPlaceholder, {
101
122
  area: attributes.area,
@@ -103,7 +124,7 @@ export default function TemplatePartEdit({
103
124
  clientId: clientId,
104
125
  setAttributes: setAttributes,
105
126
  onOpenSelectionModal: () => setIsTemplatePartSelectionOpen(true)
106
- })), canReplace && createElement(BlockSettingsMenuControls, null, ({
127
+ })), createElement(BlockSettingsMenuControls, null, ({
107
128
  selectedClientIds
108
129
  }) => {
109
130
  // Only enable for single selection that matches the current block.
@@ -111,13 +132,14 @@ export default function TemplatePartEdit({
111
132
  if (!(selectedClientIds.length === 1 && clientId === selectedClientIds[0])) {
112
133
  return null;
113
134
  }
114
- return createElement(MenuItem, {
115
- onClick: () => {
116
- setIsTemplatePartSelectionOpen(true);
117
- },
118
- "aria-expanded": isTemplatePartSelectionOpen,
119
- "aria-haspopup": "dialog"
120
- }, __('Replace'));
135
+ return createElement(ReplaceButton, {
136
+ isEntityAvailable,
137
+ area,
138
+ clientId,
139
+ templatePartId,
140
+ isTemplatePartSelectionOpen,
141
+ setIsTemplatePartSelectionOpen
142
+ });
121
143
  }), isEntityAvailable && createElement(TemplatePartInnerBlocks, {
122
144
  tagName: TagName,
123
145
  blockProps: blockProps,
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","BlockSettingsMenuControls","useBlockProps","Warning","store","blockEditorStore","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","Spinner","Modal","MenuItem","__","sprintf","coreStore","useState","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","TemplatePartEdit","attributes","setAttributes","clientId","currentTheme","select","getCurrentTheme","stylesheet","slug","theme","tagName","layout","templatePartId","hasAlreadyRendered","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","isResolved","innerBlocks","isMissing","area","getEditedEntityRecord","hasFinishedResolution","getBlocks","getEntityArgs","entityRecord","_area","hasResolvedEntity","Object","keys","length","templateParts","blockPatterns","hasReplacements","areaObject","blockProps","isPlaceholder","isEntityAvailable","TagName","canReplace","createElement","Fragment","uniqueId","defaultWrapper","hasInnerBlocks","onOpenSelectionModal","selectedClientIds","onClick","postId","overlayClassName","title","label","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n} from '@wordpress/block-editor';\nimport { Spinner, Modal, MenuItem } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst currentTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\tconst { slug, theme = currentTheme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\t// Set the postId block attribute if it did not exist,\n\t// but wait until the inner blocks have loaded to allow\n\t// new edits to trigger this.\n\tconst { isResolved, innerBlocks, isMissing, area } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing:\n\t\t\t\t\thasResolvedEntity &&\n\t\t\t\t\t( ! entityRecord ||\n\t\t\t\t\t\tObject.keys( entityRecord ).length === 0 ),\n\t\t\t\tarea: _area,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, attributes.area, clientId ]\n\t);\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst hasReplacements = !! templateParts.length || !! blockPatterns.length;\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\tinnerBlocks.length === 0 &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t/>\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t{ canReplace && (\n\t\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t\t{ ( { selectedClientIds } ) => {\n\t\t\t\t\t\t\t// Only enable for single selection that matches the current block.\n\t\t\t\t\t\t\t// Ensures menu item doesn't render multiple times.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t! (\n\t\t\t\t\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\t\t\t\t\tclientId === selectedClientIds[ 0 ]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-expanded={\n\t\t\t\t\t\t\t\t\t\tisTemplatePartSelectionOpen\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t</BlockSettingsMenuControls>\n\t\t\t\t) }\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t\tisFullScreen={ true }\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SACCC,yBAAyB,EACzBC,aAAa,EACbC,OAAO,EACPC,KAAK,IAAIC,gBAAgB,EACzBC,+BAA+B,IAAIC,iBAAiB,EACpDC,6BAA6B,IAAIC,eAAe,QAC1C,yBAAyB;AAChC,SAASC,OAAO,EAAEC,KAAK,EAAEC,QAAQ,QAAQ,uBAAuB;AAChE,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASV,KAAK,IAAIW,SAAS,QAAQ,sBAAsB;AACzD,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C;AACA;AACA;AACA,OAAOC,uBAAuB,MAAM,eAAe;AACnD,OAAOC,0BAA0B,MAAM,mBAAmB;AAC1D,SAASC,4BAA4B,QAAQ,qBAAqB;AAClE,OAAOC,uBAAuB,MAAM,gBAAgB;AACpD,SAASC,oBAAoB,QAAQ,iCAAiC;AACtE,SACCC,2BAA2B,EAC3BC,2BAA2B,EAC3BC,mBAAmB,QACb,eAAe;AAEtB,eAAe,SAASC,gBAAgBA,CAAE;EACzCC,UAAU;EACVC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,MAAMC,YAAY,GAAG7B,SAAS,CAC3B8B,MAAM,IAAMA,MAAM,CAAEf,SAAU,CAAC,CAACgB,eAAe,CAAC,CAAC,EAAEC,UAAU,EAC/D,EACD,CAAC;EACD,MAAM;IAAEC,IAAI;IAAEC,KAAK,GAAGL,YAAY;IAAEM,OAAO;IAAEC,MAAM,GAAG,CAAC;EAAE,CAAC,GAAGV,UAAU;EACvE,MAAMW,cAAc,GAAGhB,oBAAoB,CAAEa,KAAK,EAAED,IAAK,CAAC;EAC1D,MAAMK,kBAAkB,GAAG7B,eAAe,CAAE4B,cAAe,CAAC;EAC5D,MAAM,CAAEE,2BAA2B,EAAEC,8BAA8B,CAAE,GACpExB,QAAQ,CAAE,KAAM,CAAC;;EAElB;EACA;EACA;EACA,MAAM;IAAEyB,UAAU;IAAEC,WAAW;IAAEC,SAAS;IAAEC;EAAK,CAAC,GAAG5C,SAAS,CAC3D8B,MAAM,IAAM;IACb,MAAM;MAAEe,qBAAqB;MAAEC;IAAsB,CAAC,GACrDhB,MAAM,CAAEf,SAAU,CAAC;IACpB,MAAM;MAAEgC;IAAU,CAAC,GAAGjB,MAAM,CAAEzB,gBAAiB,CAAC;IAEhD,MAAM2C,aAAa,GAAG,CACrB,UAAU,EACV,kBAAkB,EAClBX,cAAc,CACd;IACD,MAAMY,YAAY,GAAGZ,cAAc,GAChCQ,qBAAqB,CAAE,GAAGG,aAAc,CAAC,GACzC,IAAI;IACP,MAAME,KAAK,GAAGD,YAAY,EAAEL,IAAI,IAAIlB,UAAU,CAACkB,IAAI;IACnD,MAAMO,iBAAiB,GAAGd,cAAc,GACrCS,qBAAqB,CACrB,uBAAuB,EACvBE,aACA,CAAC,GACD,KAAK;IAER,OAAO;MACNN,WAAW,EAAEK,SAAS,CAAEnB,QAAS,CAAC;MAClCa,UAAU,EAAEU,iBAAiB;MAC7BR,SAAS,EACRQ,iBAAiB,KACf,CAAEF,YAAY,IACfG,MAAM,CAACC,IAAI,CAAEJ,YAAa,CAAC,CAACK,MAAM,KAAK,CAAC,CAAE;MAC5CV,IAAI,EAAEM;IACP,CAAC;EACF,CAAC,EACD,CAAEb,cAAc,EAAEX,UAAU,CAACkB,IAAI,EAAEhB,QAAQ,CAC5C,CAAC;EACD,MAAM;IAAE2B;EAAc,CAAC,GAAGhC,2BAA2B,CACpDqB,IAAI,EACJP,cACD,CAAC;EACD,MAAMmB,aAAa,GAAGlC,2BAA2B,CAAEsB,IAAI,EAAEhB,QAAS,CAAC;EACnE,MAAM6B,eAAe,GAAG,CAAC,CAAEF,aAAa,CAACD,MAAM,IAAI,CAAC,CAAEE,aAAa,CAACF,MAAM;EAC1E,MAAMI,UAAU,GAAGlC,mBAAmB,CAAEoB,IAAK,CAAC;EAC9C,MAAMe,UAAU,GAAGzD,aAAa,CAAC,CAAC;EAClC,MAAM0D,aAAa,GAAG,CAAE3B,IAAI;EAC5B,MAAM4B,iBAAiB,GAAG,CAAED,aAAa,IAAI,CAAEjB,SAAS,IAAIF,UAAU;EACtE,MAAMqB,OAAO,GAAG3B,OAAO,IAAIuB,UAAU,CAACvB,OAAO;EAE7C,MAAM4B,UAAU,GACfF,iBAAiB,IACjBJ,eAAe,KACbb,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,QAAQ,CAAE;;EAE3C;EACA;EACA,IACCF,WAAW,CAACY,MAAM,KAAK,CAAC,KACpBrB,IAAI,IAAI,CAAEC,KAAK,IAAQD,IAAI,IAAIU,SAAW,CAAE,EAC/C;IACD,OACCqB,aAAA,CAACF,OAAO;MAAA,GAAMH;IAAU,GACvBK,aAAA,CAAC7D,OAAO,QACLW,OAAO,EACR;IACAD,EAAE,CACD,sDACD,CAAC,EACDoB,IACD,CACQ,CACD,CAAC;EAEZ;EAEA,IAAK4B,iBAAiB,IAAIvB,kBAAkB,EAAG;IAC9C,OACC0B,aAAA,CAACF,OAAO;MAAA,GAAMH;IAAU,GACvBK,aAAA,CAAC7D,OAAO,QACLU,EAAE,CAAE,yCAA0C,CACxC,CACD,CAAC;EAEZ;EAEA,OACCmD,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACzD,iBAAiB;IAAC2D,QAAQ,EAAG7B;EAAgB,GAC7C2B,aAAA,CAAC7C,4BAA4B;IAC5BgB,OAAO,EAAGA,OAAS;IACnBR,aAAa,EAAGA,aAAe;IAC/BkC,iBAAiB,EAAGA,iBAAmB;IACvCxB,cAAc,EAAGA,cAAgB;IACjC8B,cAAc,EAAGT,UAAU,CAACvB,OAAS;IACrCiC,cAAc,EAAG1B,WAAW,CAACY,MAAM,GAAG;EAAG,CACzC,CAAC,EACAM,aAAa,IACdI,aAAA,CAACF,OAAO;IAAA,GAAMH;EAAU,GACvBK,aAAA,CAAC/C,uBAAuB;IACvB2B,IAAI,EAAGlB,UAAU,CAACkB,IAAM;IACxBP,cAAc,EAAGA,cAAgB;IACjCT,QAAQ,EAAGA,QAAU;IACrBD,aAAa,EAAGA,aAAe;IAC/B0C,oBAAoB,EAAGA,CAAA,KACtB7B,8BAA8B,CAAE,IAAK;EACrC,CACD,CACO,CACT,EACCuB,UAAU,IACXC,aAAA,CAAC/D,yBAAyB,QACvB,CAAE;IAAEqE;EAAkB,CAAC,KAAM;IAC9B;IACA;IACA,IACC,EACCA,iBAAiB,CAAChB,MAAM,KAAK,CAAC,IAC9B1B,QAAQ,KAAK0C,iBAAiB,CAAE,CAAC,CAAE,CACnC,EACA;MACD,OAAO,IAAI;IACZ;IAEA,OACCN,aAAA,CAACpD,QAAQ;MACR2D,OAAO,EAAGA,CAAA,KAAM;QACf/B,8BAA8B,CAAE,IAAK,CAAC;MACvC,CAAG;MACH,iBACCD,2BACA;MACD,iBAAc;IAAQ,GAEpB1B,EAAE,CAAE,SAAU,CACP,CAAC;EAEb,CAC0B,CAC3B,EACCgD,iBAAiB,IAClBG,aAAA,CAAC5C,uBAAuB;IACvBe,OAAO,EAAG2B,OAAS;IACnBH,UAAU,EAAGA,UAAY;IACzBa,MAAM,EAAGnC,cAAgB;IACzB+B,cAAc,EAAG1B,WAAW,CAACY,MAAM,GAAG,CAAG;IACzClB,MAAM,EAAGA;EAAQ,CACjB,CACD,EACC,CAAEwB,aAAa,IAAI,CAAEnB,UAAU,IAChCuB,aAAA,CAACF,OAAO;IAAA,GAAMH;EAAU,GACvBK,aAAA,CAACtD,OAAO,MAAE,CACF,CAEQ,CAAC,EAClB6B,2BAA2B,IAC5ByB,aAAA,CAACrD,KAAK;IACL8D,gBAAgB,EAAC,6CAA6C;IAC9DC,KAAK,EAAG5D,OAAO;IACd;IACAD,EAAE,CAAE,aAAc,CAAC,EACnB6C,UAAU,CAACiB,KAAK,CAACC,WAAW,CAAC,CAC9B,CAAG;IACHC,cAAc,EAAGA,CAAA,KAChBrC,8BAA8B,CAAE,KAAM,CACtC;IACDsC,YAAY,EAAG;EAAM,GAErBd,aAAA,CAAC9C,0BAA0B;IAC1BmB,cAAc,EAAGA,cAAgB;IACjCT,QAAQ,EAAGA,QAAU;IACrBgB,IAAI,EAAGA,IAAM;IACbjB,aAAa,EAAGA,aAAe;IAC/BoD,OAAO,EAAGA,CAAA,KACTvC,8BAA8B,CAAE,KAAM;EACtC,CACD,CACK,CAEP,CAAC;AAEL"}
1
+ {"version":3,"names":["useSelect","BlockSettingsMenuControls","useBlockProps","Warning","store","blockEditorStore","RecursionProvider","useHasRecursion","InspectorControls","Spinner","Modal","MenuItem","__","sprintf","coreStore","useState","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","ReplaceButton","isEntityAvailable","area","clientId","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","blockPatterns","hasReplacements","length","canReplace","createElement","onClick","TemplatePartEdit","attributes","setAttributes","currentTheme","select","getCurrentTheme","stylesheet","slug","theme","tagName","layout","hasAlreadyRendered","isResolved","innerBlocks","isMissing","getEditedEntityRecord","hasFinishedResolution","getBlocks","getEntityArgs","entityRecord","_area","hasResolvedEntity","Object","keys","areaObject","blockProps","isPlaceholder","TagName","Fragment","uniqueId","group","defaultWrapper","hasInnerBlocks","onOpenSelectionModal","selectedClientIds","postId","overlayClassName","title","label","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInspectorControls,\n} from '@wordpress/block-editor';\nimport { Spinner, Modal, MenuItem } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nfunction ReplaceButton( {\n\tisEntityAvailable,\n\tarea,\n\tclientId,\n\ttemplatePartId,\n\tisTemplatePartSelectionOpen,\n\tsetIsTemplatePartSelectionOpen,\n} ) {\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\n\tconst hasReplacements = !! templateParts.length || !! blockPatterns.length;\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t} }\n\t\t\taria-expanded={ isTemplatePartSelectionOpen }\n\t\t\taria-haspopup=\"dialog\"\n\t\t>\n\t\t\t{ __( 'Replace' ) }\n\t\t</MenuItem>\n\t);\n}\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst currentTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\tconst { slug, theme = currentTheme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\t// Set the postId block attribute if it did not exist,\n\t// but wait until the inner blocks have loaded to allow\n\t// new edits to trigger this.\n\tconst { isResolved, innerBlocks, isMissing, area } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing:\n\t\t\t\t\thasResolvedEntity &&\n\t\t\t\t\t( ! entityRecord ||\n\t\t\t\t\t\tObject.keys( entityRecord ).length === 0 ),\n\t\t\t\tarea: _area,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, attributes.area, clientId ]\n\t);\n\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\tinnerBlocks.length === 0 &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t{ ( { selectedClientIds } ) => {\n\t\t\t\t\t\t// Only enable for single selection that matches the current block.\n\t\t\t\t\t\t// Ensures menu item doesn't render multiple times.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! (\n\t\t\t\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\t\t\t\tclientId === selectedClientIds[ 0 ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ReplaceButton\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\tisEntityAvailable,\n\t\t\t\t\t\t\t\t\tarea,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\ttemplatePartId,\n\t\t\t\t\t\t\t\t\tisTemplatePartSelectionOpen,\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen,\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</BlockSettingsMenuControls>\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t\tisFullScreen={ true }\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -217,7 +217,8 @@ class VideoEdit extends Component {
217
217
  } = this.props;
218
218
  const {
219
219
  id,
220
- src
220
+ src,
221
+ guid
221
222
  } = attributes;
222
223
  const {
223
224
  videoContainerHeight
@@ -238,7 +239,11 @@ class VideoEdit extends Component {
238
239
  }));
239
240
  }
240
241
  });
241
- if (!src) {
242
+
243
+ // NOTE: `guid` is not part of the block's attribute definition. This case
244
+ // handled here is a temporary fix until a we find a better approach.
245
+ const isSourcePresent = src || guid && id;
246
+ if (!isSourcePresent) {
242
247
  return createElement(View, {
243
248
  style: {
244
249
  flex: 1