@wordpress/block-library 10.5.2-next.v.202608281122.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 (588) hide show
  1. package/CHANGELOG.md +19 -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/comment-template/edit.cjs.map +1 -1
  11. package/build/cover/index.cjs +0 -38
  12. package/build/cover/index.cjs.map +3 -3
  13. package/build/details/index.cjs +0 -17
  14. package/build/details/index.cjs.map +3 -3
  15. package/build/file/index.cjs +0 -43
  16. package/build/file/index.cjs.map +3 -3
  17. package/build/footnotes/format.cjs +1 -1
  18. package/build/footnotes/format.cjs.map +2 -2
  19. package/build/gallery/dynamic-gallery.cjs +22 -12
  20. package/build/gallery/dynamic-gallery.cjs.map +2 -2
  21. package/build/heading/index.cjs +0 -16
  22. package/build/heading/index.cjs.map +3 -3
  23. package/build/image/image.cjs +7 -5
  24. package/build/image/image.cjs.map +2 -2
  25. package/build/image/index.cjs +0 -81
  26. package/build/image/index.cjs.map +3 -3
  27. package/build/image/use-open-image-media-editor-modal.cjs +81 -14
  28. package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
  29. package/build/index.cjs +0 -10
  30. package/build/index.cjs.map +2 -2
  31. package/build/latest-posts/edit.cjs.map +1 -1
  32. package/build/list-item/edit.cjs +14 -11
  33. package/build/list-item/edit.cjs.map +2 -2
  34. package/build/list-item/hooks/index.cjs +6 -9
  35. package/build/list-item/hooks/index.cjs.map +2 -2
  36. package/build/list-item/hooks/use-enter.cjs +62 -67
  37. package/build/list-item/hooks/use-enter.cjs.map +3 -3
  38. package/build/list-item/hooks/use-merge.cjs +26 -44
  39. package/build/list-item/hooks/use-merge.cjs.map +3 -3
  40. package/build/list-item/hooks/use-multi-select-tab.cjs +80 -0
  41. package/build/list-item/hooks/use-multi-select-tab.cjs.map +7 -0
  42. package/build/list-item/hooks/use-tab.cjs +65 -0
  43. package/build/list-item/hooks/use-tab.cjs.map +7 -0
  44. package/build/list-item/index.cjs +0 -17
  45. package/build/list-item/index.cjs.map +3 -3
  46. package/build/list-item/utils.cjs +169 -0
  47. package/build/list-item/utils.cjs.map +7 -0
  48. package/build/math/block.json +3 -0
  49. package/build/media-text/index.cjs +0 -50
  50. package/build/media-text/index.cjs.map +3 -3
  51. package/build/media-text/media-container.cjs +16 -11
  52. package/build/media-text/media-container.cjs.map +2 -2
  53. package/build/more/index.cjs +0 -18
  54. package/build/more/index.cjs.map +3 -3
  55. package/build/navigation/constants.cjs +1 -1
  56. package/build/navigation/constants.cjs.map +1 -1
  57. package/build/navigation-link/block.json +1 -1
  58. package/build/navigation-link/deprecated.cjs +69 -0
  59. package/build/navigation-link/deprecated.cjs.map +7 -0
  60. package/build/navigation-link/index.cjs +6 -74
  61. package/build/navigation-link/index.cjs.map +4 -4
  62. package/build/{form-submit-button/init.cjs → navigation-link/variations.cjs} +23 -8
  63. package/build/navigation-link/variations.cjs.map +7 -0
  64. package/build/navigation-submenu/index.cjs +0 -32
  65. package/build/navigation-submenu/index.cjs.map +3 -3
  66. package/build/paragraph/index.cjs +0 -17
  67. package/build/paragraph/index.cjs.map +3 -3
  68. package/build/paragraph/use-enter.cjs +8 -4
  69. package/build/paragraph/use-enter.cjs.map +2 -2
  70. package/build/post-template/edit.cjs +3 -1
  71. package/build/post-template/edit.cjs.map +2 -2
  72. package/build/preformatted/index.cjs +0 -17
  73. package/build/preformatted/index.cjs.map +3 -3
  74. package/build/pullquote/index.cjs +0 -24
  75. package/build/pullquote/index.cjs.map +3 -3
  76. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs +13 -5
  77. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs.map +2 -2
  78. package/build/query/edit/inspector-controls/index.cjs +9 -4
  79. package/build/query/edit/inspector-controls/index.cjs.map +2 -2
  80. package/build/query/edit/query-content.cjs +30 -9
  81. package/build/query/edit/query-content.cjs.map +3 -3
  82. package/build/query/utils.cjs +11 -4
  83. package/build/query/utils.cjs.map +2 -2
  84. package/build/search/edit.cjs +3 -1
  85. package/build/search/edit.cjs.map +2 -2
  86. package/build/search/index.cjs +0 -31
  87. package/build/search/index.cjs.map +3 -3
  88. package/build/site-tagline/edit.cjs +11 -17
  89. package/build/site-tagline/edit.cjs.map +2 -2
  90. package/build/site-title/edit.cjs +12 -18
  91. package/build/site-title/edit.cjs.map +2 -2
  92. package/build/social-link/index.cjs +0 -31
  93. package/build/social-link/index.cjs.map +3 -3
  94. package/build/verse/index.cjs +0 -17
  95. package/build/verse/index.cjs.map +3 -3
  96. package/build/video/index.cjs +0 -40
  97. package/build/video/index.cjs.map +3 -3
  98. package/build/video/tracks-editor.cjs +2 -3
  99. package/build/video/tracks-editor.cjs.map +3 -3
  100. package/build-module/audio/edit.mjs +5 -5
  101. package/build-module/audio/edit.mjs.map +2 -2
  102. package/build-module/audio/index.mjs +0 -37
  103. package/build-module/audio/index.mjs.map +2 -2
  104. package/build-module/button/index.mjs +0 -34
  105. package/build-module/button/index.mjs.map +2 -2
  106. package/build-module/code/index.mjs +0 -17
  107. package/build-module/code/index.mjs.map +2 -2
  108. package/build-module/comment-template/edit.mjs.map +1 -1
  109. package/build-module/cover/index.mjs +0 -38
  110. package/build-module/cover/index.mjs.map +2 -2
  111. package/build-module/details/index.mjs +0 -17
  112. package/build-module/details/index.mjs.map +2 -2
  113. package/build-module/file/index.mjs +1 -44
  114. package/build-module/file/index.mjs.map +2 -2
  115. package/build-module/footnotes/format.mjs +1 -1
  116. package/build-module/footnotes/format.mjs.map +2 -2
  117. package/build-module/gallery/dynamic-gallery.mjs +23 -13
  118. package/build-module/gallery/dynamic-gallery.mjs.map +2 -2
  119. package/build-module/heading/index.mjs +1 -21
  120. package/build-module/heading/index.mjs.map +2 -2
  121. package/build-module/image/image.mjs +7 -5
  122. package/build-module/image/image.mjs.map +2 -2
  123. package/build-module/image/index.mjs +0 -81
  124. package/build-module/image/index.mjs.map +2 -2
  125. package/build-module/image/use-open-image-media-editor-modal.mjs +84 -14
  126. package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
  127. package/build-module/index.mjs +0 -10
  128. package/build-module/index.mjs.map +2 -2
  129. package/build-module/latest-posts/edit.mjs.map +1 -1
  130. package/build-module/list-item/edit.mjs +20 -18
  131. package/build-module/list-item/edit.mjs.map +2 -2
  132. package/build-module/list-item/hooks/index.mjs +8 -10
  133. package/build-module/list-item/hooks/index.mjs.map +2 -2
  134. package/build-module/list-item/hooks/use-enter.mjs +63 -58
  135. package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
  136. package/build-module/list-item/hooks/use-merge.mjs +27 -35
  137. package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
  138. package/build-module/list-item/hooks/use-multi-select-tab.mjs +59 -0
  139. package/build-module/list-item/hooks/use-multi-select-tab.mjs.map +7 -0
  140. package/build-module/list-item/hooks/use-tab.mjs +44 -0
  141. package/build-module/list-item/hooks/use-tab.mjs.map +7 -0
  142. package/build-module/list-item/index.mjs +0 -17
  143. package/build-module/list-item/index.mjs.map +2 -2
  144. package/build-module/list-item/utils.mjs +140 -0
  145. package/build-module/list-item/utils.mjs.map +7 -0
  146. package/build-module/math/block.json +3 -0
  147. package/build-module/media-text/index.mjs +0 -50
  148. package/build-module/media-text/index.mjs.map +2 -2
  149. package/build-module/media-text/media-container.mjs +17 -12
  150. package/build-module/media-text/media-container.mjs.map +2 -2
  151. package/build-module/more/index.mjs +0 -18
  152. package/build-module/more/index.mjs.map +2 -2
  153. package/build-module/navigation/constants.mjs +1 -1
  154. package/build-module/navigation/constants.mjs.map +1 -1
  155. package/build-module/navigation-link/block.json +1 -1
  156. package/build-module/navigation-link/deprecated.mjs +48 -0
  157. package/build-module/navigation-link/deprecated.mjs.map +7 -0
  158. package/build-module/navigation-link/index.mjs +7 -75
  159. package/build-module/navigation-link/index.mjs.map +3 -3
  160. package/build-module/navigation-link/variations.mjs +22 -0
  161. package/build-module/navigation-link/variations.mjs.map +7 -0
  162. package/build-module/navigation-submenu/index.mjs +1 -33
  163. package/build-module/navigation-submenu/index.mjs.map +2 -2
  164. package/build-module/paragraph/index.mjs +0 -17
  165. package/build-module/paragraph/index.mjs.map +2 -2
  166. package/build-module/paragraph/use-enter.mjs +8 -4
  167. package/build-module/paragraph/use-enter.mjs.map +2 -2
  168. package/build-module/post-template/edit.mjs +3 -1
  169. package/build-module/post-template/edit.mjs.map +2 -2
  170. package/build-module/preformatted/index.mjs +0 -17
  171. package/build-module/preformatted/index.mjs.map +2 -2
  172. package/build-module/pullquote/index.mjs +0 -24
  173. package/build-module/pullquote/index.mjs.map +2 -2
  174. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs +14 -6
  175. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs.map +2 -2
  176. package/build-module/query/edit/inspector-controls/index.mjs +9 -4
  177. package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
  178. package/build-module/query/edit/query-content.mjs +32 -11
  179. package/build-module/query/edit/query-content.mjs.map +2 -2
  180. package/build-module/query/utils.mjs +10 -7
  181. package/build-module/query/utils.mjs.map +2 -2
  182. package/build-module/search/edit.mjs +4 -2
  183. package/build-module/search/edit.mjs.map +2 -2
  184. package/build-module/search/index.mjs +0 -31
  185. package/build-module/search/index.mjs.map +2 -2
  186. package/build-module/site-tagline/edit.mjs +13 -19
  187. package/build-module/site-tagline/edit.mjs.map +2 -2
  188. package/build-module/site-title/edit.mjs +14 -20
  189. package/build-module/site-title/edit.mjs.map +2 -2
  190. package/build-module/social-link/index.mjs +0 -31
  191. package/build-module/social-link/index.mjs.map +2 -2
  192. package/build-module/verse/index.mjs +0 -17
  193. package/build-module/verse/index.mjs.map +2 -2
  194. package/build-module/video/index.mjs +0 -40
  195. package/build-module/video/index.mjs.map +2 -2
  196. package/build-module/video/tracks-editor.mjs +3 -5
  197. package/build-module/video/tracks-editor.mjs.map +2 -2
  198. package/build-style/columns/style-rtl.css +1 -1
  199. package/build-style/columns/style.css +1 -1
  200. package/build-style/comment-template/style-rtl.css +0 -1
  201. package/build-style/comment-template/style.css +0 -1
  202. package/build-style/cover/style-rtl.css +1 -2
  203. package/build-style/cover/style.css +1 -2
  204. package/build-style/editor-rtl.css +20 -81
  205. package/build-style/editor.css +20 -81
  206. package/build-style/gallery/style-rtl.css +2 -4
  207. package/build-style/gallery/style.css +2 -4
  208. package/build-style/group/theme-rtl.css +1 -1
  209. package/build-style/group/theme.css +1 -1
  210. package/build-style/heading/style-rtl.css +1 -1
  211. package/build-style/heading/style.css +1 -1
  212. package/build-style/icon/style-rtl.css +3 -0
  213. package/build-style/icon/style.css +3 -0
  214. package/build-style/image/editor-rtl.css +0 -1
  215. package/build-style/image/editor.css +0 -1
  216. package/build-style/list/style-rtl.css +1 -1
  217. package/build-style/list/style.css +1 -1
  218. package/build-style/media-text/style-rtl.css +2 -3
  219. package/build-style/media-text/style.css +2 -3
  220. package/build-style/navigation/editor-rtl.css +8 -0
  221. package/build-style/navigation/editor.css +8 -0
  222. package/build-style/paragraph/style-rtl.css +1 -1
  223. package/build-style/paragraph/style.css +1 -1
  224. package/build-style/playlist/style-rtl.css +1 -2
  225. package/build-style/playlist/style.css +1 -2
  226. package/build-style/playlist-track/style-rtl.css +1 -2
  227. package/build-style/playlist-track/style.css +1 -2
  228. package/build-style/preformatted/style-rtl.css +1 -1
  229. package/build-style/preformatted/style.css +1 -1
  230. package/build-style/query/editor-rtl.css +5 -15
  231. package/build-style/query/editor.css +5 -15
  232. package/build-style/read-more/style-rtl.css +0 -1
  233. package/build-style/read-more/style.css +0 -1
  234. package/build-style/reset-rtl.css +1 -3
  235. package/build-style/reset.css +1 -3
  236. package/build-style/search/style-rtl.css +1 -3
  237. package/build-style/search/style.css +1 -3
  238. package/build-style/site-logo/editor-rtl.css +1 -2
  239. package/build-style/site-logo/editor.css +1 -2
  240. package/build-style/style-rtl.css +18 -77
  241. package/build-style/style.css +18 -77
  242. package/build-style/tab-list/style-rtl.css +1 -3
  243. package/build-style/tab-list/style.css +1 -3
  244. package/build-style/template-part/editor-rtl.css +4 -8
  245. package/build-style/template-part/editor.css +4 -8
  246. package/build-style/template-part/theme-rtl.css +1 -1
  247. package/build-style/template-part/theme.css +1 -1
  248. package/build-style/theme-rtl.css +2 -2
  249. package/build-style/theme.css +2 -2
  250. package/build-style/video/style-rtl.css +1 -2
  251. package/build-style/video/style.css +1 -2
  252. package/build-types/navigation-link/deprecated.d.ts +48 -0
  253. package/build-types/navigation-link/deprecated.d.ts.map +1 -0
  254. package/package.json +43 -43
  255. package/src/accordion/index.php +2 -2
  256. package/src/accordion-item/index.php +1 -1
  257. package/src/audio/edit.jsx +6 -7
  258. package/src/audio/index.js +0 -37
  259. package/src/breadcrumbs/index.php +4 -4
  260. package/src/button/index.js +0 -34
  261. package/src/button/style.scss +16 -15
  262. package/src/button/test/{get-experimental-label.js → get-experimental-label.jsdom.test.js} +1 -0
  263. package/src/button/test/get-updated-link-attributes.js +1 -0
  264. package/src/button/test/utils.js +1 -0
  265. package/src/categories/index.php +4 -0
  266. package/src/code/index.js +0 -18
  267. package/src/code/test/utils.js +1 -0
  268. package/src/columns/style.scss +2 -1
  269. package/src/columns/test/{transforms.js → transforms.jsdom.test.js} +1 -0
  270. package/src/columns/test/utils.js +1 -0
  271. package/src/comment-template/edit.jsx +1 -1
  272. package/src/comment-template/index.php +2 -2
  273. package/src/comment-template/test/index.js +1 -0
  274. package/src/common.scss +51 -50
  275. package/src/cover/README.md +37 -0
  276. package/src/cover/index.js +0 -39
  277. package/src/cover/style.scss +3 -3
  278. package/src/cover/test/{edit.js → edit.jsdom.test.js} +18 -17
  279. package/src/cover/test/{transforms.js → transforms.jsdom.test.js} +1 -0
  280. package/src/details/index.js +0 -18
  281. package/src/editor.scss +0 -2
  282. package/src/embed/editor.scss +1 -0
  283. package/src/embed/test/{index.js → index.jsdom.test.js} +5 -1
  284. package/src/file/index.js +1 -43
  285. package/src/footnotes/format.jsx +5 -1
  286. package/src/gallery/dynamic-gallery.jsx +31 -4
  287. package/src/gallery/test/dynamic-source.js +1 -0
  288. package/src/gallery/test/{edit.js → edit.jsdom.test.js} +4 -0
  289. package/src/gallery/test/responsive-styles.js +1 -0
  290. package/src/gallery/test/shared.js +1 -0
  291. package/src/gallery/test/{transforms.js → transforms.jsdom.test.js} +1 -0
  292. package/src/gallery/test/{use-get-new-images.jsx → use-get-new-images.jsdom.test.jsx} +1 -0
  293. package/src/gallery/test/variations.js +1 -0
  294. package/src/group/test/{placeholder.jsx → placeholder.jsdom.test.jsx} +1 -0
  295. package/src/group/theme.scss +1 -1
  296. package/src/heading/index.js +1 -22
  297. package/src/heading/index.php +1 -1
  298. package/src/heading/style.scss +1 -1
  299. package/src/heading/test/shared.js +1 -0
  300. package/src/home-link/index.php +2 -2
  301. package/src/html/test/{index.js → index.jsdom.test.js} +9 -0
  302. package/src/html/test/{utils.js → utils.jsdom.test.js} +1 -0
  303. package/src/icon/index.php +18 -6
  304. package/src/icon/style.scss +7 -0
  305. package/src/image/image.jsx +18 -11
  306. package/src/image/index.js +0 -80
  307. package/src/image/test/{transforms.js → transforms.jsdom.test.js} +1 -0
  308. package/src/image/test/{use-open-image-media-editor-modal.js → use-open-image-media-editor-modal.jsdom.test.js} +343 -28
  309. package/src/image/use-open-image-media-editor-modal.js +184 -21
  310. package/src/index.jsx +0 -11
  311. package/src/latest-posts/edit.jsx +1 -1
  312. package/src/latest-posts/test/{deprecated.js → deprecated.jsdom.test.js} +1 -0
  313. package/src/list/index.php +1 -1
  314. package/src/list/style.scss +1 -1
  315. package/src/list-item/edit.jsx +20 -20
  316. package/src/list-item/hooks/index.js +2 -3
  317. package/src/list-item/hooks/use-enter.js +82 -70
  318. package/src/list-item/hooks/use-merge.js +28 -36
  319. package/src/list-item/hooks/use-multi-select-tab.js +83 -0
  320. package/src/list-item/hooks/use-tab.js +62 -0
  321. package/src/list-item/index.js +0 -18
  322. package/src/list-item/utils.js +236 -0
  323. package/src/math/README.md +2 -0
  324. package/src/math/block.json +3 -0
  325. package/src/media-text/index.js +0 -50
  326. package/src/media-text/media-container.jsx +22 -12
  327. package/src/media-text/style.scss +2 -1
  328. package/src/media-text/test/image-fill.js +1 -0
  329. package/src/more/index.js +0 -19
  330. package/src/navigation/constants.js +1 -1
  331. package/src/navigation/edit/test/are-blocks-dirty.js +1 -0
  332. package/src/navigation/edit/test/{layout-custom-properties.js → layout-custom-properties.jsdom.test.js} +8 -7
  333. package/src/navigation/edit/test/{navigation-menu-selector.jsx → navigation-menu-selector.jsdom.test.jsx} +23 -14
  334. package/src/navigation/edit/test/{overlay-template-part-selector.jsx → overlay-template-part-selector.jsdom.test.jsx} +22 -20
  335. package/src/navigation/edit/test/{responsive-wrapper.jsx → responsive-wrapper.jsdom.test.jsx} +14 -13
  336. package/src/navigation/edit/test/{use-create-overlay.js → use-create-overlay.jsdom.test.js} +19 -24
  337. package/src/navigation/edit/test/utils.js +1 -0
  338. package/src/navigation/editor.scss +13 -0
  339. package/src/navigation/index.php +14 -14
  340. package/src/navigation/test/{menu-items-to-blocks.js → menu-items-to-blocks.jsdom.test.js} +3 -2
  341. package/src/navigation/test/{use-navigation-menu.js → use-navigation-menu.jsdom.test.js} +7 -4
  342. package/src/navigation/test/{view.js → view.jsdom.test.js} +4 -2
  343. package/src/navigation-link/block.json +1 -1
  344. package/src/navigation-link/deprecated.tsx +58 -0
  345. package/src/navigation-link/{index.jsx → index.js} +5 -77
  346. package/src/navigation-link/index.php +5 -5
  347. package/src/navigation-link/shared/test/{controls.jsx → controls.jsdom.test.jsx} +18 -18
  348. package/src/navigation-link/shared/test/update-attributes.test.js +52 -51
  349. package/src/navigation-link/shared/test/{use-enable-link-status-validation.test.js → use-enable-link-status-validation.jsdom.test.js} +8 -6
  350. package/src/navigation-link/shared/test/{use-entity-binding.js → use-entity-binding.jsdom.test.js} +12 -11
  351. package/src/navigation-link/shared/test/{use-handle-link-change.test.js → use-handle-link-change.jsdom.test.js} +23 -20
  352. package/src/navigation-link/shared/test/{use-link-preview.test.js → use-link-preview.jsdom.test.js} +17 -14
  353. package/src/navigation-link/test/__snapshots__/{hooks.js.snap → hooks.jsdom.test.js.snap} +23 -6
  354. package/src/navigation-link/test/block-labelling.js +1 -0
  355. package/src/navigation-link/test/{hooks.js → hooks.jsdom.test.js} +1 -0
  356. package/src/navigation-link/variations.js +19 -0
  357. package/src/navigation-submenu/index.js +1 -33
  358. package/src/page-list/index.php +10 -10
  359. package/src/page-list/test/{convert-to-navigation-links.js → convert-to-navigation-links.jsdom.test.js} +3 -2
  360. package/src/paragraph/index.js +0 -18
  361. package/src/paragraph/style.scss +1 -1
  362. package/src/paragraph/use-enter.js +13 -6
  363. package/src/pattern/test/index.js +1 -0
  364. package/src/playlist/test/{edit-component.jsx → edit-component.jsdom.test.jsx} +31 -30
  365. package/src/playlist/test/{edit.js → edit.jsdom.test.js} +1 -0
  366. package/src/playlist/test/{transforms.js → transforms.jsdom.test.js} +1 -0
  367. package/src/playlist-track/test/{edit.jsx → edit.jsdom.test.jsx} +20 -19
  368. package/src/post-author/index.php +3 -3
  369. package/src/post-author-biography/index.php +3 -3
  370. package/src/post-author-name/index.php +3 -3
  371. package/src/post-comments-link/index.php +4 -4
  372. package/src/post-date/test/{edit.js → edit.jsdom.test.js} +1 -0
  373. package/src/post-template/edit.jsx +3 -1
  374. package/src/post-time-to-read/index.php +3 -3
  375. package/src/post-title/style.scss +1 -0
  376. package/src/preformatted/index.js +0 -18
  377. package/src/preformatted/style.scss +1 -1
  378. package/src/pullquote/index.js +0 -24
  379. package/src/query/edit/inspector-controls/enhanced-pagination-control.jsx +13 -6
  380. package/src/query/edit/inspector-controls/index.jsx +9 -4
  381. package/src/query/edit/query-content.jsx +31 -8
  382. package/src/query/editor.scss +1 -7
  383. package/src/query/index.php +2 -2
  384. package/src/query/test/{utils.js → utils.jsdom.test.js} +1 -0
  385. package/src/query/utils.js +15 -11
  386. package/src/quote/test/{migrate.js → migrate.jsdom.test.js} +1 -0
  387. package/src/read-more/index.php +1 -1
  388. package/src/search/edit.jsx +12 -2
  389. package/src/search/index.js +0 -30
  390. package/src/search/index.php +1 -1
  391. package/src/separator/test/{edit.jsx → edit.jsdom.test.jsx} +5 -4
  392. package/src/site-logo/index.php +1 -1
  393. package/src/site-tagline/edit.jsx +18 -27
  394. package/src/site-title/edit.jsx +20 -27
  395. package/src/social-link/index.js +0 -32
  396. package/src/social-link/index.php +0 -1
  397. package/src/style.scss +0 -1
  398. package/src/table/editor.scss +1 -0
  399. package/src/table/style.scss +2 -0
  400. package/src/table/test/state.js +1 -0
  401. package/src/table/test/utils.js +1 -0
  402. package/src/table-of-contents/index.php +3 -3
  403. package/src/template-part/theme.scss +1 -1
  404. package/src/utils/test/search-patterns.js +1 -0
  405. package/src/utils/test/{style-state.js → style-state.jsdom.test.js} +1 -0
  406. package/src/utils/test/{waveform-player-dependency.js → waveform-player-dependency.jsdom.test.js} +15 -21
  407. package/src/verse/index.js +0 -18
  408. package/src/verse/style.scss +1 -0
  409. package/src/video/index.js +0 -40
  410. package/src/video/test/variations.js +1 -0
  411. package/src/video/tracks-editor.jsx +4 -5
  412. package/build/form/block.json +0 -65
  413. package/build/form/deprecated.cjs +0 -111
  414. package/build/form/deprecated.cjs.map +0 -7
  415. package/build/form/edit.cjs +0 -180
  416. package/build/form/edit.cjs.map +0 -7
  417. package/build/form/icons.cjs +0 -33
  418. package/build/form/icons.cjs.map +0 -7
  419. package/build/form/index.cjs +0 -118
  420. package/build/form/index.cjs.map +0 -7
  421. package/build/form/init.cjs +0 -28
  422. package/build/form/init.cjs.map +0 -7
  423. package/build/form/save.cjs +0 -40
  424. package/build/form/save.cjs.map +0 -7
  425. package/build/form/utils.cjs +0 -61
  426. package/build/form/utils.cjs.map +0 -7
  427. package/build/form/variations.cjs +0 -152
  428. package/build/form/variations.cjs.map +0 -7
  429. package/build/form/view.cjs +0 -48
  430. package/build/form/view.cjs.map +0 -7
  431. package/build/form-input/block.json +0 -72
  432. package/build/form-input/deprecated.cjs +0 -252
  433. package/build/form-input/deprecated.cjs.map +0 -7
  434. package/build/form-input/edit.cjs +0 -206
  435. package/build/form-input/edit.cjs.map +0 -7
  436. package/build/form-input/icons.cjs +0 -33
  437. package/build/form-input/icons.cjs.map +0 -7
  438. package/build/form-input/index.cjs +0 -63
  439. package/build/form-input/index.cjs.map +0 -7
  440. package/build/form-input/init.cjs +0 -28
  441. package/build/form-input/init.cjs.map +0 -7
  442. package/build/form-input/save.cjs +0 -88
  443. package/build/form-input/save.cjs.map +0 -7
  444. package/build/form-input/variations.cjs +0 -105
  445. package/build/form-input/variations.cjs.map +0 -7
  446. package/build/form-submission-notification/block.json +0 -19
  447. package/build/form-submission-notification/edit.cjs +0 -71
  448. package/build/form-submission-notification/edit.cjs.map +0 -7
  449. package/build/form-submission-notification/index.cjs +0 -73
  450. package/build/form-submission-notification/index.cjs.map +0 -7
  451. package/build/form-submission-notification/init.cjs +0 -28
  452. package/build/form-submission-notification/init.cjs.map +0 -7
  453. package/build/form-submission-notification/save.cjs +0 -54
  454. package/build/form-submission-notification/save.cjs.map +0 -7
  455. package/build/form-submission-notification/variations.cjs +0 -78
  456. package/build/form-submission-notification/variations.cjs.map +0 -7
  457. package/build/form-submit-button/block.json +0 -15
  458. package/build/form-submit-button/edit.cjs +0 -36
  459. package/build/form-submit-button/edit.cjs.map +0 -7
  460. package/build/form-submit-button/index.cjs +0 -75
  461. package/build/form-submit-button/index.cjs.map +0 -7
  462. package/build/form-submit-button/init.cjs.map +0 -7
  463. package/build/form-submit-button/save.cjs +0 -32
  464. package/build/form-submit-button/save.cjs.map +0 -7
  465. package/build/list-item/hooks/use-indent-list-item.cjs +0 -79
  466. package/build/list-item/hooks/use-indent-list-item.cjs.map +0 -7
  467. package/build/list-item/hooks/use-outdent-list-item.cjs +0 -106
  468. package/build/list-item/hooks/use-outdent-list-item.cjs.map +0 -7
  469. package/build/list-item/hooks/use-space.cjs +0 -83
  470. package/build/list-item/hooks/use-space.cjs.map +0 -7
  471. package/build/query/edit/enhanced-pagination-modal.cjs +0 -89
  472. package/build/query/edit/enhanced-pagination-modal.cjs.map +0 -7
  473. package/build-module/form/block.json +0 -65
  474. package/build-module/form/deprecated.mjs +0 -96
  475. package/build-module/form/deprecated.mjs.map +0 -7
  476. package/build-module/form/edit.mjs +0 -170
  477. package/build-module/form/edit.mjs.map +0 -7
  478. package/build-module/form/icons.mjs +0 -8
  479. package/build-module/form/icons.mjs.map +0 -7
  480. package/build-module/form/index.mjs +0 -83
  481. package/build-module/form/index.mjs.map +0 -7
  482. package/build-module/form/init.mjs +0 -7
  483. package/build-module/form/init.mjs.map +0 -7
  484. package/build-module/form/save.mjs +0 -19
  485. package/build-module/form/save.mjs.map +0 -7
  486. package/build-module/form/utils.mjs +0 -35
  487. package/build-module/form/utils.mjs.map +0 -7
  488. package/build-module/form/variations.mjs +0 -134
  489. package/build-module/form/variations.mjs.map +0 -7
  490. package/build-module/form/view.mjs +0 -46
  491. package/build-module/form/view.mjs.map +0 -7
  492. package/build-module/form-input/block.json +0 -72
  493. package/build-module/form-input/deprecated.mjs +0 -226
  494. package/build-module/form-input/deprecated.mjs.map +0 -7
  495. package/build-module/form-input/edit.mjs +0 -186
  496. package/build-module/form-input/edit.mjs.map +0 -7
  497. package/build-module/form-input/icons.mjs +0 -8
  498. package/build-module/form-input/icons.mjs.map +0 -7
  499. package/build-module/form-input/index.mjs +0 -25
  500. package/build-module/form-input/index.mjs.map +0 -7
  501. package/build-module/form-input/init.mjs +0 -7
  502. package/build-module/form-input/init.mjs.map +0 -7
  503. package/build-module/form-input/save.mjs +0 -62
  504. package/build-module/form-input/save.mjs.map +0 -7
  505. package/build-module/form-input/variations.mjs +0 -84
  506. package/build-module/form-input/variations.mjs.map +0 -7
  507. package/build-module/form-submission-notification/block.json +0 -19
  508. package/build-module/form-submission-notification/edit.mjs +0 -45
  509. package/build-module/form-submission-notification/edit.mjs.map +0 -7
  510. package/build-module/form-submission-notification/index.mjs +0 -35
  511. package/build-module/form-submission-notification/index.mjs.map +0 -7
  512. package/build-module/form-submission-notification/init.mjs +0 -7
  513. package/build-module/form-submission-notification/init.mjs.map +0 -7
  514. package/build-module/form-submission-notification/save.mjs +0 -23
  515. package/build-module/form-submission-notification/save.mjs.map +0 -7
  516. package/build-module/form-submission-notification/variations.mjs +0 -57
  517. package/build-module/form-submission-notification/variations.mjs.map +0 -7
  518. package/build-module/form-submit-button/block.json +0 -15
  519. package/build-module/form-submit-button/edit.mjs +0 -15
  520. package/build-module/form-submit-button/edit.mjs.map +0 -7
  521. package/build-module/form-submit-button/index.mjs +0 -37
  522. package/build-module/form-submit-button/index.mjs.map +0 -7
  523. package/build-module/form-submit-button/init.mjs +0 -7
  524. package/build-module/form-submit-button/init.mjs.map +0 -7
  525. package/build-module/form-submit-button/save.mjs +0 -11
  526. package/build-module/form-submit-button/save.mjs.map +0 -7
  527. package/build-module/list-item/hooks/use-indent-list-item.mjs +0 -58
  528. package/build-module/list-item/hooks/use-indent-list-item.mjs.map +0 -7
  529. package/build-module/list-item/hooks/use-outdent-list-item.mjs +0 -85
  530. package/build-module/list-item/hooks/use-outdent-list-item.mjs.map +0 -7
  531. package/build-module/list-item/hooks/use-space.mjs +0 -52
  532. package/build-module/list-item/hooks/use-space.mjs.map +0 -7
  533. package/build-module/query/edit/enhanced-pagination-modal.mjs +0 -72
  534. package/build-module/query/edit/enhanced-pagination-modal.mjs.map +0 -7
  535. package/build-style/form-input/editor-rtl.css +0 -19
  536. package/build-style/form-input/editor.css +0 -19
  537. package/build-style/form-input/style-rtl.css +0 -48
  538. package/build-style/form-input/style.css +0 -48
  539. package/build-style/form-submission-notification/editor-rtl.css +0 -30
  540. package/build-style/form-submission-notification/editor.css +0 -30
  541. package/build-style/form-submit-button/style-rtl.css +0 -3
  542. package/build-style/form-submit-button/style.css +0 -3
  543. package/src/form/README.md +0 -90
  544. package/src/form/block.json +0 -65
  545. package/src/form/deprecated.jsx +0 -93
  546. package/src/form/edit.jsx +0 -169
  547. package/src/form/icons.jsx +0 -7
  548. package/src/form/index.js +0 -91
  549. package/src/form/index.php +0 -197
  550. package/src/form/init.js +0 -3
  551. package/src/form/save.jsx +0 -15
  552. package/src/form/utils.js +0 -36
  553. package/src/form/variations.js +0 -133
  554. package/src/form/view.js +0 -54
  555. package/src/form-input/README.md +0 -74
  556. package/src/form-input/block.json +0 -72
  557. package/src/form-input/deprecated.jsx +0 -248
  558. package/src/form-input/edit.jsx +0 -187
  559. package/src/form-input/editor.scss +0 -24
  560. package/src/form-input/icons.jsx +0 -7
  561. package/src/form-input/index.js +0 -22
  562. package/src/form-input/index.php +0 -47
  563. package/src/form-input/init.js +0 -3
  564. package/src/form-input/save.jsx +0 -89
  565. package/src/form-input/style.scss +0 -64
  566. package/src/form-input/variations.js +0 -82
  567. package/src/form-submission-notification/README.md +0 -50
  568. package/src/form-submission-notification/block.json +0 -19
  569. package/src/form-submission-notification/edit.jsx +0 -44
  570. package/src/form-submission-notification/editor.scss +0 -45
  571. package/src/form-submission-notification/index.js +0 -33
  572. package/src/form-submission-notification/index.php +0 -48
  573. package/src/form-submission-notification/init.js +0 -3
  574. package/src/form-submission-notification/save.jsx +0 -18
  575. package/src/form-submission-notification/variations.js +0 -56
  576. package/src/form-submit-button/README.md +0 -54
  577. package/src/form-submit-button/block.json +0 -15
  578. package/src/form-submit-button/edit.jsx +0 -12
  579. package/src/form-submit-button/index.js +0 -35
  580. package/src/form-submit-button/init.js +0 -3
  581. package/src/form-submit-button/save.jsx +0 -10
  582. package/src/form-submit-button/style.scss +0 -3
  583. package/src/list-item/hooks/use-indent-list-item.js +0 -73
  584. package/src/list-item/hooks/use-outdent-list-item.js +0 -100
  585. package/src/list-item/hooks/use-space.js +0 -66
  586. package/src/query/edit/enhanced-pagination-modal.jsx +0 -77
  587. /package/src/utils/test/{waveform-player.jsx → waveform-player.jsdom.test.jsx} +0 -0
  588. /package/src/utils/test/{waveform-utils.js → waveform-utils.jsdom.test.js} +0 -0
@@ -1,33 +0,0 @@
1
- import { group as icon } from '@wordpress/icons';
2
- import { __ } from '@wordpress/i18n';
3
- import initBlock from '../utils/init-block';
4
- import edit from './edit';
5
- import metadata from './block.json';
6
- import save from './save';
7
- import variations from './variations';
8
-
9
- const { name } = metadata;
10
-
11
- export { metadata, name };
12
-
13
- const TEMPLATE = [
14
- [
15
- 'core/paragraph',
16
- {
17
- content: __(
18
- "Enter the message you wish displayed for form submission error/success, and select the type of the message (success/error) from the block's options."
19
- ),
20
- },
21
- ],
22
- ];
23
-
24
- export const settings = {
25
- icon,
26
- template: TEMPLATE,
27
- edit,
28
- save,
29
- variations,
30
- example: {},
31
- };
32
-
33
- export const init = () => initBlock( { name, metadata, settings } );
@@ -1,48 +0,0 @@
1
- <?php
2
- /**
3
- * Server-side rendering of the `core/form-submission-notification` block.
4
- *
5
- * @package WordPress
6
- */
7
-
8
- /**
9
- * Renders the `core/form-submission-notification` block on server.
10
- *
11
- * @param array $attributes The block attributes.
12
- * @param string $content The saved content.
13
- *
14
- * @return string The content of the block being rendered.
15
- */
16
- function render_block_core_form_submission_notification( $attributes, $content ) {
17
- $show = isset( $_GET['wp-form-result'] ) && sanitize_text_field( wp_unslash( $_GET['wp-form-result'] ) ) === $attributes['type'];
18
- /**
19
- * Filters whether to show the form submission notification block.
20
- *
21
- * @param bool $show Whether to show the form submission notification block.
22
- * @param array $attributes The block attributes.
23
- * @param string $content The saved content.
24
- *
25
- * @return bool Whether to show the form submission notification block.
26
- */
27
- $show = apply_filters( 'show_form_submission_notification_block', $show, $attributes, $content );
28
- if ( ! $show ) {
29
- return '';
30
- }
31
- return $content;
32
- }
33
-
34
- /**
35
- * Registers the `core/form-submission-notification` block on server.
36
- */
37
- function register_block_core_form_submission_notification() {
38
- if ( ! gutenberg_is_experiment_enabled( 'gutenberg-form-blocks' ) ) {
39
- return;
40
- }
41
- register_block_type_from_metadata(
42
- __DIR__ . '/form-submission-notification',
43
- array(
44
- 'render_callback' => 'render_block_core_form_submission_notification',
45
- )
46
- );
47
- }
48
- add_action( 'init', 'register_block_core_form_submission_notification' );
@@ -1,3 +0,0 @@
1
- import { init } from '.';
2
-
3
- export default init();
@@ -1,18 +0,0 @@
1
- import { useInnerBlocksProps, useBlockProps } from '@wordpress/block-editor';
2
- import clsx from 'clsx';
3
-
4
- export default function save( { attributes } ) {
5
- const { type } = attributes;
6
-
7
- return (
8
- <div
9
- { ...useInnerBlocksProps.save(
10
- useBlockProps.save( {
11
- className: clsx( 'wp-block-form-submission-notification', {
12
- [ `form-notification-type-${ type }` ]: type,
13
- } ),
14
- } )
15
- ) }
16
- />
17
- );
18
- }
@@ -1,56 +0,0 @@
1
- import { __ } from '@wordpress/i18n';
2
-
3
- const variations = [
4
- {
5
- name: 'form-submission-success',
6
- title: __( 'Form Submission Success' ),
7
- description: __( 'Success message for form submissions.' ),
8
- attributes: {
9
- type: 'success',
10
- },
11
- isDefault: true,
12
- innerBlocks: [
13
- [
14
- 'core/paragraph',
15
- {
16
- content: __( 'Your form has been submitted successfully.' ),
17
- backgroundColor: '#00D084',
18
- textColor: '#000000',
19
- style: {
20
- elements: { link: { color: { text: '#000000' } } },
21
- },
22
- },
23
- ],
24
- ],
25
- scope: [ 'inserter', 'transform' ],
26
- isActive: ( blockAttributes ) =>
27
- ! blockAttributes?.type || blockAttributes?.type === 'success',
28
- },
29
- {
30
- name: 'form-submission-error',
31
- title: __( 'Form Submission Error' ),
32
- description: __( 'Error/failure message for form submissions.' ),
33
- attributes: {
34
- type: 'error',
35
- },
36
- isDefault: false,
37
- innerBlocks: [
38
- [
39
- 'core/paragraph',
40
- {
41
- content: __( 'There was an error submitting your form.' ),
42
- backgroundColor: '#CF2E2E',
43
- textColor: '#FFFFFF',
44
- style: {
45
- elements: { link: { color: { text: '#FFFFFF' } } },
46
- },
47
- },
48
- ],
49
- ],
50
- scope: [ 'inserter', 'transform' ],
51
- isActive: ( blockAttributes ) =>
52
- ! blockAttributes?.type || blockAttributes?.type === 'error',
53
- },
54
- ];
55
-
56
- export default variations;
@@ -1,54 +0,0 @@
1
- # Form Submit Button
2
-
3
- <!-- START TOKEN(Autogenerated block API docs) -->
4
- <div class="callout callout-warning">This block is <strong>experimental</strong> and may change or be removed without notice.</div>
5
-
6
- A submission button for forms.
7
-
8
- - **Name:** `core/form-submit-button`
9
- - **Category:** [widgets](https://developer.wordpress.org/block-editor/reference-guides/core-blocks/core-blocks-widgets/)
10
- - **API Version:** [3](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-api-versions/)
11
- - **Block Type:** [Static](https://developer.wordpress.org/block-editor/getting-started/fundamentals/static-dynamic-rendering/) (saved in post content)
12
- - **Keywords:** `submit`, `button`, `form`
13
-
14
- ## Block Relationships
15
-
16
- **[Ancestor](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#ancestor) blocks:**
17
- - [`core/form`](https://developer.wordpress.org/block-editor/reference-guides/core-blocks/core-blocks-widgets/core-block-form/)
18
-
19
- **[Allowed](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#allowed-blocks) inner blocks:**
20
- - [`core/buttons`](https://developer.wordpress.org/block-editor/reference-guides/core-blocks/core-blocks-design/core-block-buttons/)
21
- - [`core/button`](https://developer.wordpress.org/block-editor/reference-guides/core-blocks/core-blocks-design/core-block-button/)
22
-
23
- ## Attributes
24
-
25
- _Defined via the [`attributes`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/) property in block.json._
26
-
27
- _This block has no custom attributes._
28
-
29
- ## Supports
30
-
31
- _Defined via the [`supports`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/) property in block.json._
32
-
33
- _This block does not declare explicit supports._
34
-
35
- ## Block Markup
36
-
37
- This is a [**static block**](https://developer.wordpress.org/block-editor/getting-started/fundamentals/static-dynamic-rendering/). The markup is saved directly in the post content.
38
-
39
- ```html
40
- <!-- wp:form-submit-button -->
41
- <div class="wp-block-form-submit-button"><!-- wp:buttons -->
42
- <div class="wp-block-buttons"><!-- wp:button {"tagName":"button","type":"submit"} -->
43
- <div class="wp-block-button"><button type="submit" class="wp-block-button__link wp-element-button">Submit</button></div>
44
- <!-- /wp:button --></div>
45
- <!-- /wp:buttons --></div>
46
- <!-- /wp:form-submit-button -->
47
- ```
48
-
49
- ## Source
50
-
51
- - [block.json](https://github.com/WordPress/gutenberg/tree/trunk/packages/block-library/src/form-submit-button/block.json) ([reference](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/))
52
- - [Source directory](https://github.com/WordPress/gutenberg/tree/trunk/packages/block-library/src/form-submit-button/) — browse the `edit` and `save` source files, `index.php`, and more.
53
-
54
- <!-- END TOKEN(Autogenerated block API docs) -->
@@ -1,15 +0,0 @@
1
- {
2
- "$schema": "https://schemas.wp.org/trunk/block.json",
3
- "apiVersion": 3,
4
- "__experimental": true,
5
- "name": "core/form-submit-button",
6
- "title": "Form Submit Button",
7
- "category": "widgets",
8
- "icon": "button",
9
- "ancestor": [ "core/form" ],
10
- "allowedBlocks": [ "core/buttons", "core/button" ],
11
- "description": "A submission button for forms.",
12
- "keywords": [ "submit", "button", "form" ],
13
- "textdomain": "default",
14
- "style": [ "wp-block-form-submit-button" ]
15
- }
@@ -1,12 +0,0 @@
1
- import { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';
2
-
3
- const Edit = () => {
4
- const blockProps = useBlockProps();
5
- const innerBlocksProps = useInnerBlocksProps( blockProps, {
6
- templateLock: 'all',
7
- } );
8
- return (
9
- <div className="wp-block-form-submit-wrapper" { ...innerBlocksProps } />
10
- );
11
- };
12
- export default Edit;
@@ -1,35 +0,0 @@
1
- import { __ } from '@wordpress/i18n';
2
- import initBlock from '../utils/init-block';
3
- import edit from './edit';
4
- import metadata from './block.json';
5
- import save from './save';
6
-
7
- const { name } = metadata;
8
-
9
- export { metadata, name };
10
-
11
- const TEMPLATE = [
12
- [
13
- 'core/buttons',
14
- {},
15
- [
16
- [
17
- 'core/button',
18
- {
19
- text: __( 'Submit' ),
20
- tagName: 'button',
21
- type: 'submit',
22
- },
23
- ],
24
- ],
25
- ],
26
- ];
27
-
28
- export const settings = {
29
- template: TEMPLATE,
30
- edit,
31
- save,
32
- example: {},
33
- };
34
-
35
- export const init = () => initBlock( { name, metadata, settings } );
@@ -1,3 +0,0 @@
1
- import { init } from './';
2
-
3
- export default init();
@@ -1,10 +0,0 @@
1
- import { useBlockProps, InnerBlocks } from '@wordpress/block-editor';
2
-
3
- export default function save() {
4
- const blockProps = useBlockProps.save();
5
- return (
6
- <div className="wp-block-form-submit-wrapper" { ...blockProps }>
7
- <InnerBlocks.Content />
8
- </div>
9
- );
10
- }
@@ -1,3 +0,0 @@
1
- .wp-block-form-submit-wrapper {
2
- margin-bottom: 0.5em;
3
- }
@@ -1,73 +0,0 @@
1
- import { useCallback } from '@wordpress/element';
2
- import { useSelect, useDispatch } from '@wordpress/data';
3
- import { store as blockEditorStore } from '@wordpress/block-editor';
4
- import { createBlock, cloneBlock } from '@wordpress/blocks';
5
-
6
- export default function useIndentListItem( clientId ) {
7
- const { replaceBlocks, selectionChange, multiSelect } =
8
- useDispatch( blockEditorStore );
9
- const {
10
- getBlock,
11
- getPreviousBlockClientId,
12
- getSelectionStart,
13
- getSelectionEnd,
14
- hasMultiSelection,
15
- getMultiSelectedBlockClientIds,
16
- getBlockRootClientId,
17
- getBlockAttributes,
18
- } = useSelect( blockEditorStore );
19
- return useCallback( () => {
20
- const _hasMultiSelection = hasMultiSelection();
21
- const clientIds = _hasMultiSelection
22
- ? getMultiSelectedBlockClientIds()
23
- : [ clientId ];
24
- const clonedBlocks = clientIds.map( ( _clientId ) =>
25
- cloneBlock( getBlock( _clientId ) )
26
- );
27
- const previousSiblingId = getPreviousBlockClientId( clientId );
28
- const newListItem = cloneBlock( getBlock( previousSiblingId ) );
29
- // Get the parent list's attributes to inherit the ordered property
30
- const parentListId = getBlockRootClientId( clientId );
31
- const parentListAttributes = getBlockAttributes( parentListId );
32
- // If the sibling has no innerBlocks, create a new `list` block.
33
- if ( ! newListItem.innerBlocks?.length ) {
34
- newListItem.innerBlocks = [
35
- createBlock( 'core/list', {
36
- ordered: parentListAttributes.ordered,
37
- } ),
38
- ];
39
- }
40
- // A list item usually has one `list`, but it's possible to have
41
- // more. So we need to preserve the previous `list` blocks and
42
- // merge the new blocks to the last `list`.
43
- newListItem.innerBlocks[
44
- newListItem.innerBlocks.length - 1
45
- ].innerBlocks.push( ...clonedBlocks );
46
-
47
- // We get the selection start/end here, because when
48
- // we replace blocks, the selection is updated too.
49
- const selectionStart = getSelectionStart();
50
- const selectionEnd = getSelectionEnd();
51
- // Replace the previous sibling of the block being indented and the indented blocks,
52
- // with a new block whose attributes are equal to the ones of the previous sibling and
53
- // whose descendants are the children of the previous sibling, followed by the indented blocks.
54
- replaceBlocks( [ previousSiblingId, ...clientIds ], [ newListItem ] );
55
- if ( ! _hasMultiSelection ) {
56
- selectionChange(
57
- clonedBlocks[ 0 ].clientId,
58
- selectionEnd.attributeKey,
59
- selectionEnd.clientId === selectionStart.clientId
60
- ? selectionStart.offset
61
- : selectionEnd.offset,
62
- selectionEnd.offset
63
- );
64
- } else {
65
- multiSelect(
66
- clonedBlocks[ 0 ].clientId,
67
- clonedBlocks[ clonedBlocks.length - 1 ].clientId
68
- );
69
- }
70
-
71
- return true;
72
- }, [ clientId ] );
73
- }
@@ -1,100 +0,0 @@
1
- import { useCallback } from '@wordpress/element';
2
- import { useSelect, useDispatch, useRegistry } from '@wordpress/data';
3
- import { store as blockEditorStore } from '@wordpress/block-editor';
4
- import { cloneBlock } from '@wordpress/blocks';
5
-
6
- export default function useOutdentListItem() {
7
- const registry = useRegistry();
8
- const { moveBlocksToPosition, removeBlock, removeBlocks, insertBlock } =
9
- useDispatch( blockEditorStore );
10
- const {
11
- getBlockRootClientId,
12
- getBlockName,
13
- getBlockOrder,
14
- getBlockIndex,
15
- getSelectedBlockClientIds,
16
- getBlock,
17
- } = useSelect( blockEditorStore );
18
-
19
- function getParentListItemId( id ) {
20
- const listId = getBlockRootClientId( id );
21
- const parentListItemId = getBlockRootClientId( listId );
22
- if ( ! parentListItemId ) {
23
- return;
24
- }
25
- if ( getBlockName( parentListItemId ) !== 'core/list-item' ) {
26
- return;
27
- }
28
- return parentListItemId;
29
- }
30
-
31
- return useCallback( ( clientIds = getSelectedBlockClientIds() ) => {
32
- if ( ! Array.isArray( clientIds ) ) {
33
- clientIds = [ clientIds ];
34
- }
35
-
36
- if ( ! clientIds.length ) {
37
- return;
38
- }
39
-
40
- const firstClientId = clientIds[ 0 ];
41
-
42
- // Can't outdent if it's not a list item.
43
- if ( getBlockName( firstClientId ) !== 'core/list-item' ) {
44
- return;
45
- }
46
-
47
- const parentListItemId = getParentListItemId( firstClientId );
48
-
49
- // Can't outdent if it's at the top level.
50
- if ( ! parentListItemId ) {
51
- return;
52
- }
53
-
54
- const parentListId = getBlockRootClientId( firstClientId );
55
- const lastClientId = clientIds[ clientIds.length - 1 ];
56
- const order = getBlockOrder( parentListId );
57
- const followingListItems = order.slice(
58
- getBlockIndex( lastClientId ) + 1
59
- );
60
-
61
- registry.batch( () => {
62
- if ( followingListItems.length ) {
63
- const nestedListId = getBlockOrder( firstClientId )[ 0 ];
64
-
65
- if ( nestedListId ) {
66
- moveBlocksToPosition(
67
- followingListItems,
68
- parentListId,
69
- nestedListId
70
- );
71
- } else {
72
- // Insert the list with the items already inside: an
73
- // empty list would be scaffolded with the list block
74
- // type's template at insertion. Removing the items
75
- // first frees them to be reinserted with their client
76
- // IDs kept.
77
- const nestedListBlock = cloneBlock(
78
- getBlock( parentListId ),
79
- {},
80
- followingListItems.map( ( id ) => getBlock( id ) )
81
- );
82
- removeBlocks( followingListItems, false );
83
- insertBlock( nestedListBlock, 0, firstClientId, false );
84
- }
85
- }
86
- moveBlocksToPosition(
87
- clientIds,
88
- parentListId,
89
- getBlockRootClientId( parentListItemId ),
90
- getBlockIndex( parentListItemId ) + 1
91
- );
92
- if ( ! getBlockOrder( parentListId ).length ) {
93
- const shouldSelectParent = false;
94
- removeBlock( parentListId, shouldSelectParent );
95
- }
96
- } );
97
-
98
- return true;
99
- }, [] );
100
- }
@@ -1,66 +0,0 @@
1
- import { useRefEffect } from '@wordpress/compose';
2
- import { privateApis as richTextPrivateApis } from '@wordpress/rich-text';
3
- import { SPACE, TAB } from '@wordpress/keycodes';
4
- import { store as blockEditorStore } from '@wordpress/block-editor';
5
- import { useSelect } from '@wordpress/data';
6
- import useIndentListItem from './use-indent-list-item';
7
- import useOutdentListItem from './use-outdent-list-item';
8
- import { unlock } from '../../lock-unlock';
9
-
10
- const { subscribeOwnedListener } = unlock( richTextPrivateApis );
11
-
12
- export default function useSpace( clientId ) {
13
- const { getSelectionStart, getSelectionEnd, getBlockIndex } =
14
- useSelect( blockEditorStore );
15
- const indentListItem = useIndentListItem( clientId );
16
- const outdentListItem = useOutdentListItem();
17
-
18
- return useRefEffect(
19
- ( element ) => {
20
- function onKeyDown( event ) {
21
- const { keyCode, shiftKey, altKey, metaKey, ctrlKey } = event;
22
-
23
- if (
24
- event.defaultPrevented ||
25
- ( keyCode !== SPACE && keyCode !== TAB ) ||
26
- // Only override when no modifiers are pressed.
27
- altKey ||
28
- metaKey ||
29
- ctrlKey
30
- ) {
31
- return;
32
- }
33
-
34
- const selectionStart = getSelectionStart();
35
- const selectionEnd = getSelectionEnd();
36
- if (
37
- selectionStart.offset === 0 &&
38
- selectionEnd.offset === 0
39
- ) {
40
- if ( shiftKey ) {
41
- // Note that backspace behaviour in defined in onMerge.
42
- if ( keyCode === TAB ) {
43
- if ( outdentListItem() ) {
44
- event.preventDefault();
45
- }
46
- }
47
- } else if ( getBlockIndex( clientId ) !== 0 ) {
48
- if ( indentListItem() ) {
49
- event.preventDefault();
50
- }
51
- }
52
- }
53
- }
54
-
55
- // Capture phase so we run before writing-flow's ancestor-bubble
56
- // keydown handlers that gate on `event.defaultPrevented`.
57
- return subscribeOwnedListener(
58
- element,
59
- 'keydown',
60
- onKeyDown,
61
- true
62
- );
63
- },
64
- [ clientId, indentListItem ]
65
- );
66
- }
@@ -1,77 +0,0 @@
1
- import {
2
- Button,
3
- Modal,
4
- __experimentalVStack as VStack,
5
- } from '@wordpress/components';
6
- import { __ } from '@wordpress/i18n';
7
- import { useState, useEffect } from '@wordpress/element';
8
- import { useDispatch } from '@wordpress/data';
9
- import { store as blockEditorStore } from '@wordpress/block-editor';
10
- import { useUnsupportedBlocks } from '../utils';
11
-
12
- const modalDescriptionId =
13
- 'wp-block-query-enhanced-pagination-modal__description';
14
-
15
- export default function EnhancedPaginationModal( {
16
- clientId,
17
- attributes: { enhancedPagination },
18
- setAttributes,
19
- } ) {
20
- const [ isOpen, setOpen ] = useState( false );
21
- const hasUnsupportedBlocks = useUnsupportedBlocks( clientId );
22
- const { __unstableMarkNextChangeAsNotPersistent } =
23
- useDispatch( blockEditorStore );
24
-
25
- useEffect( () => {
26
- if ( enhancedPagination && hasUnsupportedBlocks ) {
27
- __unstableMarkNextChangeAsNotPersistent();
28
- setAttributes( { enhancedPagination: false } );
29
- setOpen( true );
30
- }
31
- }, [
32
- enhancedPagination,
33
- hasUnsupportedBlocks,
34
- setAttributes,
35
- __unstableMarkNextChangeAsNotPersistent,
36
- ] );
37
-
38
- const closeModal = () => {
39
- setOpen( false );
40
- };
41
-
42
- const notice =
43
- __(
44
- 'Currently, avoiding full page reloads is not possible when non-interactive or non-client Navigation compatible blocks from plugins are present inside the Query block.'
45
- ) +
46
- ' ' +
47
- __(
48
- 'If you still want to prevent full page reloads, remove that block, then disable "Reload full page" again in the Query Block settings.'
49
- );
50
-
51
- return (
52
- isOpen && (
53
- <Modal
54
- title={ __( 'Query block: Reload full page enabled' ) }
55
- className="wp-block-query__enhanced-pagination-modal"
56
- aria={ {
57
- describedby: modalDescriptionId,
58
- } }
59
- role="alertdialog"
60
- focusOnMount="firstElement"
61
- isDismissible={ false }
62
- onRequestClose={ closeModal }
63
- >
64
- <VStack alignment="right" spacing={ 5 }>
65
- <span id={ modalDescriptionId }>{ notice }</span>
66
- <Button
67
- __next40pxDefaultSize
68
- variant="primary"
69
- onClick={ closeModal }
70
- >
71
- { __( 'OK' ) }
72
- </Button>
73
- </VStack>
74
- </Modal>
75
- )
76
- );
77
- }