@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
@@ -14,9 +14,9 @@ require_once __DIR__ . '/navigation-link/shared/render-submenu-icon.php';
14
14
  *
15
15
  * @since 5.9.0
16
16
  *
17
- * @param array $context Navigation block context.
18
- * @param array $attributes Block attributes.
19
- * @param bool $is_sub_menu Whether the link is part of a sub-menu. Default false.
17
+ * @param array $context Navigation block context.
18
+ * @param array $attributes Block attributes.
19
+ * @param bool $is_sub_menu Whether the link is part of a sub-menu. Default false.
20
20
  * @return array Colors CSS classes and inline styles.
21
21
  */
22
22
  function block_core_navigation_link_build_css_colors( $context, $attributes, $is_sub_menu = false ) {
@@ -90,7 +90,7 @@ function block_core_navigation_link_build_css_colors( $context, $attributes, $is
90
90
  * @since 5.9.0
91
91
  * @deprecated 7.0.0
92
92
  *
93
- * @param array $context Navigation block context.
93
+ * @param array $context Navigation block context.
94
94
  * @return array Font size CSS classes and inline styles.
95
95
  */
96
96
  function block_core_navigation_link_build_css_font_sizes( $context ) {
@@ -308,7 +308,7 @@ function render_block_core_navigation_link( $attributes, $content, $block ) {
308
308
  * @since 5.9.0
309
309
  *
310
310
  * @param WP_Taxonomy|WP_Post_Type $entity post type or taxonomy entity.
311
- * @param string $kind string of value 'taxonomy' or 'post-type'.
311
+ * @param string $kind string of value 'taxonomy' or 'post-type'.
312
312
  *
313
313
  * @return array
314
314
  */
@@ -1,35 +1,40 @@
1
+ import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest';
1
2
  import { render, screen, fireEvent } from '@testing-library/react';
2
3
  import { Controls } from '../controls';
4
+ import { useEntityBinding } from '../use-entity-binding';
5
+ import { useIsInvalidLink } from '../use-is-invalid-link';
6
+
7
+ globalThis.wpVitest.mockMatchMedia();
3
8
 
4
9
  // Mock the updateAttributes function
5
10
  let mockUpdateAttributes;
6
- jest.mock( '../update-attributes', () => ( {
11
+ vi.mock( import( '../update-attributes' ), () => ( {
7
12
  updateAttributes: ( ...args ) => mockUpdateAttributes( ...args ),
8
13
  } ) );
9
14
 
10
15
  // Mock the useToolsPanelDropdownMenuProps hook
11
- jest.mock( '../../../utils/hooks', () => ( {
16
+ vi.mock( import( '../../../utils/hooks' ), () => ( {
12
17
  useToolsPanelDropdownMenuProps: () => ( {} ),
13
18
  } ) );
14
19
 
15
20
  // Mock the useEntityBinding hook
16
- jest.mock( '../use-entity-binding', () => ( {
17
- useEntityBinding: jest.fn( () => ( {
21
+ vi.mock( import( '../use-entity-binding' ), () => ( {
22
+ useEntityBinding: vi.fn( () => ( {
18
23
  hasUrlBinding: false,
19
24
  isBoundEntityAvailable: false,
20
- clearBinding: jest.fn(),
25
+ clearBinding: vi.fn(),
21
26
  } ) ),
22
27
  } ) );
23
28
 
24
29
  // Mock the useIsInvalidLink hook
25
- jest.mock( '../use-is-invalid-link', () => ( {
26
- useIsInvalidLink: jest.fn( () => [ false, false ] ),
30
+ vi.mock( import( '../use-is-invalid-link' ), () => ( {
31
+ useIsInvalidLink: vi.fn( () => [ false, false ] ),
27
32
  } ) );
28
33
 
29
34
  describe( 'Controls', () => {
30
35
  // Initialize the mock function
31
36
  beforeAll( () => {
32
- mockUpdateAttributes = jest.fn();
37
+ mockUpdateAttributes = vi.fn();
33
38
  } );
34
39
 
35
40
  const defaultProps = {
@@ -40,25 +45,23 @@ describe( 'Controls', () => {
40
45
  rel: 'nofollow',
41
46
  opensInNewTab: false,
42
47
  },
43
- setAttributes: jest.fn(),
44
- setIsEditingControl: jest.fn(),
48
+ setAttributes: vi.fn(),
49
+ setIsEditingControl: vi.fn(),
45
50
  clientId: 'test-client-id',
46
51
  };
47
52
 
48
53
  beforeEach( () => {
49
- jest.clearAllMocks();
54
+ vi.clearAllMocks();
50
55
  mockUpdateAttributes.mockClear();
51
56
 
52
57
  // Reset useEntityBinding mock to default
53
- const { useEntityBinding } = require( '../use-entity-binding' );
54
58
  useEntityBinding.mockReturnValue( {
55
59
  hasUrlBinding: false,
56
60
  isBoundEntityAvailable: false,
57
- clearBinding: jest.fn(),
61
+ clearBinding: vi.fn(),
58
62
  } );
59
63
 
60
64
  // Reset useIsInvalidLink mock to default
61
- const { useIsInvalidLink } = require( '../use-is-invalid-link' );
62
65
  useIsInvalidLink.mockReturnValue( [ false, false ] );
63
66
  } );
64
67
 
@@ -126,11 +129,10 @@ describe( 'Controls', () => {
126
129
 
127
130
  describe( 'URL binding help text', () => {
128
131
  it( 'shows invalid link help text when bound entity is not available', () => {
129
- const { useEntityBinding } = require( '../use-entity-binding' );
130
132
  useEntityBinding.mockReturnValue( {
131
133
  hasUrlBinding: true,
132
134
  isBoundEntityAvailable: false,
133
- clearBinding: jest.fn(),
135
+ clearBinding: vi.fn(),
134
136
  } );
135
137
 
136
138
  const propsWithCategoryBinding = {
@@ -152,7 +154,6 @@ describe( 'Controls', () => {
152
154
  } );
153
155
 
154
156
  it( 'shows draft help text for draft entities', () => {
155
- const { useIsInvalidLink } = require( '../use-is-invalid-link' );
156
157
  useIsInvalidLink.mockReturnValue( [ false, true ] ); // isInvalid: false, isDraft: true
157
158
 
158
159
  const propsWithDraftPage = {
@@ -174,7 +175,6 @@ describe( 'Controls', () => {
174
175
  } );
175
176
 
176
177
  it( 'shows draft help text for different entity types', () => {
177
- const { useIsInvalidLink } = require( '../use-is-invalid-link' );
178
178
  useIsInvalidLink.mockReturnValue( [ false, true ] );
179
179
 
180
180
  const propsWithDraftPost = {
@@ -1,11 +1,13 @@
1
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
1
2
  import { renderHook } from '@testing-library/react';
3
+ import { useSelect } from '@wordpress/data';
2
4
  import { useEnableLinkStatusValidation } from '../use-enable-link-status-validation';
5
+
3
6
  // Mock useSelect directly at the implementation level to avoid loading complex dependencies
4
- jest.mock( '@wordpress/data/src/components/use-select', () => {
5
- const mock = jest.fn();
6
- return mock;
7
- } );
8
- const { useSelect } = require( '@wordpress/data' );
7
+ vi.mock( import( '@wordpress/data' ), async ( importOriginal ) => ( {
8
+ ...( await importOriginal() ),
9
+ useSelect: vi.fn(),
10
+ } ) );
9
11
 
10
12
  describe( 'useEnableLinkStatusValidation', () => {
11
13
  const mockClientId = 'test-client-id';
@@ -13,7 +15,7 @@ describe( 'useEnableLinkStatusValidation', () => {
13
15
  const mockSelectedBlockId = 'selected-block-id';
14
16
 
15
17
  beforeEach( () => {
16
- jest.clearAllMocks();
18
+ vi.clearAllMocks();
17
19
  } );
18
20
 
19
21
  it( 'should return true when root navigation block is selected', () => {
@@ -1,3 +1,4 @@
1
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
1
2
  import { renderHook, act } from '@testing-library/react';
2
3
  import {
3
4
  useBlockBindingsUtils,
@@ -10,22 +11,22 @@ import {
10
11
  } from '../use-entity-binding';
11
12
 
12
13
  // Mock the entire @wordpress/block-editor module
13
- jest.mock( '@wordpress/block-editor', () => ( {
14
- useBlockBindingsUtils: jest.fn(),
15
- useBlockEditingMode: jest.fn(),
14
+ vi.mock( import( '@wordpress/block-editor' ), () => ( {
15
+ useBlockBindingsUtils: vi.fn(),
16
+ useBlockEditingMode: vi.fn(),
16
17
  } ) );
17
18
 
18
19
  // Mock useSelect specifically to avoid needing to set up full data store
19
- jest.mock( '@wordpress/data/src/components/use-select', () => {
20
- const mock = jest.fn();
21
- return mock;
22
- } );
20
+ vi.mock( import( '@wordpress/data' ), async ( importOriginal ) => ( {
21
+ ...( await importOriginal() ),
22
+ useSelect: vi.fn(),
23
+ } ) );
23
24
 
24
25
  describe( 'useEntityBinding', () => {
25
- const mockUpdateBlockBindings = jest.fn();
26
+ const mockUpdateBlockBindings = vi.fn();
26
27
 
27
28
  beforeEach( () => {
28
- jest.clearAllMocks();
29
+ vi.clearAllMocks();
29
30
  useBlockBindingsUtils.mockReturnValue( {
30
31
  updateBlockBindings: mockUpdateBlockBindings,
31
32
  } );
@@ -325,9 +326,9 @@ describe( 'useEntityBinding', () => {
325
326
  } );
326
327
 
327
328
  it( 'handles invalid kind gracefully in createBinding', () => {
328
- const consoleSpy = jest
329
+ const consoleSpy = vi
329
330
  .spyOn( console, 'warn' )
330
- .mockImplementation();
331
+ .mockImplementation( () => {} );
331
332
 
332
333
  const attributes = {
333
334
  metadata: {},
@@ -1,35 +1,38 @@
1
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
1
2
  import { renderHook } from '@testing-library/react';
3
+ import { useDispatch } from '@wordpress/data';
4
+ import { useHandleLinkChange } from '../use-handle-link-change';
5
+ import { updateAttributes } from '../update-attributes';
6
+ import { useEntityBinding } from '../use-entity-binding';
2
7
  // Mock the entire @wordpress/block-editor module
3
- jest.mock( '@wordpress/block-editor', () => ( {
8
+ vi.mock( import( '@wordpress/block-editor' ), () => ( {
4
9
  store: {},
5
10
  } ) );
11
+
6
12
  // Mock the entire @wordpress/core-data module
7
- jest.mock( '@wordpress/core-data', () => ( {
13
+ vi.mock( import( '@wordpress/core-data' ), () => ( {
8
14
  store: {},
9
15
  } ) );
16
+
10
17
  // Mock useDispatch specifically to avoid needing to set up full data store
11
- jest.mock( '@wordpress/data', () => ( {
12
- useDispatch: jest.fn(),
13
- createSelector: jest.fn( ( fn ) => fn ),
14
- createRegistrySelector: jest.fn( ( fn ) => fn ),
15
- createReduxStore: jest.fn( () => ( {} ) ),
16
- combineReducers: jest.fn( ( reducers ) => ( state = {}, action ) => {
18
+ vi.mock( import( '@wordpress/data' ), () => ( {
19
+ useDispatch: vi.fn(),
20
+ createSelector: vi.fn( ( fn ) => fn ),
21
+ createRegistrySelector: vi.fn( ( fn ) => fn ),
22
+ createReduxStore: vi.fn( () => ( {} ) ),
23
+ combineReducers: vi.fn( ( reducers ) => ( state = {}, action ) => {
17
24
  const newState = {};
18
25
  Object.keys( reducers ).forEach( ( key ) => {
19
26
  newState[ key ] = reducers[ key ]( state[ key ], action );
20
27
  } );
21
28
  return newState;
22
29
  } ),
23
- register: jest.fn(),
30
+ register: vi.fn(),
24
31
  } ) );
25
- import { useDispatch } from '@wordpress/data';
26
- import { useHandleLinkChange } from '../use-handle-link-change';
27
- import { updateAttributes } from '../update-attributes';
28
- import { useEntityBinding } from '../use-entity-binding';
29
32
 
30
33
  // Mock internal dependencies
31
- jest.mock( '../update-attributes' );
32
- jest.mock( '../use-entity-binding' );
34
+ vi.mock( import( '../update-attributes' ) );
35
+ vi.mock( import( '../use-entity-binding' ) );
33
36
 
34
37
  describe( 'useHandleLinkChange', () => {
35
38
  let mockSetAttributes;
@@ -41,10 +44,10 @@ describe( 'useHandleLinkChange', () => {
41
44
 
42
45
  beforeEach( () => {
43
46
  // Reset mocks
44
- mockSetAttributes = jest.fn();
45
- mockUpdateBlockAttributes = jest.fn();
46
- mockCreateBinding = jest.fn();
47
- mockClearBinding = jest.fn();
47
+ mockSetAttributes = vi.fn();
48
+ mockUpdateBlockAttributes = vi.fn();
49
+ mockCreateBinding = vi.fn();
50
+ mockClearBinding = vi.fn();
48
51
 
49
52
  // Mock useDispatch
50
53
  useDispatch.mockReturnValue( {
@@ -70,7 +73,7 @@ describe( 'useHandleLinkChange', () => {
70
73
  } );
71
74
 
72
75
  afterEach( () => {
73
- jest.clearAllMocks();
76
+ vi.clearAllMocks();
74
77
  } );
75
78
 
76
79
  describe( 'creating new entity links', () => {
@@ -1,34 +1,37 @@
1
+ import { beforeEach, describe, expect, it, test, vi } from 'vitest';
1
2
  import { renderHook } from '@testing-library/react';
2
3
  import { useSelect } from '@wordpress/data';
4
+ import {
5
+ computeDisplayUrl,
6
+ computeBadges,
7
+ isHomepage,
8
+ useLinkPreview,
9
+ } from '../use-link-preview';
3
10
  // Mock useRemoteUrlData from block-editor
4
- const mockUseRemoteUrlData = jest.fn();
5
- jest.mock( '@wordpress/block-editor', () => ( {
11
+ const mockUseRemoteUrlData = vi.fn();
12
+
13
+ vi.mock( import( '@wordpress/block-editor' ), () => ( {
6
14
  privateApis: {},
7
15
  store: {},
8
16
  } ) );
17
+
9
18
  // Mock the unlock function to return useRemoteUrlData, isHashLink, and isRelativePath
10
- jest.mock( '../../../lock-unlock', () => ( {
11
- unlock: jest.fn( () => ( {
19
+ vi.mock( import( '../../../lock-unlock' ), () => ( {
20
+ unlock: vi.fn( () => ( {
12
21
  useRemoteUrlData: ( ...args ) => mockUseRemoteUrlData( ...args ),
13
22
  isHashLink: ( url ) => url?.startsWith( '#' ),
14
23
  isRelativePath: ( url ) =>
15
24
  url?.startsWith( '/' ) && ! url?.startsWith( '//' ),
16
25
  } ) ),
17
26
  } ) );
18
- import {
19
- computeDisplayUrl,
20
- computeBadges,
21
- isHomepage,
22
- useLinkPreview,
23
- } from '../use-link-preview';
24
27
 
25
28
  // Mock @wordpress/data
26
- jest.mock( '@wordpress/data', () => ( {
27
- useSelect: jest.fn(),
29
+ vi.mock( import( '@wordpress/data' ), () => ( {
30
+ useSelect: vi.fn(),
28
31
  } ) );
29
32
 
30
33
  // Mock @wordpress/core-data
31
- jest.mock( '@wordpress/core-data', () => ( {
34
+ vi.mock( import( '@wordpress/core-data' ), () => ( {
32
35
  store: {},
33
36
  } ) );
34
37
 
@@ -448,7 +451,7 @@ it( 'should show "Page" badge for internal custom links', () => {
448
451
 
449
452
  describe( 'useLinkPreview', () => {
450
453
  beforeEach( () => {
451
- jest.clearAllMocks();
454
+ vi.clearAllMocks();
452
455
  mockUseRemoteUrlData.mockReturnValue( { richData: null } );
453
456
  useSelect.mockReturnValue( null );
454
457
  } );
@@ -1,6 +1,6 @@
1
- // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
- exports[`hooks enhanceNavigationLinkVariations enhances variations with icon and isActive functions 1`] = `
3
+ exports[`hooks > enhanceNavigationLinkVariations > enhances variations with icon and isActive functions 1`] = `
4
4
  {
5
5
  "extraProp": "extraProp",
6
6
  "name": "core/navigation-link",
@@ -1,3 +1,4 @@
1
+ import { describe, expect, it } from 'vitest';
1
2
  import { __ } from '@wordpress/i18n';
2
3
  import { enhanceNavigationLinkVariations } from '../hooks';
3
4
 
@@ -0,0 +1,19 @@
1
+ import { __ } from '@wordpress/i18n';
2
+ import { customLink as linkIcon } from '@wordpress/icons';
3
+
4
+ const variations = [
5
+ {
6
+ name: 'custom-link',
7
+ title: __( 'Custom Link' ),
8
+ description: __( 'Add a custom link to your navigation.' ),
9
+ icon: linkIcon,
10
+ attributes: {
11
+ kind: 'custom',
12
+ },
13
+ isActive: ( blockAttributes ) => blockAttributes.kind === 'custom',
14
+ isDefault: true,
15
+ scope: [ 'inserter' ],
16
+ },
17
+ ];
18
+
19
+ export default variations;
@@ -1,14 +1,10 @@
1
1
  import { page, addSubmenu } from '@wordpress/icons';
2
- import { _x, __ } from '@wordpress/i18n';
3
- import { privateApis as blocksPrivateApis } from '@wordpress/blocks';
2
+ import { _x } from '@wordpress/i18n';
4
3
  import initBlock from '../utils/init-block';
5
4
  import metadata from './block.json';
6
5
  import edit from './edit';
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
 
@@ -48,32 +44,4 @@ export const settings = {
48
44
  transforms,
49
45
  };
50
46
 
51
- if ( window.__experimentalContentOnlyInspectorFields ) {
52
- settings[ fieldsKey ] = [
53
- {
54
- id: 'label',
55
- label: __( 'Label' ),
56
- type: 'text',
57
- Edit: 'rich-text', //TODO: replace with custom component
58
- },
59
- {
60
- id: 'link',
61
- label: __( 'Link' ),
62
- type: 'url',
63
- Edit: 'link', // TODO: replace with custom component
64
- getValue: ( { item } ) => ( {
65
- url: item.url,
66
- rel: item.rel,
67
- } ),
68
- setValue: ( { value } ) => ( {
69
- url: value.url,
70
- rel: value.rel,
71
- } ),
72
- },
73
- ];
74
- settings[ formKey ] = {
75
- fields: [ 'label', 'link' ],
76
- };
77
- }
78
-
79
47
  export const init = () => initBlock( { name, metadata, settings } );
@@ -36,8 +36,8 @@ function block_core_page_list_get_submenu_visibility( $context ) {
36
36
  *
37
37
  * @since 5.8.0
38
38
  *
39
- * @param array $attributes Block attributes.
40
- * @param array $context Navigation block context.
39
+ * @param array $attributes Block attributes.
40
+ * @param array $context Navigation block context.
41
41
  * @return array Colors CSS classes and inline styles.
42
42
  */
43
43
  function block_core_page_list_build_css_colors( $attributes, $context ) {
@@ -128,14 +128,14 @@ function block_core_page_list_build_css_colors( $attributes, $context ) {
128
128
  *
129
129
  * @since 5.8.0
130
130
  *
131
- * @param string $submenu_visibility The submenu visibility mode: 'hover', 'click', or 'always'.
132
- * @param boolean $show_submenu_icons Whether to show submenu indicator icons.
133
- * @param boolean $is_navigation_child If block is a child of Navigation block.
134
- * @param array $nested_pages The array of nested pages.
135
- * @param boolean $is_nested Whether the submenu is nested or not.
131
+ * @param string $submenu_visibility The submenu visibility mode: 'hover', 'click', or 'always'.
132
+ * @param boolean $show_submenu_icons Whether to show submenu indicator icons.
133
+ * @param boolean $is_navigation_child If block is a child of Navigation block.
134
+ * @param array $nested_pages The array of nested pages.
135
+ * @param boolean $is_nested Whether the submenu is nested or not.
136
136
  * @param array $active_page_ancestor_ids An array of ancestor ids for active page.
137
- * @param array $colors Color information for overlay styles.
138
- * @param integer $depth The nesting depth.
137
+ * @param array $colors Color information for overlay styles.
138
+ * @param integer $depth The nesting depth.
139
139
  *
140
140
  * @return string List markup.
141
141
  */
@@ -227,7 +227,7 @@ function block_core_page_list_render_nested_page_list( $submenu_visibility, $sho
227
227
  * @since 5.8.0
228
228
  *
229
229
  * @param array $current_level The level being iterated through.
230
- * @param array $children The children grouped by parent post ID.
230
+ * @param array $children The children grouped by parent post ID.
231
231
  *
232
232
  * @return array The nested array of pages.
233
233
  */
@@ -1,3 +1,4 @@
1
+ import { describe, expect, it, vi } from 'vitest';
1
2
  import { convertToNavigationLinks } from '../use-convert-to-navigation-links';
2
3
 
3
4
  // Expected entity binding structure for navigation links
@@ -12,8 +13,8 @@ const EXPECTED_ENTITY_BINDING = {
12
13
 
13
14
  // Mock createBlock to avoid creating the blocks in test environment
14
15
  // as convertToNavigationLinks calls this method internally.
15
- jest.mock( '@wordpress/blocks', () => {
16
- const blocks = jest.requireActual( '@wordpress/blocks' );
16
+ vi.mock( import( '@wordpress/blocks' ), async ( importOriginal ) => {
17
+ const blocks = await importOriginal();
17
18
 
18
19
  return {
19
20
  ...blocks,
@@ -1,15 +1,11 @@
1
1
  import { __ } from '@wordpress/i18n';
2
2
  import { paragraph 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
 
@@ -56,18 +52,4 @@ export const settings = {
56
52
  save,
57
53
  };
58
54
 
59
- if ( window.__experimentalContentOnlyInspectorFields ) {
60
- settings[ fieldsKey ] = [
61
- {
62
- id: 'content',
63
- label: __( 'Content' ),
64
- type: 'text',
65
- Edit: 'rich-text', // TODO: replace with custom component
66
- },
67
- ];
68
- settings[ formKey ] = {
69
- fields: [ 'content' ],
70
- };
71
- }
72
-
73
55
  export const init = () => initBlock( { name, metadata, settings } );
@@ -1,7 +1,6 @@
1
1
  import { useRef } from '@wordpress/element';
2
2
  import { useRefEffect } from '@wordpress/compose';
3
3
  import { privateApis as richTextPrivateApis } from '@wordpress/rich-text';
4
- import { ENTER } from '@wordpress/keycodes';
5
4
  import { useSelect, useDispatch, useRegistry } from '@wordpress/data';
6
5
  import { store as blockEditorStore } from '@wordpress/block-editor';
7
6
  import {
@@ -29,12 +28,12 @@ export function useOnEnter( props ) {
29
28
  const propsRef = useRef( props );
30
29
  propsRef.current = props;
31
30
  return useRefEffect( ( element ) => {
32
- function onKeyDown( event ) {
31
+ function onBeforeInput( event ) {
33
32
  if ( event.defaultPrevented ) {
34
33
  return;
35
34
  }
36
35
 
37
- if ( event.keyCode !== ENTER ) {
36
+ if ( event.inputType !== 'insertParagraph' ) {
38
37
  return;
39
38
  }
40
39
 
@@ -120,8 +119,16 @@ export function useOnEnter( props ) {
120
119
  } );
121
120
  }
122
121
 
123
- // Capture phase so we run before writing-flow's ancestor-bubble
124
- // keydown handlers that gate on `event.defaultPrevented`.
125
- return subscribeOwnedListener( element, 'keydown', onKeyDown, true );
122
+ // Enter is handled on beforeinput: moving focus while the keydown
123
+ // is still being handled leaves the iOS keyboard's
124
+ // auto-capitalization stale. Capture phase so we run before
125
+ // writing-flow's ancestor-bubble handler that gates on
126
+ // `event.defaultPrevented`.
127
+ return subscribeOwnedListener(
128
+ element,
129
+ 'beforeinput',
130
+ onBeforeInput,
131
+ true
132
+ );
126
133
  }, [] );
127
134
  }