@wordpress/block-library 10.6.1-next.v.202609031004.0 → 11.0.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 (457) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/build/audio/edit.cjs +5 -5
  3. package/build/audio/edit.cjs.map +2 -2
  4. package/build/audio/index.cjs +0 -37
  5. package/build/audio/index.cjs.map +3 -3
  6. package/build/button/index.cjs +0 -34
  7. package/build/button/index.cjs.map +3 -3
  8. package/build/code/index.cjs +0 -17
  9. package/build/code/index.cjs.map +3 -3
  10. package/build/cover/index.cjs +0 -38
  11. package/build/cover/index.cjs.map +3 -3
  12. package/build/details/index.cjs +0 -17
  13. package/build/details/index.cjs.map +3 -3
  14. package/build/file/index.cjs +0 -43
  15. package/build/file/index.cjs.map +3 -3
  16. package/build/footnotes/format.cjs +1 -1
  17. package/build/footnotes/format.cjs.map +2 -2
  18. package/build/gallery/dynamic-gallery.cjs +12 -9
  19. package/build/gallery/dynamic-gallery.cjs.map +2 -2
  20. package/build/heading/index.cjs +0 -16
  21. package/build/heading/index.cjs.map +3 -3
  22. package/build/image/image.cjs +1 -2
  23. package/build/image/image.cjs.map +2 -2
  24. package/build/image/index.cjs +0 -81
  25. package/build/image/index.cjs.map +3 -3
  26. package/build/index.cjs +0 -10
  27. package/build/index.cjs.map +2 -2
  28. package/build/list-item/edit.cjs +14 -11
  29. package/build/list-item/edit.cjs.map +2 -2
  30. package/build/list-item/hooks/index.cjs +6 -9
  31. package/build/list-item/hooks/index.cjs.map +2 -2
  32. package/build/list-item/hooks/use-enter.cjs +62 -67
  33. package/build/list-item/hooks/use-enter.cjs.map +3 -3
  34. package/build/list-item/hooks/use-merge.cjs +26 -44
  35. package/build/list-item/hooks/use-merge.cjs.map +3 -3
  36. package/build/list-item/hooks/use-multi-select-tab.cjs +80 -0
  37. package/build/list-item/hooks/use-multi-select-tab.cjs.map +7 -0
  38. package/build/list-item/hooks/use-tab.cjs +65 -0
  39. package/build/list-item/hooks/use-tab.cjs.map +7 -0
  40. package/build/list-item/index.cjs +0 -17
  41. package/build/list-item/index.cjs.map +3 -3
  42. package/build/list-item/utils.cjs +169 -0
  43. package/build/list-item/utils.cjs.map +7 -0
  44. package/build/media-text/index.cjs +0 -50
  45. package/build/media-text/index.cjs.map +3 -3
  46. package/build/media-text/media-container.cjs +16 -11
  47. package/build/media-text/media-container.cjs.map +2 -2
  48. package/build/more/index.cjs +0 -18
  49. package/build/more/index.cjs.map +3 -3
  50. package/build/navigation/constants.cjs +1 -1
  51. package/build/navigation/constants.cjs.map +1 -1
  52. package/build/navigation-link/block.json +1 -1
  53. package/build/navigation-link/deprecated.cjs +69 -0
  54. package/build/navigation-link/deprecated.cjs.map +7 -0
  55. package/build/navigation-link/index.cjs +6 -74
  56. package/build/navigation-link/index.cjs.map +4 -4
  57. package/build/{form-submit-button/init.cjs → navigation-link/variations.cjs} +23 -8
  58. package/build/navigation-link/variations.cjs.map +7 -0
  59. package/build/navigation-submenu/index.cjs +0 -32
  60. package/build/navigation-submenu/index.cjs.map +3 -3
  61. package/build/paragraph/index.cjs +0 -17
  62. package/build/paragraph/index.cjs.map +3 -3
  63. package/build/paragraph/use-enter.cjs +8 -4
  64. package/build/paragraph/use-enter.cjs.map +2 -2
  65. package/build/post-template/edit.cjs +3 -1
  66. package/build/post-template/edit.cjs.map +2 -2
  67. package/build/preformatted/index.cjs +0 -17
  68. package/build/preformatted/index.cjs.map +3 -3
  69. package/build/pullquote/index.cjs +0 -24
  70. package/build/pullquote/index.cjs.map +3 -3
  71. package/build/query/edit/inspector-controls/index.cjs +9 -4
  72. package/build/query/edit/inspector-controls/index.cjs.map +2 -2
  73. package/build/search/index.cjs +0 -31
  74. package/build/search/index.cjs.map +3 -3
  75. package/build/site-tagline/edit.cjs +11 -17
  76. package/build/site-tagline/edit.cjs.map +2 -2
  77. package/build/site-title/edit.cjs +12 -18
  78. package/build/site-title/edit.cjs.map +2 -2
  79. package/build/social-link/index.cjs +0 -31
  80. package/build/social-link/index.cjs.map +3 -3
  81. package/build/verse/index.cjs +0 -17
  82. package/build/verse/index.cjs.map +3 -3
  83. package/build/video/index.cjs +0 -40
  84. package/build/video/index.cjs.map +3 -3
  85. package/build/video/tracks-editor.cjs +2 -3
  86. package/build/video/tracks-editor.cjs.map +3 -3
  87. package/build-module/audio/edit.mjs +5 -5
  88. package/build-module/audio/edit.mjs.map +2 -2
  89. package/build-module/audio/index.mjs +0 -37
  90. package/build-module/audio/index.mjs.map +2 -2
  91. package/build-module/button/index.mjs +0 -34
  92. package/build-module/button/index.mjs.map +2 -2
  93. package/build-module/code/index.mjs +0 -17
  94. package/build-module/code/index.mjs.map +2 -2
  95. package/build-module/cover/index.mjs +0 -38
  96. package/build-module/cover/index.mjs.map +2 -2
  97. package/build-module/details/index.mjs +0 -17
  98. package/build-module/details/index.mjs.map +2 -2
  99. package/build-module/file/index.mjs +1 -44
  100. package/build-module/file/index.mjs.map +2 -2
  101. package/build-module/footnotes/format.mjs +1 -1
  102. package/build-module/footnotes/format.mjs.map +2 -2
  103. package/build-module/gallery/dynamic-gallery.mjs +12 -9
  104. package/build-module/gallery/dynamic-gallery.mjs.map +2 -2
  105. package/build-module/heading/index.mjs +1 -21
  106. package/build-module/heading/index.mjs.map +2 -2
  107. package/build-module/image/image.mjs +1 -2
  108. package/build-module/image/image.mjs.map +2 -2
  109. package/build-module/image/index.mjs +0 -81
  110. package/build-module/image/index.mjs.map +2 -2
  111. package/build-module/index.mjs +0 -10
  112. package/build-module/index.mjs.map +2 -2
  113. package/build-module/list-item/edit.mjs +20 -18
  114. package/build-module/list-item/edit.mjs.map +2 -2
  115. package/build-module/list-item/hooks/index.mjs +8 -10
  116. package/build-module/list-item/hooks/index.mjs.map +2 -2
  117. package/build-module/list-item/hooks/use-enter.mjs +63 -58
  118. package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
  119. package/build-module/list-item/hooks/use-merge.mjs +27 -35
  120. package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
  121. package/build-module/list-item/hooks/use-multi-select-tab.mjs +59 -0
  122. package/build-module/list-item/hooks/use-multi-select-tab.mjs.map +7 -0
  123. package/build-module/list-item/hooks/use-tab.mjs +44 -0
  124. package/build-module/list-item/hooks/use-tab.mjs.map +7 -0
  125. package/build-module/list-item/index.mjs +0 -17
  126. package/build-module/list-item/index.mjs.map +2 -2
  127. package/build-module/list-item/utils.mjs +140 -0
  128. package/build-module/list-item/utils.mjs.map +7 -0
  129. package/build-module/media-text/index.mjs +0 -50
  130. package/build-module/media-text/index.mjs.map +2 -2
  131. package/build-module/media-text/media-container.mjs +17 -12
  132. package/build-module/media-text/media-container.mjs.map +2 -2
  133. package/build-module/more/index.mjs +0 -18
  134. package/build-module/more/index.mjs.map +2 -2
  135. package/build-module/navigation/constants.mjs +1 -1
  136. package/build-module/navigation/constants.mjs.map +1 -1
  137. package/build-module/navigation-link/block.json +1 -1
  138. package/build-module/navigation-link/deprecated.mjs +48 -0
  139. package/build-module/navigation-link/deprecated.mjs.map +7 -0
  140. package/build-module/navigation-link/index.mjs +7 -75
  141. package/build-module/navigation-link/index.mjs.map +3 -3
  142. package/build-module/navigation-link/variations.mjs +22 -0
  143. package/build-module/navigation-link/variations.mjs.map +7 -0
  144. package/build-module/navigation-submenu/index.mjs +1 -33
  145. package/build-module/navigation-submenu/index.mjs.map +2 -2
  146. package/build-module/paragraph/index.mjs +0 -17
  147. package/build-module/paragraph/index.mjs.map +2 -2
  148. package/build-module/paragraph/use-enter.mjs +8 -4
  149. package/build-module/paragraph/use-enter.mjs.map +2 -2
  150. package/build-module/post-template/edit.mjs +3 -1
  151. package/build-module/post-template/edit.mjs.map +2 -2
  152. package/build-module/preformatted/index.mjs +0 -17
  153. package/build-module/preformatted/index.mjs.map +2 -2
  154. package/build-module/pullquote/index.mjs +0 -24
  155. package/build-module/pullquote/index.mjs.map +2 -2
  156. package/build-module/query/edit/inspector-controls/index.mjs +9 -4
  157. package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
  158. package/build-module/search/index.mjs +0 -31
  159. package/build-module/search/index.mjs.map +2 -2
  160. package/build-module/site-tagline/edit.mjs +13 -19
  161. package/build-module/site-tagline/edit.mjs.map +2 -2
  162. package/build-module/site-title/edit.mjs +14 -20
  163. package/build-module/site-title/edit.mjs.map +2 -2
  164. package/build-module/social-link/index.mjs +0 -31
  165. package/build-module/social-link/index.mjs.map +2 -2
  166. package/build-module/verse/index.mjs +0 -17
  167. package/build-module/verse/index.mjs.map +2 -2
  168. package/build-module/video/index.mjs +0 -40
  169. package/build-module/video/index.mjs.map +2 -2
  170. package/build-module/video/tracks-editor.mjs +3 -5
  171. package/build-module/video/tracks-editor.mjs.map +2 -2
  172. package/build-style/editor-rtl.css +8 -51
  173. package/build-style/editor.css +8 -51
  174. package/build-style/navigation/editor-rtl.css +8 -0
  175. package/build-style/navigation/editor.css +8 -0
  176. package/build-style/style-rtl.css +0 -47
  177. package/build-style/style.css +0 -47
  178. package/build-types/navigation-link/deprecated.d.ts +48 -0
  179. package/build-types/navigation-link/deprecated.d.ts.map +1 -0
  180. package/package.json +42 -43
  181. package/src/accordion/index.php +2 -2
  182. package/src/accordion-item/index.php +1 -1
  183. package/src/audio/edit.jsx +6 -7
  184. package/src/audio/index.js +0 -37
  185. package/src/breadcrumbs/index.php +4 -4
  186. package/src/button/index.js +0 -34
  187. package/src/button/test/get-experimental-label.jsdom.test.js +1 -0
  188. package/src/code/index.js +0 -18
  189. package/src/columns/test/transforms.jsdom.test.js +1 -0
  190. package/src/comment-template/index.php +2 -2
  191. package/src/cover/index.js +0 -39
  192. package/src/cover/test/edit.jsdom.test.js +18 -17
  193. package/src/cover/test/transforms.jsdom.test.js +1 -0
  194. package/src/details/index.js +0 -18
  195. package/src/editor.scss +0 -2
  196. package/src/embed/test/index.jsdom.test.js +5 -1
  197. package/src/file/index.js +1 -43
  198. package/src/footnotes/format.jsx +5 -1
  199. package/src/gallery/dynamic-gallery.jsx +5 -2
  200. package/src/gallery/test/edit.jsdom.test.js +4 -0
  201. package/src/gallery/test/transforms.jsdom.test.js +1 -0
  202. package/src/gallery/test/use-get-new-images.jsdom.test.jsx +1 -0
  203. package/src/group/test/placeholder.jsdom.test.jsx +1 -0
  204. package/src/heading/index.js +1 -22
  205. package/src/heading/index.php +1 -1
  206. package/src/home-link/index.php +2 -2
  207. package/src/html/test/index.jsdom.test.js +9 -0
  208. package/src/html/test/utils.jsdom.test.js +1 -0
  209. package/src/image/image.jsx +1 -4
  210. package/src/image/index.js +0 -80
  211. package/src/image/test/transforms.jsdom.test.js +1 -0
  212. package/src/image/test/use-open-image-media-editor-modal.jsdom.test.js +30 -29
  213. package/src/index.jsx +0 -11
  214. package/src/latest-posts/test/deprecated.jsdom.test.js +1 -0
  215. package/src/list/index.php +1 -1
  216. package/src/list-item/edit.jsx +20 -20
  217. package/src/list-item/hooks/index.js +2 -3
  218. package/src/list-item/hooks/use-enter.js +82 -70
  219. package/src/list-item/hooks/use-merge.js +28 -36
  220. package/src/list-item/hooks/use-multi-select-tab.js +83 -0
  221. package/src/list-item/hooks/use-tab.js +62 -0
  222. package/src/list-item/index.js +0 -18
  223. package/src/list-item/utils.js +236 -0
  224. package/src/media-text/index.js +0 -50
  225. package/src/media-text/media-container.jsx +22 -12
  226. package/src/more/index.js +0 -19
  227. package/src/navigation/constants.js +1 -1
  228. package/src/navigation/edit/test/layout-custom-properties.jsdom.test.js +8 -7
  229. package/src/navigation/edit/test/navigation-menu-selector.jsdom.test.jsx +23 -14
  230. package/src/navigation/edit/test/overlay-template-part-selector.jsdom.test.jsx +22 -20
  231. package/src/navigation/edit/test/responsive-wrapper.jsdom.test.jsx +14 -13
  232. package/src/navigation/edit/test/use-create-overlay.jsdom.test.js +19 -24
  233. package/src/navigation/editor.scss +13 -0
  234. package/src/navigation/index.php +14 -14
  235. package/src/navigation/test/menu-items-to-blocks.jsdom.test.js +3 -2
  236. package/src/navigation/test/use-navigation-menu.jsdom.test.js +7 -4
  237. package/src/navigation/test/view.jsdom.test.js +4 -2
  238. package/src/navigation-link/block.json +1 -1
  239. package/src/navigation-link/deprecated.tsx +58 -0
  240. package/src/navigation-link/{index.jsx → index.js} +5 -77
  241. package/src/navigation-link/index.php +5 -5
  242. package/src/navigation-link/shared/test/controls.jsdom.test.jsx +18 -18
  243. package/src/navigation-link/shared/test/use-enable-link-status-validation.jsdom.test.js +8 -6
  244. package/src/navigation-link/shared/test/use-entity-binding.jsdom.test.js +12 -11
  245. package/src/navigation-link/shared/test/use-handle-link-change.jsdom.test.js +23 -20
  246. package/src/navigation-link/shared/test/use-link-preview.jsdom.test.js +17 -14
  247. package/src/navigation-link/test/__snapshots__/hooks.jsdom.test.js.snap +2 -2
  248. package/src/navigation-link/test/hooks.jsdom.test.js +1 -0
  249. package/src/navigation-link/variations.js +19 -0
  250. package/src/navigation-submenu/index.js +1 -33
  251. package/src/page-list/index.php +10 -10
  252. package/src/page-list/test/convert-to-navigation-links.jsdom.test.js +3 -2
  253. package/src/paragraph/index.js +0 -18
  254. package/src/paragraph/use-enter.js +13 -6
  255. package/src/playlist/test/edit-component.jsdom.test.jsx +31 -30
  256. package/src/playlist/test/edit.jsdom.test.js +1 -0
  257. package/src/playlist/test/transforms.jsdom.test.js +1 -0
  258. package/src/playlist-track/test/edit.jsdom.test.jsx +20 -19
  259. package/src/post-author/index.php +3 -3
  260. package/src/post-author-biography/index.php +3 -3
  261. package/src/post-author-name/index.php +3 -3
  262. package/src/post-comments-link/index.php +4 -4
  263. package/src/post-date/test/edit.jsdom.test.js +1 -0
  264. package/src/post-template/edit.jsx +3 -1
  265. package/src/post-time-to-read/index.php +3 -3
  266. package/src/preformatted/index.js +0 -18
  267. package/src/pullquote/index.js +0 -24
  268. package/src/query/edit/inspector-controls/index.jsx +9 -4
  269. package/src/query/index.php +2 -2
  270. package/src/query/test/utils.jsdom.test.js +1 -0
  271. package/src/quote/test/migrate.jsdom.test.js +1 -0
  272. package/src/read-more/index.php +1 -1
  273. package/src/search/index.js +0 -30
  274. package/src/search/index.php +1 -1
  275. package/src/separator/test/edit.jsdom.test.jsx +5 -4
  276. package/src/site-logo/index.php +1 -1
  277. package/src/site-tagline/edit.jsx +18 -27
  278. package/src/site-title/edit.jsx +20 -27
  279. package/src/social-link/index.js +0 -32
  280. package/src/social-link/index.php +0 -1
  281. package/src/style.scss +0 -1
  282. package/src/table-of-contents/index.php +3 -3
  283. package/src/utils/test/style-state.jsdom.test.js +1 -0
  284. package/src/utils/test/waveform-player-dependency.jsdom.test.js +15 -21
  285. package/src/verse/index.js +0 -18
  286. package/src/video/index.js +0 -40
  287. package/src/video/tracks-editor.jsx +4 -5
  288. package/build/form/block.json +0 -65
  289. package/build/form/deprecated.cjs +0 -111
  290. package/build/form/deprecated.cjs.map +0 -7
  291. package/build/form/edit.cjs +0 -180
  292. package/build/form/edit.cjs.map +0 -7
  293. package/build/form/icons.cjs +0 -33
  294. package/build/form/icons.cjs.map +0 -7
  295. package/build/form/index.cjs +0 -118
  296. package/build/form/index.cjs.map +0 -7
  297. package/build/form/init.cjs +0 -28
  298. package/build/form/init.cjs.map +0 -7
  299. package/build/form/save.cjs +0 -40
  300. package/build/form/save.cjs.map +0 -7
  301. package/build/form/utils.cjs +0 -61
  302. package/build/form/utils.cjs.map +0 -7
  303. package/build/form/variations.cjs +0 -152
  304. package/build/form/variations.cjs.map +0 -7
  305. package/build/form/view.cjs +0 -48
  306. package/build/form/view.cjs.map +0 -7
  307. package/build/form-input/block.json +0 -72
  308. package/build/form-input/deprecated.cjs +0 -252
  309. package/build/form-input/deprecated.cjs.map +0 -7
  310. package/build/form-input/edit.cjs +0 -206
  311. package/build/form-input/edit.cjs.map +0 -7
  312. package/build/form-input/icons.cjs +0 -33
  313. package/build/form-input/icons.cjs.map +0 -7
  314. package/build/form-input/index.cjs +0 -63
  315. package/build/form-input/index.cjs.map +0 -7
  316. package/build/form-input/init.cjs +0 -28
  317. package/build/form-input/init.cjs.map +0 -7
  318. package/build/form-input/save.cjs +0 -88
  319. package/build/form-input/save.cjs.map +0 -7
  320. package/build/form-input/variations.cjs +0 -105
  321. package/build/form-input/variations.cjs.map +0 -7
  322. package/build/form-submission-notification/block.json +0 -19
  323. package/build/form-submission-notification/edit.cjs +0 -71
  324. package/build/form-submission-notification/edit.cjs.map +0 -7
  325. package/build/form-submission-notification/index.cjs +0 -73
  326. package/build/form-submission-notification/index.cjs.map +0 -7
  327. package/build/form-submission-notification/init.cjs +0 -28
  328. package/build/form-submission-notification/init.cjs.map +0 -7
  329. package/build/form-submission-notification/save.cjs +0 -54
  330. package/build/form-submission-notification/save.cjs.map +0 -7
  331. package/build/form-submission-notification/variations.cjs +0 -78
  332. package/build/form-submission-notification/variations.cjs.map +0 -7
  333. package/build/form-submit-button/block.json +0 -15
  334. package/build/form-submit-button/edit.cjs +0 -36
  335. package/build/form-submit-button/edit.cjs.map +0 -7
  336. package/build/form-submit-button/index.cjs +0 -75
  337. package/build/form-submit-button/index.cjs.map +0 -7
  338. package/build/form-submit-button/init.cjs.map +0 -7
  339. package/build/form-submit-button/save.cjs +0 -32
  340. package/build/form-submit-button/save.cjs.map +0 -7
  341. package/build/list-item/hooks/use-indent-list-item.cjs +0 -79
  342. package/build/list-item/hooks/use-indent-list-item.cjs.map +0 -7
  343. package/build/list-item/hooks/use-outdent-list-item.cjs +0 -106
  344. package/build/list-item/hooks/use-outdent-list-item.cjs.map +0 -7
  345. package/build/list-item/hooks/use-space.cjs +0 -83
  346. package/build/list-item/hooks/use-space.cjs.map +0 -7
  347. package/build-module/form/block.json +0 -65
  348. package/build-module/form/deprecated.mjs +0 -96
  349. package/build-module/form/deprecated.mjs.map +0 -7
  350. package/build-module/form/edit.mjs +0 -170
  351. package/build-module/form/edit.mjs.map +0 -7
  352. package/build-module/form/icons.mjs +0 -8
  353. package/build-module/form/icons.mjs.map +0 -7
  354. package/build-module/form/index.mjs +0 -83
  355. package/build-module/form/index.mjs.map +0 -7
  356. package/build-module/form/init.mjs +0 -7
  357. package/build-module/form/init.mjs.map +0 -7
  358. package/build-module/form/save.mjs +0 -19
  359. package/build-module/form/save.mjs.map +0 -7
  360. package/build-module/form/utils.mjs +0 -35
  361. package/build-module/form/utils.mjs.map +0 -7
  362. package/build-module/form/variations.mjs +0 -134
  363. package/build-module/form/variations.mjs.map +0 -7
  364. package/build-module/form/view.mjs +0 -46
  365. package/build-module/form/view.mjs.map +0 -7
  366. package/build-module/form-input/block.json +0 -72
  367. package/build-module/form-input/deprecated.mjs +0 -226
  368. package/build-module/form-input/deprecated.mjs.map +0 -7
  369. package/build-module/form-input/edit.mjs +0 -186
  370. package/build-module/form-input/edit.mjs.map +0 -7
  371. package/build-module/form-input/icons.mjs +0 -8
  372. package/build-module/form-input/icons.mjs.map +0 -7
  373. package/build-module/form-input/index.mjs +0 -25
  374. package/build-module/form-input/index.mjs.map +0 -7
  375. package/build-module/form-input/init.mjs +0 -7
  376. package/build-module/form-input/init.mjs.map +0 -7
  377. package/build-module/form-input/save.mjs +0 -62
  378. package/build-module/form-input/save.mjs.map +0 -7
  379. package/build-module/form-input/variations.mjs +0 -84
  380. package/build-module/form-input/variations.mjs.map +0 -7
  381. package/build-module/form-submission-notification/block.json +0 -19
  382. package/build-module/form-submission-notification/edit.mjs +0 -45
  383. package/build-module/form-submission-notification/edit.mjs.map +0 -7
  384. package/build-module/form-submission-notification/index.mjs +0 -35
  385. package/build-module/form-submission-notification/index.mjs.map +0 -7
  386. package/build-module/form-submission-notification/init.mjs +0 -7
  387. package/build-module/form-submission-notification/init.mjs.map +0 -7
  388. package/build-module/form-submission-notification/save.mjs +0 -23
  389. package/build-module/form-submission-notification/save.mjs.map +0 -7
  390. package/build-module/form-submission-notification/variations.mjs +0 -57
  391. package/build-module/form-submission-notification/variations.mjs.map +0 -7
  392. package/build-module/form-submit-button/block.json +0 -15
  393. package/build-module/form-submit-button/edit.mjs +0 -15
  394. package/build-module/form-submit-button/edit.mjs.map +0 -7
  395. package/build-module/form-submit-button/index.mjs +0 -37
  396. package/build-module/form-submit-button/index.mjs.map +0 -7
  397. package/build-module/form-submit-button/init.mjs +0 -7
  398. package/build-module/form-submit-button/init.mjs.map +0 -7
  399. package/build-module/form-submit-button/save.mjs +0 -11
  400. package/build-module/form-submit-button/save.mjs.map +0 -7
  401. package/build-module/list-item/hooks/use-indent-list-item.mjs +0 -58
  402. package/build-module/list-item/hooks/use-indent-list-item.mjs.map +0 -7
  403. package/build-module/list-item/hooks/use-outdent-list-item.mjs +0 -85
  404. package/build-module/list-item/hooks/use-outdent-list-item.mjs.map +0 -7
  405. package/build-module/list-item/hooks/use-space.mjs +0 -52
  406. package/build-module/list-item/hooks/use-space.mjs.map +0 -7
  407. package/build-style/form-input/editor-rtl.css +0 -19
  408. package/build-style/form-input/editor.css +0 -19
  409. package/build-style/form-input/style-rtl.css +0 -46
  410. package/build-style/form-input/style.css +0 -46
  411. package/build-style/form-submission-notification/editor-rtl.css +0 -30
  412. package/build-style/form-submission-notification/editor.css +0 -30
  413. package/build-style/form-submit-button/style-rtl.css +0 -3
  414. package/build-style/form-submit-button/style.css +0 -3
  415. package/src/form/README.md +0 -90
  416. package/src/form/block.json +0 -65
  417. package/src/form/deprecated.jsx +0 -93
  418. package/src/form/edit.jsx +0 -169
  419. package/src/form/icons.jsx +0 -7
  420. package/src/form/index.js +0 -91
  421. package/src/form/index.php +0 -197
  422. package/src/form/init.js +0 -3
  423. package/src/form/save.jsx +0 -15
  424. package/src/form/utils.js +0 -36
  425. package/src/form/variations.js +0 -133
  426. package/src/form/view.js +0 -54
  427. package/src/form-input/README.md +0 -74
  428. package/src/form-input/block.json +0 -72
  429. package/src/form-input/deprecated.jsx +0 -248
  430. package/src/form-input/edit.jsx +0 -187
  431. package/src/form-input/editor.scss +0 -24
  432. package/src/form-input/icons.jsx +0 -7
  433. package/src/form-input/index.js +0 -22
  434. package/src/form-input/index.php +0 -47
  435. package/src/form-input/init.js +0 -3
  436. package/src/form-input/save.jsx +0 -89
  437. package/src/form-input/style.scss +0 -64
  438. package/src/form-input/variations.js +0 -82
  439. package/src/form-submission-notification/README.md +0 -50
  440. package/src/form-submission-notification/block.json +0 -19
  441. package/src/form-submission-notification/edit.jsx +0 -44
  442. package/src/form-submission-notification/editor.scss +0 -45
  443. package/src/form-submission-notification/index.js +0 -33
  444. package/src/form-submission-notification/index.php +0 -48
  445. package/src/form-submission-notification/init.js +0 -3
  446. package/src/form-submission-notification/save.jsx +0 -18
  447. package/src/form-submission-notification/variations.js +0 -56
  448. package/src/form-submit-button/README.md +0 -54
  449. package/src/form-submit-button/block.json +0 -15
  450. package/src/form-submit-button/edit.jsx +0 -12
  451. package/src/form-submit-button/index.js +0 -35
  452. package/src/form-submit-button/init.js +0 -3
  453. package/src/form-submit-button/save.jsx +0 -10
  454. package/src/form-submit-button/style.scss +0 -3
  455. package/src/list-item/hooks/use-indent-list-item.js +0 -73
  456. package/src/list-item/hooks/use-outdent-list-item.js +0 -100
  457. package/src/list-item/hooks/use-space.js +0 -66
@@ -1,3 +1,4 @@
1
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
1
2
  import { fireEvent, render, screen } from '@testing-library/react';
2
3
  import { useDispatch, useSelect } from '@wordpress/data';
3
4
  import PlaylistEdit from '../edit';
@@ -8,7 +9,7 @@ let mediaReplaceFlowProps;
8
9
  // test can look at what ended up in the tracklist.
9
10
  let mockTracks = [];
10
11
 
11
- jest.mock( '@wordpress/block-editor', () => ( {
12
+ vi.mock( '@wordpress/block-editor', () => ( {
12
13
  store: {},
13
14
  BlockControls: ( { children } ) => <div>{ children }</div>,
14
15
  BlockIcon: () => <span />,
@@ -51,19 +52,19 @@ jest.mock( '@wordpress/block-editor', () => ( {
51
52
  } ),
52
53
  } ) );
53
54
 
54
- jest.mock( '@wordpress/blocks', () => ( {
55
- createBlock: jest.fn( ( name, attributes ) => ( {
55
+ vi.mock( '@wordpress/blocks', () => ( {
56
+ createBlock: vi.fn( ( name, attributes ) => ( {
56
57
  name,
57
58
  attributes,
58
59
  clientId: 'new-track',
59
60
  } ) ),
60
61
  } ) );
61
62
 
62
- jest.mock( '@wordpress/blob', () => ( {
63
- createBlobURL: jest.fn( () => 'blob:track' ),
63
+ vi.mock( '@wordpress/blob', () => ( {
64
+ createBlobURL: vi.fn( () => 'blob:track' ),
64
65
  } ) );
65
66
 
66
- jest.mock( '@wordpress/components', () => ( {
67
+ vi.mock( '@wordpress/components', () => ( {
67
68
  Disabled: ( { children } ) => <div>{ children }</div>,
68
69
  SelectControl: () => <div />,
69
70
  ToggleControl: () => <div />,
@@ -71,33 +72,33 @@ jest.mock( '@wordpress/components', () => ( {
71
72
  __experimentalToolsPanelItem: ( { children } ) => <div>{ children }</div>,
72
73
  } ) );
73
74
 
74
- jest.mock( '@wordpress/data', () => ( {
75
- useDispatch: jest.fn(),
76
- useSelect: jest.fn(),
75
+ vi.mock( '@wordpress/data', () => ( {
76
+ useDispatch: vi.fn(),
77
+ useSelect: vi.fn(),
77
78
  } ) );
78
79
 
79
- jest.mock( '@wordpress/i18n', () => ( {
80
+ vi.mock( '@wordpress/i18n', () => ( {
80
81
  __: ( text ) => text,
81
82
  _x: ( text ) => text,
82
83
  } ) );
83
84
 
84
- jest.mock( '@wordpress/icons', () => ( {
85
+ vi.mock( '@wordpress/icons', () => ( {
85
86
  playlist: 'playlist',
86
87
  } ) );
87
88
 
88
- jest.mock( '@wordpress/notices', () => ( {
89
+ vi.mock( '@wordpress/notices', () => ( {
89
90
  store: {},
90
91
  } ) );
91
92
 
92
- jest.mock( '../../utils/caption', () => ( {
93
+ vi.mock( '../../utils/caption', () => ( {
93
94
  Caption: () => <figcaption />,
94
95
  } ) );
95
96
 
96
- jest.mock( '../../utils/hooks', () => ( {
97
+ vi.mock( '../../utils/hooks', () => ( {
97
98
  useToolsPanelDropdownMenuProps: () => ( {} ),
98
99
  } ) );
99
100
 
100
- jest.mock( '../../utils/waveform-player', () => ( {
101
+ vi.mock( '../../utils/waveform-player', () => ( {
101
102
  WaveformPlayer: () => <div />,
102
103
  } ) );
103
104
 
@@ -141,15 +142,15 @@ describe( 'PlaylistEdit', () => {
141
142
  beforeEach( () => {
142
143
  mediaPlaceholderProps = undefined;
143
144
  mediaReplaceFlowProps = undefined;
144
- replaceInnerBlocks = jest.fn();
145
- insertBlocks = jest.fn();
146
- selectBlock = jest.fn();
145
+ replaceInnerBlocks = vi.fn();
146
+ insertBlocks = vi.fn();
147
+ selectBlock = vi.fn();
147
148
  useDispatch.mockReturnValue( {
148
- createErrorNotice: jest.fn(),
149
+ createErrorNotice: vi.fn(),
149
150
  replaceInnerBlocks,
150
151
  insertBlocks,
151
152
  selectBlock,
152
- __unstableMarkNextChangeAsNotPersistent: jest.fn(),
153
+ __unstableMarkNextChangeAsNotPersistent: vi.fn(),
153
154
  } );
154
155
  trackStore( [
155
156
  {
@@ -170,9 +171,9 @@ describe( 'PlaylistEdit', () => {
170
171
  <PlaylistEdit
171
172
  attributes={ defaultAttributes }
172
173
  clientId="playlist-1"
173
- insertBlocksAfter={ jest.fn() }
174
+ insertBlocksAfter={ vi.fn() }
174
175
  isSelected={ false }
175
- setAttributes={ jest.fn() }
176
+ setAttributes={ vi.fn() }
176
177
  />
177
178
  );
178
179
 
@@ -184,9 +185,9 @@ describe( 'PlaylistEdit', () => {
184
185
  <PlaylistEdit
185
186
  attributes={ defaultAttributes }
186
187
  clientId="playlist-1"
187
- insertBlocksAfter={ jest.fn() }
188
+ insertBlocksAfter={ vi.fn() }
188
189
  isSelected={ false }
189
- setAttributes={ jest.fn() }
190
+ setAttributes={ vi.fn() }
190
191
  />
191
192
  );
192
193
 
@@ -201,9 +202,9 @@ describe( 'PlaylistEdit', () => {
201
202
  showTracklist: false,
202
203
  } }
203
204
  clientId="playlist-1"
204
- insertBlocksAfter={ jest.fn() }
205
+ insertBlocksAfter={ vi.fn() }
205
206
  isSelected={ false }
206
- setAttributes={ jest.fn() }
207
+ setAttributes={ vi.fn() }
207
208
  />
208
209
  );
209
210
 
@@ -233,9 +234,9 @@ describe( 'PlaylistEdit', () => {
233
234
  <PlaylistEdit
234
235
  attributes={ defaultAttributes }
235
236
  clientId="playlist-1"
236
- insertBlocksAfter={ jest.fn() }
237
+ insertBlocksAfter={ vi.fn() }
237
238
  isSelected={ false }
238
- setAttributes={ jest.fn() }
239
+ setAttributes={ vi.fn() }
239
240
  />
240
241
  );
241
242
 
@@ -253,9 +254,9 @@ describe( 'PlaylistEdit', () => {
253
254
  <PlaylistEdit
254
255
  attributes={ defaultAttributes }
255
256
  clientId="playlist-1"
256
- insertBlocksAfter={ jest.fn() }
257
+ insertBlocksAfter={ vi.fn() }
257
258
  isSelected={ false }
258
- setAttributes={ jest.fn() }
259
+ setAttributes={ vi.fn() }
259
260
  />
260
261
  );
261
262
 
@@ -1,3 +1,4 @@
1
+ import { describe, expect, it } from 'vitest';
1
2
  import { getTrackAttributes } from '../utils';
2
3
 
3
4
  describe( 'Playlist block edit utilities', () => {
@@ -1,3 +1,4 @@
1
+ import { afterAll, beforeAll, describe, expect, it } from 'vitest';
1
2
  import {
2
3
  createBlock,
3
4
  getPossibleBlockTransformations,
@@ -1,3 +1,4 @@
1
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
1
2
  import { act, fireEvent, render, screen, within } from '@testing-library/react';
2
3
  import { useDispatch } from '@wordpress/data';
3
4
  import PlaylistTrackEdit from '../edit';
@@ -6,10 +7,10 @@ import { useUploadMediaFromBlobURL } from '../../utils/hooks';
6
7
 
7
8
  let mockMediaReplaceFlowProps;
8
9
 
9
- jest.mock( '@wordpress/block-editor', () => {
10
- const PlainText = jest.requireActual(
10
+ vi.mock( '@wordpress/block-editor', async () => {
11
+ const { default: PlainText } = await import(
11
12
  '../../../../block-editor/src/components/plain-text'
12
- ).default;
13
+ );
13
14
 
14
15
  return {
15
16
  BlockControls: ( { children } ) => <div>{ children }</div>,
@@ -22,16 +23,16 @@ jest.mock( '@wordpress/block-editor', () => {
22
23
  return <button onClick={ () => onSelect( {} ) }>{ name }</button>;
23
24
  },
24
25
  MediaUpload: ( { render: renderMediaUpload } ) =>
25
- renderMediaUpload( { open: jest.fn() } ),
26
+ renderMediaUpload( { open: vi.fn() } ),
26
27
  MediaUploadCheck: ( { children } ) => <div>{ children }</div>,
27
28
  PlainText,
28
- useBlockProps: jest.fn( () => ( {} ) ),
29
+ useBlockProps: vi.fn( () => ( {} ) ),
29
30
  };
30
31
  } );
31
32
 
32
- jest.mock( '@wordpress/data', () => {
33
- const data = jest.requireActual( '@wordpress/data' );
34
- const mockUseDispatch = jest.fn();
33
+ vi.mock( import( '@wordpress/data' ), async ( importOriginal ) => {
34
+ const data = await importOriginal();
35
+ const mockUseDispatch = vi.fn();
35
36
 
36
37
  return new Proxy( data, {
37
38
  get( target, property ) {
@@ -44,12 +45,12 @@ jest.mock( '@wordpress/data', () => {
44
45
  } );
45
46
  } );
46
47
 
47
- jest.mock( '@wordpress/notices', () => ( {
48
+ vi.mock( '@wordpress/notices', () => ( {
48
49
  store: 'core/notices',
49
50
  } ) );
50
51
 
51
- jest.mock( '../../utils/hooks', () => ( {
52
- useUploadMediaFromBlobURL: jest.fn(),
52
+ vi.mock( '../../utils/hooks', () => ( {
53
+ useUploadMediaFromBlobURL: vi.fn(),
53
54
  } ) );
54
55
 
55
56
  // The handler only forwards the message to a notice, so its text is
@@ -68,9 +69,9 @@ const defaultAttributes = {
68
69
  };
69
70
 
70
71
  function renderEdit( props = {} ) {
71
- const setAttributes = jest.fn();
72
- const setCurrentTrackClientId = props.setCurrentTrackClientId || jest.fn();
73
- const removeTrack = props.removeTrack || jest.fn();
72
+ const setAttributes = vi.fn();
73
+ const setCurrentTrackClientId = props.setCurrentTrackClientId || vi.fn();
74
+ const removeTrack = props.removeTrack || vi.fn();
74
75
 
75
76
  render(
76
77
  <PlaylistContext.Provider
@@ -104,7 +105,7 @@ describe( 'PlaylistTrackEdit', () => {
104
105
  beforeEach( () => {
105
106
  mockMediaReplaceFlowProps = undefined;
106
107
  useDispatch.mockReturnValue( {
107
- createErrorNotice: jest.fn(),
108
+ createErrorNotice: vi.fn(),
108
109
  } );
109
110
  useUploadMediaFromBlobURL.mockClear();
110
111
  } );
@@ -231,8 +232,8 @@ describe( 'PlaylistTrackEdit', () => {
231
232
  } );
232
233
 
233
234
  it( 'removes the track when its initial upload fails', () => {
234
- const createErrorNotice = jest.fn();
235
- const removeBlock = jest.fn();
235
+ const createErrorNotice = vi.fn();
236
+ const removeBlock = vi.fn();
236
237
  useDispatch.mockReturnValue( { createErrorNotice, removeBlock } );
237
238
 
238
239
  const { removeTrack } = renderEdit( {
@@ -260,8 +261,8 @@ describe( 'PlaylistTrackEdit', () => {
260
261
  // `onUploadError` also fires when replacing an existing track's media, so
261
262
  // removing the block unconditionally would discard the original track.
262
263
  it( 'keeps a track that already has a source when an upload fails', () => {
263
- const createErrorNotice = jest.fn();
264
- const removeBlock = jest.fn();
264
+ const createErrorNotice = vi.fn();
265
+ const removeBlock = vi.fn();
265
266
  useDispatch.mockReturnValue( { createErrorNotice, removeBlock } );
266
267
 
267
268
  const { setAttributes } = renderEdit( {
@@ -10,9 +10,9 @@
10
10
  *
11
11
  * @since 5.9.0
12
12
  *
13
- * @param array $attributes Block attributes.
14
- * @param string $content Block default content.
15
- * @param WP_Block $block Block instance.
13
+ * @param array $attributes Block attributes.
14
+ * @param string $content Block default content.
15
+ * @param WP_Block $block Block instance.
16
16
  * @return string Returns the rendered author block.
17
17
  */
18
18
  function render_block_core_post_author( $attributes, $content, $block ) {
@@ -10,9 +10,9 @@
10
10
  *
11
11
  * @since 6.0.0
12
12
  *
13
- * @param array $attributes Block attributes.
14
- * @param string $content Block default content.
15
- * @param WP_Block $block Block instance.
13
+ * @param array $attributes Block attributes.
14
+ * @param string $content Block default content.
15
+ * @param WP_Block $block Block instance.
16
16
  * @return string Returns the rendered post author biography block.
17
17
  */
18
18
  function render_block_core_post_author_biography( $attributes, $content, $block ) {
@@ -10,9 +10,9 @@
10
10
  *
11
11
  * @since 6.2.0
12
12
  *
13
- * @param array $attributes Block attributes.
14
- * @param string $content Block default content.
15
- * @param WP_Block $block Block instance.
13
+ * @param array $attributes Block attributes.
14
+ * @param string $content Block default content.
15
+ * @param WP_Block $block Block instance.
16
16
  * @return string Returns the rendered post author name block.
17
17
  */
18
18
  function render_block_core_post_author_name( $attributes, $content, $block ) {
@@ -10,10 +10,10 @@
10
10
  *
11
11
  * @since 6.9.0
12
12
  *
13
- * @param array $attributes Block attributes.
14
- * @param string $content Block default content.
15
- * @param WP_Block $block Block instance.
16
- * @return string Returns the rendered link.
13
+ * @param array $attributes Block attributes.
14
+ * @param string $content Block default content.
15
+ * @param WP_Block $block Block instance.
16
+ * @return string Returns the rendered link.
17
17
  */
18
18
  function render_block_core_post_comments_link( $attributes, $content, $block ) {
19
19
  if (
@@ -1,3 +1,4 @@
1
+ import { describe, expect, test } from 'vitest';
1
2
  import { is12HourFormat } from '../edit';
2
3
 
3
4
  describe( 'is12HourFormat', () => {
@@ -75,7 +75,9 @@ export default function PostTemplateEdit( {
75
75
  query: {
76
76
  perPage,
77
77
  offset = 0,
78
- postType,
78
+ // Match `build_query_vars_from_query_block()`, which queries posts when
79
+ // `query` has no post type.
80
+ postType = 'post',
79
81
  order,
80
82
  orderBy,
81
83
  author,
@@ -92,9 +92,9 @@ function block_core_post_time_to_read_word_count( $text, $type ) {
92
92
  *
93
93
  * @since 6.9.0
94
94
  *
95
- * @param array $attributes Block attributes.
96
- * @param string $content Block default content.
97
- * @param WP_Block $block Block instance.
95
+ * @param array $attributes Block attributes.
96
+ * @param string $content Block default content.
97
+ * @param WP_Block $block Block instance.
98
98
  * @return string Returns the rendered post author name block.
99
99
  */
100
100
  function render_block_core_post_time_to_read( $attributes, $content, $block ) {
@@ -1,14 +1,10 @@
1
1
  import { __ } from '@wordpress/i18n';
2
2
  import { preformatted as icon } from '@wordpress/icons';
3
- import { privateApis as blocksPrivateApis } from '@wordpress/blocks';
4
3
  import initBlock from '../utils/init-block';
5
4
  import edit from './edit';
6
5
  import metadata from './block.json';
7
6
  import save from './save';
8
7
  import transforms from './transforms';
9
- import { unlock } from '../lock-unlock';
10
-
11
- const { fieldsKey, formKey } = unlock( blocksPrivateApis );
12
8
 
13
9
  const { name } = metadata;
14
10
 
@@ -36,18 +32,4 @@ export const settings = {
36
32
  },
37
33
  };
38
34
 
39
- if ( window.__experimentalContentOnlyInspectorFields ) {
40
- settings[ fieldsKey ] = [
41
- {
42
- id: 'content',
43
- label: __( 'Content' ),
44
- type: 'text',
45
- Edit: 'rich-text', // TODO: replace with custom component
46
- },
47
- ];
48
- settings[ formKey ] = {
49
- fields: [ 'content' ],
50
- };
51
- }
52
-
53
35
  export const init = () => initBlock( { name, metadata, settings } );
@@ -1,15 +1,11 @@
1
1
  import { __ } from '@wordpress/i18n';
2
2
  import { pullquote as icon } from '@wordpress/icons';
3
- import { privateApis as blocksPrivateApis } from '@wordpress/blocks';
4
3
  import initBlock from '../utils/init-block';
5
4
  import deprecated from './deprecated';
6
5
  import edit from './edit';
7
6
  import metadata from './block.json';
8
7
  import save from './save';
9
8
  import transforms from './transforms';
10
- import { unlock } from '../lock-unlock';
11
-
12
- const { fieldsKey, formKey } = unlock( blocksPrivateApis );
13
9
 
14
10
  const { name } = metadata;
15
11
 
@@ -33,24 +29,4 @@ export const settings = {
33
29
  deprecated,
34
30
  };
35
31
 
36
- if ( window.__experimentalContentOnlyInspectorFields ) {
37
- settings[ fieldsKey ] = [
38
- {
39
- id: 'value',
40
- label: __( 'Content' ),
41
- type: 'text',
42
- Edit: 'rich-text', // TODO: replace with custom component
43
- },
44
- {
45
- id: 'citation',
46
- label: __( 'Citation' ),
47
- type: 'text',
48
- Edit: 'rich-text', // TODO: replace with custom component
49
- },
50
- ];
51
- settings[ formKey ] = {
52
- fields: [ 'value', 'citation' ],
53
- };
54
- }
55
-
56
32
  export const init = () => initBlock( { name, metadata, settings } );
@@ -42,7 +42,9 @@ export default function QueryInspectorControls( props ) {
42
42
  orderBy,
43
43
  author: authorIds,
44
44
  pages,
45
- postType,
45
+ // Match `build_query_vars_from_query_block()`, which queries posts when
46
+ // `query` has no post type.
47
+ postType = 'post',
46
48
  perPage,
47
49
  offset,
48
50
  sticky,
@@ -172,7 +174,7 @@ export default function QueryInspectorControls( props ) {
172
174
  isControlAllowed( allowedControls, 'excludeCurrent' );
173
175
  const postTypeSingularName = useSelect(
174
176
  ( select ) =>
175
- select( coreStore ).getPostType( postType )?.labels.singular_name,
177
+ select( coreStore ).getPostType( postType )?.labels?.singular_name,
176
178
  [ postType ]
177
179
  );
178
180
 
@@ -432,14 +434,17 @@ export default function QueryInspectorControls( props ) {
432
434
  { showSearchControl && (
433
435
  <ToolsPanelItem
434
436
  hasValue={ () => !! querySearch }
435
- label={ __( 'Keyword' ) }
437
+ label={ __( 'Search terms' ) }
436
438
  onDeselect={ () => {
437
439
  setQuery( { search: '' } );
438
440
  setQuerySearch( '' );
439
441
  } }
440
442
  >
441
443
  <TextControl
442
- label={ __( 'Keyword' ) }
444
+ label={ __( 'Search terms' ) }
445
+ help={ __(
446
+ 'Filter the query by keywords that appear in the content, title, or excerpt.'
447
+ ) }
443
448
  value={ querySearch }
444
449
  onChange={ ( newQuerySearch ) => {
445
450
  debouncedQuerySearch( newQuerySearch );
@@ -108,8 +108,8 @@ function block_core_query_disable_enhanced_pagination( $parsed_block ) {
108
108
  * by adding an attribute called `data-wp-navigation-disabled` which
109
109
  * is later handled by the front-end logic.
110
110
  *
111
- * @param string $content The block content.
112
- * @param array $block The full block, including name and attributes.
111
+ * @param string $content The block content.
112
+ * @param array $block The full block, including name and attributes.
113
113
  * @return string Returns the modified output of the query block.
114
114
  */
115
115
  $render_query_callback = static function ( $content, $block ) use ( &$enhanced_query_stack, &$dirty_enhanced_queries, &$render_query_callback ) {
@@ -1,3 +1,4 @@
1
+ import { describe, expect, it } from 'vitest';
1
2
  import { terms } from './fixtures';
2
3
  import {
3
4
  getEntitiesInfo,
@@ -1,3 +1,4 @@
1
+ import { afterAll, beforeAll, describe, expect, it } from 'vitest';
1
2
  import {
2
3
  registerBlockType,
3
4
  serialize,
@@ -13,7 +13,7 @@
13
13
  * @param array $attributes Block attributes.
14
14
  * @param string $content Block default content.
15
15
  * @param WP_Block $block Block instance.
16
- * @return string Returns the post link.
16
+ * @return string Returns the post link.
17
17
  */
18
18
  function render_block_core_read_more( $attributes, $content, $block ) {
19
19
  if ( ! isset( $block->context['postId'] ) ) {
@@ -1,13 +1,9 @@
1
1
  import { __ } from '@wordpress/i18n';
2
2
  import { search as icon } from '@wordpress/icons';
3
- import { privateApis as blocksPrivateApis } from '@wordpress/blocks';
4
3
  import initBlock from '../utils/init-block';
5
4
  import metadata from './block.json';
6
5
  import edit from './edit';
7
6
  import variations from './variations';
8
- import { unlock } from '../lock-unlock';
9
-
10
- const { fieldsKey, formKey } = unlock( blocksPrivateApis );
11
7
 
12
8
  const { name } = metadata;
13
9
 
@@ -23,30 +19,4 @@ export const settings = {
23
19
  edit,
24
20
  };
25
21
 
26
- if ( window.__experimentalContentOnlyInspectorFields ) {
27
- settings[ fieldsKey ] = [
28
- {
29
- id: 'label',
30
- label: __( 'Label' ),
31
- type: 'text',
32
- Edit: 'rich-text', // TODO: replace with custom component
33
- },
34
- {
35
- id: 'buttonText',
36
- label: __( 'Button text' ),
37
- type: 'text',
38
- Edit: 'rich-text', // TODO: replace with custom component
39
- },
40
- {
41
- id: 'placeholder',
42
- label: __( 'Placeholder' ),
43
- type: 'text',
44
- Edit: 'rich-text', // TODO: replace with custom component
45
- },
46
- ];
47
- settings[ formKey ] = {
48
- fields: [ 'label', 'buttonText', 'placeholder' ],
49
- };
50
- }
51
-
52
22
  export const init = () => initBlock( { name, metadata, settings } );
@@ -360,7 +360,7 @@ function apply_block_core_search_border_styles( $attributes, $property, &$wrappe
360
360
  *
361
361
  * @since 5.8.0
362
362
  *
363
- * @param array $attributes The block attributes.
363
+ * @param array $attributes The block attributes.
364
364
  *
365
365
  * @return array Style HTML attribute.
366
366
  */
@@ -1,10 +1,11 @@
1
+ import { beforeEach, describe, expect, test, vi } from 'vitest';
1
2
  import { render } from '@testing-library/react';
2
3
  import { useBlockProps } from '@wordpress/block-editor';
3
4
  import SeparatorEdit from '../edit';
4
5
 
5
- jest.mock( '@wordpress/block-editor', () => ( {
6
- ...jest.requireActual( '@wordpress/block-editor' ),
7
- useBlockProps: jest.fn(),
6
+ vi.mock( import( '@wordpress/block-editor' ), async ( importOriginal ) => ( {
7
+ ...( await importOriginal() ),
8
+ useBlockProps: vi.fn(),
8
9
  } ) );
9
10
 
10
11
  const defaultAttributes = {
@@ -16,7 +17,7 @@ const defaultAttributes = {
16
17
  };
17
18
  const defaultProps = {
18
19
  attributes: defaultAttributes,
19
- setAttributes: jest.fn(),
20
+ setAttributes: vi.fn(),
20
21
  };
21
22
 
22
23
  describe( 'Separator block edit method', () => {
@@ -139,7 +139,7 @@ add_filter( 'theme_mod_custom_logo', '_override_custom_logo_theme_mod' );
139
139
  *
140
140
  * @since 5.8.0
141
141
  *
142
- * @param mixed $value Attachment ID of the custom logo or an empty value.
142
+ * @param mixed $value Attachment ID of the custom logo or an empty value.
143
143
  * @return mixed
144
144
  */
145
145
  function _sync_custom_logo_to_site_logo( $value ) {
@@ -1,5 +1,5 @@
1
- import { useDispatch, useSelect } from '@wordpress/data';
2
- import { store as coreStore } from '@wordpress/core-data';
1
+ import { useSelect } from '@wordpress/data';
2
+ import { store as coreStore, useEntityProp } from '@wordpress/core-data';
3
3
  import {
4
4
  useBlockProps,
5
5
  BlockControls,
@@ -15,33 +15,24 @@ export default function SiteTaglineEdit( props ) {
15
15
 
16
16
  const { attributes, setAttributes, insertBlocksAfter } = props;
17
17
  const { level, levelOptions } = attributes;
18
- const { canUserEdit, tagline } = useSelect( ( select ) => {
19
- const { canUser, getEntityRecord, getEditedEntityRecord } =
20
- select( coreStore );
21
- const canEdit = canUser( 'update', {
22
- kind: 'root',
23
- name: 'site',
24
- } );
25
- const settings = canEdit ? getEditedEntityRecord( 'root', 'site' ) : {};
26
- const readOnlySettings = getEntityRecord( 'root', '__unstableBase' );
27
-
28
- return {
29
- canUserEdit: canEdit,
30
- tagline: canEdit
31
- ? settings?.description
32
- : readOnlySettings?.description,
33
- };
34
- }, [] );
18
+ const canUserEdit = useSelect(
19
+ ( select ) =>
20
+ select( coreStore ).canUser( 'update', {
21
+ kind: 'root',
22
+ name: 'site',
23
+ } ),
24
+ []
25
+ );
26
+ // Users who cannot edit the site settings cannot read them either, so the
27
+ // tagline comes from the base entity instead.
28
+ const [ tagline, setTagline ] = useEntityProp(
29
+ 'root',
30
+ canUserEdit ? 'site' : '__unstableBase',
31
+ 'description',
32
+ undefined
33
+ );
35
34
 
36
35
  const TagName = level === 0 ? 'p' : `h${ level }`;
37
- const { editEntityRecord } = useDispatch( coreStore );
38
-
39
- function setTagline( newTagline ) {
40
- editEntityRecord( 'root', 'site', undefined, {
41
- description: newTagline,
42
- } );
43
- }
44
-
45
36
  const blockProps = useBlockProps( {
46
37
  className:
47
38
  ! canUserEdit && ! tagline && 'wp-block-site-tagline__placeholder',