@wordpress/block-library 9.35.1-next.16d95556a.0 → 9.36.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 (311) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/accordion/view.js +46 -4
  3. package/build/accordion/view.js.map +2 -2
  4. package/build/accordion-heading/block.json +1 -1
  5. package/build/accordion-heading/deprecated.js +1 -1
  6. package/build/accordion-heading/deprecated.js.map +2 -2
  7. package/build/accordion-panel/block.json +1 -1
  8. package/build/audio/index.js +29 -0
  9. package/build/audio/index.js.map +3 -3
  10. package/build/breadcrumbs/edit.js +1 -1
  11. package/build/breadcrumbs/edit.js.map +2 -2
  12. package/build/button/index.js +25 -0
  13. package/build/button/index.js.map +3 -3
  14. package/build/code/index.js +15 -0
  15. package/build/code/index.js.map +3 -3
  16. package/build/cover/edit/block-controls.js +37 -3
  17. package/build/cover/edit/block-controls.js.map +3 -3
  18. package/build/cover/edit/cover-placeholder.js +0 -1
  19. package/build/cover/edit/cover-placeholder.js.map +2 -2
  20. package/build/cover/edit/embed-video-url-input.js +83 -0
  21. package/build/cover/edit/embed-video-url-input.js.map +7 -0
  22. package/build/cover/edit/index.js +60 -0
  23. package/build/cover/edit/index.js.map +2 -2
  24. package/build/cover/embed-video-utils.js +151 -0
  25. package/build/cover/embed-video-utils.js.map +7 -0
  26. package/build/cover/index.js +28 -0
  27. package/build/cover/index.js.map +3 -3
  28. package/build/cover/save.js +12 -0
  29. package/build/cover/save.js.map +2 -2
  30. package/build/cover/shared.js +3 -0
  31. package/build/cover/shared.js.map +2 -2
  32. package/build/details/index.js +15 -0
  33. package/build/details/index.js.map +3 -3
  34. package/build/file/index.js +33 -0
  35. package/build/file/index.js.map +3 -3
  36. package/build/freeform/block.json +1 -1
  37. package/build/gallery/edit.js +0 -2
  38. package/build/gallery/edit.js.map +2 -2
  39. package/build/heading/index.js +15 -0
  40. package/build/heading/index.js.map +3 -3
  41. package/build/html/modal.js +139 -148
  42. package/build/html/modal.js.map +3 -3
  43. package/build/image/edit.js +0 -1
  44. package/build/image/edit.js.map +2 -2
  45. package/build/image/image.js +0 -1
  46. package/build/image/image.js.map +2 -2
  47. package/build/image/index.js +46 -0
  48. package/build/image/index.js.map +3 -3
  49. package/build/list-item/index.js +15 -0
  50. package/build/list-item/index.js.map +3 -3
  51. package/build/math/block.json +28 -1
  52. package/build/math/edit.js +4 -1
  53. package/build/math/edit.js.map +2 -2
  54. package/build/media-text/index.js +35 -0
  55. package/build/media-text/index.js.map +3 -3
  56. package/build/media-text/media-container.js +0 -2
  57. package/build/media-text/media-container.js.map +2 -2
  58. package/build/missing/block.json +1 -1
  59. package/build/missing/edit.js +2 -2
  60. package/build/missing/edit.js.map +1 -1
  61. package/build/more/index.js +16 -0
  62. package/build/more/index.js.map +3 -3
  63. package/build/navigation/block.json +2 -2
  64. package/build/navigation-link/block.json +2 -1
  65. package/build/navigation-link/edit.js +42 -11
  66. package/build/navigation-link/edit.js.map +2 -2
  67. package/build/navigation-link/index.js +25 -0
  68. package/build/navigation-link/index.js.map +3 -3
  69. package/build/navigation-link/shared/controls.js +15 -19
  70. package/build/navigation-link/shared/controls.js.map +2 -2
  71. package/build/navigation-link/shared/index.js +4 -0
  72. package/build/navigation-link/shared/index.js.map +2 -2
  73. package/build/navigation-link/shared/use-entity-binding.js +3 -2
  74. package/build/navigation-link/shared/use-entity-binding.js.map +2 -2
  75. package/build/navigation-submenu/block.json +2 -1
  76. package/build/navigation-submenu/index.js +25 -0
  77. package/build/navigation-submenu/index.js.map +3 -3
  78. package/build/paragraph/deprecated-attributes.js +68 -0
  79. package/build/paragraph/deprecated-attributes.js.map +7 -0
  80. package/build/paragraph/edit.js +2 -0
  81. package/build/paragraph/edit.js.map +3 -3
  82. package/build/paragraph/index.js +15 -0
  83. package/build/paragraph/index.js.map +3 -3
  84. package/build/pattern/block.json +1 -1
  85. package/build/post-comments-count/edit.js +1 -2
  86. package/build/post-comments-count/edit.js.map +2 -2
  87. package/build/post-comments-link/edit.js +10 -7
  88. package/build/post-comments-link/edit.js.map +2 -2
  89. package/build/preformatted/index.js +15 -0
  90. package/build/preformatted/index.js.map +3 -3
  91. package/build/pullquote/index.js +20 -0
  92. package/build/pullquote/index.js.map +3 -3
  93. package/build/search/index.js +26 -0
  94. package/build/search/index.js.map +3 -3
  95. package/build/social-link/index.js +25 -0
  96. package/build/social-link/index.js.map +3 -3
  97. package/build/social-links/edit.js +1 -1
  98. package/build/social-links/edit.js.map +1 -1
  99. package/build/tabs/view.js +17 -4
  100. package/build/tabs/view.js.map +2 -2
  101. package/build/template-part/edit/index.js +37 -7
  102. package/build/template-part/edit/index.js.map +2 -2
  103. package/build/template-part/edit/utils/hooks.js +2 -3
  104. package/build/template-part/edit/utils/hooks.js.map +2 -2
  105. package/build/term-count/index.js +1 -0
  106. package/build/term-count/index.js.map +2 -2
  107. package/build/term-name/index.js +1 -0
  108. package/build/term-name/index.js.map +2 -2
  109. package/build/verse/index.js +15 -0
  110. package/build/verse/index.js.map +3 -3
  111. package/build/video/index.js +30 -0
  112. package/build/video/index.js.map +3 -3
  113. package/build-module/accordion/view.js +46 -4
  114. package/build-module/accordion/view.js.map +2 -2
  115. package/build-module/accordion-heading/block.json +1 -1
  116. package/build-module/accordion-heading/deprecated.js +1 -1
  117. package/build-module/accordion-heading/deprecated.js.map +2 -2
  118. package/build-module/accordion-panel/block.json +1 -1
  119. package/build-module/audio/index.js +29 -0
  120. package/build-module/audio/index.js.map +2 -2
  121. package/build-module/breadcrumbs/edit.js +1 -1
  122. package/build-module/breadcrumbs/edit.js.map +2 -2
  123. package/build-module/button/index.js +25 -0
  124. package/build-module/button/index.js.map +2 -2
  125. package/build-module/code/index.js +15 -0
  126. package/build-module/code/index.js.map +2 -2
  127. package/build-module/cover/edit/block-controls.js +27 -3
  128. package/build-module/cover/edit/block-controls.js.map +2 -2
  129. package/build-module/cover/edit/cover-placeholder.js +0 -1
  130. package/build-module/cover/edit/cover-placeholder.js.map +2 -2
  131. package/build-module/cover/edit/embed-video-url-input.js +67 -0
  132. package/build-module/cover/edit/embed-video-url-input.js.map +7 -0
  133. package/build-module/cover/edit/index.js +61 -0
  134. package/build-module/cover/edit/index.js.map +2 -2
  135. package/build-module/cover/embed-video-utils.js +122 -0
  136. package/build-module/cover/embed-video-utils.js.map +7 -0
  137. package/build-module/cover/index.js +28 -0
  138. package/build-module/cover/index.js.map +2 -2
  139. package/build-module/cover/save.js +13 -0
  140. package/build-module/cover/save.js.map +2 -2
  141. package/build-module/cover/shared.js +2 -0
  142. package/build-module/cover/shared.js.map +2 -2
  143. package/build-module/details/index.js +15 -0
  144. package/build-module/details/index.js.map +2 -2
  145. package/build-module/file/index.js +34 -1
  146. package/build-module/file/index.js.map +2 -2
  147. package/build-module/freeform/block.json +1 -1
  148. package/build-module/gallery/edit.js +0 -2
  149. package/build-module/gallery/edit.js.map +2 -2
  150. package/build-module/heading/index.js +15 -0
  151. package/build-module/heading/index.js.map +2 -2
  152. package/build-module/html/modal.js +141 -150
  153. package/build-module/html/modal.js.map +2 -2
  154. package/build-module/image/edit.js +0 -1
  155. package/build-module/image/edit.js.map +2 -2
  156. package/build-module/image/image.js +0 -1
  157. package/build-module/image/image.js.map +2 -2
  158. package/build-module/image/index.js +46 -0
  159. package/build-module/image/index.js.map +2 -2
  160. package/build-module/list-item/index.js +15 -0
  161. package/build-module/list-item/index.js.map +2 -2
  162. package/build-module/math/block.json +28 -1
  163. package/build-module/math/edit.js +4 -1
  164. package/build-module/math/edit.js.map +2 -2
  165. package/build-module/media-text/index.js +35 -0
  166. package/build-module/media-text/index.js.map +2 -2
  167. package/build-module/media-text/media-container.js +0 -2
  168. package/build-module/media-text/media-container.js.map +2 -2
  169. package/build-module/missing/block.json +1 -1
  170. package/build-module/missing/edit.js +2 -2
  171. package/build-module/missing/edit.js.map +1 -1
  172. package/build-module/more/index.js +16 -0
  173. package/build-module/more/index.js.map +2 -2
  174. package/build-module/navigation/block.json +2 -2
  175. package/build-module/navigation-link/block.json +2 -1
  176. package/build-module/navigation-link/edit.js +56 -15
  177. package/build-module/navigation-link/edit.js.map +2 -2
  178. package/build-module/navigation-link/index.js +26 -1
  179. package/build-module/navigation-link/index.js.map +2 -2
  180. package/build-module/navigation-link/shared/controls.js +12 -18
  181. package/build-module/navigation-link/shared/controls.js.map +2 -2
  182. package/build-module/navigation-link/shared/index.js +3 -1
  183. package/build-module/navigation-link/shared/index.js.map +2 -2
  184. package/build-module/navigation-link/shared/use-entity-binding.js +3 -2
  185. package/build-module/navigation-link/shared/use-entity-binding.js.map +2 -2
  186. package/build-module/navigation-submenu/block.json +2 -1
  187. package/build-module/navigation-submenu/index.js +26 -1
  188. package/build-module/navigation-submenu/index.js.map +2 -2
  189. package/build-module/paragraph/deprecated-attributes.js +37 -0
  190. package/build-module/paragraph/deprecated-attributes.js.map +7 -0
  191. package/build-module/paragraph/edit.js +2 -0
  192. package/build-module/paragraph/edit.js.map +2 -2
  193. package/build-module/paragraph/index.js +15 -0
  194. package/build-module/paragraph/index.js.map +2 -2
  195. package/build-module/pattern/block.json +1 -1
  196. package/build-module/post-comments-count/edit.js +1 -3
  197. package/build-module/post-comments-count/edit.js.map +2 -2
  198. package/build-module/post-comments-link/edit.js +10 -8
  199. package/build-module/post-comments-link/edit.js.map +2 -2
  200. package/build-module/preformatted/index.js +15 -0
  201. package/build-module/preformatted/index.js.map +2 -2
  202. package/build-module/pullquote/index.js +20 -0
  203. package/build-module/pullquote/index.js.map +2 -2
  204. package/build-module/search/index.js +26 -0
  205. package/build-module/search/index.js.map +2 -2
  206. package/build-module/social-link/index.js +25 -0
  207. package/build-module/social-link/index.js.map +2 -2
  208. package/build-module/social-links/edit.js +1 -1
  209. package/build-module/social-links/edit.js.map +1 -1
  210. package/build-module/tabs/view.js +17 -4
  211. package/build-module/tabs/view.js.map +2 -2
  212. package/build-module/template-part/edit/index.js +37 -7
  213. package/build-module/template-part/edit/index.js.map +2 -2
  214. package/build-module/template-part/edit/utils/hooks.js +2 -3
  215. package/build-module/template-part/edit/utils/hooks.js.map +2 -2
  216. package/build-module/term-count/index.js +1 -0
  217. package/build-module/term-count/index.js.map +2 -2
  218. package/build-module/term-name/index.js +1 -0
  219. package/build-module/term-name/index.js.map +2 -2
  220. package/build-module/verse/index.js +15 -0
  221. package/build-module/verse/index.js.map +2 -2
  222. package/build-module/video/index.js +30 -0
  223. package/build-module/video/index.js.map +2 -2
  224. package/build-style/accordion/style-rtl.css +3 -0
  225. package/build-style/accordion/style.css +3 -0
  226. package/build-style/accordion-heading/style-rtl.css +1 -2
  227. package/build-style/accordion-heading/style.css +1 -2
  228. package/build-style/accordion-item/style-rtl.css +0 -7
  229. package/build-style/accordion-item/style.css +0 -7
  230. package/build-style/accordion-panel/style-rtl.css +1 -4
  231. package/build-style/accordion-panel/style.css +1 -4
  232. package/build-style/cover/style-rtl.css +47 -0
  233. package/build-style/cover/style.css +47 -0
  234. package/build-style/editor-rtl.css +11 -13
  235. package/build-style/editor.css +11 -13
  236. package/build-style/html/editor-rtl.css +11 -13
  237. package/build-style/html/editor.css +11 -13
  238. package/build-style/style-rtl.css +52 -12
  239. package/build-style/style.css +52 -12
  240. package/package.json +37 -37
  241. package/src/accordion/style.scss +4 -0
  242. package/src/accordion/view.js +60 -3
  243. package/src/accordion-heading/block.json +1 -1
  244. package/src/accordion-heading/deprecated.js +1 -1
  245. package/src/accordion-heading/style.scss +1 -9
  246. package/src/accordion-item/index.php +1 -0
  247. package/src/accordion-item/style.scss +2 -9
  248. package/src/accordion-panel/block.json +1 -1
  249. package/src/accordion-panel/style.scss +1 -5
  250. package/src/audio/index.js +31 -0
  251. package/src/breadcrumbs/edit.js +4 -2
  252. package/src/breadcrumbs/index.php +171 -100
  253. package/src/button/index.js +27 -0
  254. package/src/code/index.js +17 -0
  255. package/src/cover/edit/block-controls.js +26 -2
  256. package/src/cover/edit/cover-placeholder.js +0 -1
  257. package/src/cover/edit/embed-video-url-input.js +74 -0
  258. package/src/cover/edit/index.js +81 -0
  259. package/src/cover/embed-video-utils.js +196 -0
  260. package/src/cover/index.js +30 -0
  261. package/src/cover/index.php +106 -0
  262. package/src/cover/save.js +14 -0
  263. package/src/cover/shared.js +1 -0
  264. package/src/cover/style.scss +47 -0
  265. package/src/details/index.js +17 -0
  266. package/src/file/index.js +36 -1
  267. package/src/freeform/block.json +1 -1
  268. package/src/gallery/edit.js +0 -2
  269. package/src/heading/index.js +17 -0
  270. package/src/html/editor.scss +10 -15
  271. package/src/html/modal.js +23 -38
  272. package/src/image/edit.js +0 -1
  273. package/src/image/image.js +0 -1
  274. package/src/image/index.js +48 -0
  275. package/src/image/index.php +1 -0
  276. package/src/list-item/index.js +17 -0
  277. package/src/math/block.json +28 -1
  278. package/src/math/edit.js +4 -1
  279. package/src/media-text/index.js +37 -0
  280. package/src/media-text/media-container.js +0 -2
  281. package/src/missing/block.json +1 -1
  282. package/src/missing/edit.js +2 -2
  283. package/src/more/index.js +18 -0
  284. package/src/navigation/block.json +2 -2
  285. package/src/navigation-link/block.json +2 -1
  286. package/src/navigation-link/edit.js +98 -29
  287. package/src/navigation-link/index.js +28 -1
  288. package/src/navigation-link/shared/controls.js +13 -17
  289. package/src/navigation-link/shared/index.js +1 -1
  290. package/src/navigation-link/shared/use-entity-binding.js +5 -2
  291. package/src/navigation-submenu/block.json +2 -1
  292. package/src/navigation-submenu/index.js +28 -1
  293. package/src/paragraph/deprecated-attributes.js +45 -0
  294. package/src/paragraph/edit.js +2 -0
  295. package/src/paragraph/index.js +17 -0
  296. package/src/pattern/block.json +1 -1
  297. package/src/post-comments-count/edit.js +1 -9
  298. package/src/post-comments-link/edit.js +8 -18
  299. package/src/preformatted/index.js +17 -0
  300. package/src/pullquote/index.js +22 -0
  301. package/src/search/index.js +28 -0
  302. package/src/social-link/index.js +27 -0
  303. package/src/social-links/edit.js +1 -1
  304. package/src/style.scss +1 -0
  305. package/src/tabs/view.js +19 -4
  306. package/src/template-part/edit/index.js +44 -6
  307. package/src/template-part/edit/utils/hooks.js +2 -4
  308. package/src/term-count/index.js +1 -0
  309. package/src/term-name/index.js +1 -0
  310. package/src/verse/index.js +17 -0
  311. package/src/video/index.js +32 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 9.36.0 (2025-11-26)
6
+
5
7
  ## 9.35.0 (2025-11-12)
6
8
 
7
9
  ## 9.34.0 (2025-10-29)
@@ -2,7 +2,8 @@
2
2
 
3
3
  // packages/block-library/src/accordion/view.js
4
4
  var import_interactivity = require("@wordpress/interactivity");
5
- (0, import_interactivity.store)(
5
+ var hashHandled = false;
6
+ var { actions } = (0, import_interactivity.store)(
6
7
  "core/accordion",
7
8
  {
8
9
  state: {
@@ -62,16 +63,57 @@ var import_interactivity = require("@wordpress/interactivity");
62
63
  if (nextButton) {
63
64
  nextButton.focus();
64
65
  }
65
- })
66
+ }),
67
+ openPanelByHash: () => {
68
+ if (hashHandled || !window.location?.hash?.length) {
69
+ return;
70
+ }
71
+ const context = (0, import_interactivity.getContext)();
72
+ const { id, accordionItems, autoclose } = context;
73
+ const hash = decodeURIComponent(
74
+ window.location.hash.slice(1)
75
+ );
76
+ const targetElement = window.document.getElementById(hash);
77
+ if (!targetElement) {
78
+ return;
79
+ }
80
+ const panelElement = window.document.querySelector(
81
+ '.wp-block-accordion-panel[aria-labelledby="' + id + '"]'
82
+ );
83
+ if (!panelElement || !panelElement.contains(targetElement)) {
84
+ return;
85
+ }
86
+ hashHandled = true;
87
+ if (autoclose) {
88
+ accordionItems.forEach((item) => {
89
+ item.isOpen = item.id === id;
90
+ });
91
+ } else {
92
+ const targetItem = accordionItems.find(
93
+ (item) => item.id === id
94
+ );
95
+ if (targetItem) {
96
+ targetItem.isOpen = true;
97
+ }
98
+ }
99
+ window.setTimeout(() => {
100
+ targetElement.scrollIntoView();
101
+ }, 0);
102
+ }
66
103
  },
67
104
  callbacks: {
68
105
  initAccordionItems: () => {
69
106
  const context = (0, import_interactivity.getContext)();
70
- const { id, openByDefault } = context;
71
- context.accordionItems.push({
107
+ const { id, openByDefault, accordionItems } = context;
108
+ accordionItems.push({
72
109
  id,
73
110
  isOpen: openByDefault
74
111
  });
112
+ actions.openPanelByHash();
113
+ },
114
+ hashChange: () => {
115
+ hashHandled = false;
116
+ actions.openPanelByHash();
75
117
  }
76
118
  }
77
119
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/accordion/view.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store, getContext, withSyncEvent } from '@wordpress/interactivity';\n\nstore(\n\t'core/accordion',\n\t{\n\t\tstate: {\n\t\t\tget isOpen() {\n\t\t\t\tconst { id, accordionItems } = getContext();\n\t\t\t\tconst accordionItem = accordionItems.find(\n\t\t\t\t\t( item ) => item.id === id\n\t\t\t\t);\n\t\t\t\treturn accordionItem ? accordionItem.isOpen : false;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\ttoggle: () => {\n\t\t\t\tconst context = getContext();\n\t\t\t\tconst { id, autoclose, accordionItems } = context;\n\t\t\t\tconst accordionItem = accordionItems.find(\n\t\t\t\t\t( item ) => item.id === id\n\t\t\t\t);\n\n\t\t\t\tif ( autoclose ) {\n\t\t\t\t\taccordionItems.forEach( ( item ) => {\n\t\t\t\t\t\titem.isOpen =\n\t\t\t\t\t\t\titem.id === id ? ! accordionItem.isOpen : false;\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\taccordionItem.isOpen = ! accordionItem.isOpen;\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleKeyDown: withSyncEvent( ( event ) => {\n\t\t\t\tif (\n\t\t\t\t\tevent.key !== 'ArrowUp' &&\n\t\t\t\t\tevent.key !== 'ArrowDown' &&\n\t\t\t\t\tevent.key !== 'Home' &&\n\t\t\t\t\tevent.key !== 'End'\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst context = getContext();\n\t\t\t\tconst { id, accordionItems } = context;\n\t\t\t\tconst currentIndex = accordionItems.findIndex(\n\t\t\t\t\t( item ) => item.id === id\n\t\t\t\t);\n\n\t\t\t\tlet nextIndex;\n\n\t\t\t\tswitch ( event.key ) {\n\t\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\t\tnextIndex = Math.max( 0, currentIndex - 1 );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\t\tnextIndex = Math.min(\n\t\t\t\t\t\t\tcurrentIndex + 1,\n\t\t\t\t\t\t\taccordionItems.length - 1\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'Home':\n\t\t\t\t\t\tnextIndex = 0;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'End':\n\t\t\t\t\t\tnextIndex = accordionItems.length - 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tconst nextId = accordionItems[ nextIndex ].id;\n\t\t\t\tconst nextButton = document.getElementById( nextId );\n\t\t\t\tif ( nextButton ) {\n\t\t\t\t\tnextButton.focus();\n\t\t\t\t}\n\t\t\t} ),\n\t\t},\n\t\tcallbacks: {\n\t\t\tinitAccordionItems: () => {\n\t\t\t\tconst context = getContext();\n\t\t\t\tconst { id, openByDefault } = context;\n\t\t\t\tcontext.accordionItems.push( {\n\t\t\t\t\tid,\n\t\t\t\t\tisOpen: openByDefault,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"],
5
- "mappings": ";;;AAGA,2BAAiD;AAAA,IAEjD;AAAA,EACC;AAAA,EACA;AAAA,IACC,OAAO;AAAA,MACN,IAAI,SAAS;AACZ,cAAM,EAAE,IAAI,eAAe,QAAI,iCAAW;AAC1C,cAAM,gBAAgB,eAAe;AAAA,UACpC,CAAE,SAAU,KAAK,OAAO;AAAA,QACzB;AACA,eAAO,gBAAgB,cAAc,SAAS;AAAA,MAC/C;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR,QAAQ,MAAM;AACb,cAAM,cAAU,iCAAW;AAC3B,cAAM,EAAE,IAAI,WAAW,eAAe,IAAI;AAC1C,cAAM,gBAAgB,eAAe;AAAA,UACpC,CAAE,SAAU,KAAK,OAAO;AAAA,QACzB;AAEA,YAAK,WAAY;AAChB,yBAAe,QAAS,CAAE,SAAU;AACnC,iBAAK,SACJ,KAAK,OAAO,KAAK,CAAE,cAAc,SAAS;AAAA,UAC5C,CAAE;AAAA,QACH,OAAO;AACN,wBAAc,SAAS,CAAE,cAAc;AAAA,QACxC;AAAA,MACD;AAAA,MACA,mBAAe,oCAAe,CAAE,UAAW;AAC1C,YACC,MAAM,QAAQ,aACd,MAAM,QAAQ,eACd,MAAM,QAAQ,UACd,MAAM,QAAQ,OACb;AACD;AAAA,QACD;AAEA,cAAM,eAAe;AACrB,cAAM,cAAU,iCAAW;AAC3B,cAAM,EAAE,IAAI,eAAe,IAAI;AAC/B,cAAM,eAAe,eAAe;AAAA,UACnC,CAAE,SAAU,KAAK,OAAO;AAAA,QACzB;AAEA,YAAI;AAEJ,gBAAS,MAAM,KAAM;AAAA,UACpB,KAAK;AACJ,wBAAY,KAAK,IAAK,GAAG,eAAe,CAAE;AAC1C;AAAA,UACD,KAAK;AACJ,wBAAY,KAAK;AAAA,cAChB,eAAe;AAAA,cACf,eAAe,SAAS;AAAA,YACzB;AACA;AAAA,UACD,KAAK;AACJ,wBAAY;AACZ;AAAA,UACD,KAAK;AACJ,wBAAY,eAAe,SAAS;AACpC;AAAA,QACF;AAEA,cAAM,SAAS,eAAgB,SAAU,EAAE;AAC3C,cAAM,aAAa,SAAS,eAAgB,MAAO;AACnD,YAAK,YAAa;AACjB,qBAAW,MAAM;AAAA,QAClB;AAAA,MACD,CAAE;AAAA,IACH;AAAA,IACA,WAAW;AAAA,MACV,oBAAoB,MAAM;AACzB,cAAM,cAAU,iCAAW;AAC3B,cAAM,EAAE,IAAI,cAAc,IAAI;AAC9B,gBAAQ,eAAe,KAAM;AAAA,UAC5B;AAAA,UACA,QAAQ;AAAA,QACT,CAAE;AAAA,MACH;AAAA,IACD;AAAA,EACD;AAAA,EACA,EAAE,MAAM,KAAK;AACd;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store, getContext, withSyncEvent } from '@wordpress/interactivity';\n\n// Whether the hash has been handled for the current page load.\n// This is used to prevent the hash from being handled multiple times.\nlet hashHandled = false;\n\nconst { actions } = store(\n\t'core/accordion',\n\t{\n\t\tstate: {\n\t\t\tget isOpen() {\n\t\t\t\tconst { id, accordionItems } = getContext();\n\t\t\t\tconst accordionItem = accordionItems.find(\n\t\t\t\t\t( item ) => item.id === id\n\t\t\t\t);\n\t\t\t\treturn accordionItem ? accordionItem.isOpen : false;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\ttoggle: () => {\n\t\t\t\tconst context = getContext();\n\t\t\t\tconst { id, autoclose, accordionItems } = context;\n\t\t\t\tconst accordionItem = accordionItems.find(\n\t\t\t\t\t( item ) => item.id === id\n\t\t\t\t);\n\n\t\t\t\tif ( autoclose ) {\n\t\t\t\t\taccordionItems.forEach( ( item ) => {\n\t\t\t\t\t\titem.isOpen =\n\t\t\t\t\t\t\titem.id === id ? ! accordionItem.isOpen : false;\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\taccordionItem.isOpen = ! accordionItem.isOpen;\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleKeyDown: withSyncEvent( ( event ) => {\n\t\t\t\tif (\n\t\t\t\t\tevent.key !== 'ArrowUp' &&\n\t\t\t\t\tevent.key !== 'ArrowDown' &&\n\t\t\t\t\tevent.key !== 'Home' &&\n\t\t\t\t\tevent.key !== 'End'\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst context = getContext();\n\t\t\t\tconst { id, accordionItems } = context;\n\t\t\t\tconst currentIndex = accordionItems.findIndex(\n\t\t\t\t\t( item ) => item.id === id\n\t\t\t\t);\n\n\t\t\t\tlet nextIndex;\n\n\t\t\t\tswitch ( event.key ) {\n\t\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\t\tnextIndex = Math.max( 0, currentIndex - 1 );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\t\tnextIndex = Math.min(\n\t\t\t\t\t\t\tcurrentIndex + 1,\n\t\t\t\t\t\t\taccordionItems.length - 1\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'Home':\n\t\t\t\t\t\tnextIndex = 0;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'End':\n\t\t\t\t\t\tnextIndex = accordionItems.length - 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tconst nextId = accordionItems[ nextIndex ].id;\n\t\t\t\tconst nextButton = document.getElementById( nextId );\n\t\t\t\tif ( nextButton ) {\n\t\t\t\t\tnextButton.focus();\n\t\t\t\t}\n\t\t\t} ),\n\t\t\topenPanelByHash: () => {\n\t\t\t\tif ( hashHandled || ! window.location?.hash?.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst context = getContext();\n\t\t\t\tconst { id, accordionItems, autoclose } = context;\n\t\t\t\tconst hash = decodeURIComponent(\n\t\t\t\t\twindow.location.hash.slice( 1 )\n\t\t\t\t);\n\t\t\t\tconst targetElement = window.document.getElementById( hash );\n\n\t\t\t\tif ( ! targetElement ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst panelElement = window.document.querySelector(\n\t\t\t\t\t'.wp-block-accordion-panel[aria-labelledby=\"' + id + '\"]'\n\t\t\t\t);\n\n\t\t\t\tif (\n\t\t\t\t\t! panelElement ||\n\t\t\t\t\t! panelElement.contains( targetElement )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\thashHandled = true;\n\n\t\t\t\tif ( autoclose ) {\n\t\t\t\t\taccordionItems.forEach( ( item ) => {\n\t\t\t\t\t\titem.isOpen = item.id === id;\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tconst targetItem = accordionItems.find(\n\t\t\t\t\t\t( item ) => item.id === id\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( targetItem ) {\n\t\t\t\t\t\ttargetItem.isOpen = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Wait for the panel to be opened before scrolling to it.\n\t\t\t\twindow.setTimeout( () => {\n\t\t\t\t\ttargetElement.scrollIntoView();\n\t\t\t\t}, 0 );\n\t\t\t},\n\t\t},\n\t\tcallbacks: {\n\t\t\tinitAccordionItems: () => {\n\t\t\t\tconst context = getContext();\n\t\t\t\tconst { id, openByDefault, accordionItems } = context;\n\t\t\t\taccordionItems.push( {\n\t\t\t\t\tid,\n\t\t\t\t\tisOpen: openByDefault,\n\t\t\t\t} );\n\t\t\t\tactions.openPanelByHash();\n\t\t\t},\n\t\t\thashChange: () => {\n\t\t\t\thashHandled = false;\n\t\t\t\tactions.openPanelByHash();\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -57,7 +57,7 @@
57
57
  }
58
58
  },
59
59
  "shadow": true,
60
- "blockVisibility": false,
60
+ "visibility": false,
61
61
  "lock": false
62
62
  },
63
63
  "selectors": {
@@ -92,7 +92,7 @@ var v1 = {
92
92
  }
93
93
  },
94
94
  shadow: true,
95
- blockVisibility: false
95
+ visibility: false
96
96
  },
97
97
  save({ attributes }) {
98
98
  const { level, title, iconPosition, showIcon } = attributes;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/accordion-heading/deprecated.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n\tRichText,\n} from '@wordpress/block-editor';\n\nconst v1 = {\n\tattributes: {\n\t\topenByDefault: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'rich-text',\n\t\t\tsource: 'rich-text',\n\t\t\tselector: '.wp-block-accordion-heading__toggle-title',\n\t\t\trole: 'content',\n\t\t},\n\t\tlevel: {\n\t\t\ttype: 'number',\n\t\t},\n\t\ticonPosition: {\n\t\t\ttype: 'string',\n\t\t\tenum: [ 'left', 'right' ],\n\t\t\tdefault: 'right',\n\t\t},\n\t\tshowIcon: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\tcolor: {\n\t\t\tbackground: true,\n\t\t\tgradients: true,\n\t\t},\n\t\talign: false,\n\t\tinteractivity: true,\n\t\tspacing: {\n\t\t\tpadding: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalSelector: '.wp-block-accordion-heading__toggle',\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t\tfontFamily: true,\n\t\t\t},\n\t\t},\n\t\tshadow: true,\n\t\tblockVisibility: false,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { level, title, iconPosition, showIcon } = attributes;\n\t\tconst TagName = 'h' + ( level || 3 );\n\n\t\tconst blockProps = useBlockProps.save();\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle\"\n\t\t\t\t\tstyle={ spacingProps.style }\n\t\t\t\t>\n\t\t\t\t\t{ showIcon && iconPosition === 'left' && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-title\"\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t/>\n\t\t\t\t\t{ showIcon && iconPosition === 'right' && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</button>\n\t\t\t</TagName>\n\t\t);\n\t},\n};\n\nexport default [ v1 ];\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAIO;AAgFH;AA9EJ,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,eAAe;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACA,OAAO;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACN,MAAM;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACb,MAAM;AAAA,MACN,MAAM,CAAE,QAAQ,OAAQ;AAAA,MACxB,SAAS;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACD;AAAA,EACA,UAAU;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,MACN,YAAY;AAAA,MACZ,WAAW;AAAA,IACZ;AAAA,IACA,OAAO;AAAA,IACP,eAAe;AAAA,IACf,SAAS;AAAA,MACR,SAAS;AAAA,MACT,+BAA+B;AAAA,QAC9B,SAAS;AAAA,MACV;AAAA,MACA,iCAAiC;AAAA,MACjC,wBAAwB;AAAA,IACzB;AAAA,IACA,sBAAsB;AAAA,MACrB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,OAAO;AAAA,MACP,+BAA+B;AAAA,QAC9B,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,MACR;AAAA,IACD;AAAA,IACA,YAAY;AAAA,MACX,UAAU;AAAA,MACV,0BAA0B;AAAA,MAC1B,0BAA0B;AAAA,MAC1B,yBAAyB;AAAA,MACzB,6BAA6B;AAAA,MAC7B,8BAA8B;AAAA,MAC9B,6BAA6B;AAAA,MAC7B,+BAA+B;AAAA,QAC9B,UAAU;AAAA,QACV,YAAY;AAAA,MACb;AAAA,IACD;AAAA,IACA,QAAQ;AAAA,IACR,iBAAiB;AAAA,EAClB;AAAA,EACA,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM,EAAE,OAAO,OAAO,cAAc,SAAS,IAAI;AACjD,UAAM,UAAU,OAAQ,SAAS;AAEjC,UAAM,aAAa,kCAAc,KAAK;AACtC,UAAM,mBAAe,oBAAAA,0CAA4B,UAAW;AAE5D,WACC,4CAAC,WAAU,GAAG,YACb;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,OAAQ,aAAa;AAAA,QAEnB;AAAA,sBAAY,iBAAiB,UAC9B;AAAA,YAAC;AAAA;AAAA,cACA,WAAU;AAAA,cACV,eAAY;AAAA,cACZ;AAAA;AAAA,UAED;AAAA,UAED;AAAA,YAAC,6BAAS;AAAA,YAAT;AAAA,cACA,WAAU;AAAA,cACV,SAAQ;AAAA,cACR,OAAQ;AAAA;AAAA,UACT;AAAA,UACE,YAAY,iBAAiB,WAC9B;AAAA,YAAC;AAAA;AAAA,cACA,WAAU;AAAA,cACV,eAAY;AAAA,cACZ;AAAA;AAAA,UAED;AAAA;AAAA;AAAA,IAEF,GACD;AAAA,EAEF;AACD;AAEA,IAAO,qBAAQ,CAAE,EAAG;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n\tRichText,\n} from '@wordpress/block-editor';\n\nconst v1 = {\n\tattributes: {\n\t\topenByDefault: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'rich-text',\n\t\t\tsource: 'rich-text',\n\t\t\tselector: '.wp-block-accordion-heading__toggle-title',\n\t\t\trole: 'content',\n\t\t},\n\t\tlevel: {\n\t\t\ttype: 'number',\n\t\t},\n\t\ticonPosition: {\n\t\t\ttype: 'string',\n\t\t\tenum: [ 'left', 'right' ],\n\t\t\tdefault: 'right',\n\t\t},\n\t\tshowIcon: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\tcolor: {\n\t\t\tbackground: true,\n\t\t\tgradients: true,\n\t\t},\n\t\talign: false,\n\t\tinteractivity: true,\n\t\tspacing: {\n\t\t\tpadding: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalSelector: '.wp-block-accordion-heading__toggle',\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t\tfontFamily: true,\n\t\t\t},\n\t\t},\n\t\tshadow: true,\n\t\tvisibility: false,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { level, title, iconPosition, showIcon } = attributes;\n\t\tconst TagName = 'h' + ( level || 3 );\n\n\t\tconst blockProps = useBlockProps.save();\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle\"\n\t\t\t\t\tstyle={ spacingProps.style }\n\t\t\t\t>\n\t\t\t\t\t{ showIcon && iconPosition === 'left' && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-title\"\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t/>\n\t\t\t\t\t{ showIcon && iconPosition === 'right' && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"wp-block-accordion-heading__toggle-icon\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</button>\n\t\t\t</TagName>\n\t\t);\n\t},\n};\n\nexport default [ v1 ];\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAIO;AAgFH;AA9EJ,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,eAAe;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACA,OAAO;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACN,MAAM;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACb,MAAM;AAAA,MACN,MAAM,CAAE,QAAQ,OAAQ;AAAA,MACxB,SAAS;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACD;AAAA,EACA,UAAU;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,MACN,YAAY;AAAA,MACZ,WAAW;AAAA,IACZ;AAAA,IACA,OAAO;AAAA,IACP,eAAe;AAAA,IACf,SAAS;AAAA,MACR,SAAS;AAAA,MACT,+BAA+B;AAAA,QAC9B,SAAS;AAAA,MACV;AAAA,MACA,iCAAiC;AAAA,MACjC,wBAAwB;AAAA,IACzB;AAAA,IACA,sBAAsB;AAAA,MACrB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,OAAO;AAAA,MACP,+BAA+B;AAAA,QAC9B,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,MACR;AAAA,IACD;AAAA,IACA,YAAY;AAAA,MACX,UAAU;AAAA,MACV,0BAA0B;AAAA,MAC1B,0BAA0B;AAAA,MAC1B,yBAAyB;AAAA,MACzB,6BAA6B;AAAA,MAC7B,8BAA8B;AAAA,MAC9B,6BAA6B;AAAA,MAC7B,+BAA+B;AAAA,QAC9B,UAAU;AAAA,QACV,YAAY;AAAA,MACb;AAAA,IACD;AAAA,IACA,QAAQ;AAAA,IACR,YAAY;AAAA,EACb;AAAA,EACA,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM,EAAE,OAAO,OAAO,cAAc,SAAS,IAAI;AACjD,UAAM,UAAU,OAAQ,SAAS;AAEjC,UAAM,aAAa,kCAAc,KAAK;AACtC,UAAM,mBAAe,oBAAAA,0CAA4B,UAAW;AAE5D,WACC,4CAAC,WAAU,GAAG,YACb;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,OAAQ,aAAa;AAAA,QAEnB;AAAA,sBAAY,iBAAiB,UAC9B;AAAA,YAAC;AAAA;AAAA,cACA,WAAU;AAAA,cACV,eAAY;AAAA,cACZ;AAAA;AAAA,UAED;AAAA,UAED;AAAA,YAAC,6BAAS;AAAA,YAAT;AAAA,cACA,WAAU;AAAA,cACV,SAAQ;AAAA,cACR,OAAQ;AAAA;AAAA,UACT;AAAA,UACE,YAAY,iBAAiB,WAC9B;AAAA,YAAC;AAAA;AAAA,cACA,WAAU;AAAA,cACV,eAAY;AAAA,cACZ;AAAA;AAAA,UAED;AAAA;AAAA;AAAA,IAEF,GACD;AAAA,EAEF;AACD;AAEA,IAAO,qBAAQ,CAAE,EAAG;",
6
6
  "names": ["getSpacingClassesAndStyles"]
7
7
  }
@@ -50,7 +50,7 @@
50
50
  "layout": {
51
51
  "allowEditing": false
52
52
  },
53
- "blockVisibility": false,
53
+ "visibility": false,
54
54
  "contentRole": true,
55
55
  "allowedBlocks": true,
56
56
  "lock": false
@@ -36,13 +36,17 @@ __export(audio_exports, {
36
36
  settings: () => settings
37
37
  });
38
38
  module.exports = __toCommonJS(audio_exports);
39
+ var import_i18n = require("@wordpress/i18n");
39
40
  var import_icons = require("@wordpress/icons");
41
+ var import_blocks = require("@wordpress/blocks");
40
42
  var import_init_block = __toESM(require("../utils/init-block"));
41
43
  var import_deprecated = __toESM(require("./deprecated"));
42
44
  var import_edit = __toESM(require("./edit"));
43
45
  var import_block = __toESM(require("./block.json"));
44
46
  var import_save = __toESM(require("./save"));
45
47
  var import_transforms = __toESM(require("./transforms"));
48
+ var import_lock_unlock = require("../lock-unlock");
49
+ var { fieldsKey, formKey } = (0, import_lock_unlock.unlock)(import_blocks.privateApis);
46
50
  var { name } = import_block.default;
47
51
  var settings = {
48
52
  icon: import_icons.audio,
@@ -57,6 +61,31 @@ var settings = {
57
61
  edit: import_edit.default,
58
62
  save: import_save.default
59
63
  };
64
+ if (window.__experimentalContentOnlyPatternInsertion) {
65
+ settings[fieldsKey] = [
66
+ {
67
+ id: "audio",
68
+ label: (0, import_i18n.__)("Audio"),
69
+ type: "media",
70
+ mapping: {
71
+ id: "id",
72
+ url: "src"
73
+ },
74
+ args: {
75
+ allowedTypes: ["audio"],
76
+ multiple: false
77
+ }
78
+ },
79
+ {
80
+ id: "caption",
81
+ label: (0, import_i18n.__)("Caption"),
82
+ type: "richtext"
83
+ }
84
+ ];
85
+ settings[formKey] = {
86
+ fields: ["audio"]
87
+ };
88
+ }
60
89
  var init = () => (0, import_init_block.default)({ name, metadata: import_block.default, settings });
61
90
  // Annotate the CommonJS export names for ESM import in node:
62
91
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/audio/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { audio as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsrc: 'https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg',\n\t\t},\n\t\tviewportWidth: 350,\n\t},\n\ttransforms,\n\tdeprecated,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,mBAA8B;AAK9B,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,KAAK;AAAA,IACN;AAAA,IACA,eAAe;AAAA,EAChB;AAAA,EACA,8BAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
- "names": ["metadata", "icon", "transforms", "deprecated", "edit", "save", "initBlock", "metadata"]
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { audio as icon } from '@wordpress/icons';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsrc: 'https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg',\n\t\t},\n\t\tviewportWidth: 350,\n\t},\n\ttransforms,\n\tdeprecated,\n\tedit,\n\tsave,\n};\n\nif ( window.__experimentalContentOnlyPatternInsertion ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'audio',\n\t\t\tlabel: __( 'Audio' ),\n\t\t\ttype: 'media',\n\t\t\tmapping: {\n\t\t\t\tid: 'id',\n\t\t\t\turl: 'src',\n\t\t\t},\n\t\t\targs: {\n\t\t\t\tallowedTypes: [ 'audio' ],\n\t\t\t\tmultiple: false,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'caption',\n\t\t\tlabel: __( 'Caption' ),\n\t\t\ttype: 'richtext',\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'audio' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAA8B;AAC9B,oBAAiD;AAKjD,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AACvB,yBAAuB;AAEvB,IAAM,EAAE,WAAW,QAAQ,QAAI,2BAAQ,cAAAC,WAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI,aAAAD;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAE;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,KAAK;AAAA,IACN;AAAA,IACA,eAAe;AAAA,EAChB;AAAA,EACA,8BAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AACD;AAEA,IAAK,OAAO,2CAA4C;AACvD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,OAAQ;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,QACR,IAAI;AAAA,QACJ,KAAK;AAAA,MACN;AAAA,MACA,MAAM;AAAA,QACL,cAAc,CAAE,OAAQ;AAAA,QACxB,UAAU;AAAA,MACX;AAAA,IACD;AAAA,IACA;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,SAAU;AAAA,MACrB,MAAM;AAAA,IACP;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,OAAQ;AAAA,EACnB;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
+ "names": ["metadata", "blocksPrivateApis", "icon", "transforms", "deprecated", "edit", "save", "initBlock", "metadata"]
7
7
  }
@@ -100,7 +100,7 @@ function BreadcrumbEdit({
100
100
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Spinner, {}) });
101
101
  }
102
102
  let _showTerms;
103
- if (!isPostTypeHierarchical) {
103
+ if (!isPostTypeHierarchical && !post?.parent) {
104
104
  _showTerms = true;
105
105
  } else if (!postTypeHasTaxonomies) {
106
106
  _showTerms = false;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/breadcrumbs/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tTextControl,\n\tCheckboxControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tSpinner,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useState, RawHTML } from '@wordpress/element';\nimport { useServerSideRender } from '@wordpress/server-side-render';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst separatorDefaultValue = '/';\n\nexport default function BreadcrumbEdit( {\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType, templateSlug },\n} ) {\n\tconst {\n\t\tseparator,\n\t\tshowHomeLink,\n\t\tshowLastItem,\n\t\tprefersTaxonomy,\n\t\tshowOnHomePage,\n\t} = attributes;\n\tconst {\n\t\tpost,\n\t\tisPostTypeHierarchical,\n\t\tpostTypeHasTaxonomies,\n\t\thasTermsAssigned,\n\t\tisLoading,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! postType ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst _post = select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst postTypeObject = select( coreStore ).getPostType( postType );\n\t\t\tconst _postTypeHasTaxonomies =\n\t\t\t\tpostTypeObject && postTypeObject.taxonomies.length;\n\t\t\tlet taxonomies;\n\t\t\tif ( _postTypeHasTaxonomies ) {\n\t\t\t\ttaxonomies = select( coreStore ).getTaxonomies( {\n\t\t\t\t\ttype: postType,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpost: _post,\n\t\t\t\tisPostTypeHierarchical: postTypeObject?.hierarchical,\n\t\t\t\tpostTypeHasTaxonomies: _postTypeHasTaxonomies,\n\t\t\t\thasTermsAssigned:\n\t\t\t\t\t_post &&\n\t\t\t\t\t( taxonomies || [] )\n\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t( { visibility } ) => visibility?.publicly_queryable\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.some( ( taxonomy ) => {\n\t\t\t\t\t\t\treturn !! _post[ taxonomy.rest_base ]?.length;\n\t\t\t\t\t\t} ),\n\t\t\t\tisLoading:\n\t\t\t\t\t( postId && ! _post ) ||\n\t\t\t\t\t! postTypeObject ||\n\t\t\t\t\t( _postTypeHasTaxonomies && ! taxonomies ),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\t/**\n\t * Counter used to cache-bust `useServerSideRender`.\n\t *\n\t * This is a catch-all signal to re-render the block when a post's title,\n\t * parent ID, or terms change.\n\t *\n\t * This is fundamentally imperfect, because there are other entities which\n\t * could change in the meantime (the titles of ancestor posts, or the\n\t * labels of taxonomy terms), hence the choice to re-render systematically\n\t * upon saving.\n\t */\n\tconst [ invalidationKey, setInvalidationKey ] = useState( 0 );\n\tuseEffect( () => {\n\t\tsetInvalidationKey( ( c ) => c + 1 );\n\t}, [ post ] );\n\n\tconst blockProps = useBlockProps();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst { content } = useServerSideRender( {\n\t\tattributes,\n\t\tskipBlockSupportAttributes: true,\n\t\tblock: 'core/breadcrumbs',\n\t\turlQueryArgs: { post_id: postId, invalidationKey },\n\t} );\n\n\tif ( isLoading ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Determine breadcrumb type for accurate previews (matching PHP logic).\n\tlet _showTerms;\n\tif ( ! isPostTypeHierarchical ) {\n\t\t_showTerms = true;\n\t} else if ( ! postTypeHasTaxonomies ) {\n\t\t// Hierarchical post type without taxonomies can only use ancestors.\n\t\t_showTerms = false;\n\t} else {\n\t\t// For hierarchical post types with taxonomies, use the attribute.\n\t\t_showTerms = prefersTaxonomy;\n\t}\n\tlet placeholder = null;\n\t// This is fragile because this block is server side rendered and we'll have to\n\t// update the placeholder html if the server side rendering output changes.\n\tconst showPlaceholder =\n\t\t! postId ||\n\t\t! postType ||\n\t\t// When `templateSlug` is set only show placeholder if the post type is not.\n\t\t// This is needed because when we are showing the template in post editor we\n\t\t// want to show the real breadcrumbs if we have the post type.\n\t\t( templateSlug && ! postType ) ||\n\t\t( ! _showTerms && ! isPostTypeHierarchical ) ||\n\t\t( _showTerms && ! hasTermsAssigned );\n\tif ( showPlaceholder ) {\n\t\tconst placeholderItems = [];\n\t\tif ( showHomeLink ) {\n\t\t\tplaceholderItems.push( __( 'Home' ) );\n\t\t}\n\t\tif ( templateSlug && ! postId ) {\n\t\t\tplaceholderItems.push( __( 'Page' ) );\n\t\t} else if ( _showTerms ) {\n\t\t\tplaceholderItems.push( __( 'Category' ) );\n\t\t} else {\n\t\t\tplaceholderItems.push( __( 'Ancestor' ), __( 'Parent' ) );\n\t\t}\n\t\tplaceholder = (\n\t\t\t<nav\n\t\t\t\tstyle={ {\n\t\t\t\t\t'--separator': `'${ separator }'`,\n\t\t\t\t} }\n\t\t\t\tinert=\"true\"\n\t\t\t>\n\t\t\t\t<ol>\n\t\t\t\t\t{ placeholderItems.map( ( text, index ) => (\n\t\t\t\t\t\t<li key={ index }>\n\t\t\t\t\t\t\t<a href={ `#breadcrumbs-pseudo-link-${ index }` }>\n\t\t\t\t\t\t\t\t{ text }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) ) }\n\t\t\t\t\t{ showLastItem && (\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<span aria-current=\"page\">{ __( 'Current' ) }</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) }\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\tshowHomeLink: true,\n\t\t\t\t\t\t\tshowLastItem: true,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show home link' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showHomeLink }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowHomeLink: true,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show home link' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { showHomeLink: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showHomeLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show last item' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showLastItem }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLastItem: true,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show last item' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLastItem: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showLastItem }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => separator !== separatorDefaultValue }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\t\t\tvalue={ separator }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { separator: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\t\tif ( ! separator ) {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<CheckboxControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Show on homepage' ) }\n\t\t\t\t\tchecked={ showOnHomePage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { showOnHomePage: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'If this breadcrumbs block appears in a template or template part that\u2019s shown on the homepage, enable this option to display the breadcrumb trail. Otherwise, this setting has no effect.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<CheckboxControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Prefer taxonomy terms' ) }\n\t\t\t\t\tchecked={ prefersTaxonomy }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { prefersTaxonomy: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The exact type of breadcrumbs shown will vary automatically depending on the page in which this block is displayed. In the specific case of a hierarchical post type with taxonomies, the breadcrumbs can either reflect its post hierarchy (default) or the hierarchy of its assigned taxonomy terms.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showPlaceholder ? (\n\t\t\t\t\tplaceholder\n\t\t\t\t) : (\n\t\t\t\t\t<RawHTML inert=\"true\">{ content }</RawHTML>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tTextControl,\n\tCheckboxControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tSpinner,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useState, RawHTML } from '@wordpress/element';\nimport { useServerSideRender } from '@wordpress/server-side-render';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst separatorDefaultValue = '/';\n\nexport default function BreadcrumbEdit( {\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType, templateSlug },\n} ) {\n\tconst {\n\t\tseparator,\n\t\tshowHomeLink,\n\t\tshowLastItem,\n\t\tprefersTaxonomy,\n\t\tshowOnHomePage,\n\t} = attributes;\n\tconst {\n\t\tpost,\n\t\tisPostTypeHierarchical,\n\t\tpostTypeHasTaxonomies,\n\t\thasTermsAssigned,\n\t\tisLoading,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! postType ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst _post = select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst postTypeObject = select( coreStore ).getPostType( postType );\n\t\t\tconst _postTypeHasTaxonomies =\n\t\t\t\tpostTypeObject && postTypeObject.taxonomies.length;\n\t\t\tlet taxonomies;\n\t\t\tif ( _postTypeHasTaxonomies ) {\n\t\t\t\ttaxonomies = select( coreStore ).getTaxonomies( {\n\t\t\t\t\ttype: postType,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpost: _post,\n\t\t\t\tisPostTypeHierarchical: postTypeObject?.hierarchical,\n\t\t\t\tpostTypeHasTaxonomies: _postTypeHasTaxonomies,\n\t\t\t\thasTermsAssigned:\n\t\t\t\t\t_post &&\n\t\t\t\t\t( taxonomies || [] )\n\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t( { visibility } ) => visibility?.publicly_queryable\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.some( ( taxonomy ) => {\n\t\t\t\t\t\t\treturn !! _post[ taxonomy.rest_base ]?.length;\n\t\t\t\t\t\t} ),\n\t\t\t\tisLoading:\n\t\t\t\t\t( postId && ! _post ) ||\n\t\t\t\t\t! postTypeObject ||\n\t\t\t\t\t( _postTypeHasTaxonomies && ! taxonomies ),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\t/**\n\t * Counter used to cache-bust `useServerSideRender`.\n\t *\n\t * This is a catch-all signal to re-render the block when a post's title,\n\t * parent ID, or terms change.\n\t *\n\t * This is fundamentally imperfect, because there are other entities which\n\t * could change in the meantime (the titles of ancestor posts, or the\n\t * labels of taxonomy terms), hence the choice to re-render systematically\n\t * upon saving.\n\t */\n\tconst [ invalidationKey, setInvalidationKey ] = useState( 0 );\n\tuseEffect( () => {\n\t\tsetInvalidationKey( ( c ) => c + 1 );\n\t}, [ post ] );\n\n\tconst blockProps = useBlockProps();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst { content } = useServerSideRender( {\n\t\tattributes,\n\t\tskipBlockSupportAttributes: true,\n\t\tblock: 'core/breadcrumbs',\n\t\turlQueryArgs: { post_id: postId, invalidationKey },\n\t} );\n\n\tif ( isLoading ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Try to determine breadcrumb type for more accurate previews.\n\tlet _showTerms;\n\t// Some non-hierarchical post types (e.g., attachments) can have parents.\n\t// Use hierarchical breadcrumbs if a parent exists, otherwise use taxonomy breadcrumbs.\n\tif ( ! isPostTypeHierarchical && ! post?.parent ) {\n\t\t_showTerms = true;\n\t} else if ( ! postTypeHasTaxonomies ) {\n\t\t// Hierarchical post type without taxonomies can only use ancestors.\n\t\t_showTerms = false;\n\t} else {\n\t\t// For hierarchical post types with taxonomies, use the attribute.\n\t\t_showTerms = prefersTaxonomy;\n\t}\n\tlet placeholder = null;\n\t// This is fragile because this block is server side rendered and we'll have to\n\t// update the placeholder html if the server side rendering output changes.\n\tconst showPlaceholder =\n\t\t! postId ||\n\t\t! postType ||\n\t\t// When `templateSlug` is set only show placeholder if the post type is not.\n\t\t// This is needed because when we are showing the template in post editor we\n\t\t// want to show the real breadcrumbs if we have the post type.\n\t\t( templateSlug && ! postType ) ||\n\t\t( ! _showTerms && ! isPostTypeHierarchical ) ||\n\t\t( _showTerms && ! hasTermsAssigned );\n\tif ( showPlaceholder ) {\n\t\tconst placeholderItems = [];\n\t\tif ( showHomeLink ) {\n\t\t\tplaceholderItems.push( __( 'Home' ) );\n\t\t}\n\t\tif ( templateSlug && ! postId ) {\n\t\t\tplaceholderItems.push( __( 'Page' ) );\n\t\t} else if ( _showTerms ) {\n\t\t\tplaceholderItems.push( __( 'Category' ) );\n\t\t} else {\n\t\t\tplaceholderItems.push( __( 'Ancestor' ), __( 'Parent' ) );\n\t\t}\n\t\tplaceholder = (\n\t\t\t<nav\n\t\t\t\tstyle={ {\n\t\t\t\t\t'--separator': `'${ separator }'`,\n\t\t\t\t} }\n\t\t\t\tinert=\"true\"\n\t\t\t>\n\t\t\t\t<ol>\n\t\t\t\t\t{ placeholderItems.map( ( text, index ) => (\n\t\t\t\t\t\t<li key={ index }>\n\t\t\t\t\t\t\t<a href={ `#breadcrumbs-pseudo-link-${ index }` }>\n\t\t\t\t\t\t\t\t{ text }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) ) }\n\t\t\t\t\t{ showLastItem && (\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<span aria-current=\"page\">{ __( 'Current' ) }</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) }\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\tshowHomeLink: true,\n\t\t\t\t\t\t\tshowLastItem: true,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show home link' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showHomeLink }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowHomeLink: true,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show home link' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { showHomeLink: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showHomeLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show last item' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showLastItem }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLastItem: true,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show last item' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLastItem: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showLastItem }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => separator !== separatorDefaultValue }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\t\t\tvalue={ separator }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { separator: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\t\tif ( ! separator ) {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<CheckboxControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Show on homepage' ) }\n\t\t\t\t\tchecked={ showOnHomePage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { showOnHomePage: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'If this breadcrumbs block appears in a template or template part that\u2019s shown on the homepage, enable this option to display the breadcrumb trail. Otherwise, this setting has no effect.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<CheckboxControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Prefer taxonomy terms' ) }\n\t\t\t\t\tchecked={ prefersTaxonomy }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { prefersTaxonomy: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The exact type of breadcrumbs shown will vary automatically depending on the page in which this block is displayed. In the specific case of a hierarchical post type with taxonomies, the breadcrumbs can either reflect its post hierarchy (default) or the hierarchy of its assigned taxonomy terms.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showPlaceholder ? (\n\t\t\t\t\tplaceholder\n\t\t\t\t) : (\n\t\t\t\t\t<RawHTML inert=\"true\">{ content }</RawHTML>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["coreStore", "ToolsPanel", "ToolsPanelItem"]
7
7
  }
@@ -38,11 +38,14 @@ __export(button_exports, {
38
38
  module.exports = __toCommonJS(button_exports);
39
39
  var import_i18n = require("@wordpress/i18n");
40
40
  var import_icons = require("@wordpress/icons");
41
+ var import_blocks = require("@wordpress/blocks");
41
42
  var import_init_block = __toESM(require("../utils/init-block"));
42
43
  var import_deprecated = __toESM(require("./deprecated"));
43
44
  var import_edit = __toESM(require("./edit"));
44
45
  var import_block = __toESM(require("./block.json"));
45
46
  var import_save = __toESM(require("./save"));
47
+ var import_lock_unlock = require("../lock-unlock");
48
+ var { fieldsKey, formKey } = (0, import_lock_unlock.unlock)(import_blocks.privateApis);
46
49
  var { name } = import_block.default;
47
50
  var settings = {
48
51
  icon: import_icons.button,
@@ -60,6 +63,28 @@ var settings = {
60
63
  text: (a.text || "") + text
61
64
  })
62
65
  };
66
+ if (window.__experimentalContentOnlyPatternInsertion) {
67
+ settings[fieldsKey] = [
68
+ {
69
+ id: "text",
70
+ label: (0, import_i18n.__)("Content"),
71
+ type: "richtext"
72
+ },
73
+ {
74
+ id: "link",
75
+ label: (0, import_i18n.__)("Link"),
76
+ type: "link",
77
+ mapping: {
78
+ url: "url",
79
+ rel: "rel",
80
+ linkTarget: "linkTarget"
81
+ }
82
+ }
83
+ ];
84
+ settings[formKey] = {
85
+ fields: ["text"]
86
+ };
87
+ }
63
88
  var init = () => (0, import_init_block.default)({ name, metadata: import_block.default, settings });
64
89
  // Annotate the CommonJS export names for ESM import in node:
65
90
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/button/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { button as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tclassName: 'is-style-fill',\n\t\t\ttext: __( 'Call to action' ),\n\t\t},\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tmerge: ( a, { text = '' } ) => ( {\n\t\t...a,\n\t\ttext: ( a.text || '' ) + text,\n\t} ),\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAA+B;AAK/B,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AAEjB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,WAAW;AAAA,MACX,UAAM,gBAAI,gBAAiB;AAAA,IAC5B;AAAA,EACD;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,OAAO,CAAE,GAAG,EAAE,OAAO,GAAG,OAAS;AAAA,IAChC,GAAG;AAAA,IACH,OAAQ,EAAE,QAAQ,MAAO;AAAA,EAC1B;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
- "names": ["metadata", "icon", "edit", "save", "deprecated", "initBlock", "metadata"]
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { button as icon } from '@wordpress/icons';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tclassName: 'is-style-fill',\n\t\t\ttext: __( 'Call to action' ),\n\t\t},\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tmerge: ( a, { text = '' } ) => ( {\n\t\t...a,\n\t\ttext: ( a.text || '' ) + text,\n\t} ),\n};\n\nif ( window.__experimentalContentOnlyPatternInsertion ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'text',\n\t\t\tlabel: __( 'Content' ),\n\t\t\ttype: 'richtext',\n\t\t},\n\t\t{\n\t\t\tid: 'link',\n\t\t\tlabel: __( 'Link' ),\n\t\t\ttype: 'link',\n\t\t\tmapping: {\n\t\t\t\turl: 'url',\n\t\t\t\trel: 'rel',\n\t\t\t\tlinkTarget: 'linkTarget',\n\t\t\t},\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'text' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAA+B;AAC/B,oBAAiD;AAKjD,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,yBAAuB;AAEvB,IAAM,EAAE,WAAW,QAAQ,QAAI,2BAAQ,cAAAC,WAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI,aAAAD;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAE;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,WAAW;AAAA,MACX,UAAM,gBAAI,gBAAiB;AAAA,IAC5B;AAAA,EACD;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,OAAO,CAAE,GAAG,EAAE,OAAO,GAAG,OAAS;AAAA,IAChC,GAAG;AAAA,IACH,OAAQ,EAAE,QAAQ,MAAO;AAAA,EAC1B;AACD;AAEA,IAAK,OAAO,2CAA4C;AACvD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,SAAU;AAAA,MACrB,MAAM;AAAA,IACP;AAAA,IACA;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,MAAO;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,QACR,KAAK;AAAA,QACL,KAAK;AAAA,QACL,YAAY;AAAA,MACb;AAAA,IACD;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,MAAO;AAAA,EAClB;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
+ "names": ["metadata", "blocksPrivateApis", "icon", "edit", "save", "deprecated", "initBlock", "metadata"]
7
7
  }
@@ -38,11 +38,14 @@ __export(code_exports, {
38
38
  module.exports = __toCommonJS(code_exports);
39
39
  var import_i18n = require("@wordpress/i18n");
40
40
  var import_icons = require("@wordpress/icons");
41
+ var import_blocks = require("@wordpress/blocks");
41
42
  var import_init_block = __toESM(require("../utils/init-block"));
42
43
  var import_edit = __toESM(require("./edit"));
43
44
  var import_block = __toESM(require("./block.json"));
44
45
  var import_save = __toESM(require("./save"));
45
46
  var import_transforms = __toESM(require("./transforms"));
47
+ var import_lock_unlock = require("../lock-unlock");
48
+ var { fieldsKey, formKey } = (0, import_lock_unlock.unlock)(import_blocks.privateApis);
46
49
  var { name } = import_block.default;
47
50
  var settings = {
48
51
  icon: import_icons.code,
@@ -65,6 +68,18 @@ var settings = {
65
68
  edit: import_edit.default,
66
69
  save: import_save.default
67
70
  };
71
+ if (window.__experimentalContentOnlyPatternInsertion) {
72
+ settings[fieldsKey] = [
73
+ {
74
+ id: "content",
75
+ label: (0, import_i18n.__)("Code"),
76
+ type: "richtext"
77
+ }
78
+ ];
79
+ settings[formKey] = {
80
+ fields: ["content"]
81
+ };
82
+ }
68
83
  var init = () => (0, import_init_block.default)({ name, metadata: import_block.default, settings });
69
84
  // Annotate the CommonJS export names for ESM import in node:
70
85
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/code/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { code as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\t/* eslint-disable @wordpress/i18n-no-collapsible-whitespace */\n\t\t\t// translators: Preserve \\n markers for line breaks\n\t\t\tcontent: __(\n\t\t\t\t'// A \u201Cblock\u201D is the abstract term used\\n// to describe units of markup that\\n// when composed together, form the\\n// content or layout of a page.\\nregisterBlockType( name, settings );'\n\t\t\t),\n\t\t\t/* eslint-enable @wordpress/i18n-no-collapsible-whitespace */\n\t\t},\n\t},\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent: attributes.content + '\\n\\n' + attributesToMerge.content,\n\t\t};\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAA6B;AAK7B,wBAAsB;AACtB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA;AAAA;AAAA,MAGX,aAAS;AAAA,QACR;AAAA,MACD;AAAA;AAAA,IAED;AAAA,EACD;AAAA,EACA,MAAO,YAAY,mBAAoB;AACtC,WAAO;AAAA,MACN,SAAS,WAAW,UAAU,SAAS,kBAAkB;AAAA,IAC1D;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
- "names": ["metadata", "icon", "transforms", "edit", "save", "initBlock", "metadata"]
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { code as icon } from '@wordpress/icons';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\t/* eslint-disable @wordpress/i18n-no-collapsible-whitespace */\n\t\t\t// translators: Preserve \\n markers for line breaks\n\t\t\tcontent: __(\n\t\t\t\t'// A \u201Cblock\u201D is the abstract term used\\n// to describe units of markup that\\n// when composed together, form the\\n// content or layout of a page.\\nregisterBlockType( name, settings );'\n\t\t\t),\n\t\t\t/* eslint-enable @wordpress/i18n-no-collapsible-whitespace */\n\t\t},\n\t},\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent: attributes.content + '\\n\\n' + attributesToMerge.content,\n\t\t};\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n};\n\nif ( window.__experimentalContentOnlyPatternInsertion ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'content',\n\t\t\tlabel: __( 'Code' ),\n\t\t\ttype: 'richtext',\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'content' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAA6B;AAC7B,oBAAiD;AAKjD,wBAAsB;AACtB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AACvB,yBAAuB;AAEvB,IAAM,EAAE,WAAW,QAAQ,QAAI,2BAAQ,cAAAC,WAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI,aAAAD;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAE;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA;AAAA;AAAA,MAGX,aAAS;AAAA,QACR;AAAA,MACD;AAAA;AAAA,IAED;AAAA,EACD;AAAA,EACA,MAAO,YAAY,mBAAoB;AACtC,WAAO;AAAA,MACN,SAAS,WAAW,UAAU,SAAS,kBAAkB;AAAA,IAC1D;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AACD;AAEA,IAAK,OAAO,2CAA4C;AACvD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,MAAO;AAAA,MAClB,MAAM;AAAA,IACP;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,SAAU;AAAA,EACrB;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
+ "names": ["metadata", "blocksPrivateApis", "icon", "transforms", "edit", "save", "initBlock", "metadata"]
7
7
  }
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
 
20
30
  // packages/block-library/src/cover/edit/block-controls.js
@@ -26,8 +36,11 @@ module.exports = __toCommonJS(block_controls_exports);
26
36
  var import_element = require("@wordpress/element");
27
37
  var import_block_editor = require("@wordpress/block-editor");
28
38
  var import_i18n = require("@wordpress/i18n");
39
+ var import_components = require("@wordpress/components");
40
+ var import_icons = require("@wordpress/icons");
29
41
  var import_shared = require("../shared");
30
42
  var import_lock_unlock = require("../../lock-unlock");
43
+ var import_embed_video_url_input = __toESM(require("./embed-video-url-input"));
31
44
  var import_jsx_runtime = require("react/jsx-runtime");
32
45
  var { cleanEmptyObject } = (0, import_lock_unlock.unlock)(import_block_editor.privateApis);
33
46
  function CoverBlockControls({
@@ -37,12 +50,14 @@ function CoverBlockControls({
37
50
  currentSettings,
38
51
  toggleUseFeaturedImage,
39
52
  onClearMedia,
53
+ onSelectEmbedUrl,
40
54
  blockEditingMode
41
55
  }) {
42
56
  const { contentPosition, id, useFeaturedImage, minHeight, minHeightUnit } = attributes;
43
57
  const { hasInnerBlocks, url } = currentSettings;
44
58
  const [prevMinHeightValue, setPrevMinHeightValue] = (0, import_element.useState)(minHeight);
45
59
  const [prevMinHeightUnit, setPrevMinHeightUnit] = (0, import_element.useState)(minHeightUnit);
60
+ const [isEmbedUrlInputOpen, setIsEmbedUrlInputOpen] = (0, import_element.useState)(false);
46
61
  const isMinFullHeight = minHeightUnit === "vh" && minHeight === 100 && !attributes?.style?.dimensions?.aspectRatio;
47
62
  const isContentOnlyMode = blockEditingMode === "contentOnly";
48
63
  const toggleMinFullHeight = () => {
@@ -101,14 +116,33 @@ function CoverBlockControls({
101
116
  mediaId: id,
102
117
  mediaURL: url,
103
118
  allowedTypes: import_shared.ALLOWED_MEDIA_TYPES,
104
- accept: "image/*,video/*",
105
119
  onSelect: onSelectMedia,
106
120
  onToggleFeaturedImage: toggleUseFeaturedImage,
107
121
  useFeaturedImage,
108
122
  name: !url ? (0, import_i18n.__)("Add media") : (0, import_i18n.__)("Replace"),
109
- onReset: onClearMedia
123
+ onReset: onClearMedia,
124
+ children: ({ onClose }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
125
+ import_components.MenuItem,
126
+ {
127
+ icon: import_icons.link,
128
+ onClick: () => {
129
+ setIsEmbedUrlInputOpen(true);
130
+ onClose();
131
+ },
132
+ children: (0, import_i18n.__)("Embed video from URL")
133
+ }
134
+ )
110
135
  }
111
- ) })
136
+ ) }),
137
+ isEmbedUrlInputOpen && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
138
+ import_embed_video_url_input.default,
139
+ {
140
+ onSubmit: (embedUrl) => {
141
+ onSelectEmbedUrl(embedUrl);
142
+ },
143
+ onClose: () => setIsEmbedUrlInputOpen(false)
144
+ }
145
+ )
112
146
  ] });
113
147
  }
114
148
  //# sourceMappingURL=block-controls.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cover/edit/block-controls.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\nimport {\n\tBlockControls,\n\tMediaReplaceFlow,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES } from '../shared';\nimport { unlock } from '../../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nexport default function CoverBlockControls( {\n\tattributes,\n\tsetAttributes,\n\tonSelectMedia,\n\tcurrentSettings,\n\ttoggleUseFeaturedImage,\n\tonClearMedia,\n\tblockEditingMode,\n} ) {\n\tconst { contentPosition, id, useFeaturedImage, minHeight, minHeightUnit } =\n\t\tattributes;\n\tconst { hasInnerBlocks, url } = currentSettings;\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] =\n\t\tuseState( minHeightUnit );\n\tconst isMinFullHeight =\n\t\tminHeightUnit === 'vh' &&\n\t\tminHeight === 100 &&\n\t\t! attributes?.style?.dimensions?.aspectRatio;\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height, and clear any aspect ratio value.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...attributes?.style,\n\t\t\t\tdimensions: {\n\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t},\n\t\t\t} ),\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isContentOnlyMode && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\t\tname={ ! url ? __( 'Add media' ) : __( 'Replace' ) }\n\t\t\t\t\tonReset={ onClearMedia }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAyB;AAEzB,0BAMO;AACP,kBAAmB;AAKnB,oBAAoC;AACpC,yBAAuB;AA6DrB;AA3DF,IAAM,EAAE,iBAAiB,QAAI,2BAAQ,oBAAAA,WAAuB;AAE7C,SAAR,mBAAqC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,iBAAiB,IAAI,kBAAkB,WAAW,cAAc,IACvE;AACD,QAAM,EAAE,gBAAgB,IAAI,IAAI;AAEhC,QAAM,CAAE,oBAAoB,qBAAsB,QAAI,yBAAU,SAAU;AAC1E,QAAM,CAAE,mBAAmB,oBAAqB,QAC/C,yBAAU,aAAc;AACzB,QAAM,kBACL,kBAAkB,QAClB,cAAc,OACd,CAAE,YAAY,OAAO,YAAY;AAClC,QAAM,oBAAoB,qBAAqB;AAE/C,QAAM,sBAAsB,MAAM;AACjC,QAAK,iBAAkB;AAEtB,UAAK,sBAAsB,QAAQ,uBAAuB,KAAM;AAC/D,eAAO,cAAe;AAAA,UACrB,WAAW;AAAA,UACX,eAAe;AAAA,QAChB,CAAE;AAAA,MACH;AAGA,aAAO,cAAe;AAAA,QACrB,WAAW;AAAA,QACX,eAAe;AAAA,MAChB,CAAE;AAAA,IACH;AAEA,0BAAuB,SAAU;AACjC,yBAAsB,aAAc;AAGpC,WAAO,cAAe;AAAA,MACrB,WAAW;AAAA,MACX,eAAe;AAAA,MACf,OAAO,iBAAkB;AAAA,QACxB,GAAG,YAAY;AAAA,QACf,YAAY;AAAA,UACX,GAAG,YAAY,OAAO;AAAA,UACtB,aAAa;AAAA;AAAA,QACd;AAAA,MACD,CAAE;AAAA,IACH,CAAE;AAAA,EACH;AAEA,SACC,4EACG;AAAA,KAAE,qBACH,6CAAC,qCAAc,OAAM,SACpB;AAAA;AAAA,QAAC,oBAAAC;AAAA,QAAA;AAAA,UACA,WAAQ,gBAAI,yBAA0B;AAAA,UACtC,OAAQ;AAAA,UACR,UAAW,CAAE,iBACZ,cAAe;AAAA,YACd,iBAAiB;AAAA,UAClB,CAAE;AAAA,UAEH,YAAa,CAAE;AAAA;AAAA,MAChB;AAAA,MACA;AAAA,QAAC,oBAAAC;AAAA,QAAA;AAAA,UACA,UAAW;AAAA,UACX,UAAW;AAAA,UACX,YAAa,CAAE;AAAA;AAAA,MAChB;AAAA,OACD;AAAA,IAED,4CAAC,qCAAc,OAAM,SACpB;AAAA,MAAC;AAAA;AAAA,QACA,SAAU;AAAA,QACV,UAAW;AAAA,QACX,cAAe;AAAA,QACf,QAAO;AAAA,QACP,UAAW;AAAA,QACX,uBAAwB;AAAA,QACxB;AAAA,QACA,MAAO,CAAE,UAAM,gBAAI,WAAY,QAAI,gBAAI,SAAU;AAAA,QACjD,SAAU;AAAA;AAAA,IACX,GACD;AAAA,KACD;AAEF;",
6
- "names": ["blockEditorPrivateApis", "BlockAlignmentMatrixControl", "FullHeightAlignmentControl"]
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\nimport {\n\tBlockControls,\n\tMediaReplaceFlow,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem } from '@wordpress/components';\nimport { link } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES } from '../shared';\nimport { unlock } from '../../lock-unlock';\nimport EmbedVideoUrlInput from './embed-video-url-input';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nexport default function CoverBlockControls( {\n\tattributes,\n\tsetAttributes,\n\tonSelectMedia,\n\tcurrentSettings,\n\ttoggleUseFeaturedImage,\n\tonClearMedia,\n\tonSelectEmbedUrl,\n\tblockEditingMode,\n} ) {\n\tconst { contentPosition, id, useFeaturedImage, minHeight, minHeightUnit } =\n\t\tattributes;\n\tconst { hasInnerBlocks, url } = currentSettings;\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] =\n\t\tuseState( minHeightUnit );\n\tconst [ isEmbedUrlInputOpen, setIsEmbedUrlInputOpen ] = useState( false );\n\tconst isMinFullHeight =\n\t\tminHeightUnit === 'vh' &&\n\t\tminHeight === 100 &&\n\t\t! attributes?.style?.dimensions?.aspectRatio;\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height, and clear any aspect ratio value.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...attributes?.style,\n\t\t\t\tdimensions: {\n\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t},\n\t\t\t} ),\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isContentOnlyMode && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\t\tname={ ! url ? __( 'Add media' ) : __( 'Replace' ) }\n\t\t\t\t\tonReset={ onClearMedia }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEmbedUrlInputOpen( true );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Embed video from URL' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</MediaReplaceFlow>\n\t\t\t</BlockControls>\n\t\t\t{ isEmbedUrlInputOpen && (\n\t\t\t\t<EmbedVideoUrlInput\n\t\t\t\t\tonSubmit={ ( embedUrl ) => {\n\t\t\t\t\t\tonSelectEmbedUrl( embedUrl );\n\t\t\t\t\t} }\n\t\t\t\t\tonClose={ () => setIsEmbedUrlInputOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAyB;AAEzB,0BAMO;AACP,kBAAmB;AACnB,wBAAyB;AACzB,mBAAqB;AAKrB,oBAAoC;AACpC,yBAAuB;AACvB,mCAA+B;AA+D7B;AA7DF,IAAM,EAAE,iBAAiB,QAAI,2BAAQ,oBAAAA,WAAuB;AAE7C,SAAR,mBAAqC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,iBAAiB,IAAI,kBAAkB,WAAW,cAAc,IACvE;AACD,QAAM,EAAE,gBAAgB,IAAI,IAAI;AAEhC,QAAM,CAAE,oBAAoB,qBAAsB,QAAI,yBAAU,SAAU;AAC1E,QAAM,CAAE,mBAAmB,oBAAqB,QAC/C,yBAAU,aAAc;AACzB,QAAM,CAAE,qBAAqB,sBAAuB,QAAI,yBAAU,KAAM;AACxE,QAAM,kBACL,kBAAkB,QAClB,cAAc,OACd,CAAE,YAAY,OAAO,YAAY;AAClC,QAAM,oBAAoB,qBAAqB;AAE/C,QAAM,sBAAsB,MAAM;AACjC,QAAK,iBAAkB;AAEtB,UAAK,sBAAsB,QAAQ,uBAAuB,KAAM;AAC/D,eAAO,cAAe;AAAA,UACrB,WAAW;AAAA,UACX,eAAe;AAAA,QAChB,CAAE;AAAA,MACH;AAGA,aAAO,cAAe;AAAA,QACrB,WAAW;AAAA,QACX,eAAe;AAAA,MAChB,CAAE;AAAA,IACH;AAEA,0BAAuB,SAAU;AACjC,yBAAsB,aAAc;AAGpC,WAAO,cAAe;AAAA,MACrB,WAAW;AAAA,MACX,eAAe;AAAA,MACf,OAAO,iBAAkB;AAAA,QACxB,GAAG,YAAY;AAAA,QACf,YAAY;AAAA,UACX,GAAG,YAAY,OAAO;AAAA,UACtB,aAAa;AAAA;AAAA,QACd;AAAA,MACD,CAAE;AAAA,IACH,CAAE;AAAA,EACH;AAEA,SACC,4EACG;AAAA,KAAE,qBACH,6CAAC,qCAAc,OAAM,SACpB;AAAA;AAAA,QAAC,oBAAAC;AAAA,QAAA;AAAA,UACA,WAAQ,gBAAI,yBAA0B;AAAA,UACtC,OAAQ;AAAA,UACR,UAAW,CAAE,iBACZ,cAAe;AAAA,YACd,iBAAiB;AAAA,UAClB,CAAE;AAAA,UAEH,YAAa,CAAE;AAAA;AAAA,MAChB;AAAA,MACA;AAAA,QAAC,oBAAAC;AAAA,QAAA;AAAA,UACA,UAAW;AAAA,UACX,UAAW;AAAA,UACX,YAAa,CAAE;AAAA;AAAA,MAChB;AAAA,OACD;AAAA,IAED,4CAAC,qCAAc,OAAM,SACpB;AAAA,MAAC;AAAA;AAAA,QACA,SAAU;AAAA,QACV,UAAW;AAAA,QACX,cAAe;AAAA,QACf,UAAW;AAAA,QACX,uBAAwB;AAAA,QACxB;AAAA,QACA,MAAO,CAAE,UAAM,gBAAI,WAAY,QAAI,gBAAI,SAAU;AAAA,QACjD,SAAU;AAAA,QAER,WAAE,EAAE,QAAQ,MACb;AAAA,UAAC;AAAA;AAAA,YACA,MAAO;AAAA,YACP,SAAU,MAAM;AACf,qCAAwB,IAAK;AAC7B,sBAAQ;AAAA,YACT;AAAA,YAEE,8BAAI,sBAAuB;AAAA;AAAA,QAC9B;AAAA;AAAA,IAEF,GACD;AAAA,IACE,uBACD;AAAA,MAAC,6BAAAC;AAAA,MAAA;AAAA,QACA,UAAW,CAAE,aAAc;AAC1B,2BAAkB,QAAS;AAAA,QAC5B;AAAA,QACA,SAAU,MAAM,uBAAwB,KAAM;AAAA;AAAA,IAC/C;AAAA,KAEF;AAEF;",
6
+ "names": ["blockEditorPrivateApis", "BlockAlignmentMatrixControl", "FullHeightAlignmentControl", "EmbedVideoUrlInput"]
7
7
  }
@@ -44,7 +44,6 @@ function CoverPlaceholder({
44
44
  title: (0, import_i18n.__)("Cover")
45
45
  },
46
46
  onSelect: onSelectMedia,
47
- accept: "image/*,video/*",
48
47
  allowedTypes: import_shared.ALLOWED_MEDIA_TYPES,
49
48
  disableMediaButtons,
50
49
  onToggleFeaturedImage: toggleUseFeaturedImage,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cover/edit/cover-placeholder.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { BlockIcon, MediaPlaceholder } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES } from '../shared';\n\nexport default function CoverPlaceholder( {\n\tdisableMediaButtons = false,\n\tchildren,\n\tonSelectMedia,\n\tonError,\n\tstyle,\n\ttoggleUseFeaturedImage,\n} ) {\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Cover' ),\n\t\t\t} }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tdisableMediaButtons={ disableMediaButtons }\n\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tonError={ onError }\n\t\t\tstyle={ style }\n\t\t>\n\t\t\t{ children }\n\t\t</MediaPlaceholder>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAA4C;AAC5C,kBAAmB;AACnB,mBAA8B;AAK9B,oBAAoC;AAY1B;AAVK,SAAR,iBAAmC;AAAA,EACzC,sBAAsB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,SACC;AAAA,IAAC;AAAA;AAAA,MACA,MAAO,4CAAC,iCAAU,MAAO,aAAAA,OAAO;AAAA,MAChC,QAAS;AAAA,QACR,WAAO,gBAAI,OAAQ;AAAA,MACpB;AAAA,MACA,UAAW;AAAA,MACX,QAAO;AAAA,MACP,cAAe;AAAA,MACf;AAAA,MACA,uBAAwB;AAAA,MACxB;AAAA,MACA;AAAA,MAEE;AAAA;AAAA,EACH;AAEF;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { BlockIcon, MediaPlaceholder } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES } from '../shared';\n\nexport default function CoverPlaceholder( {\n\tdisableMediaButtons = false,\n\tchildren,\n\tonSelectMedia,\n\tonError,\n\tstyle,\n\ttoggleUseFeaturedImage,\n} ) {\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Cover' ),\n\t\t\t} }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tdisableMediaButtons={ disableMediaButtons }\n\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tonError={ onError }\n\t\t\tstyle={ style }\n\t\t>\n\t\t\t{ children }\n\t\t</MediaPlaceholder>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAA4C;AAC5C,kBAAmB;AACnB,mBAA8B;AAK9B,oBAAoC;AAY1B;AAVK,SAAR,iBAAmC;AAAA,EACzC,sBAAsB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,SACC;AAAA,IAAC;AAAA;AAAA,MACA,MAAO,4CAAC,iCAAU,MAAO,aAAAA,OAAO;AAAA,MAChC,QAAS;AAAA,QACR,WAAO,gBAAI,OAAQ;AAAA,MACpB;AAAA,MACA,UAAW;AAAA,MACX,cAAe;AAAA,MACf;AAAA,MACA,uBAAwB;AAAA,MACxB;AAAA,MACA;AAAA,MAEE;AAAA;AAAA,EACH;AAEF;",
6
6
  "names": ["icon"]
7
7
  }