@wordpress/block-library 10.6.1-next.v.202609031004.0 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/build/audio/edit.cjs +5 -5
  3. package/build/audio/edit.cjs.map +2 -2
  4. package/build/audio/index.cjs +0 -37
  5. package/build/audio/index.cjs.map +3 -3
  6. package/build/button/index.cjs +0 -34
  7. package/build/button/index.cjs.map +3 -3
  8. package/build/code/index.cjs +0 -17
  9. package/build/code/index.cjs.map +3 -3
  10. package/build/cover/index.cjs +0 -38
  11. package/build/cover/index.cjs.map +3 -3
  12. package/build/details/index.cjs +0 -17
  13. package/build/details/index.cjs.map +3 -3
  14. package/build/file/index.cjs +0 -43
  15. package/build/file/index.cjs.map +3 -3
  16. package/build/footnotes/format.cjs +1 -1
  17. package/build/footnotes/format.cjs.map +2 -2
  18. package/build/gallery/dynamic-gallery.cjs +12 -9
  19. package/build/gallery/dynamic-gallery.cjs.map +2 -2
  20. package/build/heading/index.cjs +0 -16
  21. package/build/heading/index.cjs.map +3 -3
  22. package/build/image/image.cjs +1 -2
  23. package/build/image/image.cjs.map +2 -2
  24. package/build/image/index.cjs +0 -81
  25. package/build/image/index.cjs.map +3 -3
  26. package/build/index.cjs +0 -10
  27. package/build/index.cjs.map +2 -2
  28. package/build/list-item/edit.cjs +14 -11
  29. package/build/list-item/edit.cjs.map +2 -2
  30. package/build/list-item/hooks/index.cjs +6 -9
  31. package/build/list-item/hooks/index.cjs.map +2 -2
  32. package/build/list-item/hooks/use-enter.cjs +62 -67
  33. package/build/list-item/hooks/use-enter.cjs.map +3 -3
  34. package/build/list-item/hooks/use-merge.cjs +26 -44
  35. package/build/list-item/hooks/use-merge.cjs.map +3 -3
  36. package/build/list-item/hooks/use-multi-select-tab.cjs +80 -0
  37. package/build/list-item/hooks/use-multi-select-tab.cjs.map +7 -0
  38. package/build/list-item/hooks/use-tab.cjs +65 -0
  39. package/build/list-item/hooks/use-tab.cjs.map +7 -0
  40. package/build/list-item/index.cjs +0 -17
  41. package/build/list-item/index.cjs.map +3 -3
  42. package/build/list-item/utils.cjs +169 -0
  43. package/build/list-item/utils.cjs.map +7 -0
  44. package/build/media-text/index.cjs +0 -50
  45. package/build/media-text/index.cjs.map +3 -3
  46. package/build/media-text/media-container.cjs +16 -11
  47. package/build/media-text/media-container.cjs.map +2 -2
  48. package/build/more/index.cjs +0 -18
  49. package/build/more/index.cjs.map +3 -3
  50. package/build/navigation/constants.cjs +1 -1
  51. package/build/navigation/constants.cjs.map +1 -1
  52. package/build/navigation-link/block.json +1 -1
  53. package/build/navigation-link/deprecated.cjs +69 -0
  54. package/build/navigation-link/deprecated.cjs.map +7 -0
  55. package/build/navigation-link/index.cjs +6 -74
  56. package/build/navigation-link/index.cjs.map +4 -4
  57. package/build/{form-submit-button/init.cjs → navigation-link/variations.cjs} +23 -8
  58. package/build/navigation-link/variations.cjs.map +7 -0
  59. package/build/navigation-submenu/index.cjs +0 -32
  60. package/build/navigation-submenu/index.cjs.map +3 -3
  61. package/build/paragraph/index.cjs +0 -17
  62. package/build/paragraph/index.cjs.map +3 -3
  63. package/build/paragraph/use-enter.cjs +8 -4
  64. package/build/paragraph/use-enter.cjs.map +2 -2
  65. package/build/post-template/edit.cjs +3 -1
  66. package/build/post-template/edit.cjs.map +2 -2
  67. package/build/preformatted/index.cjs +0 -17
  68. package/build/preformatted/index.cjs.map +3 -3
  69. package/build/pullquote/index.cjs +0 -24
  70. package/build/pullquote/index.cjs.map +3 -3
  71. package/build/query/edit/inspector-controls/index.cjs +9 -4
  72. package/build/query/edit/inspector-controls/index.cjs.map +2 -2
  73. package/build/search/index.cjs +0 -31
  74. package/build/search/index.cjs.map +3 -3
  75. package/build/site-tagline/edit.cjs +11 -17
  76. package/build/site-tagline/edit.cjs.map +2 -2
  77. package/build/site-title/edit.cjs +12 -18
  78. package/build/site-title/edit.cjs.map +2 -2
  79. package/build/social-link/index.cjs +0 -31
  80. package/build/social-link/index.cjs.map +3 -3
  81. package/build/verse/index.cjs +0 -17
  82. package/build/verse/index.cjs.map +3 -3
  83. package/build/video/index.cjs +0 -40
  84. package/build/video/index.cjs.map +3 -3
  85. package/build/video/tracks-editor.cjs +2 -3
  86. package/build/video/tracks-editor.cjs.map +3 -3
  87. package/build-module/audio/edit.mjs +5 -5
  88. package/build-module/audio/edit.mjs.map +2 -2
  89. package/build-module/audio/index.mjs +0 -37
  90. package/build-module/audio/index.mjs.map +2 -2
  91. package/build-module/button/index.mjs +0 -34
  92. package/build-module/button/index.mjs.map +2 -2
  93. package/build-module/code/index.mjs +0 -17
  94. package/build-module/code/index.mjs.map +2 -2
  95. package/build-module/cover/index.mjs +0 -38
  96. package/build-module/cover/index.mjs.map +2 -2
  97. package/build-module/details/index.mjs +0 -17
  98. package/build-module/details/index.mjs.map +2 -2
  99. package/build-module/file/index.mjs +1 -44
  100. package/build-module/file/index.mjs.map +2 -2
  101. package/build-module/footnotes/format.mjs +1 -1
  102. package/build-module/footnotes/format.mjs.map +2 -2
  103. package/build-module/gallery/dynamic-gallery.mjs +12 -9
  104. package/build-module/gallery/dynamic-gallery.mjs.map +2 -2
  105. package/build-module/heading/index.mjs +1 -21
  106. package/build-module/heading/index.mjs.map +2 -2
  107. package/build-module/image/image.mjs +1 -2
  108. package/build-module/image/image.mjs.map +2 -2
  109. package/build-module/image/index.mjs +0 -81
  110. package/build-module/image/index.mjs.map +2 -2
  111. package/build-module/index.mjs +0 -10
  112. package/build-module/index.mjs.map +2 -2
  113. package/build-module/list-item/edit.mjs +20 -18
  114. package/build-module/list-item/edit.mjs.map +2 -2
  115. package/build-module/list-item/hooks/index.mjs +8 -10
  116. package/build-module/list-item/hooks/index.mjs.map +2 -2
  117. package/build-module/list-item/hooks/use-enter.mjs +63 -58
  118. package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
  119. package/build-module/list-item/hooks/use-merge.mjs +27 -35
  120. package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
  121. package/build-module/list-item/hooks/use-multi-select-tab.mjs +59 -0
  122. package/build-module/list-item/hooks/use-multi-select-tab.mjs.map +7 -0
  123. package/build-module/list-item/hooks/use-tab.mjs +44 -0
  124. package/build-module/list-item/hooks/use-tab.mjs.map +7 -0
  125. package/build-module/list-item/index.mjs +0 -17
  126. package/build-module/list-item/index.mjs.map +2 -2
  127. package/build-module/list-item/utils.mjs +140 -0
  128. package/build-module/list-item/utils.mjs.map +7 -0
  129. package/build-module/media-text/index.mjs +0 -50
  130. package/build-module/media-text/index.mjs.map +2 -2
  131. package/build-module/media-text/media-container.mjs +17 -12
  132. package/build-module/media-text/media-container.mjs.map +2 -2
  133. package/build-module/more/index.mjs +0 -18
  134. package/build-module/more/index.mjs.map +2 -2
  135. package/build-module/navigation/constants.mjs +1 -1
  136. package/build-module/navigation/constants.mjs.map +1 -1
  137. package/build-module/navigation-link/block.json +1 -1
  138. package/build-module/navigation-link/deprecated.mjs +48 -0
  139. package/build-module/navigation-link/deprecated.mjs.map +7 -0
  140. package/build-module/navigation-link/index.mjs +7 -75
  141. package/build-module/navigation-link/index.mjs.map +3 -3
  142. package/build-module/navigation-link/variations.mjs +22 -0
  143. package/build-module/navigation-link/variations.mjs.map +7 -0
  144. package/build-module/navigation-submenu/index.mjs +1 -33
  145. package/build-module/navigation-submenu/index.mjs.map +2 -2
  146. package/build-module/paragraph/index.mjs +0 -17
  147. package/build-module/paragraph/index.mjs.map +2 -2
  148. package/build-module/paragraph/use-enter.mjs +8 -4
  149. package/build-module/paragraph/use-enter.mjs.map +2 -2
  150. package/build-module/post-template/edit.mjs +3 -1
  151. package/build-module/post-template/edit.mjs.map +2 -2
  152. package/build-module/preformatted/index.mjs +0 -17
  153. package/build-module/preformatted/index.mjs.map +2 -2
  154. package/build-module/pullquote/index.mjs +0 -24
  155. package/build-module/pullquote/index.mjs.map +2 -2
  156. package/build-module/query/edit/inspector-controls/index.mjs +9 -4
  157. package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
  158. package/build-module/search/index.mjs +0 -31
  159. package/build-module/search/index.mjs.map +2 -2
  160. package/build-module/site-tagline/edit.mjs +13 -19
  161. package/build-module/site-tagline/edit.mjs.map +2 -2
  162. package/build-module/site-title/edit.mjs +14 -20
  163. package/build-module/site-title/edit.mjs.map +2 -2
  164. package/build-module/social-link/index.mjs +0 -31
  165. package/build-module/social-link/index.mjs.map +2 -2
  166. package/build-module/verse/index.mjs +0 -17
  167. package/build-module/verse/index.mjs.map +2 -2
  168. package/build-module/video/index.mjs +0 -40
  169. package/build-module/video/index.mjs.map +2 -2
  170. package/build-module/video/tracks-editor.mjs +3 -5
  171. package/build-module/video/tracks-editor.mjs.map +2 -2
  172. package/build-style/editor-rtl.css +8 -51
  173. package/build-style/editor.css +8 -51
  174. package/build-style/navigation/editor-rtl.css +8 -0
  175. package/build-style/navigation/editor.css +8 -0
  176. package/build-style/style-rtl.css +0 -47
  177. package/build-style/style.css +0 -47
  178. package/build-types/navigation-link/deprecated.d.ts +48 -0
  179. package/build-types/navigation-link/deprecated.d.ts.map +1 -0
  180. package/package.json +42 -43
  181. package/src/accordion/index.php +2 -2
  182. package/src/accordion-item/index.php +1 -1
  183. package/src/audio/edit.jsx +6 -7
  184. package/src/audio/index.js +0 -37
  185. package/src/breadcrumbs/index.php +4 -4
  186. package/src/button/index.js +0 -34
  187. package/src/button/test/get-experimental-label.jsdom.test.js +1 -0
  188. package/src/code/index.js +0 -18
  189. package/src/columns/test/transforms.jsdom.test.js +1 -0
  190. package/src/comment-template/index.php +2 -2
  191. package/src/cover/index.js +0 -39
  192. package/src/cover/test/edit.jsdom.test.js +18 -17
  193. package/src/cover/test/transforms.jsdom.test.js +1 -0
  194. package/src/details/index.js +0 -18
  195. package/src/editor.scss +0 -2
  196. package/src/embed/test/index.jsdom.test.js +5 -1
  197. package/src/file/index.js +1 -43
  198. package/src/footnotes/format.jsx +5 -1
  199. package/src/gallery/dynamic-gallery.jsx +5 -2
  200. package/src/gallery/test/edit.jsdom.test.js +4 -0
  201. package/src/gallery/test/transforms.jsdom.test.js +1 -0
  202. package/src/gallery/test/use-get-new-images.jsdom.test.jsx +1 -0
  203. package/src/group/test/placeholder.jsdom.test.jsx +1 -0
  204. package/src/heading/index.js +1 -22
  205. package/src/heading/index.php +1 -1
  206. package/src/home-link/index.php +2 -2
  207. package/src/html/test/index.jsdom.test.js +9 -0
  208. package/src/html/test/utils.jsdom.test.js +1 -0
  209. package/src/image/image.jsx +1 -4
  210. package/src/image/index.js +0 -80
  211. package/src/image/test/transforms.jsdom.test.js +1 -0
  212. package/src/image/test/use-open-image-media-editor-modal.jsdom.test.js +30 -29
  213. package/src/index.jsx +0 -11
  214. package/src/latest-posts/test/deprecated.jsdom.test.js +1 -0
  215. package/src/list/index.php +1 -1
  216. package/src/list-item/edit.jsx +20 -20
  217. package/src/list-item/hooks/index.js +2 -3
  218. package/src/list-item/hooks/use-enter.js +82 -70
  219. package/src/list-item/hooks/use-merge.js +28 -36
  220. package/src/list-item/hooks/use-multi-select-tab.js +83 -0
  221. package/src/list-item/hooks/use-tab.js +62 -0
  222. package/src/list-item/index.js +0 -18
  223. package/src/list-item/utils.js +236 -0
  224. package/src/media-text/index.js +0 -50
  225. package/src/media-text/media-container.jsx +22 -12
  226. package/src/more/index.js +0 -19
  227. package/src/navigation/constants.js +1 -1
  228. package/src/navigation/edit/test/layout-custom-properties.jsdom.test.js +8 -7
  229. package/src/navigation/edit/test/navigation-menu-selector.jsdom.test.jsx +23 -14
  230. package/src/navigation/edit/test/overlay-template-part-selector.jsdom.test.jsx +22 -20
  231. package/src/navigation/edit/test/responsive-wrapper.jsdom.test.jsx +14 -13
  232. package/src/navigation/edit/test/use-create-overlay.jsdom.test.js +19 -24
  233. package/src/navigation/editor.scss +13 -0
  234. package/src/navigation/index.php +14 -14
  235. package/src/navigation/test/menu-items-to-blocks.jsdom.test.js +3 -2
  236. package/src/navigation/test/use-navigation-menu.jsdom.test.js +7 -4
  237. package/src/navigation/test/view.jsdom.test.js +4 -2
  238. package/src/navigation-link/block.json +1 -1
  239. package/src/navigation-link/deprecated.tsx +58 -0
  240. package/src/navigation-link/{index.jsx → index.js} +5 -77
  241. package/src/navigation-link/index.php +5 -5
  242. package/src/navigation-link/shared/test/controls.jsdom.test.jsx +18 -18
  243. package/src/navigation-link/shared/test/use-enable-link-status-validation.jsdom.test.js +8 -6
  244. package/src/navigation-link/shared/test/use-entity-binding.jsdom.test.js +12 -11
  245. package/src/navigation-link/shared/test/use-handle-link-change.jsdom.test.js +23 -20
  246. package/src/navigation-link/shared/test/use-link-preview.jsdom.test.js +17 -14
  247. package/src/navigation-link/test/__snapshots__/hooks.jsdom.test.js.snap +2 -2
  248. package/src/navigation-link/test/hooks.jsdom.test.js +1 -0
  249. package/src/navigation-link/variations.js +19 -0
  250. package/src/navigation-submenu/index.js +1 -33
  251. package/src/page-list/index.php +10 -10
  252. package/src/page-list/test/convert-to-navigation-links.jsdom.test.js +3 -2
  253. package/src/paragraph/index.js +0 -18
  254. package/src/paragraph/use-enter.js +13 -6
  255. package/src/playlist/test/edit-component.jsdom.test.jsx +31 -30
  256. package/src/playlist/test/edit.jsdom.test.js +1 -0
  257. package/src/playlist/test/transforms.jsdom.test.js +1 -0
  258. package/src/playlist-track/test/edit.jsdom.test.jsx +20 -19
  259. package/src/post-author/index.php +3 -3
  260. package/src/post-author-biography/index.php +3 -3
  261. package/src/post-author-name/index.php +3 -3
  262. package/src/post-comments-link/index.php +4 -4
  263. package/src/post-date/test/edit.jsdom.test.js +1 -0
  264. package/src/post-template/edit.jsx +3 -1
  265. package/src/post-time-to-read/index.php +3 -3
  266. package/src/preformatted/index.js +0 -18
  267. package/src/pullquote/index.js +0 -24
  268. package/src/query/edit/inspector-controls/index.jsx +9 -4
  269. package/src/query/index.php +2 -2
  270. package/src/query/test/utils.jsdom.test.js +1 -0
  271. package/src/quote/test/migrate.jsdom.test.js +1 -0
  272. package/src/read-more/index.php +1 -1
  273. package/src/search/index.js +0 -30
  274. package/src/search/index.php +1 -1
  275. package/src/separator/test/edit.jsdom.test.jsx +5 -4
  276. package/src/site-logo/index.php +1 -1
  277. package/src/site-tagline/edit.jsx +18 -27
  278. package/src/site-title/edit.jsx +20 -27
  279. package/src/social-link/index.js +0 -32
  280. package/src/social-link/index.php +0 -1
  281. package/src/style.scss +0 -1
  282. package/src/table-of-contents/index.php +3 -3
  283. package/src/utils/test/style-state.jsdom.test.js +1 -0
  284. package/src/utils/test/waveform-player-dependency.jsdom.test.js +15 -21
  285. package/src/verse/index.js +0 -18
  286. package/src/video/index.js +0 -40
  287. package/src/video/tracks-editor.jsx +4 -5
  288. package/build/form/block.json +0 -65
  289. package/build/form/deprecated.cjs +0 -111
  290. package/build/form/deprecated.cjs.map +0 -7
  291. package/build/form/edit.cjs +0 -180
  292. package/build/form/edit.cjs.map +0 -7
  293. package/build/form/icons.cjs +0 -33
  294. package/build/form/icons.cjs.map +0 -7
  295. package/build/form/index.cjs +0 -118
  296. package/build/form/index.cjs.map +0 -7
  297. package/build/form/init.cjs +0 -28
  298. package/build/form/init.cjs.map +0 -7
  299. package/build/form/save.cjs +0 -40
  300. package/build/form/save.cjs.map +0 -7
  301. package/build/form/utils.cjs +0 -61
  302. package/build/form/utils.cjs.map +0 -7
  303. package/build/form/variations.cjs +0 -152
  304. package/build/form/variations.cjs.map +0 -7
  305. package/build/form/view.cjs +0 -48
  306. package/build/form/view.cjs.map +0 -7
  307. package/build/form-input/block.json +0 -72
  308. package/build/form-input/deprecated.cjs +0 -252
  309. package/build/form-input/deprecated.cjs.map +0 -7
  310. package/build/form-input/edit.cjs +0 -206
  311. package/build/form-input/edit.cjs.map +0 -7
  312. package/build/form-input/icons.cjs +0 -33
  313. package/build/form-input/icons.cjs.map +0 -7
  314. package/build/form-input/index.cjs +0 -63
  315. package/build/form-input/index.cjs.map +0 -7
  316. package/build/form-input/init.cjs +0 -28
  317. package/build/form-input/init.cjs.map +0 -7
  318. package/build/form-input/save.cjs +0 -88
  319. package/build/form-input/save.cjs.map +0 -7
  320. package/build/form-input/variations.cjs +0 -105
  321. package/build/form-input/variations.cjs.map +0 -7
  322. package/build/form-submission-notification/block.json +0 -19
  323. package/build/form-submission-notification/edit.cjs +0 -71
  324. package/build/form-submission-notification/edit.cjs.map +0 -7
  325. package/build/form-submission-notification/index.cjs +0 -73
  326. package/build/form-submission-notification/index.cjs.map +0 -7
  327. package/build/form-submission-notification/init.cjs +0 -28
  328. package/build/form-submission-notification/init.cjs.map +0 -7
  329. package/build/form-submission-notification/save.cjs +0 -54
  330. package/build/form-submission-notification/save.cjs.map +0 -7
  331. package/build/form-submission-notification/variations.cjs +0 -78
  332. package/build/form-submission-notification/variations.cjs.map +0 -7
  333. package/build/form-submit-button/block.json +0 -15
  334. package/build/form-submit-button/edit.cjs +0 -36
  335. package/build/form-submit-button/edit.cjs.map +0 -7
  336. package/build/form-submit-button/index.cjs +0 -75
  337. package/build/form-submit-button/index.cjs.map +0 -7
  338. package/build/form-submit-button/init.cjs.map +0 -7
  339. package/build/form-submit-button/save.cjs +0 -32
  340. package/build/form-submit-button/save.cjs.map +0 -7
  341. package/build/list-item/hooks/use-indent-list-item.cjs +0 -79
  342. package/build/list-item/hooks/use-indent-list-item.cjs.map +0 -7
  343. package/build/list-item/hooks/use-outdent-list-item.cjs +0 -106
  344. package/build/list-item/hooks/use-outdent-list-item.cjs.map +0 -7
  345. package/build/list-item/hooks/use-space.cjs +0 -83
  346. package/build/list-item/hooks/use-space.cjs.map +0 -7
  347. package/build-module/form/block.json +0 -65
  348. package/build-module/form/deprecated.mjs +0 -96
  349. package/build-module/form/deprecated.mjs.map +0 -7
  350. package/build-module/form/edit.mjs +0 -170
  351. package/build-module/form/edit.mjs.map +0 -7
  352. package/build-module/form/icons.mjs +0 -8
  353. package/build-module/form/icons.mjs.map +0 -7
  354. package/build-module/form/index.mjs +0 -83
  355. package/build-module/form/index.mjs.map +0 -7
  356. package/build-module/form/init.mjs +0 -7
  357. package/build-module/form/init.mjs.map +0 -7
  358. package/build-module/form/save.mjs +0 -19
  359. package/build-module/form/save.mjs.map +0 -7
  360. package/build-module/form/utils.mjs +0 -35
  361. package/build-module/form/utils.mjs.map +0 -7
  362. package/build-module/form/variations.mjs +0 -134
  363. package/build-module/form/variations.mjs.map +0 -7
  364. package/build-module/form/view.mjs +0 -46
  365. package/build-module/form/view.mjs.map +0 -7
  366. package/build-module/form-input/block.json +0 -72
  367. package/build-module/form-input/deprecated.mjs +0 -226
  368. package/build-module/form-input/deprecated.mjs.map +0 -7
  369. package/build-module/form-input/edit.mjs +0 -186
  370. package/build-module/form-input/edit.mjs.map +0 -7
  371. package/build-module/form-input/icons.mjs +0 -8
  372. package/build-module/form-input/icons.mjs.map +0 -7
  373. package/build-module/form-input/index.mjs +0 -25
  374. package/build-module/form-input/index.mjs.map +0 -7
  375. package/build-module/form-input/init.mjs +0 -7
  376. package/build-module/form-input/init.mjs.map +0 -7
  377. package/build-module/form-input/save.mjs +0 -62
  378. package/build-module/form-input/save.mjs.map +0 -7
  379. package/build-module/form-input/variations.mjs +0 -84
  380. package/build-module/form-input/variations.mjs.map +0 -7
  381. package/build-module/form-submission-notification/block.json +0 -19
  382. package/build-module/form-submission-notification/edit.mjs +0 -45
  383. package/build-module/form-submission-notification/edit.mjs.map +0 -7
  384. package/build-module/form-submission-notification/index.mjs +0 -35
  385. package/build-module/form-submission-notification/index.mjs.map +0 -7
  386. package/build-module/form-submission-notification/init.mjs +0 -7
  387. package/build-module/form-submission-notification/init.mjs.map +0 -7
  388. package/build-module/form-submission-notification/save.mjs +0 -23
  389. package/build-module/form-submission-notification/save.mjs.map +0 -7
  390. package/build-module/form-submission-notification/variations.mjs +0 -57
  391. package/build-module/form-submission-notification/variations.mjs.map +0 -7
  392. package/build-module/form-submit-button/block.json +0 -15
  393. package/build-module/form-submit-button/edit.mjs +0 -15
  394. package/build-module/form-submit-button/edit.mjs.map +0 -7
  395. package/build-module/form-submit-button/index.mjs +0 -37
  396. package/build-module/form-submit-button/index.mjs.map +0 -7
  397. package/build-module/form-submit-button/init.mjs +0 -7
  398. package/build-module/form-submit-button/init.mjs.map +0 -7
  399. package/build-module/form-submit-button/save.mjs +0 -11
  400. package/build-module/form-submit-button/save.mjs.map +0 -7
  401. package/build-module/list-item/hooks/use-indent-list-item.mjs +0 -58
  402. package/build-module/list-item/hooks/use-indent-list-item.mjs.map +0 -7
  403. package/build-module/list-item/hooks/use-outdent-list-item.mjs +0 -85
  404. package/build-module/list-item/hooks/use-outdent-list-item.mjs.map +0 -7
  405. package/build-module/list-item/hooks/use-space.mjs +0 -52
  406. package/build-module/list-item/hooks/use-space.mjs.map +0 -7
  407. package/build-style/form-input/editor-rtl.css +0 -19
  408. package/build-style/form-input/editor.css +0 -19
  409. package/build-style/form-input/style-rtl.css +0 -46
  410. package/build-style/form-input/style.css +0 -46
  411. package/build-style/form-submission-notification/editor-rtl.css +0 -30
  412. package/build-style/form-submission-notification/editor.css +0 -30
  413. package/build-style/form-submit-button/style-rtl.css +0 -3
  414. package/build-style/form-submit-button/style.css +0 -3
  415. package/src/form/README.md +0 -90
  416. package/src/form/block.json +0 -65
  417. package/src/form/deprecated.jsx +0 -93
  418. package/src/form/edit.jsx +0 -169
  419. package/src/form/icons.jsx +0 -7
  420. package/src/form/index.js +0 -91
  421. package/src/form/index.php +0 -197
  422. package/src/form/init.js +0 -3
  423. package/src/form/save.jsx +0 -15
  424. package/src/form/utils.js +0 -36
  425. package/src/form/variations.js +0 -133
  426. package/src/form/view.js +0 -54
  427. package/src/form-input/README.md +0 -74
  428. package/src/form-input/block.json +0 -72
  429. package/src/form-input/deprecated.jsx +0 -248
  430. package/src/form-input/edit.jsx +0 -187
  431. package/src/form-input/editor.scss +0 -24
  432. package/src/form-input/icons.jsx +0 -7
  433. package/src/form-input/index.js +0 -22
  434. package/src/form-input/index.php +0 -47
  435. package/src/form-input/init.js +0 -3
  436. package/src/form-input/save.jsx +0 -89
  437. package/src/form-input/style.scss +0 -64
  438. package/src/form-input/variations.js +0 -82
  439. package/src/form-submission-notification/README.md +0 -50
  440. package/src/form-submission-notification/block.json +0 -19
  441. package/src/form-submission-notification/edit.jsx +0 -44
  442. package/src/form-submission-notification/editor.scss +0 -45
  443. package/src/form-submission-notification/index.js +0 -33
  444. package/src/form-submission-notification/index.php +0 -48
  445. package/src/form-submission-notification/init.js +0 -3
  446. package/src/form-submission-notification/save.jsx +0 -18
  447. package/src/form-submission-notification/variations.js +0 -56
  448. package/src/form-submit-button/README.md +0 -54
  449. package/src/form-submit-button/block.json +0 -15
  450. package/src/form-submit-button/edit.jsx +0 -12
  451. package/src/form-submit-button/index.js +0 -35
  452. package/src/form-submit-button/init.js +0 -3
  453. package/src/form-submit-button/save.jsx +0 -10
  454. package/src/form-submit-button/style.scss +0 -3
  455. package/src/list-item/hooks/use-indent-list-item.js +0 -73
  456. package/src/list-item/hooks/use-outdent-list-item.js +0 -100
  457. package/src/list-item/hooks/use-space.js +0 -66
@@ -1,15 +1,12 @@
1
1
  // packages/block-library/src/list-item/index.js
2
- import { __ } from "@wordpress/i18n";
3
2
  import { listItem as icon } from "@wordpress/icons";
4
3
  import { privateApis } from "@wordpress/block-editor";
5
- import { privateApis as blocksPrivateApis } from "@wordpress/blocks";
6
4
  import initBlock from "../utils/init-block.mjs";
7
5
  import metadata from "./block.json";
8
6
  import edit from "./edit.mjs";
9
7
  import save from "./save.mjs";
10
8
  import transforms from "./transforms.mjs";
11
9
  import { unlock } from "../lock-unlock.mjs";
12
- var { fieldsKey, formKey } = unlock(blocksPrivateApis);
13
10
  var { name } = metadata;
14
11
  var settings = {
15
12
  icon,
@@ -35,20 +32,6 @@ var settings = {
35
32
  }
36
33
  }
37
34
  };
38
- if (window.__experimentalContentOnlyInspectorFields) {
39
- settings[fieldsKey] = [
40
- {
41
- id: "content",
42
- label: __("Content"),
43
- type: "text",
44
- Edit: "rich-text"
45
- // TODO: replace with custom component
46
- }
47
- ];
48
- settings[formKey] = {
49
- fields: ["content"]
50
- };
51
- }
52
35
  var init = () => initBlock({ name, metadata, settings });
53
36
  export {
54
37
  init,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/list-item/index.js"],
4
- "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { listItem as icon } from '@wordpress/icons';\nimport { privateApis } from '@wordpress/block-editor';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tcontent: attributes.content + attributesToMerge.content,\n\t\t};\n\t},\n\ttransforms,\n\t[ unlock( privateApis ).requiresWrapperOnCopy ]: true,\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { content } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\t\tconst hasContent = content?.trim().length > 0;\n\n\t\t// In the list view, use the block's content as the label.\n\t\t// If the content is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || hasContent ) ) {\n\t\t\treturn customName || content;\n\t\t}\n\n\t\tif ( context === 'breadcrumb' && customName ) {\n\t\t\treturn customName;\n\t\t}\n\t},\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'content',\n\t\t\tlabel: __( 'Content' ),\n\t\t\ttype: 'text',\n\t\t\tEdit: 'rich-text', // TODO: replace with custom component\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'content' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";AAAA,SAAS,UAAU;AACnB,SAAS,YAAY,YAAY;AACjC,SAAS,mBAAmB;AAC5B,SAAS,eAAe,yBAAyB;AACjD,OAAO,eAAe;AACtB,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AACvB,SAAS,cAAc;AAEvB,IAAM,EAAE,WAAW,QAAQ,IAAI,OAAQ,iBAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI;AAIV,IAAM,WAAW;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAO,YAAY,mBAAoB;AACtC,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS,WAAW,UAAU,kBAAkB;AAAA,IACjD;AAAA,EACD;AAAA,EACA;AAAA,EACA,CAAE,OAAQ,WAAY,EAAE,qBAAsB,GAAG;AAAA,EACjD,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,EAAE,QAAQ,IAAI;AAEpB,UAAM,aAAa,YAAY,UAAU;AACzC,UAAM,aAAa,SAAS,KAAK,EAAE,SAAS;AAI5C,QAAK,YAAY,gBAAiB,cAAc,aAAe;AAC9D,aAAO,cAAc;AAAA,IACtB;AAEA,QAAK,YAAY,gBAAgB,YAAa;AAC7C,aAAO;AAAA,IACR;AAAA,EACD;AACD;AAEA,IAAK,OAAO,0CAA2C;AACtD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,OAAO,GAAI,SAAU;AAAA,MACrB,MAAM;AAAA,MACN,MAAM;AAAA;AAAA,IACP;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,SAAU;AAAA,EACrB;AACD;AAEO,IAAM,OAAO,MAAM,UAAW,EAAE,MAAM,UAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["import { listItem as icon } from '@wordpress/icons';\nimport { privateApis } from '@wordpress/block-editor';\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\nimport { unlock } from '../lock-unlock';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tcontent: attributes.content + attributesToMerge.content,\n\t\t};\n\t},\n\ttransforms,\n\t[ unlock( privateApis ).requiresWrapperOnCopy ]: true,\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { content } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\t\tconst hasContent = content?.trim().length > 0;\n\n\t\t// In the list view, use the block's content as the label.\n\t\t// If the content is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || hasContent ) ) {\n\t\t\treturn customName || content;\n\t\t}\n\n\t\tif ( context === 'breadcrumb' && customName ) {\n\t\t\treturn customName;\n\t\t}\n\t},\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";AAAA,SAAS,YAAY,YAAY;AACjC,SAAS,mBAAmB;AAC5B,OAAO,eAAe;AACtB,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AACvB,SAAS,cAAc;AAEvB,IAAM,EAAE,KAAK,IAAI;AAIV,IAAM,WAAW;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAO,YAAY,mBAAoB;AACtC,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS,WAAW,UAAU,kBAAkB;AAAA,IACjD;AAAA,EACD;AAAA,EACA;AAAA,EACA,CAAE,OAAQ,WAAY,EAAE,qBAAsB,GAAG;AAAA,EACjD,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,EAAE,QAAQ,IAAI;AAEpB,UAAM,aAAa,YAAY,UAAU;AACzC,UAAM,aAAa,SAAS,KAAK,EAAE,SAAS;AAI5C,QAAK,YAAY,gBAAiB,cAAc,aAAe;AAC9D,aAAO,cAAc;AAAA,IACtB;AAEA,QAAK,YAAY,gBAAgB,YAAa;AAC7C,aAAO;AAAA,IACR;AAAA,EACD;AACD;AAEO,IAAM,OAAO,MAAM,UAAW,EAAE,MAAM,UAAU,SAAS,CAAE;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,140 @@
1
+ // packages/block-library/src/list-item/utils.js
2
+ import { store as blockEditorStore } from "@wordpress/block-editor";
3
+ import { cloneBlock } from "@wordpress/blocks";
4
+ function getIndentTarget(select, clientId) {
5
+ return select.getPreviousBlockClientId(clientId);
6
+ }
7
+ function getOutdentTarget(select, clientId) {
8
+ const listId = select.getBlockRootClientId(clientId);
9
+ const parentListItemId = select.getBlockRootClientId(listId);
10
+ if (!parentListItemId || select.getBlockName(parentListItemId) !== "core/list-item") {
11
+ return void 0;
12
+ }
13
+ return parentListItemId;
14
+ }
15
+ function moveBlocksToNestedList(registry, clientIds, sourceListId, listItemId) {
16
+ const { getBlockOrder, getBlock } = registry.select(blockEditorStore);
17
+ const { moveBlocksToPosition, removeBlocks, insertBlock } = registry.dispatch(blockEditorStore);
18
+ const nestedLists = getBlockOrder(listItemId);
19
+ const nestedListId = nestedLists[nestedLists.length - 1];
20
+ if (nestedListId) {
21
+ moveBlocksToPosition(clientIds, sourceListId, nestedListId);
22
+ return;
23
+ }
24
+ const nestedList = cloneBlock(
25
+ getBlock(sourceListId),
26
+ {},
27
+ clientIds.map((id) => getBlock(id))
28
+ );
29
+ registry.batch(() => {
30
+ removeBlocks(clientIds, false);
31
+ insertBlock(nestedList, 0, listItemId, false);
32
+ });
33
+ }
34
+ function indentListItems(registry, clientId) {
35
+ const select = registry.select(blockEditorStore);
36
+ const {
37
+ getBlockRootClientId,
38
+ getSelectedBlockClientIds,
39
+ getSelectionStart,
40
+ getSelectionEnd,
41
+ hasMultiSelection,
42
+ getMultiSelectedBlockClientIds
43
+ } = select;
44
+ const { selectionChange, multiSelect } = registry.dispatch(blockEditorStore);
45
+ const _hasMultiSelection = hasMultiSelection();
46
+ const clientIds = _hasMultiSelection ? getMultiSelectedBlockClientIds() : getSelectedBlockClientIds();
47
+ if (clientId === void 0) {
48
+ clientId = clientIds[0];
49
+ }
50
+ const previousSiblingId = getIndentTarget(select, clientId);
51
+ if (!previousSiblingId) {
52
+ return false;
53
+ }
54
+ const rootClientId = getBlockRootClientId(clientId);
55
+ const selectionStart = getSelectionStart();
56
+ const selectionEnd = getSelectionEnd();
57
+ registry.batch(() => {
58
+ moveBlocksToNestedList(
59
+ registry,
60
+ clientIds,
61
+ rootClientId,
62
+ previousSiblingId
63
+ );
64
+ if (!_hasMultiSelection) {
65
+ selectionChange(
66
+ clientIds[0],
67
+ selectionEnd.attributeKey,
68
+ selectionEnd.clientId === selectionStart.clientId ? selectionStart.offset : selectionEnd.offset,
69
+ selectionEnd.offset
70
+ );
71
+ } else {
72
+ multiSelect(clientIds[0], clientIds[clientIds.length - 1]);
73
+ }
74
+ });
75
+ return true;
76
+ }
77
+ function outdentListItems(registry, clientIds) {
78
+ const select = registry.select(blockEditorStore);
79
+ const {
80
+ getBlockRootClientId,
81
+ getBlockName,
82
+ getBlockOrder,
83
+ getBlockIndex,
84
+ getSelectedBlockClientIds
85
+ } = select;
86
+ const { moveBlocksToPosition, removeBlock, multiSelect } = registry.dispatch(blockEditorStore);
87
+ if (clientIds === void 0) {
88
+ clientIds = getSelectedBlockClientIds();
89
+ }
90
+ if (!Array.isArray(clientIds)) {
91
+ clientIds = [clientIds];
92
+ }
93
+ if (!clientIds.length) {
94
+ return false;
95
+ }
96
+ const firstClientId = clientIds[0];
97
+ if (getBlockName(firstClientId) !== "core/list-item") {
98
+ return false;
99
+ }
100
+ const parentListItemId = getOutdentTarget(select, firstClientId);
101
+ if (!parentListItemId) {
102
+ return false;
103
+ }
104
+ const parentListId = getBlockRootClientId(firstClientId);
105
+ const lastClientId = clientIds[clientIds.length - 1];
106
+ const order = getBlockOrder(parentListId);
107
+ const followingListItems = order.slice(getBlockIndex(lastClientId) + 1);
108
+ registry.batch(() => {
109
+ if (followingListItems.length) {
110
+ moveBlocksToNestedList(
111
+ registry,
112
+ followingListItems,
113
+ parentListId,
114
+ firstClientId
115
+ );
116
+ }
117
+ moveBlocksToPosition(
118
+ clientIds,
119
+ parentListId,
120
+ getBlockRootClientId(parentListItemId),
121
+ getBlockIndex(parentListItemId) + 1
122
+ );
123
+ if (!getBlockOrder(parentListId).length) {
124
+ const shouldSelectParent = false;
125
+ removeBlock(parentListId, shouldSelectParent);
126
+ }
127
+ if (clientIds.length > 1) {
128
+ multiSelect(firstClientId, lastClientId);
129
+ }
130
+ });
131
+ return true;
132
+ }
133
+ export {
134
+ getIndentTarget,
135
+ getOutdentTarget,
136
+ indentListItems,
137
+ moveBlocksToNestedList,
138
+ outdentListItems
139
+ };
140
+ //# sourceMappingURL=utils.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/list-item/utils.js"],
4
+ "sourcesContent": ["import { store as blockEditorStore } from '@wordpress/block-editor';\nimport { cloneBlock } from '@wordpress/blocks';\n\n/**\n * The previous sibling to nest a list item under when indenting, or undefined\n * for the first item, which has no sibling to nest under.\n *\n * @param {Object} select The block editor store's selectors.\n * @param {string} clientId The list item's client ID.\n *\n * @return {string|undefined} The client ID to nest the item under.\n */\nexport function getIndentTarget( select, clientId ) {\n\treturn select.getPreviousBlockClientId( clientId );\n}\n\n/**\n * The ancestor list item the given item's list is nested in when outdenting, or\n * undefined at the top level, where there is nothing to outdent to.\n *\n * @param {Object} select The block editor store's selectors.\n * @param {string} clientId The list item's client ID.\n *\n * @return {string|undefined} The ancestor list item's client ID.\n */\nexport function getOutdentTarget( select, clientId ) {\n\tconst listId = select.getBlockRootClientId( clientId );\n\tconst parentListItemId = select.getBlockRootClientId( listId );\n\tif (\n\t\t! parentListItemId ||\n\t\tselect.getBlockName( parentListItemId ) !== 'core/list-item'\n\t) {\n\t\treturn undefined;\n\t}\n\treturn parentListItemId;\n}\n\n/**\n * Moves blocks into a list item's nested list, keeping their client IDs. If the\n * list item has no nested list yet, one is created from the source list so it\n * inherits its attributes.\n *\n * @param {Object} registry The data registry.\n * @param {string[]} clientIds The blocks to move.\n * @param {string} sourceListId The list the blocks currently live in, also\n * cloned when a nested list has to be created.\n * @param {string} listItemId The list item to nest the blocks under.\n */\nexport function moveBlocksToNestedList(\n\tregistry,\n\tclientIds,\n\tsourceListId,\n\tlistItemId\n) {\n\tconst { getBlockOrder, getBlock } = registry.select( blockEditorStore );\n\tconst { moveBlocksToPosition, removeBlocks, insertBlock } =\n\t\tregistry.dispatch( blockEditorStore );\n\t// A list item can hold more than one nested list; append to the last one,\n\t// the same subtree a reader sees at the end of the item.\n\tconst nestedLists = getBlockOrder( listItemId );\n\tconst nestedListId = nestedLists[ nestedLists.length - 1 ];\n\n\tif ( nestedListId ) {\n\t\tmoveBlocksToPosition( clientIds, sourceListId, nestedListId );\n\t\treturn;\n\t}\n\n\t// Insert the list with the items already inside: an empty list would be\n\t// scaffolded with the list block type's template, and moving into a freshly\n\t// created list would fail its canInsert check. Cloning the source list keeps\n\t// its attributes; passing the items as inner blocks keeps their client IDs.\n\tconst nestedList = cloneBlock(\n\t\tgetBlock( sourceListId ),\n\t\t{},\n\t\tclientIds.map( ( id ) => getBlock( id ) )\n\t);\n\t// Remove and re-insert in one batch so the blocks are never momentarily\n\t// detached. A caller batch nests harmlessly: only the outermost flushes.\n\tregistry.batch( () => {\n\t\tremoveBlocks( clientIds, false );\n\t\tinsertBlock( nestedList, 0, listItemId, false );\n\t} );\n}\n\n/**\n * Indents the selected list items, nesting them under the previous sibling of\n * the given item. Defaults to the first selected item.\n *\n * @param {Object} registry The data registry.\n * @param {string} [clientId] The list item providing the sibling to nest under.\n *\n * @return {boolean} Whether the items were indented.\n */\nexport function indentListItems( registry, clientId ) {\n\tconst select = registry.select( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetSelectedBlockClientIds,\n\t\tgetSelectionStart,\n\t\tgetSelectionEnd,\n\t\thasMultiSelection,\n\t\tgetMultiSelectedBlockClientIds,\n\t} = select;\n\tconst { selectionChange, multiSelect } =\n\t\tregistry.dispatch( blockEditorStore );\n\n\tconst _hasMultiSelection = hasMultiSelection();\n\tconst clientIds = _hasMultiSelection\n\t\t? getMultiSelectedBlockClientIds()\n\t\t: getSelectedBlockClientIds();\n\n\tif ( clientId === undefined ) {\n\t\tclientId = clientIds[ 0 ];\n\t}\n\n\tconst previousSiblingId = getIndentTarget( select, clientId );\n\n\t// Can't indent the first item: there is no sibling to nest it under.\n\tif ( ! previousSiblingId ) {\n\t\treturn false;\n\t}\n\n\tconst rootClientId = getBlockRootClientId( clientId );\n\t// Read the selection before the move: creating a nested list removes and\n\t// re-inserts the items, which drops it.\n\tconst selectionStart = getSelectionStart();\n\tconst selectionEnd = getSelectionEnd();\n\n\tregistry.batch( () => {\n\t\tmoveBlocksToNestedList(\n\t\t\tregistry,\n\t\t\tclientIds,\n\t\t\trootClientId,\n\t\t\tpreviousSiblingId\n\t\t);\n\n\t\t// Put the selection back on the same blocks (client IDs are kept).\n\t\tif ( ! _hasMultiSelection ) {\n\t\t\tselectionChange(\n\t\t\t\tclientIds[ 0 ],\n\t\t\t\tselectionEnd.attributeKey,\n\t\t\t\tselectionEnd.clientId === selectionStart.clientId\n\t\t\t\t\t? selectionStart.offset\n\t\t\t\t\t: selectionEnd.offset,\n\t\t\t\tselectionEnd.offset\n\t\t\t);\n\t\t} else {\n\t\t\tmultiSelect( clientIds[ 0 ], clientIds[ clientIds.length - 1 ] );\n\t\t}\n\t} );\n\n\treturn true;\n}\n\n/**\n * Outdents list items, moving them up a level. Defaults to the selected items;\n * a specific set can be passed, e.g. to outdent an item's children.\n *\n * @param {Object} registry The data registry.\n * @param {string[]|string} [clientIds] The list items to outdent.\n *\n * @return {boolean} Whether the items were outdented.\n */\nexport function outdentListItems( registry, clientIds ) {\n\tconst select = registry.select( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tgetBlockOrder,\n\t\tgetBlockIndex,\n\t\tgetSelectedBlockClientIds,\n\t} = select;\n\tconst { moveBlocksToPosition, removeBlock, multiSelect } =\n\t\tregistry.dispatch( blockEditorStore );\n\n\tif ( clientIds === undefined ) {\n\t\tclientIds = getSelectedBlockClientIds();\n\t}\n\n\tif ( ! Array.isArray( clientIds ) ) {\n\t\tclientIds = [ clientIds ];\n\t}\n\n\tif ( ! clientIds.length ) {\n\t\treturn false;\n\t}\n\n\tconst firstClientId = clientIds[ 0 ];\n\n\t// Can't outdent if it's not a list item.\n\tif ( getBlockName( firstClientId ) !== 'core/list-item' ) {\n\t\treturn false;\n\t}\n\n\t// Can't outdent if it's at the top level.\n\tconst parentListItemId = getOutdentTarget( select, firstClientId );\n\tif ( ! parentListItemId ) {\n\t\treturn false;\n\t}\n\n\tconst parentListId = getBlockRootClientId( firstClientId );\n\tconst lastClientId = clientIds[ clientIds.length - 1 ];\n\tconst order = getBlockOrder( parentListId );\n\tconst followingListItems = order.slice( getBlockIndex( lastClientId ) + 1 );\n\n\tregistry.batch( () => {\n\t\tif ( followingListItems.length ) {\n\t\t\t// Nest the items that follow under the outdented item so they keep\n\t\t\t// their place below it.\n\t\t\tmoveBlocksToNestedList(\n\t\t\t\tregistry,\n\t\t\t\tfollowingListItems,\n\t\t\t\tparentListId,\n\t\t\t\tfirstClientId\n\t\t\t);\n\t\t}\n\t\tmoveBlocksToPosition(\n\t\t\tclientIds,\n\t\t\tparentListId,\n\t\t\tgetBlockRootClientId( parentListItemId ),\n\t\t\tgetBlockIndex( parentListItemId ) + 1\n\t\t);\n\t\tif ( ! getBlockOrder( parentListId ).length ) {\n\t\t\tconst shouldSelectParent = false;\n\t\t\tremoveBlock( parentListId, shouldSelectParent );\n\t\t}\n\n\t\t// Reset the lingering partial cross-block range to a whole block\n\t\t// selection. A single caret is preserved by the store on its own.\n\t\tif ( clientIds.length > 1 ) {\n\t\t\tmultiSelect( firstClientId, lastClientId );\n\t\t}\n\t} );\n\n\treturn true;\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,7 +1,6 @@
1
1
  // packages/block-library/src/media-text/index.js
2
2
  import { __ } from "@wordpress/i18n";
3
3
  import { mediaAndText as icon } from "@wordpress/icons";
4
- import { privateApis as blocksPrivateApis } from "@wordpress/blocks";
5
4
  import initBlock from "../utils/init-block.mjs";
6
5
  import { TEMPLATE } from "./constants.mjs";
7
6
  import deprecated from "./deprecated.mjs";
@@ -9,8 +8,6 @@ import edit from "./edit.mjs";
9
8
  import metadata from "./block.json";
10
9
  import save from "./save.mjs";
11
10
  import transforms from "./transforms.mjs";
12
- import { unlock } from "../lock-unlock.mjs";
13
- var { fieldsKey, formKey } = unlock(blocksPrivateApis);
14
11
  var { name } = metadata;
15
12
  var settings = {
16
13
  icon,
@@ -44,53 +41,6 @@ var settings = {
44
41
  save,
45
42
  deprecated
46
43
  };
47
- if (window.__experimentalContentOnlyInspectorFields) {
48
- settings[fieldsKey] = [
49
- {
50
- id: "media",
51
- label: __("Media"),
52
- type: "media",
53
- Edit: {
54
- control: "media",
55
- // TODO: replace with custom component
56
- allowedTypes: ["image", "video"],
57
- multiple: false
58
- },
59
- getValue: ({ item }) => ({
60
- id: item.mediaId,
61
- url: item.mediaUrl,
62
- mediaType: item.mediaType,
63
- link: item.mediaLink
64
- }),
65
- setValue: ({ value }) => ({
66
- mediaId: value.id,
67
- mediaUrl: value.url,
68
- mediaType: value.mediaType,
69
- mediaLink: value.link
70
- })
71
- },
72
- {
73
- id: "link",
74
- label: __("Link"),
75
- type: "url",
76
- Edit: "link",
77
- // TODO: replace with custom component
78
- getValue: ({ item }) => ({
79
- url: item.href,
80
- rel: item.rel,
81
- linkTarget: item.linkTarget
82
- }),
83
- setValue: ({ value }) => ({
84
- href: value.url,
85
- rel: value.rel,
86
- linkTarget: value.linkTarget
87
- })
88
- }
89
- ];
90
- settings[formKey] = {
91
- fields: ["media", "link"]
92
- };
93
- }
94
44
  var init = () => initBlock({ name, metadata, settings });
95
45
  export {
96
46
  init,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/media-text/index.js"],
4
- "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { mediaAndText as icon } from '@wordpress/icons';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\nimport initBlock from '../utils/init-block';\nimport { TEMPLATE } from './constants';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tviewportWidth: 601, // Columns collapse \"@media (max-width: 600px)\".\n\t\tattributes: {\n\t\t\tmediaType: 'image',\n\t\t\tmediaUrl:\n\t\t\t\t'https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'The wren<br>Earns his living<br>Noiselessly.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( '— Kobayashi Issa (一茶)' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\ttemplate: TEMPLATE,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'media',\n\t\t\tlabel: __( 'Media' ),\n\t\t\ttype: 'media',\n\t\t\tEdit: {\n\t\t\t\tcontrol: 'media', // TODO: replace with custom component\n\t\t\t\tallowedTypes: [ 'image', 'video' ],\n\t\t\t\tmultiple: false,\n\t\t\t},\n\t\t\tgetValue: ( { item } ) => ( {\n\t\t\t\tid: item.mediaId,\n\t\t\t\turl: item.mediaUrl,\n\t\t\t\tmediaType: item.mediaType,\n\t\t\t\tlink: item.mediaLink,\n\t\t\t} ),\n\t\t\tsetValue: ( { value } ) => ( {\n\t\t\t\tmediaId: value.id,\n\t\t\t\tmediaUrl: value.url,\n\t\t\t\tmediaType: value.mediaType,\n\t\t\t\tmediaLink: value.link,\n\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\tid: 'link',\n\t\t\tlabel: __( 'Link' ),\n\t\t\ttype: 'url',\n\t\t\tEdit: 'link', // TODO: replace with custom component\n\t\t\tgetValue: ( { item } ) => ( {\n\t\t\t\turl: item.href,\n\t\t\t\trel: item.rel,\n\t\t\t\tlinkTarget: item.linkTarget,\n\t\t\t} ),\n\t\t\tsetValue: ( { value } ) => ( {\n\t\t\t\thref: value.url,\n\t\t\t\trel: value.rel,\n\t\t\t\tlinkTarget: value.linkTarget,\n\t\t\t} ),\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'media', 'link' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";AAAA,SAAS,UAAU;AACnB,SAAS,gBAAgB,YAAY;AACrC,SAAS,eAAe,yBAAyB;AACjD,OAAO,eAAe;AACtB,SAAS,gBAAgB;AACzB,OAAO,gBAAgB;AACvB,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AACvB,SAAS,cAAc;AAEvB,IAAM,EAAE,WAAW,QAAQ,IAAI,OAAQ,iBAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI;AAIV,IAAM,WAAW;AAAA,EACvB;AAAA,EACA,SAAS;AAAA,IACR,eAAe;AAAA;AAAA,IACf,YAAY;AAAA,MACX,WAAW;AAAA,MACX,UACC;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,SAAS;AAAA,YACR;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,SAAS,GAAI,uBAAwB;AAAA,QACtC;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AACD;AAEA,IAAK,OAAO,0CAA2C;AACtD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,OAAO,GAAI,OAAQ;AAAA,MACnB,MAAM;AAAA,MACN,MAAM;AAAA,QACL,SAAS;AAAA;AAAA,QACT,cAAc,CAAE,SAAS,OAAQ;AAAA,QACjC,UAAU;AAAA,MACX;AAAA,MACA,UAAU,CAAE,EAAE,KAAK,OAAS;AAAA,QAC3B,IAAI,KAAK;AAAA,QACT,KAAK,KAAK;AAAA,QACV,WAAW,KAAK;AAAA,QAChB,MAAM,KAAK;AAAA,MACZ;AAAA,MACA,UAAU,CAAE,EAAE,MAAM,OAAS;AAAA,QAC5B,SAAS,MAAM;AAAA,QACf,UAAU,MAAM;AAAA,QAChB,WAAW,MAAM;AAAA,QACjB,WAAW,MAAM;AAAA,MAClB;AAAA,IACD;AAAA,IACA;AAAA,MACC,IAAI;AAAA,MACJ,OAAO,GAAI,MAAO;AAAA,MAClB,MAAM;AAAA,MACN,MAAM;AAAA;AAAA,MACN,UAAU,CAAE,EAAE,KAAK,OAAS;AAAA,QAC3B,KAAK,KAAK;AAAA,QACV,KAAK,KAAK;AAAA,QACV,YAAY,KAAK;AAAA,MAClB;AAAA,MACA,UAAU,CAAE,EAAE,MAAM,OAAS;AAAA,QAC5B,MAAM,MAAM;AAAA,QACZ,KAAK,MAAM;AAAA,QACX,YAAY,MAAM;AAAA,MACnB;AAAA,IACD;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,SAAS,MAAO;AAAA,EAC3B;AACD;AAEO,IAAM,OAAO,MAAM,UAAW,EAAE,MAAM,UAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { mediaAndText as icon } from '@wordpress/icons';\nimport initBlock from '../utils/init-block';\nimport { TEMPLATE } from './constants';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tviewportWidth: 601, // Columns collapse \"@media (max-width: 600px)\".\n\t\tattributes: {\n\t\t\tmediaType: 'image',\n\t\t\tmediaUrl:\n\t\t\t\t'https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'The wren<br>Earns his living<br>Noiselessly.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( '— Kobayashi Issa (一茶)' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\ttemplate: TEMPLATE,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";AAAA,SAAS,UAAU;AACnB,SAAS,gBAAgB,YAAY;AACrC,OAAO,eAAe;AACtB,SAAS,gBAAgB;AACzB,OAAO,gBAAgB;AACvB,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AAEvB,IAAM,EAAE,KAAK,IAAI;AAIV,IAAM,WAAW;AAAA,EACvB;AAAA,EACA,SAAS;AAAA,IACR,eAAe;AAAA;AAAA,IACf,YAAY;AAAA,MACX,WAAW;AAAA,MACX,UACC;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,SAAS;AAAA,YACR;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,SAAS,GAAI,uBAAwB;AAAA,QACtC;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,OAAO,MAAM,UAAW,EAAE,MAAM,UAAU,SAAS,CAAE;",
6
6
  "names": []
7
7
  }
@@ -16,7 +16,7 @@ import { createBlobURL, isBlobURL } from "@wordpress/blob";
16
16
  import { store as noticesStore } from "@wordpress/notices";
17
17
  import { media as icon } from "@wordpress/icons";
18
18
  import { imageFillStyles } from "./image-fill.mjs";
19
- import { jsx, jsxs } from "react/jsx-runtime";
19
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
20
20
  var ALLOWED_MEDIA_TYPES = ["image", "video"];
21
21
  var noop = () => {
22
22
  };
@@ -49,6 +49,7 @@ function ToolbarEditButton({
49
49
  onSelect: onSelectMedia,
50
50
  onToggleFeaturedImage: toggleUseFeaturedImage,
51
51
  useFeaturedImage,
52
+ name: mediaUrl ? __("Replace") : __("Add media"),
52
53
  onReset: () => onSelectMedia(void 0)
53
54
  }
54
55
  ) });
@@ -110,6 +111,16 @@ function MediaContainer(props, ref) {
110
111
  } = props;
111
112
  const isTemporaryMedia = !mediaId && isBlobURL(mediaUrl);
112
113
  const { toggleSelection } = useDispatch(blockEditorStore);
114
+ const toolbarEditButton = /* @__PURE__ */ jsx(
115
+ ToolbarEditButton,
116
+ {
117
+ onSelectMedia,
118
+ mediaUrl: useFeaturedImage && featuredImageURL ? featuredImageURL : mediaUrl,
119
+ mediaId,
120
+ toggleUseFeaturedImage,
121
+ useFeaturedImage
122
+ }
123
+ );
113
124
  if (mediaUrl || featuredImageURL || useFeaturedImage) {
114
125
  const onResizeStart = () => {
115
126
  toggleSelection(false);
@@ -167,16 +178,7 @@ function MediaContainer(props, ref) {
167
178
  isStackedOnMobile,
168
179
  ref,
169
180
  children: [
170
- /* @__PURE__ */ jsx(
171
- ToolbarEditButton,
172
- {
173
- onSelectMedia,
174
- mediaUrl: useFeaturedImage && featuredImageURL ? featuredImageURL : mediaUrl,
175
- mediaId,
176
- toggleUseFeaturedImage,
177
- useFeaturedImage
178
- }
179
- ),
181
+ toolbarEditButton,
180
182
  (mediaTypeRenderers[mediaType] || noop)(),
181
183
  isTemporaryMedia && /* @__PURE__ */ jsx(Spinner, {}),
182
184
  !useFeaturedImage && /* @__PURE__ */ jsx(PlaceholderContainer, { ...props }),
@@ -192,7 +194,10 @@ function MediaContainer(props, ref) {
192
194
  }
193
195
  );
194
196
  }
195
- return /* @__PURE__ */ jsx(PlaceholderContainer, { ...props });
197
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
198
+ toolbarEditButton,
199
+ /* @__PURE__ */ jsx(PlaceholderContainer, { ...props })
200
+ ] });
196
201
  }
197
202
  var media_container_default = forwardRef(MediaContainer);
198
203
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/media-text/media-container.jsx"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport { ResizableBox, Spinner, Placeholder } from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { createBlobURL, isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { media as icon } from '@wordpress/icons';\nimport { imageFillStyles } from './image-fill';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\nconst noop = () => {};\n\nconst ResizableBoxContainer = forwardRef(\n\t( { isSelected, isStackedOnMobile, ...props }, ref ) => {\n\t\tconst isMobile = useViewportMatch( 'small', '<' );\n\t\treturn (\n\t\t\t<ResizableBox\n\t\t\t\tref={ ref }\n\t\t\t\tshowHandle={\n\t\t\t\t\tisSelected && ( ! isMobile || ! isStackedOnMobile )\n\t\t\t\t}\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nfunction ToolbarEditButton( {\n\tmediaId,\n\tmediaUrl,\n\tonSelectMedia,\n\ttoggleUseFeaturedImage,\n\tuseFeaturedImage,\n} ) {\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaId={ mediaId }\n\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\tonReset={ () => onSelectMedia( undefined ) }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nfunction PlaceholderContainer( {\n\tclassName,\n\tmediaUrl,\n\tonSelectMedia,\n\ttoggleUseFeaturedImage,\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst onFilesPreUpload = ( files ) => {\n\t\tif ( files.length === 1 ) {\n\t\t\tonSelectMedia( { url: createBlobURL( files[ 0 ] ) } );\n\t\t}\n\t};\n\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t} }\n\t\t\tclassName={ className }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tonFilesPreUpload={ onFilesPreUpload }\n\t\t\tonError={ onUploadError }\n\t\t\tdisableMediaButtons={ mediaUrl }\n\t\t/>\n\t);\n}\n\nfunction MediaContainer( props, ref ) {\n\tconst {\n\t\tclassName,\n\t\tcommitWidthChange,\n\t\tfocalPoint,\n\t\timageFill,\n\t\tisSelected,\n\t\tisStackedOnMobile,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tonSelectMedia,\n\t\tonWidthChange,\n\t\tenableResize,\n\t\ttoggleUseFeaturedImage,\n\t\tuseFeaturedImage,\n\t\tfeaturedImageURL,\n\t\tfeaturedImageAlt,\n\t\trefMedia,\n\t} = props;\n\n\tconst isTemporaryMedia = ! mediaId && isBlobURL( mediaUrl );\n\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tif ( mediaUrl || featuredImageURL || useFeaturedImage ) {\n\t\tconst onResizeStart = () => {\n\t\t\ttoggleSelection( false );\n\t\t};\n\t\tconst onResize = ( event, direction, elt ) => {\n\t\t\tonWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst onResizeStop = ( event, direction, elt ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tcommitWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst enablePositions = {\n\t\t\tright: enableResize && mediaPosition === 'left',\n\t\t\tleft: enableResize && mediaPosition === 'right',\n\t\t};\n\n\t\tconst positionStyles =\n\t\t\tmediaType === 'image' && imageFill\n\t\t\t\t? imageFillStyles( mediaUrl || featuredImageURL, focalPoint )\n\t\t\t\t: {};\n\n\t\tconst mediaTypeRenderers = {\n\t\t\timage: () =>\n\t\t\t\tuseFeaturedImage && featuredImageURL ? (\n\t\t\t\t\t<img\n\t\t\t\t\t\tref={ refMedia }\n\t\t\t\t\t\tsrc={ featuredImageURL }\n\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\tstyle={ positionStyles }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\tmediaUrl && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ refMedia }\n\t\t\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\t\tstyle={ positionStyles }\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\tvideo: () => <video controls ref={ refMedia } src={ mediaUrl } />,\n\t\t};\n\n\t\treturn (\n\t\t\t<ResizableBoxContainer\n\t\t\t\tas=\"figure\"\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'editor-media-container__resizer',\n\t\t\t\t\t{ 'is-transient': isTemporaryMedia }\n\t\t\t\t) }\n\t\t\t\tsize={ { width: mediaWidth + '%' } }\n\t\t\t\tminWidth=\"10%\"\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tenable={ enablePositions }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResize={ onResize }\n\t\t\t\tonResizeStop={ onResizeStop }\n\t\t\t\taxis=\"x\"\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t<ToolbarEditButton\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tmediaUrl={\n\t\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t\t: mediaUrl\n\t\t\t\t\t}\n\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t{ ( mediaTypeRenderers[ mediaType ] || noop )() }\n\t\t\t\t{ isTemporaryMedia && <Spinner /> }\n\t\t\t\t{ ! useFeaturedImage && <PlaceholderContainer { ...props } /> }\n\t\t\t\t{ ! featuredImageURL && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-media-text--placeholder-image\"\n\t\t\t\t\t\tstyle={ positionStyles }\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</ResizableBoxContainer>\n\t\t);\n\t}\n\n\treturn <PlaceholderContainer { ...props } />;\n}\n\nexport default forwardRef( MediaContainer );\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { ResizableBox, Spinner, Placeholder } from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { createBlobURL, isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { media as icon } from '@wordpress/icons';\nimport { imageFillStyles } from './image-fill';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\nconst noop = () => {};\n\nconst ResizableBoxContainer = forwardRef(\n\t( { isSelected, isStackedOnMobile, ...props }, ref ) => {\n\t\tconst isMobile = useViewportMatch( 'small', '<' );\n\t\treturn (\n\t\t\t<ResizableBox\n\t\t\t\tref={ ref }\n\t\t\t\tshowHandle={\n\t\t\t\t\tisSelected && ( ! isMobile || ! isStackedOnMobile )\n\t\t\t\t}\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nfunction ToolbarEditButton( {\n\tmediaId,\n\tmediaUrl,\n\tonSelectMedia,\n\ttoggleUseFeaturedImage,\n\tuseFeaturedImage,\n} ) {\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaId={ mediaId }\n\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\tname={ mediaUrl ? __( 'Replace' ) : __( 'Add media' ) }\n\t\t\t\tonReset={ () => onSelectMedia( undefined ) }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nfunction PlaceholderContainer( {\n\tclassName,\n\tmediaUrl,\n\tonSelectMedia,\n\ttoggleUseFeaturedImage,\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst onFilesPreUpload = ( files ) => {\n\t\tif ( files.length === 1 ) {\n\t\t\tonSelectMedia( { url: createBlobURL( files[ 0 ] ) } );\n\t\t}\n\t};\n\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t} }\n\t\t\tclassName={ className }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tonFilesPreUpload={ onFilesPreUpload }\n\t\t\tonError={ onUploadError }\n\t\t\tdisableMediaButtons={ mediaUrl }\n\t\t/>\n\t);\n}\n\nfunction MediaContainer( props, ref ) {\n\tconst {\n\t\tclassName,\n\t\tcommitWidthChange,\n\t\tfocalPoint,\n\t\timageFill,\n\t\tisSelected,\n\t\tisStackedOnMobile,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tonSelectMedia,\n\t\tonWidthChange,\n\t\tenableResize,\n\t\ttoggleUseFeaturedImage,\n\t\tuseFeaturedImage,\n\t\tfeaturedImageURL,\n\t\tfeaturedImageAlt,\n\t\trefMedia,\n\t} = props;\n\n\tconst isTemporaryMedia = ! mediaId && isBlobURL( mediaUrl );\n\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tconst toolbarEditButton = (\n\t\t<ToolbarEditButton\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tmediaUrl={\n\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t: mediaUrl\n\t\t\t}\n\t\t\tmediaId={ mediaId }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t/>\n\t);\n\n\tif ( mediaUrl || featuredImageURL || useFeaturedImage ) {\n\t\tconst onResizeStart = () => {\n\t\t\ttoggleSelection( false );\n\t\t};\n\t\tconst onResize = ( event, direction, elt ) => {\n\t\t\tonWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst onResizeStop = ( event, direction, elt ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tcommitWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst enablePositions = {\n\t\t\tright: enableResize && mediaPosition === 'left',\n\t\t\tleft: enableResize && mediaPosition === 'right',\n\t\t};\n\n\t\tconst positionStyles =\n\t\t\tmediaType === 'image' && imageFill\n\t\t\t\t? imageFillStyles( mediaUrl || featuredImageURL, focalPoint )\n\t\t\t\t: {};\n\n\t\tconst mediaTypeRenderers = {\n\t\t\timage: () =>\n\t\t\t\tuseFeaturedImage && featuredImageURL ? (\n\t\t\t\t\t<img\n\t\t\t\t\t\tref={ refMedia }\n\t\t\t\t\t\tsrc={ featuredImageURL }\n\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\tstyle={ positionStyles }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\tmediaUrl && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ refMedia }\n\t\t\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\t\tstyle={ positionStyles }\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\tvideo: () => <video controls ref={ refMedia } src={ mediaUrl } />,\n\t\t};\n\n\t\treturn (\n\t\t\t<ResizableBoxContainer\n\t\t\t\tas=\"figure\"\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'editor-media-container__resizer',\n\t\t\t\t\t{ 'is-transient': isTemporaryMedia }\n\t\t\t\t) }\n\t\t\t\tsize={ { width: mediaWidth + '%' } }\n\t\t\t\tminWidth=\"10%\"\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tenable={ enablePositions }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResize={ onResize }\n\t\t\t\tonResizeStop={ onResizeStop }\n\t\t\t\taxis=\"x\"\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t{ toolbarEditButton }\n\t\t\t\t{ ( mediaTypeRenderers[ mediaType ] || noop )() }\n\t\t\t\t{ isTemporaryMedia && <Spinner /> }\n\t\t\t\t{ ! useFeaturedImage && <PlaceholderContainer { ...props } /> }\n\t\t\t\t{ ! featuredImageURL && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-media-text--placeholder-image\"\n\t\t\t\t\t\tstyle={ positionStyles }\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</ResizableBoxContainer>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ toolbarEditButton }\n\t\t\t<PlaceholderContainer { ...props } />\n\t\t</>\n\t);\n}\n\nexport default forwardRef( MediaContainer );\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,14 +1,10 @@
1
1
  // packages/block-library/src/more/index.js
2
2
  import { more as icon } from "@wordpress/icons";
3
- import { __ } from "@wordpress/i18n";
4
- import { privateApis as blocksPrivateApis } from "@wordpress/blocks";
5
3
  import initBlock from "../utils/init-block.mjs";
6
4
  import edit from "./edit.mjs";
7
5
  import metadata from "./block.json";
8
6
  import save from "./save.mjs";
9
7
  import transforms from "./transforms.mjs";
10
- import { unlock } from "../lock-unlock.mjs";
11
- var { fieldsKey, formKey } = unlock(blocksPrivateApis);
12
8
  var { name } = metadata;
13
9
  var settings = {
14
10
  icon,
@@ -26,20 +22,6 @@ var settings = {
26
22
  edit,
27
23
  save
28
24
  };
29
- if (window.__experimentalContentOnlyInspectorFields) {
30
- settings[fieldsKey] = [
31
- {
32
- id: "customText",
33
- label: __("Content"),
34
- type: "text",
35
- Edit: "rich-text"
36
- // TODO: replace with custom component
37
- }
38
- ];
39
- settings[formKey] = {
40
- fields: ["customText"]
41
- };
42
- }
43
25
  var init = () => initBlock({ name, metadata, settings });
44
26
  export {
45
27
  init,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/more/index.js"],
4
- "sourcesContent": ["import { more as icon } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\tif (\n\t\t\t( context === 'list-view' || context === 'breadcrumb' ) &&\n\t\t\tcustomName\n\t\t) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn attributes.customText;\n\t\t}\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'customText',\n\t\t\tlabel: __( 'Content' ),\n\t\t\ttype: 'text',\n\t\t\tEdit: 'rich-text', // TODO: replace with custom component\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'customText' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";AAAA,SAAS,QAAQ,YAAY;AAC7B,SAAS,UAAU;AACnB,SAAS,eAAe,yBAAyB;AACjD,OAAO,eAAe;AACtB,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AACvB,SAAS,cAAc;AAEvB,IAAM,EAAE,WAAW,QAAQ,IAAI,OAAQ,iBAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI;AAIV,IAAM,WAAW;AAAA,EACvB;AAAA,EACA,SAAS,CAAC;AAAA,EACV,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,aAAa,YAAY,UAAU;AAEzC,SACG,YAAY,eAAe,YAAY,iBACzC,YACC;AACD,aAAO;AAAA,IACR;AAEA,QAAK,YAAY,iBAAkB;AAClC,aAAO,WAAW;AAAA,IACnB;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEA,IAAK,OAAO,0CAA2C;AACtD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,OAAO,GAAI,SAAU;AAAA,MACrB,MAAM;AAAA,MACN,MAAM;AAAA;AAAA,IACP;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,YAAa;AAAA,EACxB;AACD;AAEO,IAAM,OAAO,MAAM,UAAW,EAAE,MAAM,UAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["import { more as icon } from '@wordpress/icons';\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\tif (\n\t\t\t( context === 'list-view' || context === 'breadcrumb' ) &&\n\t\t\tcustomName\n\t\t) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn attributes.customText;\n\t\t}\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";AAAA,SAAS,QAAQ,YAAY;AAC7B,OAAO,eAAe;AACtB,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AAEvB,IAAM,EAAE,KAAK,IAAI;AAIV,IAAM,WAAW;AAAA,EACvB;AAAA,EACA,SAAS,CAAC;AAAA,EACV,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,aAAa,YAAY,UAAU;AAEzC,SACG,YAAY,eAAe,YAAY,iBACzC,YACC;AACD,aAAO;AAAA,IACR;AAEA,QAAK,YAAY,iBAAkB;AAClC,aAAO,WAAW;AAAA,IACnB;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,OAAO,MAAM,UAAW,EAAE,MAAM,UAAU,SAAS,CAAE;",
6
6
  "names": []
7
7
  }
@@ -8,7 +8,7 @@ var DEFAULT_BLOCK = {
8
8
  };
9
9
  var PRIORITIZED_INSERTER_BLOCKS = [
10
10
  "core/navigation-link/page",
11
- "core/navigation-link"
11
+ "core/navigation-link/custom-link"
12
12
  ];
13
13
  var PRELOADED_NAVIGATION_MENUS_QUERY = {
14
14
  per_page: 100,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/navigation/constants.js"],
4
- "sourcesContent": ["export const DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n\tattributes: {\n\t\tkind: 'post-type',\n\t\ttype: 'page',\n\t},\n};\n\nexport const PRIORITIZED_INSERTER_BLOCKS = [\n\t'core/navigation-link/page',\n\t'core/navigation-link',\n];\n\n// These parameters must be kept aligned with those in\n// lib/compat/wordpress-6.3/navigation-block-preloading.php\n// and\n// edit-site/src/components/sidebar-navigation-screen-navigation-menus/constants.js\nexport const PRELOADED_NAVIGATION_MENUS_QUERY = {\n\tper_page: 100,\n\tstatus: [ 'publish', 'draft' ],\n\torder: 'desc',\n\torderby: 'date',\n};\n\nexport const SELECT_NAVIGATION_MENUS_ARGS = [\n\t'postType',\n\t'wp_navigation',\n\tPRELOADED_NAVIGATION_MENUS_QUERY,\n];\n\n/**\n * Template part area identifier for navigation overlays.\n * This constant defines the area name used when registering and filtering\n * template parts that are specifically designed for navigation overlay layouts.\n *\n * @type {string}\n */\nexport const NAVIGATION_OVERLAY_TEMPLATE_PART_AREA = 'navigation-overlay';\n"],
4
+ "sourcesContent": ["export const DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n\tattributes: {\n\t\tkind: 'post-type',\n\t\ttype: 'page',\n\t},\n};\n\nexport const PRIORITIZED_INSERTER_BLOCKS = [\n\t'core/navigation-link/page',\n\t'core/navigation-link/custom-link',\n];\n\n// These parameters must be kept aligned with those in\n// lib/compat/wordpress-6.3/navigation-block-preloading.php\n// and\n// edit-site/src/components/sidebar-navigation-screen-navigation-menus/constants.js\nexport const PRELOADED_NAVIGATION_MENUS_QUERY = {\n\tper_page: 100,\n\tstatus: [ 'publish', 'draft' ],\n\torder: 'desc',\n\torderby: 'date',\n};\n\nexport const SELECT_NAVIGATION_MENUS_ARGS = [\n\t'postType',\n\t'wp_navigation',\n\tPRELOADED_NAVIGATION_MENUS_QUERY,\n];\n\n/**\n * Template part area identifier for navigation overlays.\n * This constant defines the area name used when registering and filtering\n * template parts that are specifically designed for navigation overlay layouts.\n *\n * @type {string}\n */\nexport const NAVIGATION_OVERLAY_TEMPLATE_PART_AREA = 'navigation-overlay';\n"],
5
5
  "mappings": ";AAAO,IAAM,gBAAgB;AAAA,EAC5B,MAAM;AAAA,EACN,YAAY;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AACD;AAEO,IAAM,8BAA8B;AAAA,EAC1C;AAAA,EACA;AACD;AAMO,IAAM,mCAAmC;AAAA,EAC/C,UAAU;AAAA,EACV,QAAQ,CAAE,WAAW,OAAQ;AAAA,EAC7B,OAAO;AAAA,EACP,SAAS;AACV;AAEO,IAAM,+BAA+B;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AACD;AASO,IAAM,wCAAwC;",
6
6
  "names": []
7
7
  }
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://schemas.wp.org/trunk/block.json",
3
3
  "apiVersion": 3,
4
4
  "name": "core/navigation-link",
5
- "title": "Custom Link",
5
+ "title": "Navigation Link",
6
6
  "category": "design",
7
7
  "parent": [ "core/navigation" ],
8
8
  "allowedBlocks": [
@@ -0,0 +1,48 @@
1
+ // packages/block-library/src/navigation-link/deprecated.tsx
2
+ import { InnerBlocks } from "@wordpress/block-editor";
3
+ import { jsx } from "react/jsx-runtime";
4
+ var deprecated = [
5
+ {
6
+ isEligible(attributes) {
7
+ return attributes.nofollow;
8
+ },
9
+ attributes: {
10
+ label: {
11
+ type: "string"
12
+ },
13
+ type: {
14
+ type: "string"
15
+ },
16
+ nofollow: {
17
+ type: "boolean"
18
+ },
19
+ description: {
20
+ type: "string"
21
+ },
22
+ id: {
23
+ type: "number"
24
+ },
25
+ opensInNewTab: {
26
+ type: "boolean",
27
+ default: false
28
+ },
29
+ url: {
30
+ type: "string"
31
+ }
32
+ },
33
+ migrate({ nofollow, ...rest }) {
34
+ return {
35
+ rel: nofollow ? "nofollow" : "",
36
+ ...rest
37
+ };
38
+ },
39
+ save() {
40
+ return /* @__PURE__ */ jsx(InnerBlocks.Content, {});
41
+ }
42
+ }
43
+ ];
44
+ var deprecated_default = deprecated;
45
+ export {
46
+ deprecated_default as default
47
+ };
48
+ //# sourceMappingURL=deprecated.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/navigation-link/deprecated.tsx"],
4
+ "sourcesContent": ["// @ts-expect-error `@wordpress/block-editor` does not expose type declarations for its entry point.\nimport { InnerBlocks } from '@wordpress/block-editor';\n\ntype NavigationLinkDeprecatedAttributes = {\n\tlabel?: string;\n\ttype?: string;\n\tnofollow?: boolean;\n\tdescription?: string;\n\tid?: number;\n\topensInNewTab?: boolean;\n\turl?: string;\n};\n\nconst deprecated = [\n\t{\n\t\tisEligible( attributes: NavigationLinkDeprecatedAttributes ) {\n\t\t\treturn attributes.nofollow;\n\t\t},\n\n\t\tattributes: {\n\t\t\tlabel: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttype: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tnofollow: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdescription: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tid: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\topensInNewTab: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\turl: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\n\t\tmigrate( { nofollow, ...rest }: NavigationLinkDeprecatedAttributes ) {\n\t\t\treturn {\n\t\t\t\trel: nofollow ? 'nofollow' : '',\n\t\t\t\t...rest,\n\t\t\t};\n\t\t},\n\n\t\tsave() {\n\t\t\treturn <InnerBlocks.Content />;\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"],
5
+ "mappings": ";AACA,SAAS,mBAAmB;AAmDlB;AAvCV,IAAM,aAAa;AAAA,EAClB;AAAA,IACC,WAAY,YAAiD;AAC5D,aAAO,WAAW;AAAA,IACnB;AAAA,IAEA,YAAY;AAAA,MACX,OAAO;AAAA,QACN,MAAM;AAAA,MACP;AAAA,MACA,MAAM;AAAA,QACL,MAAM;AAAA,MACP;AAAA,MACA,UAAU;AAAA,QACT,MAAM;AAAA,MACP;AAAA,MACA,aAAa;AAAA,QACZ,MAAM;AAAA,MACP;AAAA,MACA,IAAI;AAAA,QACH,MAAM;AAAA,MACP;AAAA,MACA,eAAe;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACV;AAAA,MACA,KAAK;AAAA,QACJ,MAAM;AAAA,MACP;AAAA,IACD;AAAA,IAEA,QAAS,EAAE,UAAU,GAAG,KAAK,GAAwC;AACpE,aAAO;AAAA,QACN,KAAK,WAAW,aAAa;AAAA,QAC7B,GAAG;AAAA,MACJ;AAAA,IACD;AAAA,IAEA,OAAO;AACN,aAAO,oBAAC,YAAY,SAAZ,EAAoB;AAAA,IAC7B;AAAA,EACD;AACD;AAEA,IAAO,qBAAQ;",
6
+ "names": []
7
+ }