@wordpress/block-library 9.6.1 → 9.7.1-next.1f6eadc42.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 (427) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/archives/edit.js +1 -1
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/audio/edit.js +2 -1
  5. package/build/audio/edit.js.map +1 -1
  6. package/build/block/edit.js +5 -8
  7. package/build/block/edit.js.map +1 -1
  8. package/build/button/edit.js +1 -1
  9. package/build/button/edit.js.map +1 -1
  10. package/build/buttons/index.js +1 -1
  11. package/build/categories/index.js +1 -0
  12. package/build/categories/index.js.map +1 -1
  13. package/build/comment-edit-link/index.js +13 -2
  14. package/build/comment-edit-link/index.js.map +1 -1
  15. package/build/comment-reply-link/index.js +13 -2
  16. package/build/comment-reply-link/index.js.map +1 -1
  17. package/build/comments/edit/comments-legacy.js +1 -0
  18. package/build/comments/edit/comments-legacy.js.map +1 -1
  19. package/build/cover/deprecated.js +1 -1
  20. package/build/cover/deprecated.js.map +1 -1
  21. package/build/cover/edit/block-controls.js +4 -2
  22. package/build/cover/edit/block-controls.js.map +1 -1
  23. package/build/cover/edit/index.js +6 -3
  24. package/build/cover/edit/index.js.map +1 -1
  25. package/build/cover/edit/inspector-controls.js +4 -12
  26. package/build/cover/edit/inspector-controls.js.map +1 -1
  27. package/build/details/index.js +3 -1
  28. package/build/details/index.js.map +1 -1
  29. package/build/details/transforms.js +24 -0
  30. package/build/details/transforms.js.map +1 -0
  31. package/build/embed/edit.js +5 -11
  32. package/build/embed/edit.js.map +1 -1
  33. package/build/embed/embed-placeholder.js +2 -0
  34. package/build/embed/embed-placeholder.js.map +1 -1
  35. package/build/embed/embed-preview.js +16 -4
  36. package/build/embed/embed-preview.js.map +1 -1
  37. package/build/file/edit.js +12 -1
  38. package/build/file/edit.js.map +1 -1
  39. package/build/file/transforms.js +18 -4
  40. package/build/file/transforms.js.map +1 -1
  41. package/build/form-input/deprecated.js +113 -1
  42. package/build/form-input/deprecated.js.map +1 -1
  43. package/build/form-input/edit.js +16 -12
  44. package/build/form-input/edit.js.map +1 -1
  45. package/build/form-input/save.js +9 -1
  46. package/build/form-input/save.js.map +1 -1
  47. package/build/freeform/edit.js +4 -4
  48. package/build/freeform/edit.js.map +1 -1
  49. package/build/freeform/modal.js +3 -0
  50. package/build/freeform/modal.js.map +1 -1
  51. package/build/home-link/edit.js +3 -9
  52. package/build/home-link/edit.js.map +1 -1
  53. package/build/image/edit.js +95 -45
  54. package/build/image/edit.js.map +1 -1
  55. package/build/image/image.js +39 -24
  56. package/build/image/image.js.map +1 -1
  57. package/build/image/transforms.js +0 -13
  58. package/build/image/transforms.js.map +1 -1
  59. package/build/image/use-max-width-observer.js +35 -0
  60. package/build/image/use-max-width-observer.js.map +1 -0
  61. package/build/image/utils.js +11 -0
  62. package/build/image/utils.js.map +1 -1
  63. package/build/latest-posts/edit.js +1 -1
  64. package/build/latest-posts/edit.js.map +1 -1
  65. package/build/media-text/deprecated.js +144 -3
  66. package/build/media-text/deprecated.js.map +1 -1
  67. package/build/media-text/edit.js +5 -5
  68. package/build/media-text/edit.js.map +1 -1
  69. package/build/media-text/image-fill.js +12 -0
  70. package/build/media-text/image-fill.js.map +1 -0
  71. package/build/media-text/media-container.js +21 -18
  72. package/build/media-text/media-container.js.map +1 -1
  73. package/build/media-text/media-container.native.js +0 -7
  74. package/build/media-text/media-container.native.js.map +1 -1
  75. package/build/media-text/save.js +5 -6
  76. package/build/media-text/save.js.map +1 -1
  77. package/build/missing/edit.js +3 -2
  78. package/build/missing/edit.js.map +1 -1
  79. package/build/navigation/edit/deleted-navigation-warning.js +14 -7
  80. package/build/navigation/edit/deleted-navigation-warning.js.map +1 -1
  81. package/build/navigation/edit/index.js +1 -0
  82. package/build/navigation/edit/index.js.map +1 -1
  83. package/build/navigation/edit/menu-inspector-controls.js +2 -1
  84. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  85. package/build/navigation/edit/navigation-menu-delete-control.js +1 -0
  86. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  87. package/build/navigation/edit/placeholder/index.js +1 -0
  88. package/build/navigation/edit/placeholder/index.js.map +1 -1
  89. package/build/navigation/edit/responsive-wrapper.js +2 -0
  90. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  91. package/build/navigation/edit/unsaved-inner-blocks.js +4 -4
  92. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  93. package/build/navigation-link/link-ui.js +2 -1
  94. package/build/navigation-link/link-ui.js.map +1 -1
  95. package/build/page-list/convert-to-links-modal.js +2 -0
  96. package/build/page-list/convert-to-links-modal.js.map +1 -1
  97. package/build/page-list/edit.js +4 -1
  98. package/build/page-list/edit.js.map +1 -1
  99. package/build/post-comments-form/form.js +1 -0
  100. package/build/post-comments-form/form.js.map +1 -1
  101. package/build/post-featured-image/dimension-controls.js +6 -8
  102. package/build/post-featured-image/dimension-controls.js.map +1 -1
  103. package/build/post-featured-image/edit.js +2 -4
  104. package/build/post-featured-image/edit.js.map +1 -1
  105. package/build/post-title/index.js +4 -1
  106. package/build/post-title/index.js.map +1 -1
  107. package/build/query/edit/enhanced-pagination-modal.js +3 -2
  108. package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
  109. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +3 -3
  110. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  111. package/build/query/edit/inspector-controls/index.js +2 -10
  112. package/build/query/edit/inspector-controls/index.js.map +1 -1
  113. package/build/query/edit/query-content.js +9 -3
  114. package/build/query/edit/query-content.js.map +1 -1
  115. package/build/query/edit/query-placeholder.js +2 -0
  116. package/build/query/edit/query-placeholder.js.map +1 -1
  117. package/build/site-logo/edit.js +9 -13
  118. package/build/site-logo/edit.js.map +1 -1
  119. package/build/site-title/index.js +4 -1
  120. package/build/site-title/index.js.map +1 -1
  121. package/build/social-link/edit.js +4 -1
  122. package/build/social-link/edit.js.map +1 -1
  123. package/build/social-links/edit.js +10 -9
  124. package/build/social-links/edit.js.map +1 -1
  125. package/build/template-part/edit/advanced-controls.js.map +1 -1
  126. package/build/template-part/edit/index.js +1 -1
  127. package/build/template-part/edit/index.js.map +1 -1
  128. package/build/template-part/edit/inner-blocks.js +10 -1
  129. package/build/template-part/edit/inner-blocks.js.map +1 -1
  130. package/build/template-part/edit/placeholder.js +2 -0
  131. package/build/template-part/edit/placeholder.js.map +1 -1
  132. package/build/utils/hooks.js +10 -10
  133. package/build/utils/hooks.js.map +1 -1
  134. package/build/video/edit.js +16 -12
  135. package/build/video/edit.js.map +1 -1
  136. package/build/video/tracks-editor.js +3 -0
  137. package/build/video/tracks-editor.js.map +1 -1
  138. package/build-module/archives/edit.js +1 -1
  139. package/build-module/archives/edit.js.map +1 -1
  140. package/build-module/audio/edit.js +2 -1
  141. package/build-module/audio/edit.js.map +1 -1
  142. package/build-module/block/edit.js +6 -9
  143. package/build-module/block/edit.js.map +1 -1
  144. package/build-module/button/edit.js +1 -1
  145. package/build-module/button/edit.js.map +1 -1
  146. package/build-module/buttons/index.js +1 -1
  147. package/build-module/categories/index.js +1 -0
  148. package/build-module/categories/index.js.map +1 -1
  149. package/build-module/comment-edit-link/index.js +13 -2
  150. package/build-module/comment-edit-link/index.js.map +1 -1
  151. package/build-module/comment-reply-link/index.js +13 -2
  152. package/build-module/comment-reply-link/index.js.map +1 -1
  153. package/build-module/comments/edit/comments-legacy.js +1 -0
  154. package/build-module/comments/edit/comments-legacy.js.map +1 -1
  155. package/build-module/cover/deprecated.js +1 -1
  156. package/build-module/cover/deprecated.js.map +1 -1
  157. package/build-module/cover/edit/block-controls.js +4 -2
  158. package/build-module/cover/edit/block-controls.js.map +1 -1
  159. package/build-module/cover/edit/index.js +6 -3
  160. package/build-module/cover/edit/index.js.map +1 -1
  161. package/build-module/cover/edit/inspector-controls.js +5 -13
  162. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  163. package/build-module/details/index.js +3 -1
  164. package/build-module/details/index.js.map +1 -1
  165. package/build-module/details/transforms.js +18 -0
  166. package/build-module/details/transforms.js.map +1 -0
  167. package/build-module/embed/edit.js +6 -12
  168. package/build-module/embed/edit.js.map +1 -1
  169. package/build-module/embed/embed-placeholder.js +2 -0
  170. package/build-module/embed/embed-placeholder.js.map +1 -1
  171. package/build-module/embed/embed-preview.js +16 -4
  172. package/build-module/embed/embed-preview.js.map +1 -1
  173. package/build-module/file/edit.js +12 -1
  174. package/build-module/file/edit.js.map +1 -1
  175. package/build-module/file/transforms.js +18 -4
  176. package/build-module/file/transforms.js.map +1 -1
  177. package/build-module/form-input/deprecated.js +114 -2
  178. package/build-module/form-input/deprecated.js.map +1 -1
  179. package/build-module/form-input/edit.js +16 -12
  180. package/build-module/form-input/edit.js.map +1 -1
  181. package/build-module/form-input/save.js +9 -1
  182. package/build-module/form-input/save.js.map +1 -1
  183. package/build-module/freeform/edit.js +4 -4
  184. package/build-module/freeform/edit.js.map +1 -1
  185. package/build-module/freeform/modal.js +3 -0
  186. package/build-module/freeform/modal.js.map +1 -1
  187. package/build-module/home-link/edit.js +3 -9
  188. package/build-module/home-link/edit.js.map +1 -1
  189. package/build-module/image/edit.js +99 -48
  190. package/build-module/image/edit.js.map +1 -1
  191. package/build-module/image/image.js +40 -25
  192. package/build-module/image/image.js.map +1 -1
  193. package/build-module/image/transforms.js +0 -13
  194. package/build-module/image/transforms.js.map +1 -1
  195. package/build-module/image/use-max-width-observer.js +29 -0
  196. package/build-module/image/use-max-width-observer.js.map +1 -0
  197. package/build-module/image/utils.js +11 -1
  198. package/build-module/image/utils.js.map +1 -1
  199. package/build-module/latest-posts/edit.js +1 -1
  200. package/build-module/latest-posts/edit.js.map +1 -1
  201. package/build-module/media-text/deprecated.js +144 -3
  202. package/build-module/media-text/deprecated.js.map +1 -1
  203. package/build-module/media-text/edit.js +5 -5
  204. package/build-module/media-text/edit.js.map +1 -1
  205. package/build-module/media-text/image-fill.js +6 -0
  206. package/build-module/media-text/image-fill.js.map +1 -0
  207. package/build-module/media-text/media-container.js +21 -17
  208. package/build-module/media-text/media-container.js.map +1 -1
  209. package/build-module/media-text/media-container.native.js +0 -1
  210. package/build-module/media-text/media-container.native.js.map +1 -1
  211. package/build-module/media-text/save.js +5 -6
  212. package/build-module/media-text/save.js.map +1 -1
  213. package/build-module/missing/edit.js +3 -2
  214. package/build-module/missing/edit.js.map +1 -1
  215. package/build-module/navigation/edit/deleted-navigation-warning.js +15 -8
  216. package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -1
  217. package/build-module/navigation/edit/index.js +1 -0
  218. package/build-module/navigation/edit/index.js.map +1 -1
  219. package/build-module/navigation/edit/menu-inspector-controls.js +2 -1
  220. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  221. package/build-module/navigation/edit/navigation-menu-delete-control.js +1 -0
  222. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  223. package/build-module/navigation/edit/placeholder/index.js +1 -0
  224. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  225. package/build-module/navigation/edit/responsive-wrapper.js +2 -0
  226. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  227. package/build-module/navigation/edit/unsaved-inner-blocks.js +4 -4
  228. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  229. package/build-module/navigation-link/link-ui.js +4 -3
  230. package/build-module/navigation-link/link-ui.js.map +1 -1
  231. package/build-module/page-list/convert-to-links-modal.js +2 -0
  232. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  233. package/build-module/page-list/edit.js +4 -1
  234. package/build-module/page-list/edit.js.map +1 -1
  235. package/build-module/post-comments-form/form.js +1 -0
  236. package/build-module/post-comments-form/form.js.map +1 -1
  237. package/build-module/post-featured-image/dimension-controls.js +6 -8
  238. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  239. package/build-module/post-featured-image/edit.js +3 -5
  240. package/build-module/post-featured-image/edit.js.map +1 -1
  241. package/build-module/post-title/index.js +4 -1
  242. package/build-module/post-title/index.js.map +1 -1
  243. package/build-module/query/edit/enhanced-pagination-modal.js +3 -2
  244. package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
  245. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +3 -3
  246. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  247. package/build-module/query/edit/inspector-controls/index.js +2 -10
  248. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  249. package/build-module/query/edit/query-content.js +10 -4
  250. package/build-module/query/edit/query-content.js.map +1 -1
  251. package/build-module/query/edit/query-placeholder.js +2 -0
  252. package/build-module/query/edit/query-placeholder.js.map +1 -1
  253. package/build-module/site-logo/edit.js +10 -14
  254. package/build-module/site-logo/edit.js.map +1 -1
  255. package/build-module/site-title/index.js +4 -1
  256. package/build-module/site-title/index.js.map +1 -1
  257. package/build-module/social-link/edit.js +4 -1
  258. package/build-module/social-link/edit.js.map +1 -1
  259. package/build-module/social-links/edit.js +11 -10
  260. package/build-module/social-links/edit.js.map +1 -1
  261. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  262. package/build-module/template-part/edit/index.js +1 -1
  263. package/build-module/template-part/edit/index.js.map +1 -1
  264. package/build-module/template-part/edit/inner-blocks.js +10 -1
  265. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  266. package/build-module/template-part/edit/placeholder.js +2 -0
  267. package/build-module/template-part/edit/placeholder.js.map +1 -1
  268. package/build-module/utils/hooks.js +10 -10
  269. package/build-module/utils/hooks.js.map +1 -1
  270. package/build-module/video/edit.js +16 -13
  271. package/build-module/video/edit.js.map +1 -1
  272. package/build-module/video/tracks-editor.js +3 -0
  273. package/build-module/video/tracks-editor.js.map +1 -1
  274. package/build-style/button/editor-rtl.css +0 -4
  275. package/build-style/button/editor.css +0 -4
  276. package/build-style/buttons/editor-rtl.css +2 -5
  277. package/build-style/buttons/editor.css +2 -5
  278. package/build-style/buttons/style-rtl.css +2 -2
  279. package/build-style/buttons/style.css +2 -2
  280. package/build-style/comment-edit-link/style-rtl.css +94 -0
  281. package/build-style/comment-edit-link/style.css +94 -0
  282. package/build-style/comment-reply-link/style-rtl.css +94 -0
  283. package/build-style/comment-reply-link/style.css +94 -0
  284. package/build-style/comments-pagination/editor-rtl.css +2 -2
  285. package/build-style/comments-pagination/editor.css +2 -2
  286. package/build-style/common-rtl.css +2 -2
  287. package/build-style/common.css +2 -2
  288. package/build-style/cover/editor-rtl.css +0 -6
  289. package/build-style/cover/editor.css +0 -6
  290. package/build-style/editor-rtl.css +35 -99
  291. package/build-style/editor.css +35 -101
  292. package/build-style/form-input/style-rtl.css +7 -8
  293. package/build-style/form-input/style.css +7 -8
  294. package/build-style/group/editor-rtl.css +0 -1
  295. package/build-style/group/editor.css +0 -1
  296. package/build-style/image/editor-rtl.css +6 -27
  297. package/build-style/image/editor.css +6 -27
  298. package/build-style/media-text/editor-rtl.css +3 -1
  299. package/build-style/media-text/editor.css +3 -1
  300. package/build-style/media-text/style-rtl.css +20 -0
  301. package/build-style/media-text/style.css +20 -0
  302. package/build-style/navigation/editor-rtl.css +1 -2
  303. package/build-style/navigation/editor.css +1 -2
  304. package/build-style/post-featured-image/style-rtl.css +1 -1
  305. package/build-style/post-featured-image/style.css +1 -1
  306. package/build-style/post-title/style-rtl.css +21 -0
  307. package/build-style/post-title/style.css +21 -0
  308. package/build-style/query-pagination/editor-rtl.css +2 -16
  309. package/build-style/query-pagination/editor.css +2 -18
  310. package/build-style/query-pagination/style-rtl.css +0 -11
  311. package/build-style/query-pagination/style.css +0 -13
  312. package/build-style/site-title/editor-rtl.css +0 -4
  313. package/build-style/site-title/editor.css +0 -4
  314. package/build-style/site-title/style-rtl.css +21 -0
  315. package/build-style/site-title/style.css +21 -0
  316. package/build-style/social-links/editor-rtl.css +17 -0
  317. package/build-style/social-links/editor.css +17 -0
  318. package/build-style/style-rtl.css +82 -24
  319. package/build-style/style.css +82 -26
  320. package/build-style/video/editor-rtl.css +0 -29
  321. package/build-style/video/editor.css +0 -29
  322. package/package.json +42 -35
  323. package/src/archives/edit.js +1 -1
  324. package/src/audio/edit.js +1 -0
  325. package/src/block/edit.js +9 -11
  326. package/src/button/edit.js +1 -1
  327. package/src/button/editor.scss +0 -5
  328. package/src/buttons/block.json +1 -1
  329. package/src/buttons/editor.scss +2 -8
  330. package/src/buttons/style.scss +2 -2
  331. package/src/categories/block.json +1 -0
  332. package/src/categories/index.php +13 -2
  333. package/src/comment-edit-link/block.json +13 -2
  334. package/src/comment-edit-link/style.scss +4 -0
  335. package/src/comment-reply-link/block.json +13 -2
  336. package/src/comment-reply-link/style.scss +4 -0
  337. package/src/comments/edit/comments-legacy.js +1 -0
  338. package/src/comments-pagination/editor.scss +1 -1
  339. package/src/cover/deprecated.js +3 -2
  340. package/src/cover/edit/block-controls.js +2 -0
  341. package/src/cover/edit/index.js +6 -1
  342. package/src/cover/edit/inspector-controls.js +3 -15
  343. package/src/cover/editor.scss +0 -5
  344. package/src/cover/test/edit.js +30 -26
  345. package/src/details/index.js +2 -0
  346. package/src/details/transforms.js +26 -0
  347. package/src/embed/edit.js +0 -7
  348. package/src/embed/embed-placeholder.js +10 -2
  349. package/src/embed/embed-preview.js +22 -2
  350. package/src/file/edit.js +11 -0
  351. package/src/file/index.php +1 -1
  352. package/src/file/transforms.js +26 -6
  353. package/src/form-input/deprecated.js +114 -1
  354. package/src/form-input/edit.js +17 -11
  355. package/src/form-input/save.js +13 -3
  356. package/src/form-input/style.scss +9 -8
  357. package/src/freeform/edit.js +4 -4
  358. package/src/freeform/editor.scss +1 -1
  359. package/src/freeform/modal.js +7 -1
  360. package/src/gallery/editor.scss +1 -1
  361. package/src/group/editor.scss +0 -1
  362. package/src/home-link/edit.js +4 -7
  363. package/src/image/edit.js +130 -47
  364. package/src/image/editor.scss +7 -41
  365. package/src/image/image.js +100 -67
  366. package/src/image/index.php +1 -1
  367. package/src/image/transforms.js +0 -23
  368. package/src/image/use-max-width-observer.js +32 -0
  369. package/src/image/utils.js +13 -1
  370. package/src/latest-posts/edit.js +1 -1
  371. package/src/media-text/deprecated.js +159 -3
  372. package/src/media-text/edit.js +5 -5
  373. package/src/media-text/editor.scss +3 -1
  374. package/src/media-text/image-fill.js +11 -0
  375. package/src/media-text/index.php +53 -43
  376. package/src/media-text/media-container.js +25 -25
  377. package/src/media-text/media-container.native.js +0 -2
  378. package/src/media-text/save.js +9 -13
  379. package/src/media-text/style.scss +21 -0
  380. package/src/media-text/test/image-fill.js +19 -0
  381. package/src/missing/edit.js +8 -3
  382. package/src/navigation/edit/deleted-navigation-warning.js +23 -13
  383. package/src/navigation/edit/index.js +1 -0
  384. package/src/navigation/edit/menu-inspector-controls.js +3 -1
  385. package/src/navigation/edit/navigation-menu-delete-control.js +1 -0
  386. package/src/navigation/edit/placeholder/index.js +1 -0
  387. package/src/navigation/edit/responsive-wrapper.js +2 -0
  388. package/src/navigation/edit/unsaved-inner-blocks.js +4 -4
  389. package/src/navigation/editor.scss +11 -4
  390. package/src/navigation/index.php +1 -1
  391. package/src/navigation-link/link-ui.js +4 -3
  392. package/src/page-list/convert-to-links-modal.js +6 -1
  393. package/src/page-list/edit.js +6 -1
  394. package/src/page-list/index.php +3 -1
  395. package/src/post-comments-form/form.js +1 -0
  396. package/src/post-featured-image/dimension-controls.js +4 -4
  397. package/src/post-featured-image/edit.js +3 -6
  398. package/src/post-featured-image/style.scss +1 -1
  399. package/src/post-title/block.json +4 -1
  400. package/src/post-title/style.scss +24 -0
  401. package/src/query/edit/enhanced-pagination-modal.js +7 -3
  402. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +3 -3
  403. package/src/query/edit/inspector-controls/index.js +2 -9
  404. package/src/query/edit/query-content.js +7 -0
  405. package/src/query/edit/query-placeholder.js +2 -0
  406. package/src/query/index.php +1 -1
  407. package/src/query-pagination/editor.scss +1 -21
  408. package/src/query-pagination/style.scss +0 -15
  409. package/src/search/index.php +1 -1
  410. package/src/site-logo/edit.js +11 -20
  411. package/src/site-title/block.json +4 -1
  412. package/src/site-title/editor.scss +0 -4
  413. package/src/site-title/style.scss +24 -0
  414. package/src/social-link/edit.js +2 -0
  415. package/src/social-links/edit.js +17 -10
  416. package/src/social-links/editor.scss +24 -5
  417. package/src/style.scss +2 -0
  418. package/src/tag-cloud/index.php +7 -2
  419. package/src/template-part/edit/advanced-controls.js +0 -1
  420. package/src/template-part/edit/index.js +12 -10
  421. package/src/template-part/edit/inner-blocks.js +20 -1
  422. package/src/template-part/edit/placeholder.js +6 -1
  423. package/src/utils/hooks.js +11 -11
  424. package/src/video/edit.js +24 -21
  425. package/src/video/editor.scss +0 -45
  426. package/src/video/tracks-editor.js +3 -0
  427. package/src/media-text/test/media-container.js +0 -24
@@ -54,6 +54,9 @@ function save({
54
54
  const inputClasses = (0, _clsx.default)('wp-block-form-input__input', colorProps.className, borderProps.className);
55
55
  const TagName = type === 'textarea' ? 'textarea' : 'input';
56
56
  const blockProps = _blockEditor.useBlockProps.save();
57
+
58
+ // Note: radio inputs aren't implemented yet.
59
+ const isCheckboxOrRadio = type === 'checkbox' || type === 'radio';
57
60
  if ('hidden' === type) {
58
61
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("input", {
59
62
  type: type,
@@ -67,7 +70,7 @@ function save({
67
70
  className: (0, _clsx.default)('wp-block-form-input__label', {
68
71
  'is-label-inline': inlineLabel
69
72
  }),
70
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
73
+ children: [!isCheckboxOrRadio && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
71
74
  className: "wp-block-form-input__label-content",
72
75
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.RichText.Content, {
73
76
  value: label
@@ -80,6 +83,11 @@ function save({
80
83
  "aria-required": required,
81
84
  placeholder: placeholder || undefined,
82
85
  style: inputStyle
86
+ }), isCheckboxOrRadio && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
87
+ className: "wp-block-form-input__label-content",
88
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.RichText.Content, {
89
+ value: label
90
+ })
83
91
  })]
84
92
  })
85
93
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_removeAccents","_blockEditor","_dom","_jsxRuntime","getNameFromLabel","content","removeAccents","stripHTML","replace","toLowerCase","save","attributes","type","name","label","inlineLabel","required","placeholder","value","borderProps","getBorderClassesAndStyles","colorProps","getColorClassesAndStyles","inputStyle","style","inputClasses","clsx","className","TagName","blockProps","useBlockProps","jsx","children","jsxs","RichText","Content","undefined"],"sources":["@wordpress/block-library/src/form-input/save.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Get the name attribute from a content string.\n *\n * @param {string} content The block content.\n *\n * @return {string} Returns the slug.\n */\nconst getNameFromLabel = ( content ) => {\n\treturn (\n\t\tremoveAccents( stripHTML( content ) )\n\t\t\t// Convert anything that's not a letter or number to a hyphen.\n\t\t\t.replace( /[^\\p{L}\\p{N}]+/gu, '-' )\n\t\t\t// Convert to lowercase\n\t\t\t.toLowerCase()\n\t\t\t// Remove any remaining leading or trailing hyphens.\n\t\t\t.replace( /(^-+)|(-+$)/g, '' )\n\t);\n};\n\nexport default function save( { attributes } ) {\n\tconst { type, name, label, inlineLabel, required, placeholder, value } =\n\t\tattributes;\n\n\tconst borderProps = getBorderClassesAndStyles( attributes );\n\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\tconst inputStyle = {\n\t\t...borderProps.style,\n\t\t...colorProps.style,\n\t};\n\n\tconst inputClasses = clsx(\n\t\t'wp-block-form-input__input',\n\t\tcolorProps.className,\n\t\tborderProps.className\n\t);\n\tconst TagName = type === 'textarea' ? 'textarea' : 'input';\n\n\tconst blockProps = useBlockProps.save();\n\n\tif ( 'hidden' === type ) {\n\t\treturn <input type={ type } name={ name } value={ value } />;\n\t}\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ /* eslint-disable jsx-a11y/label-has-associated-control */ }\n\t\t\t<label\n\t\t\t\tclassName={ clsx( 'wp-block-form-input__label', {\n\t\t\t\t\t'is-label-inline': inlineLabel,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<span className=\"wp-block-form-input__label-content\">\n\t\t\t\t\t<RichText.Content value={ label } />\n\t\t\t\t</span>\n\t\t\t\t<TagName\n\t\t\t\t\tclassName={ inputClasses }\n\t\t\t\t\ttype={ 'textarea' === type ? undefined : type }\n\t\t\t\t\tname={ name || getNameFromLabel( label ) }\n\t\t\t\t\trequired={ required }\n\t\t\t\t\taria-required={ required }\n\t\t\t\t\tplaceholder={ placeholder || undefined }\n\t\t\t\t\tstyle={ inputStyle }\n\t\t\t\t/>\n\t\t\t</label>\n\t\t\t{ /* eslint-enable jsx-a11y/label-has-associated-control */ }\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAF,sBAAA,CAAAC,OAAA;AAKA,IAAAE,YAAA,GAAAF,OAAA;AAMA,IAAAG,IAAA,GAAAH,OAAA;AAAkE,IAAAI,WAAA,GAAAJ,OAAA;AAflE;AACA;AACA;;AAIA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,MAAMK,gBAAgB,GAAKC,OAAO,IAAM;EACvC,OACC,IAAAC,sBAAa,EAAE,IAAAC,wBAAS,EAAEF,OAAQ,CAAE;EACnC;EAAA,CACCG,OAAO,CAAE,kBAAkB,EAAE,GAAI;EAClC;EAAA,CACCC,WAAW,CAAC;EACb;EAAA,CACCD,OAAO,CAAE,cAAc,EAAE,EAAG,CAAC;AAEjC,CAAC;AAEc,SAASE,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,KAAK;IAAEC,WAAW;IAAEC,QAAQ;IAAEC,WAAW;IAAEC;EAAM,CAAC,GACrEP,UAAU;EAEX,MAAMQ,WAAW,GAAG,IAAAC,oDAAyB,EAAET,UAAW,CAAC;EAC3D,MAAMU,UAAU,GAAG,IAAAC,mDAAwB,EAAEX,UAAW,CAAC;EAEzD,MAAMY,UAAU,GAAG;IAClB,GAAGJ,WAAW,CAACK,KAAK;IACpB,GAAGH,UAAU,CAACG;EACf,CAAC;EAED,MAAMC,YAAY,GAAG,IAAAC,aAAI,EACxB,4BAA4B,EAC5BL,UAAU,CAACM,SAAS,EACpBR,WAAW,CAACQ,SACb,CAAC;EACD,MAAMC,OAAO,GAAGhB,IAAI,KAAK,UAAU,GAAG,UAAU,GAAG,OAAO;EAE1D,MAAMiB,UAAU,GAAGC,0BAAa,CAACpB,IAAI,CAAC,CAAC;EAEvC,IAAK,QAAQ,KAAKE,IAAI,EAAG;IACxB,oBAAO,IAAAT,WAAA,CAAA4B,GAAA;MAAOnB,IAAI,EAAGA,IAAM;MAACC,IAAI,EAAGA,IAAM;MAACK,KAAK,EAAGA;IAAO,CAAE,CAAC;EAC7D;EAEA,oBACC,IAAAf,WAAA,CAAA4B,GAAA;IAAA,GAAUF,UAAU;IAAAG,QAAA,eAEnB,IAAA7B,WAAA,CAAA8B,IAAA;MACCN,SAAS,EAAG,IAAAD,aAAI,EAAE,4BAA4B,EAAE;QAC/C,iBAAiB,EAAEX;MACpB,CAAE,CAAG;MAAAiB,QAAA,gBAEL,IAAA7B,WAAA,CAAA4B,GAAA;QAAMJ,SAAS,EAAC,oCAAoC;QAAAK,QAAA,eACnD,IAAA7B,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAAiC,QAAQ,CAACC,OAAO;UAACjB,KAAK,EAAGJ;QAAO,CAAE;MAAC,CAC/B,CAAC,eACP,IAAAX,WAAA,CAAA4B,GAAA,EAACH,OAAO;QACPD,SAAS,EAAGF,YAAc;QAC1Bb,IAAI,EAAG,UAAU,KAAKA,IAAI,GAAGwB,SAAS,GAAGxB,IAAM;QAC/CC,IAAI,EAAGA,IAAI,IAAIT,gBAAgB,CAAEU,KAAM,CAAG;QAC1CE,QAAQ,EAAGA,QAAU;QACrB,iBAAgBA,QAAU;QAC1BC,WAAW,EAAGA,WAAW,IAAImB,SAAW;QACxCZ,KAAK,EAAGD;MAAY,CACpB,CAAC;IAAA,CACI;EAAC,CAEJ,CAAC;AAER","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_removeAccents","_blockEditor","_dom","_jsxRuntime","getNameFromLabel","content","removeAccents","stripHTML","replace","toLowerCase","save","attributes","type","name","label","inlineLabel","required","placeholder","value","borderProps","getBorderClassesAndStyles","colorProps","getColorClassesAndStyles","inputStyle","style","inputClasses","clsx","className","TagName","blockProps","useBlockProps","isCheckboxOrRadio","jsx","children","jsxs","RichText","Content","undefined"],"sources":["@wordpress/block-library/src/form-input/save.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Get the name attribute from a content string.\n *\n * @param {string} content The block content.\n *\n * @return {string} Returns the slug.\n */\nconst getNameFromLabel = ( content ) => {\n\treturn (\n\t\tremoveAccents( stripHTML( content ) )\n\t\t\t// Convert anything that's not a letter or number to a hyphen.\n\t\t\t.replace( /[^\\p{L}\\p{N}]+/gu, '-' )\n\t\t\t// Convert to lowercase\n\t\t\t.toLowerCase()\n\t\t\t// Remove any remaining leading or trailing hyphens.\n\t\t\t.replace( /(^-+)|(-+$)/g, '' )\n\t);\n};\n\nexport default function save( { attributes } ) {\n\tconst { type, name, label, inlineLabel, required, placeholder, value } =\n\t\tattributes;\n\n\tconst borderProps = getBorderClassesAndStyles( attributes );\n\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\tconst inputStyle = {\n\t\t...borderProps.style,\n\t\t...colorProps.style,\n\t};\n\n\tconst inputClasses = clsx(\n\t\t'wp-block-form-input__input',\n\t\tcolorProps.className,\n\t\tborderProps.className\n\t);\n\tconst TagName = type === 'textarea' ? 'textarea' : 'input';\n\n\tconst blockProps = useBlockProps.save();\n\n\t// Note: radio inputs aren't implemented yet.\n\tconst isCheckboxOrRadio = type === 'checkbox' || type === 'radio';\n\n\tif ( 'hidden' === type ) {\n\t\treturn <input type={ type } name={ name } value={ value } />;\n\t}\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ /* eslint-disable jsx-a11y/label-has-associated-control */ }\n\t\t\t<label\n\t\t\t\tclassName={ clsx( 'wp-block-form-input__label', {\n\t\t\t\t\t'is-label-inline': inlineLabel,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! isCheckboxOrRadio && (\n\t\t\t\t\t<span className=\"wp-block-form-input__label-content\">\n\t\t\t\t\t\t<RichText.Content value={ label } />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<TagName\n\t\t\t\t\tclassName={ inputClasses }\n\t\t\t\t\ttype={ 'textarea' === type ? undefined : type }\n\t\t\t\t\tname={ name || getNameFromLabel( label ) }\n\t\t\t\t\trequired={ required }\n\t\t\t\t\taria-required={ required }\n\t\t\t\t\tplaceholder={ placeholder || undefined }\n\t\t\t\t\tstyle={ inputStyle }\n\t\t\t\t/>\n\t\t\t\t{ isCheckboxOrRadio && (\n\t\t\t\t\t<span className=\"wp-block-form-input__label-content\">\n\t\t\t\t\t\t<RichText.Content value={ label } />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</label>\n\t\t\t{ /* eslint-enable jsx-a11y/label-has-associated-control */ }\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAF,sBAAA,CAAAC,OAAA;AAKA,IAAAE,YAAA,GAAAF,OAAA;AAMA,IAAAG,IAAA,GAAAH,OAAA;AAAkE,IAAAI,WAAA,GAAAJ,OAAA;AAflE;AACA;AACA;;AAIA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,MAAMK,gBAAgB,GAAKC,OAAO,IAAM;EACvC,OACC,IAAAC,sBAAa,EAAE,IAAAC,wBAAS,EAAEF,OAAQ,CAAE;EACnC;EAAA,CACCG,OAAO,CAAE,kBAAkB,EAAE,GAAI;EAClC;EAAA,CACCC,WAAW,CAAC;EACb;EAAA,CACCD,OAAO,CAAE,cAAc,EAAE,EAAG,CAAC;AAEjC,CAAC;AAEc,SAASE,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,KAAK;IAAEC,WAAW;IAAEC,QAAQ;IAAEC,WAAW;IAAEC;EAAM,CAAC,GACrEP,UAAU;EAEX,MAAMQ,WAAW,GAAG,IAAAC,oDAAyB,EAAET,UAAW,CAAC;EAC3D,MAAMU,UAAU,GAAG,IAAAC,mDAAwB,EAAEX,UAAW,CAAC;EAEzD,MAAMY,UAAU,GAAG;IAClB,GAAGJ,WAAW,CAACK,KAAK;IACpB,GAAGH,UAAU,CAACG;EACf,CAAC;EAED,MAAMC,YAAY,GAAG,IAAAC,aAAI,EACxB,4BAA4B,EAC5BL,UAAU,CAACM,SAAS,EACpBR,WAAW,CAACQ,SACb,CAAC;EACD,MAAMC,OAAO,GAAGhB,IAAI,KAAK,UAAU,GAAG,UAAU,GAAG,OAAO;EAE1D,MAAMiB,UAAU,GAAGC,0BAAa,CAACpB,IAAI,CAAC,CAAC;;EAEvC;EACA,MAAMqB,iBAAiB,GAAGnB,IAAI,KAAK,UAAU,IAAIA,IAAI,KAAK,OAAO;EAEjE,IAAK,QAAQ,KAAKA,IAAI,EAAG;IACxB,oBAAO,IAAAT,WAAA,CAAA6B,GAAA;MAAOpB,IAAI,EAAGA,IAAM;MAACC,IAAI,EAAGA,IAAM;MAACK,KAAK,EAAGA;IAAO,CAAE,CAAC;EAC7D;EAEA,oBACC,IAAAf,WAAA,CAAA6B,GAAA;IAAA,GAAUH,UAAU;IAAAI,QAAA,eAEnB,IAAA9B,WAAA,CAAA+B,IAAA;MACCP,SAAS,EAAG,IAAAD,aAAI,EAAE,4BAA4B,EAAE;QAC/C,iBAAiB,EAAEX;MACpB,CAAE,CAAG;MAAAkB,QAAA,GAEH,CAAEF,iBAAiB,iBACpB,IAAA5B,WAAA,CAAA6B,GAAA;QAAML,SAAS,EAAC,oCAAoC;QAAAM,QAAA,eACnD,IAAA9B,WAAA,CAAA6B,GAAA,EAAC/B,YAAA,CAAAkC,QAAQ,CAACC,OAAO;UAAClB,KAAK,EAAGJ;QAAO,CAAE;MAAC,CAC/B,CACN,eACD,IAAAX,WAAA,CAAA6B,GAAA,EAACJ,OAAO;QACPD,SAAS,EAAGF,YAAc;QAC1Bb,IAAI,EAAG,UAAU,KAAKA,IAAI,GAAGyB,SAAS,GAAGzB,IAAM;QAC/CC,IAAI,EAAGA,IAAI,IAAIT,gBAAgB,CAAEU,KAAM,CAAG;QAC1CE,QAAQ,EAAGA,QAAU;QACrB,iBAAgBA,QAAU;QAC1BC,WAAW,EAAGA,WAAW,IAAIoB,SAAW;QACxCb,KAAK,EAAGD;MAAY,CACpB,CAAC,EACAQ,iBAAiB,iBAClB,IAAA5B,WAAA,CAAA6B,GAAA;QAAML,SAAS,EAAC,oCAAoC;QAAAM,QAAA,eACnD,IAAA9B,WAAA,CAAA6B,GAAA,EAAC/B,YAAA,CAAAkC,QAAQ,CAACC,OAAO;UAAClB,KAAK,EAAGJ;QAAO,CAAE;MAAC,CAC/B,CACN;IAAA,CACK;EAAC,CAEJ,CAAC;AAER","ignoreList":[]}
@@ -80,9 +80,9 @@ function ClassicEdit({
80
80
  const {
81
81
  getMultiSelectedBlockClientIds
82
82
  } = (0, _data.useSelect)(_blockEditor.store);
83
- const didMount = (0, _element.useRef)(false);
83
+ const didMountRef = (0, _element.useRef)(false);
84
84
  (0, _element.useEffect)(() => {
85
- if (!didMount.current) {
85
+ if (!didMountRef.current) {
86
86
  return;
87
87
  }
88
88
  const editor = window.tinymce.get(`editor-${clientId}`);
@@ -99,7 +99,7 @@ function ClassicEdit({
99
99
  baseURL,
100
100
  suffix
101
101
  } = window.wpEditorL10n.tinymce;
102
- didMount.current = true;
102
+ didMountRef.current = true;
103
103
  window.tinymce.EditorManager.overrideDefaults({
104
104
  base_url: baseURL,
105
105
  suffix
@@ -211,7 +211,7 @@ function ClassicEdit({
211
211
  return () => {
212
212
  document.removeEventListener('readystatechange', onReadyStateChange);
213
213
  wp.oldEditor.remove(`editor-${clientId}`);
214
- didMount.current = false;
214
+ didMountRef.current = false;
215
215
  };
216
216
  }, []);
217
217
  function focus() {
@@ -1 +1 @@
1
- {"version":3,"names":["_blockEditor","require","_compose","_data","_components","_element","_i18n","_keycodes","_convertToBlocksButton","_interopRequireDefault","_modal","_jsxRuntime","wp","window","isTmceEmpty","editor","body","getBody","childNodes","length","test","innerText","textContent","FreeformEdit","props","clientId","canRemove","useSelect","select","blockEditorStore","canRemoveBlock","isIframed","setIsIframed","useState","ref","useRefEffect","element","ownerDocument","document","jsxs","Fragment","children","jsx","BlockControls","ToolbarGroup","default","useBlockProps","ClassicEdit","attributes","content","setAttributes","onReplace","getMultiSelectedBlockClientIds","didMount","useRef","useEffect","current","tinymce","get","currentContent","getContent","setContent","baseURL","suffix","wpEditorL10n","EditorManager","overrideDefaults","base_url","onSetup","bookmark","on","selection","getBookmark","scrollContainer","querySelector","scrollPosition","scrollTop","once","moveToBookmark","debouncedOnChange","debounce","value","_lastChange","cancel","event","isKeyboardEvent","primary","stopPropagation","keyCode","BACKSPACE","DELETE","preventDefault","stopImmediatePropagation","altKey","F10","rootNode","activeElement","blur","focus","initialize","settings","oldEditor","inline","content_css","fixed_toolbar_container","setup","onReadyStateChange","readyState","addEventListener","removeEventListener","remove","onToolbarKeyDown","nativeEvent","id","className","onClick","__","onKeyDown"],"sources":["@wordpress/block-library/src/freeform/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { debounce, useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { ToolbarGroup } from '@wordpress/components';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE, F10, isKeyboardEvent } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport ConvertToBlocksButton from './convert-to-blocks-button';\nimport ModalEdit from './modal';\n\nconst { wp } = window;\n\nfunction isTmceEmpty( editor ) {\n\t// When tinyMce is empty the content seems to be:\n\t// <p><br data-mce-bogus=\"1\"></p>\n\t// avoid expensive checks for large documents\n\tconst body = editor.getBody();\n\tif ( body.childNodes.length > 1 ) {\n\t\treturn false;\n\t} else if ( body.childNodes.length === 0 ) {\n\t\treturn true;\n\t}\n\tif ( body.childNodes[ 0 ].childNodes.length > 1 ) {\n\t\treturn false;\n\t}\n\treturn /^\\n?$/.test( body.innerText || body.textContent );\n}\n\nexport default function FreeformEdit( props ) {\n\tconst { clientId } = props;\n\tconst canRemove = useSelect(\n\t\t( select ) => select( blockEditorStore ).canRemoveBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst [ isIframed, setIsIframed ] = useState( false );\n\tconst ref = useRefEffect( ( element ) => {\n\t\tsetIsIframed( element.ownerDocument !== document );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t{ canRemove && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ConvertToBlocksButton clientId={ clientId } />\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<div { ...useBlockProps( { ref } ) }>\n\t\t\t\t{ isIframed ? (\n\t\t\t\t\t<ModalEdit { ...props } />\n\t\t\t\t) : (\n\t\t\t\t\t<ClassicEdit { ...props } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nfunction ClassicEdit( {\n\tclientId,\n\tattributes: { content },\n\tsetAttributes,\n\tonReplace,\n} ) {\n\tconst { getMultiSelectedBlockClientIds } = useSelect( blockEditorStore );\n\tconst didMount = useRef( false );\n\n\tuseEffect( () => {\n\t\tif ( ! didMount.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( ! editor ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentContent = editor.getContent();\n\t\tif ( currentContent !== content ) {\n\t\t\teditor.setContent( content || '' );\n\t\t}\n\t}, [ clientId, content ] );\n\n\tuseEffect( () => {\n\t\tconst { baseURL, suffix } = window.wpEditorL10n.tinymce;\n\n\t\tdidMount.current = true;\n\n\t\twindow.tinymce.EditorManager.overrideDefaults( {\n\t\t\tbase_url: baseURL,\n\t\t\tsuffix,\n\t\t} );\n\n\t\tfunction onSetup( editor ) {\n\t\t\tlet bookmark;\n\n\t\t\tif ( content ) {\n\t\t\t\teditor.on( 'loadContent', () => editor.setContent( content ) );\n\t\t\t}\n\n\t\t\teditor.on( 'blur', () => {\n\t\t\t\tbookmark = editor.selection.getBookmark( 2, true );\n\t\t\t\t// There is an issue with Chrome and the editor.focus call in core at https://core.trac.wordpress.org/browser/trunk/src/js/_enqueues/lib/link.js#L451.\n\t\t\t\t// This causes a scroll to the top of editor content on return from some content updating dialogs so tracking\n\t\t\t\t// scroll position until this is fixed in core.\n\t\t\t\tconst scrollContainer = document.querySelector(\n\t\t\t\t\t'.interface-interface-skeleton__content'\n\t\t\t\t);\n\t\t\t\tconst scrollPosition = scrollContainer.scrollTop;\n\n\t\t\t\t// Only update attributes if we aren't multi-selecting blocks.\n\t\t\t\t// Updating during multi-selection can overwrite attributes of other blocks.\n\t\t\t\tif ( ! getMultiSelectedBlockClientIds()?.length ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: editor.getContent(),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\teditor.once( 'focus', () => {\n\t\t\t\t\tif ( bookmark ) {\n\t\t\t\t\t\teditor.selection.moveToBookmark( bookmark );\n\t\t\t\t\t\tif ( scrollContainer.scrollTop !== scrollPosition ) {\n\t\t\t\t\t\t\tscrollContainer.scrollTop = scrollPosition;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\teditor.on( 'mousedown touchstart', () => {\n\t\t\t\tbookmark = null;\n\t\t\t} );\n\n\t\t\tconst debouncedOnChange = debounce( () => {\n\t\t\t\tconst value = editor.getContent();\n\n\t\t\t\tif ( value !== editor._lastChange ) {\n\t\t\t\t\teditor._lastChange = value;\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}, 250 );\n\t\t\teditor.on( 'Paste Change input Undo Redo', debouncedOnChange );\n\n\t\t\t// We need to cancel the debounce call because when we remove\n\t\t\t// the editor (onUnmount) this callback is executed in\n\t\t\t// another tick. This results in setting the content to empty.\n\t\t\teditor.on( 'remove', debouncedOnChange.cancel );\n\n\t\t\teditor.on( 'keydown', ( event ) => {\n\t\t\t\tif ( isKeyboardEvent.primary( event, 'z' ) ) {\n\t\t\t\t\t// Prevent the gutenberg undo kicking in so TinyMCE undo stack works as expected.\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t( event.keyCode === BACKSPACE ||\n\t\t\t\t\t\tevent.keyCode === DELETE ) &&\n\t\t\t\t\tisTmceEmpty( editor )\n\t\t\t\t) {\n\t\t\t\t\t// Delete the block.\n\t\t\t\t\tonReplace( [] );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t}\n\n\t\t\t\tconst { altKey } = event;\n\t\t\t\t/*\n\t\t\t\t * Prevent Mousetrap from kicking in: TinyMCE already uses its own\n\t\t\t\t * `alt+f10` shortcut to focus its toolbar.\n\t\t\t\t */\n\t\t\t\tif ( altKey && event.keyCode === F10 ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\teditor.on( 'init', () => {\n\t\t\t\tconst rootNode = editor.getBody();\n\n\t\t\t\t// Create the toolbar by refocussing the editor.\n\t\t\t\tif ( rootNode.ownerDocument.activeElement === rootNode ) {\n\t\t\t\t\trootNode.blur();\n\t\t\t\t\teditor.focus();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tfunction initialize() {\n\t\t\tconst { settings } = window.wpEditorL10n.tinymce;\n\t\t\twp.oldEditor.initialize( `editor-${ clientId }`, {\n\t\t\t\ttinymce: {\n\t\t\t\t\t...settings,\n\t\t\t\t\tinline: true,\n\t\t\t\t\tcontent_css: false,\n\t\t\t\t\tfixed_toolbar_container: `#toolbar-${ clientId }`,\n\t\t\t\t\tsetup: onSetup,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tfunction onReadyStateChange() {\n\t\t\tif ( document.readyState === 'complete' ) {\n\t\t\t\tinitialize();\n\t\t\t}\n\t\t}\n\n\t\tif ( document.readyState === 'complete' ) {\n\t\t\tinitialize();\n\t\t} else {\n\t\t\tdocument.addEventListener( 'readystatechange', onReadyStateChange );\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\n\t\t\t\t'readystatechange',\n\t\t\t\tonReadyStateChange\n\t\t\t);\n\t\t\twp.oldEditor.remove( `editor-${ clientId }` );\n\t\t\tdidMount.current = false;\n\t\t};\n\t}, [] );\n\n\tfunction focus() {\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( editor ) {\n\t\t\teditor.focus();\n\t\t}\n\t}\n\n\tfunction onToolbarKeyDown( event ) {\n\t\t// Prevent WritingFlow from kicking in and allow arrows navigation on the toolbar.\n\t\tevent.stopPropagation();\n\t\t// Prevent Mousetrap from moving focus to the top toolbar when pressing `alt+f10` on this block toolbar.\n\t\tevent.nativeEvent.stopImmediatePropagation();\n\t}\n\n\t// Disable reasons:\n\t//\n\t// jsx-a11y/no-static-element-interactions\n\t// - the toolbar itself is non-interactive, but must capture events\n\t// from the KeyboardShortcuts component to stop their propagation.\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tkey=\"toolbar\"\n\t\t\t\tid={ `toolbar-${ clientId }` }\n\t\t\t\tclassName=\"block-library-classic__toolbar\"\n\t\t\t\tonClick={ focus }\n\t\t\t\tdata-placeholder={ __( 'Classic' ) }\n\t\t\t\tonKeyDown={ onToolbarKeyDown }\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tkey=\"editor\"\n\t\t\t\tid={ `editor-${ clientId }` }\n\t\t\t\tclassName=\"wp-block-freeform block-library-rich-text__tinymce\"\n\t\t\t/>\n\t\t</>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_blockEditor","require","_compose","_data","_components","_element","_i18n","_keycodes","_convertToBlocksButton","_interopRequireDefault","_modal","_jsxRuntime","wp","window","isTmceEmpty","editor","body","getBody","childNodes","length","test","innerText","textContent","FreeformEdit","props","clientId","canRemove","useSelect","select","blockEditorStore","canRemoveBlock","isIframed","setIsIframed","useState","ref","useRefEffect","element","ownerDocument","document","jsxs","Fragment","children","jsx","BlockControls","ToolbarGroup","default","useBlockProps","ClassicEdit","attributes","content","setAttributes","onReplace","getMultiSelectedBlockClientIds","didMountRef","useRef","useEffect","current","tinymce","get","currentContent","getContent","setContent","baseURL","suffix","wpEditorL10n","EditorManager","overrideDefaults","base_url","onSetup","bookmark","on","selection","getBookmark","scrollContainer","querySelector","scrollPosition","scrollTop","once","moveToBookmark","debouncedOnChange","debounce","value","_lastChange","cancel","event","isKeyboardEvent","primary","stopPropagation","keyCode","BACKSPACE","DELETE","preventDefault","stopImmediatePropagation","altKey","F10","rootNode","activeElement","blur","focus","initialize","settings","oldEditor","inline","content_css","fixed_toolbar_container","setup","onReadyStateChange","readyState","addEventListener","removeEventListener","remove","onToolbarKeyDown","nativeEvent","id","className","onClick","__","onKeyDown"],"sources":["@wordpress/block-library/src/freeform/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { debounce, useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { ToolbarGroup } from '@wordpress/components';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE, F10, isKeyboardEvent } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport ConvertToBlocksButton from './convert-to-blocks-button';\nimport ModalEdit from './modal';\n\nconst { wp } = window;\n\nfunction isTmceEmpty( editor ) {\n\t// When tinyMce is empty the content seems to be:\n\t// <p><br data-mce-bogus=\"1\"></p>\n\t// avoid expensive checks for large documents\n\tconst body = editor.getBody();\n\tif ( body.childNodes.length > 1 ) {\n\t\treturn false;\n\t} else if ( body.childNodes.length === 0 ) {\n\t\treturn true;\n\t}\n\tif ( body.childNodes[ 0 ].childNodes.length > 1 ) {\n\t\treturn false;\n\t}\n\treturn /^\\n?$/.test( body.innerText || body.textContent );\n}\n\nexport default function FreeformEdit( props ) {\n\tconst { clientId } = props;\n\tconst canRemove = useSelect(\n\t\t( select ) => select( blockEditorStore ).canRemoveBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst [ isIframed, setIsIframed ] = useState( false );\n\tconst ref = useRefEffect( ( element ) => {\n\t\tsetIsIframed( element.ownerDocument !== document );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t{ canRemove && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ConvertToBlocksButton clientId={ clientId } />\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<div { ...useBlockProps( { ref } ) }>\n\t\t\t\t{ isIframed ? (\n\t\t\t\t\t<ModalEdit { ...props } />\n\t\t\t\t) : (\n\t\t\t\t\t<ClassicEdit { ...props } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nfunction ClassicEdit( {\n\tclientId,\n\tattributes: { content },\n\tsetAttributes,\n\tonReplace,\n} ) {\n\tconst { getMultiSelectedBlockClientIds } = useSelect( blockEditorStore );\n\tconst didMountRef = useRef( false );\n\n\tuseEffect( () => {\n\t\tif ( ! didMountRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( ! editor ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentContent = editor.getContent();\n\t\tif ( currentContent !== content ) {\n\t\t\teditor.setContent( content || '' );\n\t\t}\n\t}, [ clientId, content ] );\n\n\tuseEffect( () => {\n\t\tconst { baseURL, suffix } = window.wpEditorL10n.tinymce;\n\n\t\tdidMountRef.current = true;\n\n\t\twindow.tinymce.EditorManager.overrideDefaults( {\n\t\t\tbase_url: baseURL,\n\t\t\tsuffix,\n\t\t} );\n\n\t\tfunction onSetup( editor ) {\n\t\t\tlet bookmark;\n\n\t\t\tif ( content ) {\n\t\t\t\teditor.on( 'loadContent', () => editor.setContent( content ) );\n\t\t\t}\n\n\t\t\teditor.on( 'blur', () => {\n\t\t\t\tbookmark = editor.selection.getBookmark( 2, true );\n\t\t\t\t// There is an issue with Chrome and the editor.focus call in core at https://core.trac.wordpress.org/browser/trunk/src/js/_enqueues/lib/link.js#L451.\n\t\t\t\t// This causes a scroll to the top of editor content on return from some content updating dialogs so tracking\n\t\t\t\t// scroll position until this is fixed in core.\n\t\t\t\tconst scrollContainer = document.querySelector(\n\t\t\t\t\t'.interface-interface-skeleton__content'\n\t\t\t\t);\n\t\t\t\tconst scrollPosition = scrollContainer.scrollTop;\n\n\t\t\t\t// Only update attributes if we aren't multi-selecting blocks.\n\t\t\t\t// Updating during multi-selection can overwrite attributes of other blocks.\n\t\t\t\tif ( ! getMultiSelectedBlockClientIds()?.length ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: editor.getContent(),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\teditor.once( 'focus', () => {\n\t\t\t\t\tif ( bookmark ) {\n\t\t\t\t\t\teditor.selection.moveToBookmark( bookmark );\n\t\t\t\t\t\tif ( scrollContainer.scrollTop !== scrollPosition ) {\n\t\t\t\t\t\t\tscrollContainer.scrollTop = scrollPosition;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\teditor.on( 'mousedown touchstart', () => {\n\t\t\t\tbookmark = null;\n\t\t\t} );\n\n\t\t\tconst debouncedOnChange = debounce( () => {\n\t\t\t\tconst value = editor.getContent();\n\n\t\t\t\tif ( value !== editor._lastChange ) {\n\t\t\t\t\teditor._lastChange = value;\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}, 250 );\n\t\t\teditor.on( 'Paste Change input Undo Redo', debouncedOnChange );\n\n\t\t\t// We need to cancel the debounce call because when we remove\n\t\t\t// the editor (onUnmount) this callback is executed in\n\t\t\t// another tick. This results in setting the content to empty.\n\t\t\teditor.on( 'remove', debouncedOnChange.cancel );\n\n\t\t\teditor.on( 'keydown', ( event ) => {\n\t\t\t\tif ( isKeyboardEvent.primary( event, 'z' ) ) {\n\t\t\t\t\t// Prevent the gutenberg undo kicking in so TinyMCE undo stack works as expected.\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t( event.keyCode === BACKSPACE ||\n\t\t\t\t\t\tevent.keyCode === DELETE ) &&\n\t\t\t\t\tisTmceEmpty( editor )\n\t\t\t\t) {\n\t\t\t\t\t// Delete the block.\n\t\t\t\t\tonReplace( [] );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t}\n\n\t\t\t\tconst { altKey } = event;\n\t\t\t\t/*\n\t\t\t\t * Prevent Mousetrap from kicking in: TinyMCE already uses its own\n\t\t\t\t * `alt+f10` shortcut to focus its toolbar.\n\t\t\t\t */\n\t\t\t\tif ( altKey && event.keyCode === F10 ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\teditor.on( 'init', () => {\n\t\t\t\tconst rootNode = editor.getBody();\n\n\t\t\t\t// Create the toolbar by refocussing the editor.\n\t\t\t\tif ( rootNode.ownerDocument.activeElement === rootNode ) {\n\t\t\t\t\trootNode.blur();\n\t\t\t\t\teditor.focus();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tfunction initialize() {\n\t\t\tconst { settings } = window.wpEditorL10n.tinymce;\n\t\t\twp.oldEditor.initialize( `editor-${ clientId }`, {\n\t\t\t\ttinymce: {\n\t\t\t\t\t...settings,\n\t\t\t\t\tinline: true,\n\t\t\t\t\tcontent_css: false,\n\t\t\t\t\tfixed_toolbar_container: `#toolbar-${ clientId }`,\n\t\t\t\t\tsetup: onSetup,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tfunction onReadyStateChange() {\n\t\t\tif ( document.readyState === 'complete' ) {\n\t\t\t\tinitialize();\n\t\t\t}\n\t\t}\n\n\t\tif ( document.readyState === 'complete' ) {\n\t\t\tinitialize();\n\t\t} else {\n\t\t\tdocument.addEventListener( 'readystatechange', onReadyStateChange );\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\n\t\t\t\t'readystatechange',\n\t\t\t\tonReadyStateChange\n\t\t\t);\n\t\t\twp.oldEditor.remove( `editor-${ clientId }` );\n\t\t\tdidMountRef.current = false;\n\t\t};\n\t}, [] );\n\n\tfunction focus() {\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( editor ) {\n\t\t\teditor.focus();\n\t\t}\n\t}\n\n\tfunction onToolbarKeyDown( event ) {\n\t\t// Prevent WritingFlow from kicking in and allow arrows navigation on the toolbar.\n\t\tevent.stopPropagation();\n\t\t// Prevent Mousetrap from moving focus to the top toolbar when pressing `alt+f10` on this block toolbar.\n\t\tevent.nativeEvent.stopImmediatePropagation();\n\t}\n\n\t// Disable reasons:\n\t//\n\t// jsx-a11y/no-static-element-interactions\n\t// - the toolbar itself is non-interactive, but must capture events\n\t// from the KeyboardShortcuts component to stop their propagation.\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tkey=\"toolbar\"\n\t\t\t\tid={ `toolbar-${ clientId }` }\n\t\t\t\tclassName=\"block-library-classic__toolbar\"\n\t\t\t\tonClick={ focus }\n\t\t\t\tdata-placeholder={ __( 'Classic' ) }\n\t\t\t\tonKeyDown={ onToolbarKeyDown }\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tkey=\"editor\"\n\t\t\t\tid={ `editor-${ clientId }` }\n\t\t\t\tclassName=\"wp-block-freeform block-library-rich-text__tinymce\"\n\t\t\t/>\n\t\t</>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n"],"mappings":"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","ignoreList":[]}
@@ -26,6 +26,7 @@ function ModalAuxiliaryActions({
26
26
  return null;
27
27
  }
28
28
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
29
+ size: "small",
29
30
  onClick: onClick,
30
31
  icon: _icons.fullscreen,
31
32
  isPressed: isModalFullScreen,
@@ -112,12 +113,14 @@ function ModalEdit(props) {
112
113
  expanded: false,
113
114
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
114
115
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
116
+ __next40pxDefaultSize: true,
115
117
  variant: "tertiary",
116
118
  onClick: onClose,
117
119
  children: (0, _i18n.__)('Cancel')
118
120
  })
119
121
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
120
122
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
123
+ __next40pxDefaultSize: true,
121
124
  variant: "primary",
122
125
  onClick: () => {
123
126
  setAttributes({
@@ -1 +1 @@
1
- {"version":3,"names":["_blockEditor","require","_components","_element","_i18n","_data","_icons","_compose","_jsxRuntime","ModalAuxiliaryActions","onClick","isModalFullScreen","isMobileViewport","useViewportMatch","jsx","Button","icon","fullscreen","isPressed","label","__","ClassicEdit","props","styles","useSelect","select","store","getSettings","useEffect","baseURL","suffix","settings","window","wpEditorL10n","tinymce","EditorManager","overrideDefaults","base_url","wp","oldEditor","initialize","id","setup","editor","on","doc","getDoc","forEach","css","styleEl","createElement","innerHTML","head","appendChild","remove","ModalEdit","clientId","attributes","content","setAttributes","onReplace","isOpen","setOpen","useState","setIsModalFullScreen","onClose","jsxs","Fragment","children","BlockControls","ToolbarGroup","ToolbarButton","RawHTML","Modal","title","onRequestClose","shouldCloseOnClickOutside","overlayClassName","isFullScreen","className","headerActions","defaultValue","Flex","justify","expanded","FlexItem","variant","getContent"],"sources":["@wordpress/block-library/src/freeform/modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockControls, store } from '@wordpress/block-editor';\nimport {\n\tToolbarGroup,\n\tToolbarButton,\n\tModal,\n\tButton,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { useEffect, useState, RawHTML } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { fullscreen } from '@wordpress/icons';\nimport { useViewportMatch } from '@wordpress/compose';\n\nfunction ModalAuxiliaryActions( { onClick, isModalFullScreen } ) {\n\t// 'small' to match the rules in editor.scss.\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tif ( isMobileViewport ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={ onClick }\n\t\t\ticon={ fullscreen }\n\t\t\tisPressed={ isModalFullScreen }\n\t\t\tlabel={\n\t\t\t\tisModalFullScreen\n\t\t\t\t\t? __( 'Exit fullscreen' )\n\t\t\t\t\t: __( 'Enter fullscreen' )\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction ClassicEdit( props ) {\n\tconst styles = useSelect(\n\t\t( select ) => select( store ).getSettings().styles\n\t);\n\tuseEffect( () => {\n\t\tconst { baseURL, suffix, settings } = window.wpEditorL10n.tinymce;\n\n\t\twindow.tinymce.EditorManager.overrideDefaults( {\n\t\t\tbase_url: baseURL,\n\t\t\tsuffix,\n\t\t} );\n\n\t\twindow.wp.oldEditor.initialize( props.id, {\n\t\t\ttinymce: {\n\t\t\t\t...settings,\n\t\t\t\tsetup( editor ) {\n\t\t\t\t\teditor.on( 'init', () => {\n\t\t\t\t\t\tconst doc = editor.getDoc();\n\t\t\t\t\t\tstyles.forEach( ( { css } ) => {\n\t\t\t\t\t\t\tconst styleEl = doc.createElement( 'style' );\n\t\t\t\t\t\t\tstyleEl.innerHTML = css;\n\t\t\t\t\t\t\tdoc.head.appendChild( styleEl );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t},\n\t\t\t},\n\t\t} );\n\n\t\treturn () => {\n\t\t\twindow.wp.oldEditor.remove( props.id );\n\t\t};\n\t}, [] );\n\n\treturn <textarea { ...props } />;\n}\n\nexport default function ModalEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes: { content },\n\t\tsetAttributes,\n\t\tonReplace,\n\t} = props;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst [ isModalFullScreen, setIsModalFullScreen ] = useState( false );\n\tconst id = `editor-${ clientId }`;\n\n\tconst onClose = () => ( content ? setOpen( false ) : onReplace( [] ) );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton onClick={ () => setOpen( true ) }>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ content && <RawHTML>{ content }</RawHTML> }\n\t\t\t{ ( isOpen || ! content ) && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Classic Editor' ) }\n\t\t\t\t\tonRequestClose={ onClose }\n\t\t\t\t\tshouldCloseOnClickOutside={ false }\n\t\t\t\t\toverlayClassName=\"block-editor-freeform-modal\"\n\t\t\t\t\tisFullScreen={ isModalFullScreen }\n\t\t\t\t\tclassName=\"block-editor-freeform-modal__content\"\n\t\t\t\t\theaderActions={\n\t\t\t\t\t\t<ModalAuxiliaryActions\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetIsModalFullScreen( ! isModalFullScreen )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisModalFullScreen={ isModalFullScreen }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ClassicEdit id={ id } defaultValue={ content } />\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tclassName=\"block-editor-freeform-modal__actions\"\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tcontent:\n\t\t\t\t\t\t\t\t\t\t\twindow.wp.oldEditor.getContent(\n\t\t\t\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\tsetOpen( false );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_blockEditor","require","_components","_element","_i18n","_data","_icons","_compose","_jsxRuntime","ModalAuxiliaryActions","onClick","isModalFullScreen","isMobileViewport","useViewportMatch","jsx","Button","size","icon","fullscreen","isPressed","label","__","ClassicEdit","props","styles","useSelect","select","store","getSettings","useEffect","baseURL","suffix","settings","window","wpEditorL10n","tinymce","EditorManager","overrideDefaults","base_url","wp","oldEditor","initialize","id","setup","editor","on","doc","getDoc","forEach","css","styleEl","createElement","innerHTML","head","appendChild","remove","ModalEdit","clientId","attributes","content","setAttributes","onReplace","isOpen","setOpen","useState","setIsModalFullScreen","onClose","jsxs","Fragment","children","BlockControls","ToolbarGroup","ToolbarButton","RawHTML","Modal","title","onRequestClose","shouldCloseOnClickOutside","overlayClassName","isFullScreen","className","headerActions","defaultValue","Flex","justify","expanded","FlexItem","__next40pxDefaultSize","variant","getContent"],"sources":["@wordpress/block-library/src/freeform/modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockControls, store } from '@wordpress/block-editor';\nimport {\n\tToolbarGroup,\n\tToolbarButton,\n\tModal,\n\tButton,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { useEffect, useState, RawHTML } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { fullscreen } from '@wordpress/icons';\nimport { useViewportMatch } from '@wordpress/compose';\n\nfunction ModalAuxiliaryActions( { onClick, isModalFullScreen } ) {\n\t// 'small' to match the rules in editor.scss.\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tif ( isMobileViewport ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tsize=\"small\"\n\t\t\tonClick={ onClick }\n\t\t\ticon={ fullscreen }\n\t\t\tisPressed={ isModalFullScreen }\n\t\t\tlabel={\n\t\t\t\tisModalFullScreen\n\t\t\t\t\t? __( 'Exit fullscreen' )\n\t\t\t\t\t: __( 'Enter fullscreen' )\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction ClassicEdit( props ) {\n\tconst styles = useSelect(\n\t\t( select ) => select( store ).getSettings().styles\n\t);\n\tuseEffect( () => {\n\t\tconst { baseURL, suffix, settings } = window.wpEditorL10n.tinymce;\n\n\t\twindow.tinymce.EditorManager.overrideDefaults( {\n\t\t\tbase_url: baseURL,\n\t\t\tsuffix,\n\t\t} );\n\n\t\twindow.wp.oldEditor.initialize( props.id, {\n\t\t\ttinymce: {\n\t\t\t\t...settings,\n\t\t\t\tsetup( editor ) {\n\t\t\t\t\teditor.on( 'init', () => {\n\t\t\t\t\t\tconst doc = editor.getDoc();\n\t\t\t\t\t\tstyles.forEach( ( { css } ) => {\n\t\t\t\t\t\t\tconst styleEl = doc.createElement( 'style' );\n\t\t\t\t\t\t\tstyleEl.innerHTML = css;\n\t\t\t\t\t\t\tdoc.head.appendChild( styleEl );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t},\n\t\t\t},\n\t\t} );\n\n\t\treturn () => {\n\t\t\twindow.wp.oldEditor.remove( props.id );\n\t\t};\n\t}, [] );\n\n\treturn <textarea { ...props } />;\n}\n\nexport default function ModalEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes: { content },\n\t\tsetAttributes,\n\t\tonReplace,\n\t} = props;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst [ isModalFullScreen, setIsModalFullScreen ] = useState( false );\n\tconst id = `editor-${ clientId }`;\n\n\tconst onClose = () => ( content ? setOpen( false ) : onReplace( [] ) );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton onClick={ () => setOpen( true ) }>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ content && <RawHTML>{ content }</RawHTML> }\n\t\t\t{ ( isOpen || ! content ) && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Classic Editor' ) }\n\t\t\t\t\tonRequestClose={ onClose }\n\t\t\t\t\tshouldCloseOnClickOutside={ false }\n\t\t\t\t\toverlayClassName=\"block-editor-freeform-modal\"\n\t\t\t\t\tisFullScreen={ isModalFullScreen }\n\t\t\t\t\tclassName=\"block-editor-freeform-modal__content\"\n\t\t\t\t\theaderActions={\n\t\t\t\t\t\t<ModalAuxiliaryActions\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetIsModalFullScreen( ! isModalFullScreen )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisModalFullScreen={ isModalFullScreen }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ClassicEdit id={ id } defaultValue={ content } />\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tclassName=\"block-editor-freeform-modal__actions\"\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tcontent:\n\t\t\t\t\t\t\t\t\t\t\twindow.wp.oldEditor.getContent(\n\t\t\t\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\tsetOpen( false );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -26,15 +26,9 @@ function HomeEdit({
26
26
  setAttributes,
27
27
  context
28
28
  }) {
29
- const {
30
- homeUrl
31
- } = (0, _data.useSelect)(select => {
32
- const {
33
- getUnstableBase // Site index.
34
- } = select(_coreData.store);
35
- return {
36
- homeUrl: getUnstableBase()?.home
37
- };
29
+ const homeUrl = (0, _data.useSelect)(select => {
30
+ // Site index.
31
+ return select(_coreData.store).getEntityRecord('root', '__unstableBase')?.home;
38
32
  }, []);
39
33
  const {
40
34
  __unstableMarkNextChangeAsNotPersistent
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_blockEditor","_i18n","_data","_coreData","_element","_jsxRuntime","preventDefault","event","HomeEdit","attributes","setAttributes","context","homeUrl","useSelect","select","getUnstableBase","coreStore","home","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","textColor","backgroundColor","style","blockProps","useBlockProps","className","clsx","color","text","background","label","useEffect","undefined","__","jsx","Fragment","children","href","onClick","RichText","identifier","value","onChange","labelValue","placeholder","withoutInteractiveFormatting","allowedFormats"],"sources":["@wordpress/block-library/src/home-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect } from '@wordpress/element';\n\nconst preventDefault = ( event ) => event.preventDefault();\n\nexport default function HomeEdit( { attributes, setAttributes, context } ) {\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { textColor, backgroundColor, style } = context;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-navigation-item', {\n\t\t\t'has-text-color': !! textColor || !! style?.color?.text,\n\t\t\t[ `has-${ textColor }-color` ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || !! style?.color?.background,\n\t\t\t[ `has-${ backgroundColor }-background-color` ]: !! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: style?.color?.text,\n\t\t\tbackgroundColor: style?.color?.background,\n\t\t},\n\t} );\n\n\tconst { label } = attributes;\n\n\tuseEffect( () => {\n\t\tif ( label === undefined ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { label: __( 'Home' ) } );\n\t\t}\n\t}, [ label ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<a\n\t\t\t\t\tclassName=\"wp-block-home-link__content wp-block-navigation-item__content\"\n\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\tonClick={ preventDefault }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\tclassName=\"wp-block-home-link__label\"\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\taria-label={ __( 'Home link text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add home link' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_blockEditor","_i18n","_data","_coreData","_element","_jsxRuntime","preventDefault","event","HomeEdit","attributes","setAttributes","context","homeUrl","useSelect","select","coreStore","getEntityRecord","home","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","textColor","backgroundColor","style","blockProps","useBlockProps","className","clsx","color","text","background","label","useEffect","undefined","__","jsx","Fragment","children","href","onClick","RichText","identifier","value","onChange","labelValue","placeholder","withoutInteractiveFormatting","allowedFormats"],"sources":["@wordpress/block-library/src/home-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect } from '@wordpress/element';\n\nconst preventDefault = ( event ) => event.preventDefault();\n\nexport default function HomeEdit( { attributes, setAttributes, context } ) {\n\tconst homeUrl = useSelect( ( select ) => {\n\t\t// Site index.\n\t\treturn select( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t?.home;\n\t}, [] );\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { textColor, backgroundColor, style } = context;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-navigation-item', {\n\t\t\t'has-text-color': !! textColor || !! style?.color?.text,\n\t\t\t[ `has-${ textColor }-color` ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || !! style?.color?.background,\n\t\t\t[ `has-${ backgroundColor }-background-color` ]: !! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: style?.color?.text,\n\t\t\tbackgroundColor: style?.color?.background,\n\t\t},\n\t} );\n\n\tconst { label } = attributes;\n\n\tuseEffect( () => {\n\t\tif ( label === undefined ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { label: __( 'Home' ) } );\n\t\t}\n\t}, [ label ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<a\n\t\t\t\t\tclassName=\"wp-block-home-link__content wp-block-navigation-item__content\"\n\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\tonClick={ preventDefault }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\tclassName=\"wp-block-home-link__label\"\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\taria-label={ __( 'Home link text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add home link' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,9 +16,12 @@ var _element = require("@wordpress/element");
16
16
  var _i18n = require("@wordpress/i18n");
17
17
  var _icons = require("@wordpress/icons");
18
18
  var _notices = require("@wordpress/notices");
19
+ var _compose = require("@wordpress/compose");
19
20
  var _lockUnlock = require("../lock-unlock");
20
21
  var _hooks = require("../utils/hooks");
21
22
  var _image = _interopRequireDefault(require("./image"));
23
+ var _utils = require("./utils");
24
+ var _useMaxWidthObserver = require("./use-max-width-observer");
22
25
  var _constants = require("./constants");
23
26
  var _jsxRuntime = require("react/jsx-runtime");
24
27
  /**
@@ -94,6 +97,16 @@ function ImageEdit({
94
97
  metadata
95
98
  } = attributes;
96
99
  const [temporaryURL, setTemporaryURL] = (0, _element.useState)(attributes.blob);
100
+ const containerRef = (0, _element.useRef)();
101
+ // Only observe the max width from the parent container when the parent layout is not flex nor grid.
102
+ // This won't work for them because the container width changes with the image.
103
+ // TODO: Find a way to observe the container width for flex and grid layouts.
104
+ const isMaxWidthContainerWidth = !parentLayout || parentLayout.type !== 'flex' && parentLayout.type !== 'grid';
105
+ const [maxWidthObserver, maxContentWidth] = (0, _useMaxWidthObserver.useMaxWidthObserver)();
106
+ const [placeholderResizeListener, {
107
+ width: placeholderWidth
108
+ }] = (0, _compose.useResizeObserver)();
109
+ const isSmallContainer = placeholderWidth && placeholderWidth < 160;
97
110
  const altRef = (0, _element.useRef)();
98
111
  (0, _element.useEffect)(() => {
99
112
  altRef.current = alt;
@@ -103,7 +116,8 @@ function ImageEdit({
103
116
  captionRef.current = caption;
104
117
  }, [caption]);
105
118
  const {
106
- __unstableMarkNextChangeAsNotPersistent
119
+ __unstableMarkNextChangeAsNotPersistent,
120
+ replaceBlock
107
121
  } = (0, _data.useDispatch)(_blockEditor.store);
108
122
  (0, _element.useEffect)(() => {
109
123
  if (['wide', 'full'].includes(align)) {
@@ -117,7 +131,10 @@ function ImageEdit({
117
131
  }
118
132
  }, [__unstableMarkNextChangeAsNotPersistent, align, setAttributes]);
119
133
  const {
120
- getSettings
134
+ getSettings,
135
+ getBlockRootClientId,
136
+ getBlockName,
137
+ canInsertBlockType
121
138
  } = (0, _data.useSelect)(_blockEditor.store);
122
139
  const blockEditingMode = (0, _blockEditor.useBlockEditingMode)();
123
140
  const {
@@ -134,7 +151,35 @@ function ImageEdit({
134
151
  blob: undefined
135
152
  });
136
153
  }
154
+ function onSelectImagesList(images) {
155
+ const win = containerRef.current?.ownerDocument.defaultView;
156
+ if (images.every(file => file instanceof win.File)) {
157
+ /** @type {File[]} */
158
+ const files = images;
159
+ const rootClientId = getBlockRootClientId(clientId);
160
+ if (files.some(file => !(0, _utils.isValidFileType)(file))) {
161
+ // Copied from the same notice in the gallery block.
162
+ createErrorNotice((0, _i18n.__)('If uploading to a gallery all files need to be image formats'), {
163
+ id: 'gallery-upload-invalid-file',
164
+ type: 'snackbar'
165
+ });
166
+ }
167
+ const imageBlocks = files.filter(file => (0, _utils.isValidFileType)(file)).map(file => (0, _blocks.createBlock)('core/image', {
168
+ blob: (0, _blob.createBlobURL)(file)
169
+ }));
170
+ if (getBlockName(rootClientId) === 'core/gallery') {
171
+ replaceBlock(clientId, imageBlocks);
172
+ } else if (canInsertBlockType('core/gallery', rootClientId)) {
173
+ const galleryBlock = (0, _blocks.createBlock)('core/gallery', {}, imageBlocks);
174
+ replaceBlock(clientId, galleryBlock);
175
+ }
176
+ }
177
+ }
137
178
  function onSelectImage(media) {
179
+ if (Array.isArray(media)) {
180
+ onSelectImagesList(media);
181
+ return;
182
+ }
138
183
  if (!media || !media.url) {
139
184
  setAttributes({
140
185
  url: undefined,
@@ -265,6 +310,7 @@ function ImageEdit({
265
310
  'has-custom-border': !!borderProps.className || borderProps.style && Object.keys(borderProps.style).length > 0
266
311
  });
267
312
  const blockProps = (0, _blockEditor.useBlockProps)({
313
+ ref: containerRef,
268
314
  className: classes
269
315
  });
270
316
 
@@ -286,16 +332,16 @@ function ImageEdit({
286
332
  lockUrlControlsMessage: blockBindingsSource?.label ? (0, _i18n.sprintf)( /* translators: %s: Label of the bindings source. */
287
333
  (0, _i18n.__)('Connected to %s'), blockBindingsSource.label) : (0, _i18n.__)('Connected to dynamic data')
288
334
  };
289
- }, [isSingleSelected, metadata?.bindings?.url]);
335
+ }, [context, isSingleSelected, metadata?.bindings?.url]);
290
336
  const placeholder = content => {
291
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Placeholder, {
337
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Placeholder, {
292
338
  className: (0, _clsx.default)('block-editor-media-placeholder', {
293
339
  [borderProps.className]: !!borderProps.className && !isSingleSelected
294
340
  }),
295
- withIllustration: true,
296
- icon: lockUrlControls ? _icons.plugins : _icons.image,
297
- label: (0, _i18n.__)('Image'),
298
- instructions: !lockUrlControls && (0, _i18n.__)('Upload an image file, pick one from your media library, or add one with a URL.'),
341
+ icon: !isSmallContainer && (lockUrlControls ? _icons.plugins : _icons.image),
342
+ withIllustration: !isSingleSelected || isSmallContainer,
343
+ label: !isSmallContainer && (0, _i18n.__)('Image'),
344
+ instructions: !lockUrlControls && !isSmallContainer && (0, _i18n.__)('Upload or drag an image file here, or pick one from your library.'),
299
345
  style: {
300
346
  aspectRatio: !(width && height) && aspectRatio ? aspectRatio : undefined,
301
347
  width: height && aspectRatio ? '100%' : width,
@@ -304,45 +350,49 @@ function ImageEdit({
304
350
  ...borderProps.style,
305
351
  ...shadowProps.style
306
352
  },
307
- children: lockUrlControls ? /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
308
- className: "block-bindings-media-placeholder-message",
309
- children: lockUrlControlsMessage
310
- }) : content
353
+ children: [lockUrlControls && !isSmallContainer && lockUrlControlsMessage, !lockUrlControls && !isSmallContainer && content, placeholderResizeListener]
311
354
  });
312
355
  };
313
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("figure", {
314
- ...blockProps,
315
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_image.default, {
316
- temporaryURL: temporaryURL,
317
- attributes: attributes,
318
- setAttributes: setAttributes,
319
- isSingleSelected: isSingleSelected,
320
- insertBlocksAfter: insertBlocksAfter,
321
- onReplace: onReplace,
322
- onSelectImage: onSelectImage,
323
- onSelectURL: onSelectURL,
324
- onUploadError: onUploadError,
325
- context: context,
326
- clientId: clientId,
327
- blockEditingMode: blockEditingMode,
328
- parentLayoutType: parentLayout?.type
329
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.MediaPlaceholder, {
330
- icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.BlockIcon, {
331
- icon: _icons.image
332
- }),
333
- onSelect: onSelectImage,
334
- onSelectURL: onSelectURL,
335
- onError: onUploadError,
336
- placeholder: placeholder,
337
- accept: "image/*",
338
- allowedTypes: _constants.ALLOWED_MEDIA_TYPES,
339
- value: {
340
- id,
341
- src
342
- },
343
- mediaPreview: mediaPreview,
344
- disableMediaButtons: temporaryURL || url
345
- })]
356
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
357
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("figure", {
358
+ ...blockProps,
359
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_image.default, {
360
+ temporaryURL: temporaryURL,
361
+ attributes: attributes,
362
+ setAttributes: setAttributes,
363
+ isSingleSelected: isSingleSelected,
364
+ insertBlocksAfter: insertBlocksAfter,
365
+ onReplace: onReplace,
366
+ onSelectImage: onSelectImage,
367
+ onSelectURL: onSelectURL,
368
+ onUploadError: onUploadError,
369
+ context: context,
370
+ clientId: clientId,
371
+ blockEditingMode: blockEditingMode,
372
+ parentLayoutType: parentLayout?.type,
373
+ maxContentWidth: maxContentWidth
374
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.MediaPlaceholder, {
375
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.BlockIcon, {
376
+ icon: _icons.image
377
+ }),
378
+ onSelect: onSelectImage,
379
+ onSelectURL: onSelectURL,
380
+ onError: onUploadError,
381
+ placeholder: placeholder,
382
+ accept: "image/*",
383
+ allowedTypes: _constants.ALLOWED_MEDIA_TYPES,
384
+ handleUpload: files => files.length === 1,
385
+ value: {
386
+ id,
387
+ src
388
+ },
389
+ mediaPreview: mediaPreview,
390
+ disableMediaButtons: temporaryURL || url
391
+ })]
392
+ }),
393
+ // The listener cannot be placed as the first element as it will break the in-between inserter.
394
+ // See https://github.com/WordPress/gutenberg/blob/71134165868298fc15e22896d0c28b41b3755ff7/packages/block-editor/src/components/block-list/use-in-between-inserter.js#L120
395
+ isSingleSelected && isMaxWidthContainerWidth && maxWidthObserver]
346
396
  });
347
397
  }
348
398
  var _default = exports.default = ImageEdit;