@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,84 +1,76 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { store as wpStore } from '@wordpress/interactivity';
5
- wpStore({
6
- selectors: {
7
- core: {
8
- search: {
9
- ariaLabel: ({
10
- context
11
- }) => {
12
- const {
13
- ariaLabelCollapsed,
14
- ariaLabelExpanded
15
- } = context.core.search;
16
- return context.core.search.isSearchInputVisible ? ariaLabelExpanded : ariaLabelCollapsed;
17
- },
18
- ariaControls: ({
19
- context
20
- }) => {
21
- return context.core.search.isSearchInputVisible ? null : context.core.search.inputId;
22
- },
23
- type: ({
24
- context
25
- }) => {
26
- return context.core.search.isSearchInputVisible ? 'submit' : 'button';
27
- },
28
- tabindex: ({
29
- context
30
- }) => {
31
- return context.core.search.isSearchInputVisible ? '0' : '-1';
32
- }
33
- }
4
+ import { store, getContext, getElement } from '@wordpress/interactivity';
5
+ const {
6
+ actions
7
+ } = store('core/search', {
8
+ state: {
9
+ get ariaLabel() {
10
+ const {
11
+ isSearchInputVisible,
12
+ ariaLabelCollapsed,
13
+ ariaLabelExpanded
14
+ } = getContext();
15
+ return isSearchInputVisible ? ariaLabelExpanded : ariaLabelCollapsed;
16
+ },
17
+ get ariaControls() {
18
+ const {
19
+ isSearchInputVisible,
20
+ inputId
21
+ } = getContext();
22
+ return isSearchInputVisible ? null : inputId;
23
+ },
24
+ get type() {
25
+ const {
26
+ isSearchInputVisible
27
+ } = getContext();
28
+ return isSearchInputVisible ? 'submit' : 'button';
29
+ },
30
+ get tabindex() {
31
+ const {
32
+ isSearchInputVisible
33
+ } = getContext();
34
+ return isSearchInputVisible ? '0' : '-1';
34
35
  }
35
36
  },
36
37
  actions: {
37
- core: {
38
- search: {
39
- openSearchInput: ({
40
- context,
41
- event,
42
- ref
43
- }) => {
44
- if (!context.core.search.isSearchInputVisible) {
45
- event.preventDefault();
46
- context.core.search.isSearchInputVisible = true;
47
- ref.parentElement.querySelector('input').focus();
48
- }
49
- },
50
- closeSearchInput: ({
51
- context
52
- }) => {
53
- context.core.search.isSearchInputVisible = false;
54
- },
55
- handleSearchKeydown: store => {
56
- const {
57
- actions,
58
- event,
59
- ref
60
- } = store;
61
- // If Escape close the menu.
62
- if (event?.key === 'Escape') {
63
- actions.core.search.closeSearchInput(store);
64
- ref.querySelector('button').focus();
65
- }
66
- },
67
- handleSearchFocusout: store => {
68
- const {
69
- actions,
70
- event,
71
- ref
72
- } = store;
73
- // If focus is outside search form, and in the document, close menu
74
- // event.target === The element losing focus
75
- // event.relatedTarget === The element receiving focus (if any)
76
- // When focusout is outside the document,
77
- // `window.document.activeElement` doesn't change.
78
- if (!ref.contains(event.relatedTarget) && event.target !== window.document.activeElement) {
79
- actions.core.search.closeSearchInput(store);
80
- }
81
- }
38
+ openSearchInput(event) {
39
+ const ctx = getContext();
40
+ const {
41
+ ref
42
+ } = getElement();
43
+ if (!ctx.isSearchInputVisible) {
44
+ event.preventDefault();
45
+ ctx.isSearchInputVisible = true;
46
+ ref.parentElement.querySelector('input').focus();
47
+ }
48
+ },
49
+ closeSearchInput() {
50
+ const ctx = getContext();
51
+ ctx.isSearchInputVisible = false;
52
+ },
53
+ handleSearchKeydown(event) {
54
+ const {
55
+ ref
56
+ } = getElement();
57
+ // If Escape close the menu.
58
+ if (event?.key === 'Escape') {
59
+ actions.closeSearchInput();
60
+ ref.querySelector('button').focus();
61
+ }
62
+ },
63
+ handleSearchFocusout(event) {
64
+ const {
65
+ ref
66
+ } = getElement();
67
+ // If focus is outside search form, and in the document, close menu
68
+ // event.target === The element losing focus
69
+ // event.relatedTarget === The element receiving focus (if any)
70
+ // When focusout is outside the document,
71
+ // `window.document.activeElement` doesn't change.
72
+ if (!ref.contains(event.relatedTarget) && event.target !== window.document.activeElement) {
73
+ actions.closeSearchInput();
82
74
  }
83
75
  }
84
76
  }
@@ -1 +1 @@
1
- {"version":3,"names":["store","wpStore","selectors","core","search","ariaLabel","context","ariaLabelCollapsed","ariaLabelExpanded","isSearchInputVisible","ariaControls","inputId","type","tabindex","actions","openSearchInput","event","ref","preventDefault","parentElement","querySelector","focus","closeSearchInput","handleSearchKeydown","key","handleSearchFocusout","contains","relatedTarget","target","window","document","activeElement"],"sources":["@wordpress/block-library/src/search/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as wpStore } from '@wordpress/interactivity';\n\nwpStore( {\n\tselectors: {\n\t\tcore: {\n\t\t\tsearch: {\n\t\t\t\tariaLabel: ( { context } ) => {\n\t\t\t\t\tconst { ariaLabelCollapsed, ariaLabelExpanded } =\n\t\t\t\t\t\tcontext.core.search;\n\t\t\t\t\treturn context.core.search.isSearchInputVisible\n\t\t\t\t\t\t? ariaLabelExpanded\n\t\t\t\t\t\t: ariaLabelCollapsed;\n\t\t\t\t},\n\t\t\t\tariaControls: ( { context } ) => {\n\t\t\t\t\treturn context.core.search.isSearchInputVisible\n\t\t\t\t\t\t? null\n\t\t\t\t\t\t: context.core.search.inputId;\n\t\t\t\t},\n\t\t\t\ttype: ( { context } ) => {\n\t\t\t\t\treturn context.core.search.isSearchInputVisible\n\t\t\t\t\t\t? 'submit'\n\t\t\t\t\t\t: 'button';\n\t\t\t\t},\n\t\t\t\ttabindex: ( { context } ) => {\n\t\t\t\t\treturn context.core.search.isSearchInputVisible\n\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t: '-1';\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tactions: {\n\t\tcore: {\n\t\t\tsearch: {\n\t\t\t\topenSearchInput: ( { context, event, ref } ) => {\n\t\t\t\t\tif ( ! context.core.search.isSearchInputVisible ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tcontext.core.search.isSearchInputVisible = true;\n\t\t\t\t\t\tref.parentElement.querySelector( 'input' ).focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tcloseSearchInput: ( { context } ) => {\n\t\t\t\t\tcontext.core.search.isSearchInputVisible = false;\n\t\t\t\t},\n\t\t\t\thandleSearchKeydown: ( store ) => {\n\t\t\t\t\tconst { actions, event, ref } = store;\n\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\t\t\tactions.core.search.closeSearchInput( store );\n\t\t\t\t\t\tref.querySelector( 'button' ).focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\thandleSearchFocusout: ( store ) => {\n\t\t\t\t\tconst { actions, event, ref } = store;\n\t\t\t\t\t// If focus is outside search form, 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 outside the document,\n\t\t\t\t\t// `window.document.activeElement` doesn't change.\n\t\t\t\t\tif (\n\t\t\t\t\t\t! ref.contains( event.relatedTarget ) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement\n\t\t\t\t\t) {\n\t\t\t\t\t\tactions.core.search.closeSearchInput( store );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,OAAO,QAAQ,0BAA0B;AAE3DA,OAAO,CAAE;EACRC,SAAS,EAAE;IACVC,IAAI,EAAE;MACLC,MAAM,EAAE;QACPC,SAAS,EAAEA,CAAE;UAAEC;QAAQ,CAAC,KAAM;UAC7B,MAAM;YAAEC,kBAAkB;YAAEC;UAAkB,CAAC,GAC9CF,OAAO,CAACH,IAAI,CAACC,MAAM;UACpB,OAAOE,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAC5CD,iBAAiB,GACjBD,kBAAkB;QACtB,CAAC;QACDG,YAAY,EAAEA,CAAE;UAAEJ;QAAQ,CAAC,KAAM;UAChC,OAAOA,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAC5C,IAAI,GACJH,OAAO,CAACH,IAAI,CAACC,MAAM,CAACO,OAAO;QAC/B,CAAC;QACDC,IAAI,EAAEA,CAAE;UAAEN;QAAQ,CAAC,KAAM;UACxB,OAAOA,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAC5C,QAAQ,GACR,QAAQ;QACZ,CAAC;QACDI,QAAQ,EAAEA,CAAE;UAAEP;QAAQ,CAAC,KAAM;UAC5B,OAAOA,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAC5C,GAAG,GACH,IAAI;QACR;MACD;IACD;EACD,CAAC;EACDK,OAAO,EAAE;IACRX,IAAI,EAAE;MACLC,MAAM,EAAE;QACPW,eAAe,EAAEA,CAAE;UAAET,OAAO;UAAEU,KAAK;UAAEC;QAAI,CAAC,KAAM;UAC/C,IAAK,CAAEX,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,EAAG;YACjDO,KAAK,CAACE,cAAc,CAAC,CAAC;YACtBZ,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAAG,IAAI;YAC/CQ,GAAG,CAACE,aAAa,CAACC,aAAa,CAAE,OAAQ,CAAC,CAACC,KAAK,CAAC,CAAC;UACnD;QACD,CAAC;QACDC,gBAAgB,EAAEA,CAAE;UAAEhB;QAAQ,CAAC,KAAM;UACpCA,OAAO,CAACH,IAAI,CAACC,MAAM,CAACK,oBAAoB,GAAG,KAAK;QACjD,CAAC;QACDc,mBAAmB,EAAIvB,KAAK,IAAM;UACjC,MAAM;YAAEc,OAAO;YAAEE,KAAK;YAAEC;UAAI,CAAC,GAAGjB,KAAK;UACrC;UACA,IAAKgB,KAAK,EAAEQ,GAAG,KAAK,QAAQ,EAAG;YAC9BV,OAAO,CAACX,IAAI,CAACC,MAAM,CAACkB,gBAAgB,CAAEtB,KAAM,CAAC;YAC7CiB,GAAG,CAACG,aAAa,CAAE,QAAS,CAAC,CAACC,KAAK,CAAC,CAAC;UACtC;QACD,CAAC;QACDI,oBAAoB,EAAIzB,KAAK,IAAM;UAClC,MAAM;YAAEc,OAAO;YAAEE,KAAK;YAAEC;UAAI,CAAC,GAAGjB,KAAK;UACrC;UACA;UACA;UACA;UACA;UACA,IACC,CAAEiB,GAAG,CAACS,QAAQ,CAAEV,KAAK,CAACW,aAAc,CAAC,IACrCX,KAAK,CAACY,MAAM,KAAKC,MAAM,CAACC,QAAQ,CAACC,aAAa,EAC7C;YACDjB,OAAO,CAACX,IAAI,CAACC,MAAM,CAACkB,gBAAgB,CAAEtB,KAAM,CAAC;UAC9C;QACD;MACD;IACD;EACD;AACD,CAAE,CAAC"}
1
+ {"version":3,"names":["store","getContext","getElement","actions","state","ariaLabel","isSearchInputVisible","ariaLabelCollapsed","ariaLabelExpanded","ariaControls","inputId","type","tabindex","openSearchInput","event","ctx","ref","preventDefault","parentElement","querySelector","focus","closeSearchInput","handleSearchKeydown","key","handleSearchFocusout","contains","relatedTarget","target","window","document","activeElement"],"sources":["@wordpress/block-library/src/search/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store, getContext, getElement } from '@wordpress/interactivity';\n\nconst { actions } = store( 'core/search', {\n\tstate: {\n\t\tget ariaLabel() {\n\t\t\tconst {\n\t\t\t\tisSearchInputVisible,\n\t\t\t\tariaLabelCollapsed,\n\t\t\t\tariaLabelExpanded,\n\t\t\t} = getContext();\n\t\t\treturn isSearchInputVisible\n\t\t\t\t? ariaLabelExpanded\n\t\t\t\t: ariaLabelCollapsed;\n\t\t},\n\t\tget ariaControls() {\n\t\t\tconst { isSearchInputVisible, inputId } = getContext();\n\t\t\treturn isSearchInputVisible ? null : inputId;\n\t\t},\n\t\tget type() {\n\t\t\tconst { isSearchInputVisible } = getContext();\n\t\t\treturn isSearchInputVisible ? 'submit' : 'button';\n\t\t},\n\t\tget tabindex() {\n\t\t\tconst { isSearchInputVisible } = getContext();\n\t\t\treturn isSearchInputVisible ? '0' : '-1';\n\t\t},\n\t},\n\tactions: {\n\t\topenSearchInput( event ) {\n\t\t\tconst ctx = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\tif ( ! ctx.isSearchInputVisible ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tctx.isSearchInputVisible = true;\n\t\t\t\tref.parentElement.querySelector( 'input' ).focus();\n\t\t\t}\n\t\t},\n\t\tcloseSearchInput() {\n\t\t\tconst ctx = getContext();\n\t\t\tctx.isSearchInputVisible = false;\n\t\t},\n\t\thandleSearchKeydown( event ) {\n\t\t\tconst { ref } = getElement();\n\t\t\t// If Escape close the menu.\n\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\tactions.closeSearchInput();\n\t\t\t\tref.querySelector( 'button' ).focus();\n\t\t\t}\n\t\t},\n\t\thandleSearchFocusout( event ) {\n\t\t\tconst { ref } = getElement();\n\t\t\t// If focus is outside search form, 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 outside the document,\n\t\t\t// `window.document.activeElement` doesn't change.\n\t\t\tif (\n\t\t\t\t! ref.contains( event.relatedTarget ) &&\n\t\t\t\tevent.target !== window.document.activeElement\n\t\t\t) {\n\t\t\t\tactions.closeSearchInput();\n\t\t\t}\n\t\t},\n\t},\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,EAAEC,UAAU,EAAEC,UAAU,QAAQ,0BAA0B;AAExE,MAAM;EAAEC;AAAQ,CAAC,GAAGH,KAAK,CAAE,aAAa,EAAE;EACzCI,KAAK,EAAE;IACN,IAAIC,SAASA,CAAA,EAAG;MACf,MAAM;QACLC,oBAAoB;QACpBC,kBAAkB;QAClBC;MACD,CAAC,GAAGP,UAAU,CAAC,CAAC;MAChB,OAAOK,oBAAoB,GACxBE,iBAAiB,GACjBD,kBAAkB;IACtB,CAAC;IACD,IAAIE,YAAYA,CAAA,EAAG;MAClB,MAAM;QAAEH,oBAAoB;QAAEI;MAAQ,CAAC,GAAGT,UAAU,CAAC,CAAC;MACtD,OAAOK,oBAAoB,GAAG,IAAI,GAAGI,OAAO;IAC7C,CAAC;IACD,IAAIC,IAAIA,CAAA,EAAG;MACV,MAAM;QAAEL;MAAqB,CAAC,GAAGL,UAAU,CAAC,CAAC;MAC7C,OAAOK,oBAAoB,GAAG,QAAQ,GAAG,QAAQ;IAClD,CAAC;IACD,IAAIM,QAAQA,CAAA,EAAG;MACd,MAAM;QAAEN;MAAqB,CAAC,GAAGL,UAAU,CAAC,CAAC;MAC7C,OAAOK,oBAAoB,GAAG,GAAG,GAAG,IAAI;IACzC;EACD,CAAC;EACDH,OAAO,EAAE;IACRU,eAAeA,CAAEC,KAAK,EAAG;MACxB,MAAMC,GAAG,GAAGd,UAAU,CAAC,CAAC;MACxB,MAAM;QAAEe;MAAI,CAAC,GAAGd,UAAU,CAAC,CAAC;MAC5B,IAAK,CAAEa,GAAG,CAACT,oBAAoB,EAAG;QACjCQ,KAAK,CAACG,cAAc,CAAC,CAAC;QACtBF,GAAG,CAACT,oBAAoB,GAAG,IAAI;QAC/BU,GAAG,CAACE,aAAa,CAACC,aAAa,CAAE,OAAQ,CAAC,CAACC,KAAK,CAAC,CAAC;MACnD;IACD,CAAC;IACDC,gBAAgBA,CAAA,EAAG;MAClB,MAAMN,GAAG,GAAGd,UAAU,CAAC,CAAC;MACxBc,GAAG,CAACT,oBAAoB,GAAG,KAAK;IACjC,CAAC;IACDgB,mBAAmBA,CAAER,KAAK,EAAG;MAC5B,MAAM;QAAEE;MAAI,CAAC,GAAGd,UAAU,CAAC,CAAC;MAC5B;MACA,IAAKY,KAAK,EAAES,GAAG,KAAK,QAAQ,EAAG;QAC9BpB,OAAO,CAACkB,gBAAgB,CAAC,CAAC;QAC1BL,GAAG,CAACG,aAAa,CAAE,QAAS,CAAC,CAACC,KAAK,CAAC,CAAC;MACtC;IACD,CAAC;IACDI,oBAAoBA,CAAEV,KAAK,EAAG;MAC7B,MAAM;QAAEE;MAAI,CAAC,GAAGd,UAAU,CAAC,CAAC;MAC5B;MACA;MACA;MACA;MACA;MACA,IACC,CAAEc,GAAG,CAACS,QAAQ,CAAEX,KAAK,CAACY,aAAc,CAAC,IACrCZ,KAAK,CAACa,MAAM,KAAKC,MAAM,CAACC,QAAQ,CAACC,aAAa,EAC7C;QACD3B,OAAO,CAACkB,gBAAgB,CAAC,CAAC;MAC3B;IACD;EACD;AACD,CAAE,CAAC"}
@@ -62,6 +62,7 @@ export function TemplatePartAdvancedControls({
62
62
  onChange: setArea
63
63
  })), createElement(SelectControl, {
64
64
  __nextHasNoMarginBottom: true,
65
+ __next40pxDefaultSize: true,
65
66
  label: __('HTML element'),
66
67
  options: [{
67
68
  label: sprintf( /* translators: %s: HTML tag based on area. */
@@ -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","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\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":";AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,sBAAsB;AACpD,SAASC,aAAa,EAAEC,WAAW,QAAQ,uBAAuB;AAClE,SAASC,OAAO,EAAEC,EAAE,QAAQ,iBAAiB;AAC7C,SAASC,iBAAiB,QAAQ,yBAAyB;AAC3D,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,SAASC,0BAA0B,QAAQ,mBAAmB;AAE9D,MAAMC,mBAAmB,GAAG;EAC3BC,MAAM,EAAEL,EAAE,CACT,qHACD,CAAC;EACDM,IAAI,EAAEN,EAAE,CACP,kFACD,CAAC;EACDO,OAAO,EAAEP,EAAE,CACV,kIACD,CAAC;EACDQ,OAAO,EAAER,EAAE,CACV,gGACD,CAAC;EACDS,KAAK,EAAET,EAAE,CACR,uIACD,CAAC;EACDU,MAAM,EAAEV,EAAE,CACT,8HACD;AACD,CAAC;AAED,OAAO,SAASW,4BAA4BA,CAAE;EAC7CC,OAAO;EACPC,aAAa;EACbC,iBAAiB;EACjBC,cAAc;EACdC,cAAc;EACdC;AACD,CAAC,EAAG;EACH,MAAM,CAAEC,IAAI,EAAEC,OAAO,CAAE,GAAGvB,aAAa,CACtC,UAAU,EACV,kBAAkB,EAClB,MAAM,EACNmB,cACD,CAAC;EAED,MAAM,CAAEK,KAAK,EAAEC,QAAQ,CAAE,GAAGzB,aAAa,CACxC,UAAU,EACV,kBAAkB,EAClB,OAAO,EACPmB,cACD,CAAC;EAED,MAAMO,YAAY,GAAGpB,SAAS,CAAIqB,MAAM,IAAM;IAC7C;IACA;IACA;IACA,OAAOA,MAAM,CACZ,aACD,CAAC,CAACC,yCAAyC,CAAC,CAAC;EAC9C,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,WAAW,GAAGH,YAAY,CAACI,GAAG,CAAE,CAAE;IAAEC,KAAK;IAAET,IAAI,EAAEU;EAAM,CAAC,MAAQ;IACrED,KAAK;IACLE,KAAK,EAAED;EACR,CAAC,CAAG,CAAC;EAEL,OACCE,aAAA,CAAC7B,iBAAiB;IAAC8B,KAAK,EAAC;EAAU,GAChCjB,iBAAiB,IAClBgB,aAAA,CAAAE,QAAA,QACCF,aAAA,CAAChC,WAAW;IACXmC,uBAAuB;IACvBN,KAAK,EAAG3B,EAAE,CAAE,OAAQ,CAAG;IACvB6B,KAAK,EAAGT,KAAO;IACfc,QAAQ,EAAKL,KAAK,IAAM;MACvBR,QAAQ,CAAEQ,KAAM,CAAC;IAClB,CAAG;IACHM,OAAO,EAAKC,KAAK,IAAMA,KAAK,CAACC,MAAM,CAACd,MAAM,CAAC;EAAG,CAC9C,CAAC,EAEFO,aAAA,CAACjC,aAAa;IACboC,uBAAuB;IACvBN,KAAK,EAAG3B,EAAE,CAAE,MAAO,CAAG;IACtBsC,aAAa,EAAC,KAAK;IACnBC,OAAO,EAAGd,WAAa;IACvBI,KAAK,EAAGX,IAAM;IACdgB,QAAQ,EAAGf;EAAS,CACpB,CACA,CACF,EACDW,aAAA,CAACjC,aAAa;IACboC,uBAAuB;IACvBN,KAAK,EAAG3B,EAAE,CAAE,cAAe,CAAG;IAC9BuC,OAAO,EAAG,CACT;MACCZ,KAAK,EAAE5B,OAAO,EACb;MACAC,EAAE,CAAE,4BAA6B,CAAC,EACjC,IAAIgB,cAAgB,GACtB,CAAC;MACDa,KAAK,EAAE;IACR,CAAC,EACD;MAAEF,KAAK,EAAE,UAAU;MAAEE,KAAK,EAAE;IAAS,CAAC,EACtC;MAAEF,KAAK,EAAE,QAAQ;MAAEE,KAAK,EAAE;IAAO,CAAC,EAClC;MAAEF,KAAK,EAAE,WAAW;MAAEE,KAAK,EAAE;IAAU,CAAC,EACxC;MAAEF,KAAK,EAAE,WAAW;MAAEE,KAAK,EAAE;IAAU,CAAC,EACxC;MAAEF,KAAK,EAAE,SAAS;MAAEE,KAAK,EAAE;IAAQ,CAAC,EACpC;MAAEF,KAAK,EAAE,UAAU;MAAEE,KAAK,EAAE;IAAS,CAAC,EACtC;MAAEF,KAAK,EAAE,OAAO;MAAEE,KAAK,EAAE;IAAM,CAAC,CAC9B;IACHA,KAAK,EAAGjB,OAAO,IAAI,EAAI;IACvBsB,QAAQ,EAAKL,KAAK,IAAMhB,aAAa,CAAE;MAAED,OAAO,EAAEiB;IAAM,CAAE,CAAG;IAC7DW,IAAI,EAAGpC,mBAAmB,CAAEQ,OAAO;EAAI,CACvC,CAAC,EACA,CAAEK,cAAc,IACjBa,aAAA,CAAC3B,0BAA0B;IAC1Be,IAAI,EAAGA,IAAM;IACbL,aAAa,EAAGA;EAAe,CAC/B,CAEgB,CAAC;AAEtB"}
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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"}
@@ -3,11 +3,11 @@ import { createElement, Fragment } from "react";
3
3
  * WordPress dependencies
4
4
  */
5
5
  import { useSelect } from '@wordpress/data';
6
- import { BlockSettingsMenuControls, BlockTitle, useBlockProps, Warning, store as blockEditorStore, __experimentalRecursionProvider as RecursionProvider, __experimentalUseHasRecursion as useHasRecursion } from '@wordpress/block-editor';
6
+ import { BlockSettingsMenuControls, useBlockProps, Warning, store as blockEditorStore, __experimentalRecursionProvider as RecursionProvider, __experimentalUseHasRecursion as useHasRecursion } 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';
10
- import { useState, createInterpolateElement } from '@wordpress/element';
10
+ import { useState } from '@wordpress/element';
11
11
 
12
12
  /**
13
13
  * Internal dependencies
@@ -23,9 +23,10 @@ export default function TemplatePartEdit({
23
23
  setAttributes,
24
24
  clientId
25
25
  }) {
26
+ const currentTheme = useSelect(select => select(coreStore).getCurrentTheme()?.stylesheet, []);
26
27
  const {
27
28
  slug,
28
- theme,
29
+ theme = currentTheme,
29
30
  tagName,
30
31
  layout = {}
31
32
  } = attributes;
@@ -116,12 +117,7 @@ export default function TemplatePartEdit({
116
117
  },
117
118
  "aria-expanded": isTemplatePartSelectionOpen,
118
119
  "aria-haspopup": "dialog"
119
- }, createInterpolateElement(__('Replace <BlockTitle />'), {
120
- BlockTitle: createElement(BlockTitle, {
121
- clientId: clientId,
122
- maximumLength: 25
123
- })
124
- }));
120
+ }, __('Replace'));
125
121
  }), isEntityAvailable && createElement(TemplatePartInnerBlocks, {
126
122
  tagName: TagName,
127
123
  blockProps: blockProps,
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","BlockSettingsMenuControls","BlockTitle","useBlockProps","Warning","store","blockEditorStore","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","Spinner","Modal","MenuItem","__","sprintf","coreStore","useState","createInterpolateElement","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","TemplatePartEdit","attributes","setAttributes","clientId","slug","theme","tagName","layout","templatePartId","hasAlreadyRendered","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","isResolved","innerBlocks","isMissing","area","select","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","maximumLength","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\tBlockTitle,\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, createInterpolateElement } 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 { slug, theme, 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{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t\t__( 'Replace <BlockTitle />' ),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tBlockTitle: (\n\t\t\t\t\t\t\t\t\t\t\t\t<BlockTitle\n\t\t\t\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaximumLength={ 25 }\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) }\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":"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"}
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":"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"}
@@ -63,7 +63,11 @@ export const settings = {
63
63
  if (!slug) {
64
64
  return;
65
65
  }
66
- const entity = select(coreDataStore).getEntityRecord('postType', 'wp_template_part', theme + '//' + slug);
66
+ const {
67
+ getCurrentTheme,
68
+ getEntityRecord
69
+ } = select(coreDataStore);
70
+ const entity = getEntityRecord('postType', 'wp_template_part', (theme || getCurrentTheme()?.stylesheet) + '//' + slug);
67
71
  if (!entity) {
68
72
  return;
69
73
  }
@@ -76,7 +80,7 @@ export const init = () => {
76
80
 
77
81
  // Prevent adding template parts inside post templates.
78
82
  const DISALLOWED_PARENTS = ['core/post-template', 'core/post-content'];
79
- addFilter('blockEditor.__unstableCanInsertBlockType', 'removeTemplatePartsFromPostTemplates', (canInsert, blockType, rootClientId, {
83
+ addFilter('blockEditor.__unstableCanInsertBlockType', 'core/block-library/removeTemplatePartsFromPostTemplates', (canInsert, blockType, rootClientId, {
80
84
  getBlock,
81
85
  getBlockParentsByBlockName
82
86
  }) => {
@@ -1 +1 @@
1
- {"version":3,"names":["capitalCase","store","coreDataStore","select","symbolFilled","addFilter","decodeEntities","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","slug","type","theme","tagName","area","supports","align","html","reusable","renaming","editorStyle","edit","enhanceTemplatePartVariations","settings","icon","__experimentalLabel","entity","getEntityRecord","rendered","init","DISALLOWED_PARENTS","canInsert","blockType","rootClientId","getBlock","getBlockParentsByBlockName","disallowedParentType","hasDisallowedParent","length"],"sources":["@wordpress/block-library/src/template-part/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { capitalCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport { symbolFilled } from '@wordpress/icons';\nimport { addFilter } from '@wordpress/hooks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport { enhanceTemplatePartVariations } from './variations';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon: symbolFilled,\n\t__experimentalLabel: ( { slug, theme } ) => {\n\t\t// Attempt to find entity title if block is a template part.\n\t\t// Require slug to request, otherwise entity is uncreated and will throw 404.\n\t\tif ( ! slug ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst entity = select( coreDataStore ).getEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\ttheme + '//' + slug\n\t\t);\n\t\tif ( ! entity ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn (\n\t\t\tdecodeEntities( entity.title?.rendered ) ||\n\t\t\tcapitalCase( entity.slug )\n\t\t);\n\t},\n\tedit,\n};\n\nexport const init = () => {\n\taddFilter(\n\t\t'blocks.registerBlockType',\n\t\t'core/template-part',\n\t\tenhanceTemplatePartVariations\n\t);\n\n\t// Prevent adding template parts inside post templates.\n\tconst DISALLOWED_PARENTS = [ 'core/post-template', 'core/post-content' ];\n\taddFilter(\n\t\t'blockEditor.__unstableCanInsertBlockType',\n\t\t'removeTemplatePartsFromPostTemplates',\n\t\t(\n\t\t\tcanInsert,\n\t\t\tblockType,\n\t\t\trootClientId,\n\t\t\t{ getBlock, getBlockParentsByBlockName }\n\t\t) => {\n\t\t\tif ( blockType.name !== 'core/template-part' ) {\n\t\t\t\treturn canInsert;\n\t\t\t}\n\n\t\t\tfor ( const disallowedParentType of DISALLOWED_PARENTS ) {\n\t\t\t\tconst hasDisallowedParent =\n\t\t\t\t\tgetBlock( rootClientId )?.name === disallowedParentType ||\n\t\t\t\t\tgetBlockParentsByBlockName(\n\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\tdisallowedParentType\n\t\t\t\t\t).length;\n\t\t\t\tif ( hasDisallowedParent ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t);\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,aAAa;;AAEzC;AACA;AACA;AACA,SAASC,KAAK,IAAIC,aAAa,QAAQ,sBAAsB;AAC7D,SAASC,MAAM,QAAQ,iBAAiB;AACxC,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,cAAc,QAAQ,0BAA0B;;AAEzD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,IAAA;MAAAC,IAAA;IAAA;IAAAC,KAAA;MAAAD,IAAA;IAAA;IAAAE,OAAA;MAAAF,IAAA;IAAA;IAAAG,IAAA;MAAAH,IAAA;IAAA;EAAA;EAAAI,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,QAAA;EAAA;EAAAC,WAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,SAASC,6BAA6B,QAAQ,cAAc;AAE5D,MAAM;EAAElB;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMmB,QAAQ,GAAG;EACvBC,IAAI,EAAE3B,YAAY;EAClB4B,mBAAmB,EAAEA,CAAE;IAAEf,IAAI;IAAEE;EAAM,CAAC,KAAM;IAC3C;IACA;IACA,IAAK,CAAEF,IAAI,EAAG;MACb;IACD;IAEA,MAAMgB,MAAM,GAAG9B,MAAM,CAAED,aAAc,CAAC,CAACgC,eAAe,CACrD,UAAU,EACV,kBAAkB,EAClBf,KAAK,GAAG,IAAI,GAAGF,IAChB,CAAC;IACD,IAAK,CAAEgB,MAAM,EAAG;MACf;IACD;IAEA,OACC3B,cAAc,CAAE2B,MAAM,CAACrB,KAAK,EAAEuB,QAAS,CAAC,IACxCnC,WAAW,CAAEiC,MAAM,CAAChB,IAAK,CAAC;EAE5B,CAAC;EACDW;AACD,CAAC;AAED,OAAO,MAAMQ,IAAI,GAAGA,CAAA,KAAM;EACzB/B,SAAS,CACR,0BAA0B,EAC1B,oBAAoB,EACpBwB,6BACD,CAAC;;EAED;EACA,MAAMQ,kBAAkB,GAAG,CAAE,oBAAoB,EAAE,mBAAmB,CAAE;EACxEhC,SAAS,CACR,0CAA0C,EAC1C,sCAAsC,EACtC,CACCiC,SAAS,EACTC,SAAS,EACTC,YAAY,EACZ;IAAEC,QAAQ;IAAEC;EAA2B,CAAC,KACpC;IACJ,IAAKH,SAAS,CAAC5B,IAAI,KAAK,oBAAoB,EAAG;MAC9C,OAAO2B,SAAS;IACjB;IAEA,KAAM,MAAMK,oBAAoB,IAAIN,kBAAkB,EAAG;MACxD,MAAMO,mBAAmB,GACxBH,QAAQ,CAAED,YAAa,CAAC,EAAE7B,IAAI,KAAKgC,oBAAoB,IACvDD,0BAA0B,CACzBF,YAAY,EACZG,oBACD,CAAC,CAACE,MAAM;MACT,IAAKD,mBAAmB,EAAG;QAC1B,OAAO,KAAK;MACb;IACD;IACA,OAAO,IAAI;EACZ,CACD,CAAC;EAED,OAAOrC,SAAS,CAAE;IAAEI,IAAI;IAAEH,QAAQ;IAAEsB;EAAS,CAAE,CAAC;AACjD,CAAC"}
1
+ {"version":3,"names":["capitalCase","store","coreDataStore","select","symbolFilled","addFilter","decodeEntities","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","slug","type","theme","tagName","area","supports","align","html","reusable","renaming","editorStyle","edit","enhanceTemplatePartVariations","settings","icon","__experimentalLabel","getCurrentTheme","getEntityRecord","entity","stylesheet","rendered","init","DISALLOWED_PARENTS","canInsert","blockType","rootClientId","getBlock","getBlockParentsByBlockName","disallowedParentType","hasDisallowedParent","length"],"sources":["@wordpress/block-library/src/template-part/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { capitalCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport { symbolFilled } from '@wordpress/icons';\nimport { addFilter } from '@wordpress/hooks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport { enhanceTemplatePartVariations } from './variations';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon: symbolFilled,\n\t__experimentalLabel: ( { slug, theme } ) => {\n\t\t// Attempt to find entity title if block is a template part.\n\t\t// Require slug to request, otherwise entity is uncreated and will throw 404.\n\t\tif ( ! slug ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { getCurrentTheme, getEntityRecord } = select( coreDataStore );\n\t\tconst entity = getEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\t( theme || getCurrentTheme()?.stylesheet ) + '//' + slug\n\t\t);\n\t\tif ( ! entity ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn (\n\t\t\tdecodeEntities( entity.title?.rendered ) ||\n\t\t\tcapitalCase( entity.slug )\n\t\t);\n\t},\n\tedit,\n};\n\nexport const init = () => {\n\taddFilter(\n\t\t'blocks.registerBlockType',\n\t\t'core/template-part',\n\t\tenhanceTemplatePartVariations\n\t);\n\n\t// Prevent adding template parts inside post templates.\n\tconst DISALLOWED_PARENTS = [ 'core/post-template', 'core/post-content' ];\n\taddFilter(\n\t\t'blockEditor.__unstableCanInsertBlockType',\n\t\t'core/block-library/removeTemplatePartsFromPostTemplates',\n\t\t(\n\t\t\tcanInsert,\n\t\t\tblockType,\n\t\t\trootClientId,\n\t\t\t{ getBlock, getBlockParentsByBlockName }\n\t\t) => {\n\t\t\tif ( blockType.name !== 'core/template-part' ) {\n\t\t\t\treturn canInsert;\n\t\t\t}\n\n\t\t\tfor ( const disallowedParentType of DISALLOWED_PARENTS ) {\n\t\t\t\tconst hasDisallowedParent =\n\t\t\t\t\tgetBlock( rootClientId )?.name === disallowedParentType ||\n\t\t\t\t\tgetBlockParentsByBlockName(\n\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\tdisallowedParentType\n\t\t\t\t\t).length;\n\t\t\t\tif ( hasDisallowedParent ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t);\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,aAAa;;AAEzC;AACA;AACA;AACA,SAASC,KAAK,IAAIC,aAAa,QAAQ,sBAAsB;AAC7D,SAASC,MAAM,QAAQ,iBAAiB;AACxC,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,cAAc,QAAQ,0BAA0B;;AAEzD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,IAAA;MAAAC,IAAA;IAAA;IAAAC,KAAA;MAAAD,IAAA;IAAA;IAAAE,OAAA;MAAAF,IAAA;IAAA;IAAAG,IAAA;MAAAH,IAAA;IAAA;EAAA;EAAAI,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,QAAA;EAAA;EAAAC,WAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,SAASC,6BAA6B,QAAQ,cAAc;AAE5D,MAAM;EAAElB;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMmB,QAAQ,GAAG;EACvBC,IAAI,EAAE3B,YAAY;EAClB4B,mBAAmB,EAAEA,CAAE;IAAEf,IAAI;IAAEE;EAAM,CAAC,KAAM;IAC3C;IACA;IACA,IAAK,CAAEF,IAAI,EAAG;MACb;IACD;IAEA,MAAM;MAAEgB,eAAe;MAAEC;IAAgB,CAAC,GAAG/B,MAAM,CAAED,aAAc,CAAC;IACpE,MAAMiC,MAAM,GAAGD,eAAe,CAC7B,UAAU,EACV,kBAAkB,EAClB,CAAEf,KAAK,IAAIc,eAAe,CAAC,CAAC,EAAEG,UAAU,IAAK,IAAI,GAAGnB,IACrD,CAAC;IACD,IAAK,CAAEkB,MAAM,EAAG;MACf;IACD;IAEA,OACC7B,cAAc,CAAE6B,MAAM,CAACvB,KAAK,EAAEyB,QAAS,CAAC,IACxCrC,WAAW,CAAEmC,MAAM,CAAClB,IAAK,CAAC;EAE5B,CAAC;EACDW;AACD,CAAC;AAED,OAAO,MAAMU,IAAI,GAAGA,CAAA,KAAM;EACzBjC,SAAS,CACR,0BAA0B,EAC1B,oBAAoB,EACpBwB,6BACD,CAAC;;EAED;EACA,MAAMU,kBAAkB,GAAG,CAAE,oBAAoB,EAAE,mBAAmB,CAAE;EACxElC,SAAS,CACR,0CAA0C,EAC1C,yDAAyD,EACzD,CACCmC,SAAS,EACTC,SAAS,EACTC,YAAY,EACZ;IAAEC,QAAQ;IAAEC;EAA2B,CAAC,KACpC;IACJ,IAAKH,SAAS,CAAC9B,IAAI,KAAK,oBAAoB,EAAG;MAC9C,OAAO6B,SAAS;IACjB;IAEA,KAAM,MAAMK,oBAAoB,IAAIN,kBAAkB,EAAG;MACxD,MAAMO,mBAAmB,GACxBH,QAAQ,CAAED,YAAa,CAAC,EAAE/B,IAAI,KAAKkC,oBAAoB,IACvDD,0BAA0B,CACzBF,YAAY,EACZG,oBACD,CAAC,CAACE,MAAM;MACT,IAAKD,mBAAmB,EAAG;QAC1B,OAAO,KAAK;MACb;IACD;IACA,OAAO,IAAI;EACZ,CACD,CAAC;EAED,OAAOvC,SAAS,CAAE;IAAEI,IAAI;IAAEH,QAAQ;IAAEsB;EAAS,CAAE,CAAC;AACjD,CAAC"}
@@ -31,7 +31,11 @@ export function enhanceTemplatePartVariations(settings, name) {
31
31
  // Find a matching variation from the created template part
32
32
  // by checking the entity's `area` property.
33
33
  if (!slug) return false;
34
- const entity = select(coreDataStore).getEntityRecord('postType', 'wp_template_part', `${theme}//${slug}`);
34
+ const {
35
+ getCurrentTheme,
36
+ getEntityRecord
37
+ } = select(coreDataStore);
38
+ const entity = getEntityRecord('postType', 'wp_template_part', `${theme || getCurrentTheme()?.stylesheet}//${slug}`);
35
39
  if (entity?.slug) {
36
40
  return entity.slug === variationAttributes.slug;
37
41
  }
@@ -1 +1 @@
1
- {"version":3,"names":["store","coreDataStore","select","header","headerIcon","footer","footerIcon","sidebar","sidebarIcon","symbolFilled","symbolFilledIcon","getTemplatePartIcon","iconName","enhanceTemplatePartVariations","settings","name","variations","isActive","blockAttributes","variationAttributes","area","theme","slug","entity","getEntityRecord","map","variation","icon"],"sources":["@wordpress/block-library/src/template-part/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport {\n\theader as headerIcon,\n\tfooter as footerIcon,\n\tsidebar as sidebarIcon,\n\tsymbolFilled as symbolFilledIcon,\n} from '@wordpress/icons';\n\nfunction getTemplatePartIcon( iconName ) {\n\tif ( 'header' === iconName ) {\n\t\treturn headerIcon;\n\t} else if ( 'footer' === iconName ) {\n\t\treturn footerIcon;\n\t} else if ( 'sidebar' === iconName ) {\n\t\treturn sidebarIcon;\n\t}\n\treturn symbolFilledIcon;\n}\n\nexport function enhanceTemplatePartVariations( settings, name ) {\n\tif ( name !== 'core/template-part' ) {\n\t\treturn settings;\n\t}\n\n\tif ( settings.variations ) {\n\t\tconst isActive = ( blockAttributes, variationAttributes ) => {\n\t\t\tconst { area, theme, slug } = blockAttributes;\n\t\t\t// We first check the `area` block attribute which is set during insertion.\n\t\t\t// This property is removed on the creation of a template part.\n\t\t\tif ( area ) return area === variationAttributes.area;\n\t\t\t// Find a matching variation from the created template part\n\t\t\t// by checking the entity's `area` property.\n\t\t\tif ( ! slug ) return false;\n\t\t\tconst entity = select( coreDataStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t`${ theme }//${ slug }`\n\t\t\t);\n\n\t\t\tif ( entity?.slug ) {\n\t\t\t\treturn entity.slug === variationAttributes.slug;\n\t\t\t}\n\t\t\treturn entity?.area === variationAttributes.area;\n\t\t};\n\n\t\tconst variations = settings.variations.map( ( variation ) => {\n\t\t\treturn {\n\t\t\t\t...variation,\n\t\t\t\t...( ! variation.isActive && { isActive } ),\n\t\t\t\t...( typeof variation.icon === 'string' && {\n\t\t\t\t\ticon: getTemplatePartIcon( variation.icon ),\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\n\t\treturn {\n\t\t\t...settings,\n\t\t\tvariations,\n\t\t};\n\t}\n\treturn settings;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,aAAa,QAAQ,sBAAsB;AAC7D,SAASC,MAAM,QAAQ,iBAAiB;AACxC,SACCC,MAAM,IAAIC,UAAU,EACpBC,MAAM,IAAIC,UAAU,EACpBC,OAAO,IAAIC,WAAW,EACtBC,YAAY,IAAIC,gBAAgB,QAC1B,kBAAkB;AAEzB,SAASC,mBAAmBA,CAAEC,QAAQ,EAAG;EACxC,IAAK,QAAQ,KAAKA,QAAQ,EAAG;IAC5B,OAAOR,UAAU;EAClB,CAAC,MAAM,IAAK,QAAQ,KAAKQ,QAAQ,EAAG;IACnC,OAAON,UAAU;EAClB,CAAC,MAAM,IAAK,SAAS,KAAKM,QAAQ,EAAG;IACpC,OAAOJ,WAAW;EACnB;EACA,OAAOE,gBAAgB;AACxB;AAEA,OAAO,SAASG,6BAA6BA,CAAEC,QAAQ,EAAEC,IAAI,EAAG;EAC/D,IAAKA,IAAI,KAAK,oBAAoB,EAAG;IACpC,OAAOD,QAAQ;EAChB;EAEA,IAAKA,QAAQ,CAACE,UAAU,EAAG;IAC1B,MAAMC,QAAQ,GAAGA,CAAEC,eAAe,EAAEC,mBAAmB,KAAM;MAC5D,MAAM;QAAEC,IAAI;QAAEC,KAAK;QAAEC;MAAK,CAAC,GAAGJ,eAAe;MAC7C;MACA;MACA,IAAKE,IAAI,EAAG,OAAOA,IAAI,KAAKD,mBAAmB,CAACC,IAAI;MACpD;MACA;MACA,IAAK,CAAEE,IAAI,EAAG,OAAO,KAAK;MAC1B,MAAMC,MAAM,GAAGrB,MAAM,CAAED,aAAc,CAAC,CAACuB,eAAe,CACrD,UAAU,EACV,kBAAkB,EACjB,GAAGH,KAAO,KAAKC,IAAM,EACvB,CAAC;MAED,IAAKC,MAAM,EAAED,IAAI,EAAG;QACnB,OAAOC,MAAM,CAACD,IAAI,KAAKH,mBAAmB,CAACG,IAAI;MAChD;MACA,OAAOC,MAAM,EAAEH,IAAI,KAAKD,mBAAmB,CAACC,IAAI;IACjD,CAAC;IAED,MAAMJ,UAAU,GAAGF,QAAQ,CAACE,UAAU,CAACS,GAAG,CAAIC,SAAS,IAAM;MAC5D,OAAO;QACN,GAAGA,SAAS;QACZ,IAAK,CAAEA,SAAS,CAACT,QAAQ,IAAI;UAAEA;QAAS,CAAC,CAAE;QAC3C,IAAK,OAAOS,SAAS,CAACC,IAAI,KAAK,QAAQ,IAAI;UAC1CA,IAAI,EAAEhB,mBAAmB,CAAEe,SAAS,CAACC,IAAK;QAC3C,CAAC;MACF,CAAC;IACF,CAAE,CAAC;IAEH,OAAO;MACN,GAAGb,QAAQ;MACXE;IACD,CAAC;EACF;EACA,OAAOF,QAAQ;AAChB"}
1
+ {"version":3,"names":["store","coreDataStore","select","header","headerIcon","footer","footerIcon","sidebar","sidebarIcon","symbolFilled","symbolFilledIcon","getTemplatePartIcon","iconName","enhanceTemplatePartVariations","settings","name","variations","isActive","blockAttributes","variationAttributes","area","theme","slug","getCurrentTheme","getEntityRecord","entity","stylesheet","map","variation","icon"],"sources":["@wordpress/block-library/src/template-part/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport {\n\theader as headerIcon,\n\tfooter as footerIcon,\n\tsidebar as sidebarIcon,\n\tsymbolFilled as symbolFilledIcon,\n} from '@wordpress/icons';\n\nfunction getTemplatePartIcon( iconName ) {\n\tif ( 'header' === iconName ) {\n\t\treturn headerIcon;\n\t} else if ( 'footer' === iconName ) {\n\t\treturn footerIcon;\n\t} else if ( 'sidebar' === iconName ) {\n\t\treturn sidebarIcon;\n\t}\n\treturn symbolFilledIcon;\n}\n\nexport function enhanceTemplatePartVariations( settings, name ) {\n\tif ( name !== 'core/template-part' ) {\n\t\treturn settings;\n\t}\n\n\tif ( settings.variations ) {\n\t\tconst isActive = ( blockAttributes, variationAttributes ) => {\n\t\t\tconst { area, theme, slug } = blockAttributes;\n\t\t\t// We first check the `area` block attribute which is set during insertion.\n\t\t\t// This property is removed on the creation of a template part.\n\t\t\tif ( area ) return area === variationAttributes.area;\n\t\t\t// Find a matching variation from the created template part\n\t\t\t// by checking the entity's `area` property.\n\t\t\tif ( ! slug ) return false;\n\t\t\tconst { getCurrentTheme, getEntityRecord } =\n\t\t\t\tselect( coreDataStore );\n\t\t\tconst entity = getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t`${ theme || getCurrentTheme()?.stylesheet }//${ slug }`\n\t\t\t);\n\n\t\t\tif ( entity?.slug ) {\n\t\t\t\treturn entity.slug === variationAttributes.slug;\n\t\t\t}\n\t\t\treturn entity?.area === variationAttributes.area;\n\t\t};\n\n\t\tconst variations = settings.variations.map( ( variation ) => {\n\t\t\treturn {\n\t\t\t\t...variation,\n\t\t\t\t...( ! variation.isActive && { isActive } ),\n\t\t\t\t...( typeof variation.icon === 'string' && {\n\t\t\t\t\ticon: getTemplatePartIcon( variation.icon ),\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\n\t\treturn {\n\t\t\t...settings,\n\t\t\tvariations,\n\t\t};\n\t}\n\treturn settings;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,aAAa,QAAQ,sBAAsB;AAC7D,SAASC,MAAM,QAAQ,iBAAiB;AACxC,SACCC,MAAM,IAAIC,UAAU,EACpBC,MAAM,IAAIC,UAAU,EACpBC,OAAO,IAAIC,WAAW,EACtBC,YAAY,IAAIC,gBAAgB,QAC1B,kBAAkB;AAEzB,SAASC,mBAAmBA,CAAEC,QAAQ,EAAG;EACxC,IAAK,QAAQ,KAAKA,QAAQ,EAAG;IAC5B,OAAOR,UAAU;EAClB,CAAC,MAAM,IAAK,QAAQ,KAAKQ,QAAQ,EAAG;IACnC,OAAON,UAAU;EAClB,CAAC,MAAM,IAAK,SAAS,KAAKM,QAAQ,EAAG;IACpC,OAAOJ,WAAW;EACnB;EACA,OAAOE,gBAAgB;AACxB;AAEA,OAAO,SAASG,6BAA6BA,CAAEC,QAAQ,EAAEC,IAAI,EAAG;EAC/D,IAAKA,IAAI,KAAK,oBAAoB,EAAG;IACpC,OAAOD,QAAQ;EAChB;EAEA,IAAKA,QAAQ,CAACE,UAAU,EAAG;IAC1B,MAAMC,QAAQ,GAAGA,CAAEC,eAAe,EAAEC,mBAAmB,KAAM;MAC5D,MAAM;QAAEC,IAAI;QAAEC,KAAK;QAAEC;MAAK,CAAC,GAAGJ,eAAe;MAC7C;MACA;MACA,IAAKE,IAAI,EAAG,OAAOA,IAAI,KAAKD,mBAAmB,CAACC,IAAI;MACpD;MACA;MACA,IAAK,CAAEE,IAAI,EAAG,OAAO,KAAK;MAC1B,MAAM;QAAEC,eAAe;QAAEC;MAAgB,CAAC,GACzCtB,MAAM,CAAED,aAAc,CAAC;MACxB,MAAMwB,MAAM,GAAGD,eAAe,CAC7B,UAAU,EACV,kBAAkB,EACjB,GAAGH,KAAK,IAAIE,eAAe,CAAC,CAAC,EAAEG,UAAY,KAAKJ,IAAM,EACxD,CAAC;MAED,IAAKG,MAAM,EAAEH,IAAI,EAAG;QACnB,OAAOG,MAAM,CAACH,IAAI,KAAKH,mBAAmB,CAACG,IAAI;MAChD;MACA,OAAOG,MAAM,EAAEL,IAAI,KAAKD,mBAAmB,CAACC,IAAI;IACjD,CAAC;IAED,MAAMJ,UAAU,GAAGF,QAAQ,CAACE,UAAU,CAACW,GAAG,CAAIC,SAAS,IAAM;MAC5D,OAAO;QACN,GAAGA,SAAS;QACZ,IAAK,CAAEA,SAAS,CAACX,QAAQ,IAAI;UAAEA;QAAS,CAAC,CAAE;QAC3C,IAAK,OAAOW,SAAS,CAACC,IAAI,KAAK,QAAQ,IAAI;UAC1CA,IAAI,EAAElB,mBAAmB,CAAEiB,SAAS,CAACC,IAAK;QAC3C,CAAC;MACF,CAAC;IACF,CAAE,CAAC;IAEH,OAAO;MACN,GAAGf,QAAQ;MACXE;IACD,CAAC;EACF;EACA,OAAOF,QAAQ;AAChB"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Removes anchor tags from a string.
3
+ *
4
+ * @param {string} value The value to remove anchor tags from.
5
+ *
6
+ * @return {string} The value with anchor tags removed.
7
+ */
8
+ export default function removeAnchorTag(value) {
9
+ return value.replace(/<\/?a[^>]*>/g, '');
10
+ }
11
+ //# sourceMappingURL=remove-anchor-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["removeAnchorTag","value","replace"],"sources":["@wordpress/block-library/src/utils/remove-anchor-tag.js"],"sourcesContent":["/**\n * Removes anchor tags from a string.\n *\n * @param {string} value The value to remove anchor tags from.\n *\n * @return {string} The value with anchor tags removed.\n */\nexport default function removeAnchorTag( value ) {\n\treturn value.replace( /<\\/?a[^>]*>/g, '' );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASA,eAAeA,CAAEC,KAAK,EAAG;EAChD,OAAOA,KAAK,CAACC,OAAO,CAAE,cAAc,EAAE,EAAG,CAAC;AAC3C"}
@@ -315,20 +315,20 @@
315
315
  z-index: 1;
316
316
  color: inherit; direction: rtl;
317
317
  }
318
- .wp-block-cover-image p:not(.has-text-color),
319
- .wp-block-cover-image h1:not(.has-text-color),
320
- .wp-block-cover-image h2:not(.has-text-color),
321
- .wp-block-cover-image h3:not(.has-text-color),
322
- .wp-block-cover-image h4:not(.has-text-color),
323
- .wp-block-cover-image h5:not(.has-text-color),
324
- .wp-block-cover-image h6:not(.has-text-color),
325
- .wp-block-cover p:not(.has-text-color),
326
- .wp-block-cover h1:not(.has-text-color),
327
- .wp-block-cover h2:not(.has-text-color),
328
- .wp-block-cover h3:not(.has-text-color),
329
- .wp-block-cover h4:not(.has-text-color),
330
- .wp-block-cover h5:not(.has-text-color),
331
- .wp-block-cover h6:not(.has-text-color) {
318
+ .wp-block-cover-image p:where(:not(.has-text-color)),
319
+ .wp-block-cover-image h1:where(:not(.has-text-color)),
320
+ .wp-block-cover-image h2:where(:not(.has-text-color)),
321
+ .wp-block-cover-image h3:where(:not(.has-text-color)),
322
+ .wp-block-cover-image h4:where(:not(.has-text-color)),
323
+ .wp-block-cover-image h5:where(:not(.has-text-color)),
324
+ .wp-block-cover-image h6:where(:not(.has-text-color)),
325
+ .wp-block-cover p:where(:not(.has-text-color)),
326
+ .wp-block-cover h1:where(:not(.has-text-color)),
327
+ .wp-block-cover h2:where(:not(.has-text-color)),
328
+ .wp-block-cover h3:where(:not(.has-text-color)),
329
+ .wp-block-cover h4:where(:not(.has-text-color)),
330
+ .wp-block-cover h5:where(:not(.has-text-color)),
331
+ .wp-block-cover h6:where(:not(.has-text-color)) {
332
332
  color: inherit;
333
333
  }
334
334
  .wp-block-cover-image.is-position-top-left,
@@ -317,20 +317,20 @@
317
317
  color: inherit;
318
318
  /*rtl:raw: direction: rtl; */
319
319
  }
320
- .wp-block-cover-image p:not(.has-text-color),
321
- .wp-block-cover-image h1:not(.has-text-color),
322
- .wp-block-cover-image h2:not(.has-text-color),
323
- .wp-block-cover-image h3:not(.has-text-color),
324
- .wp-block-cover-image h4:not(.has-text-color),
325
- .wp-block-cover-image h5:not(.has-text-color),
326
- .wp-block-cover-image h6:not(.has-text-color),
327
- .wp-block-cover p:not(.has-text-color),
328
- .wp-block-cover h1:not(.has-text-color),
329
- .wp-block-cover h2:not(.has-text-color),
330
- .wp-block-cover h3:not(.has-text-color),
331
- .wp-block-cover h4:not(.has-text-color),
332
- .wp-block-cover h5:not(.has-text-color),
333
- .wp-block-cover h6:not(.has-text-color) {
320
+ .wp-block-cover-image p:where(:not(.has-text-color)),
321
+ .wp-block-cover-image h1:where(:not(.has-text-color)),
322
+ .wp-block-cover-image h2:where(:not(.has-text-color)),
323
+ .wp-block-cover-image h3:where(:not(.has-text-color)),
324
+ .wp-block-cover-image h4:where(:not(.has-text-color)),
325
+ .wp-block-cover-image h5:where(:not(.has-text-color)),
326
+ .wp-block-cover-image h6:where(:not(.has-text-color)),
327
+ .wp-block-cover p:where(:not(.has-text-color)),
328
+ .wp-block-cover h1:where(:not(.has-text-color)),
329
+ .wp-block-cover h2:where(:not(.has-text-color)),
330
+ .wp-block-cover h3:where(:not(.has-text-color)),
331
+ .wp-block-cover h4:where(:not(.has-text-color)),
332
+ .wp-block-cover h5:where(:not(.has-text-color)),
333
+ .wp-block-cover h6:where(:not(.has-text-color)) {
334
334
  color: inherit;
335
335
  }
336
336
  .wp-block-cover-image.is-position-top-left,
@@ -3082,6 +3082,15 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
3082
3082
  height: 100%;
3083
3083
  width: 100%;
3084
3084
  }
3085
+ .wp-block-post-featured-image > a {
3086
+ cursor: default;
3087
+ }
3088
+ .wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-button,
3089
+ .wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__instructions,
3090
+ .wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__label {
3091
+ opacity: 1;
3092
+ pointer-events: auto;
3093
+ }
3085
3094
 
3086
3095
  div[data-type="core/post-featured-image"] img {
3087
3096
  max-width: 100%;
@@ -3148,24 +3157,24 @@ div[data-type="core/post-featured-image"] img {
3148
3157
  background: linear-gradient(-135deg, #020381 0%, #2874fc 100%);
3149
3158
  }
3150
3159
 
3151
- .editor-styles-wrapper {
3160
+ :where(.editor-styles-wrapper) {
3152
3161
  --wp--preset--font-size--normal: 16px;
3153
3162
  --wp--preset--font-size--huge: 42px;
3154
3163
  }
3155
3164
 
3156
- .editor-styles-wrapper .has-regular-font-size {
3165
+ :where(.editor-styles-wrapper) .has-regular-font-size {
3157
3166
  font-size: 16px;
3158
3167
  }
3159
3168
 
3160
- .editor-styles-wrapper .has-larger-font-size {
3169
+ :where(.editor-styles-wrapper) .has-larger-font-size {
3161
3170
  font-size: 42px;
3162
3171
  }
3163
3172
 
3164
- .editor-styles-wrapper .has-normal-font-size {
3173
+ :where(.editor-styles-wrapper) .has-normal-font-size {
3165
3174
  font-size: var(--wp--preset--font-size--normal);
3166
3175
  }
3167
3176
 
3168
- .editor-styles-wrapper .has-huge-font-size {
3177
+ :where(.editor-styles-wrapper) .has-huge-font-size {
3169
3178
  font-size: var(--wp--preset--font-size--huge);
3170
3179
  }
3171
3180
 
@@ -3175,6 +3184,6 @@ div[data-type="core/post-featured-image"] img {
3175
3184
  * These are only output in the editor, but styles here are NOT prefixed .editor-styles-wrapper.
3176
3185
  * This allows us to create normalization styles that are easily overridden by editor styles.
3177
3186
  */
3178
- .editor-styles-wrapper iframe:not([frameborder]) {
3187
+ :where(.editor-styles-wrapper) iframe:not([frameborder]) {
3179
3188
  border: 0;
3180
3189
  }