@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
@@ -21,6 +21,7 @@ import { getAuthority } from '@wordpress/url';
21
21
  * Internal dependencies
22
22
  */
23
23
  import WpEmbedPreview from './wp-embed-preview';
24
+ import { Caption } from '../utils/caption';
24
25
  import { jsx as _jsx } from "react/jsx-runtime";
25
26
  import { jsxs as _jsxs } from "react/jsx-runtime";
26
27
  class EmbedPreview extends Component {
@@ -60,7 +61,11 @@ class EmbedPreview extends Component {
60
61
  type,
61
62
  className,
62
63
  icon,
63
- label
64
+ label,
65
+ insertBlocksAfter,
66
+ attributes,
67
+ setAttributes,
68
+ isSelected
64
69
  } = this.props;
65
70
  const {
66
71
  scripts
@@ -96,11 +101,11 @@ class EmbedPreview extends Component {
96
101
  });
97
102
  /* eslint-enable jsx-a11y/no-static-element-interactions */
98
103
 
99
- return /*#__PURE__*/_jsx("figure", {
104
+ return /*#__PURE__*/_jsxs("figure", {
100
105
  className: clsx(className, 'wp-block-embed', {
101
106
  'is-type-video': 'video' === type
102
107
  }),
103
- children: previewable ? embedWrapper : /*#__PURE__*/_jsxs(Placeholder, {
108
+ children: [previewable ? embedWrapper : /*#__PURE__*/_jsxs(Placeholder, {
104
109
  icon: /*#__PURE__*/_jsx(BlockIcon, {
105
110
  icon: icon,
106
111
  showColors: true
@@ -117,7 +122,14 @@ class EmbedPreview extends Component {
117
122
  children: sprintf( /* translators: %s: host providing embed content e.g: www.youtube.com */
118
123
  __("Embedded content from %s can't be previewed in the editor."), embedSourceUrl)
119
124
  })]
120
- })
125
+ }), /*#__PURE__*/_jsx(Caption, {
126
+ attributes: attributes,
127
+ setAttributes: setAttributes,
128
+ isSelected: isSelected,
129
+ insertBlocksAfter: insertBlocksAfter,
130
+ label: __('Embed caption text'),
131
+ showToolbarButton: isSelected
132
+ })]
121
133
  });
122
134
  }
123
135
  }
@@ -1 +1 @@
1
- {"version":3,"names":["getPhotoHtml","clsx","__","sprintf","Placeholder","SandBox","BlockIcon","Component","getAuthority","WpEmbedPreview","jsx","_jsx","jsxs","_jsxs","EmbedPreview","constructor","arguments","hideOverlay","bind","state","interactive","getDerivedStateFromProps","nextProps","isSelected","setState","render","preview","previewable","url","type","className","icon","label","props","scripts","html","embedSourceUrl","iframeTitle","sandboxClassnames","embedWrapper","children","title","onFocus","onMouseUp","showColors","href"],"sources":["@wordpress/block-library/src/embed/embed-preview.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { getPhotoHtml } from './util';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Placeholder, SandBox } from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport { getAuthority } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport WpEmbedPreview from './wp-embed-preview';\n\nclass EmbedPreview extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.hideOverlay = this.hideOverlay.bind( this );\n\t\tthis.state = {\n\t\t\tinteractive: false,\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromProps( nextProps, state ) {\n\t\tif ( ! nextProps.isSelected && state.interactive ) {\n\t\t\t// We only want to change this when the block is not selected, because changing it when\n\t\t\t// the block becomes selected makes the overlap disappear too early. Hiding the overlay\n\t\t\t// happens on mouseup when the overlay is clicked.\n\t\t\treturn { interactive: false };\n\t\t}\n\n\t\treturn null;\n\t}\n\n\thideOverlay() {\n\t\t// This is called onMouseUp on the overlay. We can't respond to the `isSelected` prop\n\t\t// changing, because that happens on mouse down, and the overlay immediately disappears,\n\t\t// and the mouse event can end up in the preview content. We can't use onClick on\n\t\t// the overlay to hide it either, because then the editor misses the mouseup event, and\n\t\t// thinks we're multi-selecting blocks.\n\t\tthis.setState( { interactive: true } );\n\t}\n\n\trender() {\n\t\tconst { preview, previewable, url, type, className, icon, label } =\n\t\t\tthis.props;\n\t\tconst { scripts } = preview;\n\t\tconst { interactive } = this.state;\n\n\t\tconst html = 'photo' === type ? getPhotoHtml( preview ) : preview.html;\n\t\tconst embedSourceUrl = getAuthority( url );\n\t\tconst iframeTitle = sprintf(\n\t\t\t// translators: %s: host providing embed content e.g: www.youtube.com\n\t\t\t__( 'Embedded content from %s' ),\n\t\t\tembedSourceUrl\n\t\t);\n\t\tconst sandboxClassnames = clsx(\n\t\t\ttype,\n\t\t\tclassName,\n\t\t\t'wp-block-embed__wrapper'\n\t\t);\n\n\t\t// Disabled because the overlay div doesn't actually have a role or functionality\n\t\t// as far as the user is concerned. We're just catching the first click so that\n\t\t// the block can be selected without interacting with the embed preview that the overlay covers.\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\tconst embedWrapper =\n\t\t\t'wp-embed' === type ? (\n\t\t\t\t<WpEmbedPreview html={ html } />\n\t\t\t) : (\n\t\t\t\t<div className=\"wp-block-embed__wrapper\">\n\t\t\t\t\t<SandBox\n\t\t\t\t\t\thtml={ html }\n\t\t\t\t\t\tscripts={ scripts }\n\t\t\t\t\t\ttitle={ iframeTitle }\n\t\t\t\t\t\ttype={ sandboxClassnames }\n\t\t\t\t\t\tonFocus={ this.hideOverlay }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! interactive && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"block-library-embed__interactive-overlay\"\n\t\t\t\t\t\t\tonMouseUp={ this.hideOverlay }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ clsx( className, 'wp-block-embed', {\n\t\t\t\t\t'is-type-video': 'video' === type,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ previewable ? (\n\t\t\t\t\tembedWrapper\n\t\t\t\t) : (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t>\n\t\t\t\t\t\t<p className=\"components-placeholder__error\">\n\t\t\t\t\t\t\t<a href={ url }>{ url }</a>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<p className=\"components-placeholder__error\">\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: host providing embed content e.g: www.youtube.com */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\"Embedded content from %s can't be previewed in the editor.\"\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tembedSourceUrl\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</Placeholder>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t}\n}\n\nexport default EmbedPreview;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getPhotoHtml","clsx","__","sprintf","Placeholder","SandBox","BlockIcon","Component","getAuthority","WpEmbedPreview","Caption","jsx","_jsx","jsxs","_jsxs","EmbedPreview","constructor","arguments","hideOverlay","bind","state","interactive","getDerivedStateFromProps","nextProps","isSelected","setState","render","preview","previewable","url","type","className","icon","label","insertBlocksAfter","attributes","setAttributes","props","scripts","html","embedSourceUrl","iframeTitle","sandboxClassnames","embedWrapper","children","title","onFocus","onMouseUp","showColors","href","showToolbarButton"],"sources":["@wordpress/block-library/src/embed/embed-preview.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { getPhotoHtml } from './util';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Placeholder, SandBox } from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport { getAuthority } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport WpEmbedPreview from './wp-embed-preview';\nimport { Caption } from '../utils/caption';\n\nclass EmbedPreview extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.hideOverlay = this.hideOverlay.bind( this );\n\t\tthis.state = {\n\t\t\tinteractive: false,\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromProps( nextProps, state ) {\n\t\tif ( ! nextProps.isSelected && state.interactive ) {\n\t\t\t// We only want to change this when the block is not selected, because changing it when\n\t\t\t// the block becomes selected makes the overlap disappear too early. Hiding the overlay\n\t\t\t// happens on mouseup when the overlay is clicked.\n\t\t\treturn { interactive: false };\n\t\t}\n\n\t\treturn null;\n\t}\n\n\thideOverlay() {\n\t\t// This is called onMouseUp on the overlay. We can't respond to the `isSelected` prop\n\t\t// changing, because that happens on mouse down, and the overlay immediately disappears,\n\t\t// and the mouse event can end up in the preview content. We can't use onClick on\n\t\t// the overlay to hide it either, because then the editor misses the mouseup event, and\n\t\t// thinks we're multi-selecting blocks.\n\t\tthis.setState( { interactive: true } );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tpreview,\n\t\t\tpreviewable,\n\t\t\turl,\n\t\t\ttype,\n\t\t\tclassName,\n\t\t\ticon,\n\t\t\tlabel,\n\t\t\tinsertBlocksAfter,\n\t\t\tattributes,\n\t\t\tsetAttributes,\n\t\t\tisSelected,\n\t\t} = this.props;\n\t\tconst { scripts } = preview;\n\t\tconst { interactive } = this.state;\n\n\t\tconst html = 'photo' === type ? getPhotoHtml( preview ) : preview.html;\n\t\tconst embedSourceUrl = getAuthority( url );\n\t\tconst iframeTitle = sprintf(\n\t\t\t// translators: %s: host providing embed content e.g: www.youtube.com\n\t\t\t__( 'Embedded content from %s' ),\n\t\t\tembedSourceUrl\n\t\t);\n\t\tconst sandboxClassnames = clsx(\n\t\t\ttype,\n\t\t\tclassName,\n\t\t\t'wp-block-embed__wrapper'\n\t\t);\n\n\t\t// Disabled because the overlay div doesn't actually have a role or functionality\n\t\t// as far as the user is concerned. We're just catching the first click so that\n\t\t// the block can be selected without interacting with the embed preview that the overlay covers.\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\tconst embedWrapper =\n\t\t\t'wp-embed' === type ? (\n\t\t\t\t<WpEmbedPreview html={ html } />\n\t\t\t) : (\n\t\t\t\t<div className=\"wp-block-embed__wrapper\">\n\t\t\t\t\t<SandBox\n\t\t\t\t\t\thtml={ html }\n\t\t\t\t\t\tscripts={ scripts }\n\t\t\t\t\t\ttitle={ iframeTitle }\n\t\t\t\t\t\ttype={ sandboxClassnames }\n\t\t\t\t\t\tonFocus={ this.hideOverlay }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! interactive && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"block-library-embed__interactive-overlay\"\n\t\t\t\t\t\t\tonMouseUp={ this.hideOverlay }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ clsx( className, 'wp-block-embed', {\n\t\t\t\t\t'is-type-video': 'video' === type,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ previewable ? (\n\t\t\t\t\tembedWrapper\n\t\t\t\t) : (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t>\n\t\t\t\t\t\t<p className=\"components-placeholder__error\">\n\t\t\t\t\t\t\t<a href={ url }>{ url }</a>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<p className=\"components-placeholder__error\">\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: host providing embed content e.g: www.youtube.com */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\"Embedded content from %s can't be previewed in the editor.\"\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tembedSourceUrl\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</Placeholder>\n\t\t\t\t) }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Embed caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t);\n\t}\n}\n\nexport default EmbedPreview;\n"],"mappings":"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","ignoreList":[]}
@@ -99,6 +99,16 @@ function FileEdit({
99
99
  }, []);
100
100
  function onSelectFile(newMedia) {
101
101
  if (!newMedia || !newMedia.url) {
102
+ // Reset attributes.
103
+ setAttributes({
104
+ href: undefined,
105
+ fileName: undefined,
106
+ textLinkHref: undefined,
107
+ id: undefined,
108
+ fileId: undefined,
109
+ displayPreview: undefined,
110
+ previewHeight: undefined
111
+ });
102
112
  setTemporaryURL();
103
113
  return;
104
114
  }
@@ -210,7 +220,8 @@ function FileEdit({
210
220
  mediaURL: href,
211
221
  accept: "*",
212
222
  onSelect: onSelectFile,
213
- onError: onUploadError
223
+ onError: onUploadError,
224
+ onReset: () => onSelectFile(undefined)
214
225
  }), /*#__PURE__*/_jsx(ClipboardToolbarButton, {
215
226
  text: href,
216
227
  disabled: isBlobURL(href)
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","isBlobURL","__unstableGetAnimateClassName","getAnimateClassName","ResizableBox","ToolbarButton","useSelect","useDispatch","BlockControls","BlockIcon","MediaPlaceholder","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useEffect","useState","useCopyToClipboard","__","_x","file","icon","coreStore","noticesStore","FileBlockInspector","browserSupportsPdfs","removeAnchorTag","useUploadMediaFromBlobURL","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MIN_PREVIEW_HEIGHT","MAX_PREVIEW_HEIGHT","ClipboardToolbarButton","text","disabled","createNotice","ref","isDismissible","type","className","children","FileEdit","attributes","isSelected","setAttributes","clientId","id","fileName","href","textLinkHref","textLinkTarget","showDownloadButton","downloadButtonText","displayPreview","previewHeight","temporaryURL","setTemporaryURL","blob","media","select","undefined","getMedia","createErrorNotice","toggleSelection","__unstableMarkNextChangeAsNotPersistent","url","onChange","onSelectFile","onError","onUploadError","isEmpty","newMedia","isPdf","endsWith","title","fileId","message","changeLinkDestinationOption","newHref","changeOpenInNewWindow","newValue","changeShowDownloadButton","changeDisplayPreview","handleOnResizeStop","event","direction","elt","delta","newHeight","parseInt","height","changePreviewHeight","Math","max","attachmentPage","link","blockProps","displayPreviewInEditor","labels","instructions","onSelect","accept","hrefs","openInNewWindow","group","mediaId","mediaURL","size","minHeight","maxHeight","minWidth","grid","enable","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","onResizeStart","onResizeStop","showHandle","data","identifier","tagName","value","placeholder","withoutInteractiveFormatting"],"sources":["@wordpress/block-library/src/file/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\t__unstableGetAnimateClassName as getAnimateClassName,\n\tResizableBox,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useEffect, useState } from '@wordpress/element';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { __, _x } from '@wordpress/i18n';\nimport { file as icon } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport FileBlockInspector from './inspector';\nimport { browserSupportsPdfs } from './utils';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\n\nexport const MIN_PREVIEW_HEIGHT = 200;\nexport const MAX_PREVIEW_HEIGHT = 2000;\n\nfunction ClipboardToolbarButton( { text, disabled } ) {\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst ref = useCopyToClipboard( text, () => {\n\t\tcreateNotice( 'info', __( 'Copied URL to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\n\treturn (\n\t\t<ToolbarButton\n\t\t\tclassName=\"components-clipboard-toolbar-button\"\n\t\t\tref={ ref }\n\t\t\tdisabled={ disabled }\n\t\t>\n\t\t\t{ __( 'Copy URL' ) }\n\t\t</ToolbarButton>\n\t);\n}\n\nfunction FileEdit( { attributes, isSelected, setAttributes, clientId } ) {\n\tconst {\n\t\tid,\n\t\tfileName,\n\t\thref,\n\t\ttextLinkHref,\n\t\ttextLinkTarget,\n\t\tshowDownloadButton,\n\t\tdownloadButtonText,\n\t\tdisplayPreview,\n\t\tpreviewHeight,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\tconst { media } = useSelect(\n\t\t( select ) => ( {\n\t\t\tmedia:\n\t\t\t\tid === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: select( coreStore ).getMedia( id ),\n\t\t} ),\n\t\t[ id ]\n\t);\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { toggleSelection, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tonChange: onSelectFile,\n\t\tonError: onUploadError,\n\t} );\n\n\t// Note: Handle setting a default value for `downloadButtonText` via HTML API\n\t// when it supports replacing text content for HTML tags.\n\tuseEffect( () => {\n\t\tif ( RichText.isEmpty( downloadButtonText ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tdownloadButtonText: _x( 'Download', 'button label' ),\n\t\t\t} );\n\t\t}\n\t\t// Reason: This effect should only run on mount.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tfunction onSelectFile( newMedia ) {\n\t\tif ( ! newMedia || ! newMedia.url ) {\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( newMedia.url ) ) {\n\t\t\tsetTemporaryURL( newMedia.url );\n\t\t\treturn;\n\t\t}\n\n\t\tconst isPdf = newMedia.url.endsWith( '.pdf' );\n\t\tsetAttributes( {\n\t\t\thref: newMedia.url,\n\t\t\tfileName: newMedia.title,\n\t\t\ttextLinkHref: newMedia.url,\n\t\t\tid: newMedia.id,\n\t\t\tdisplayPreview: isPdf ? true : undefined,\n\t\t\tpreviewHeight: isPdf ? 600 : undefined,\n\t\t\tfileId: `wp-block-file--media-${ clientId }`,\n\t\t\tblob: undefined,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tsetAttributes( { href: undefined } );\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction changeLinkDestinationOption( newHref ) {\n\t\t// Choose Media File or Attachment Page (when file is in Media Library).\n\t\tsetAttributes( { textLinkHref: newHref } );\n\t}\n\n\tfunction changeOpenInNewWindow( newValue ) {\n\t\tsetAttributes( {\n\t\t\ttextLinkTarget: newValue ? '_blank' : false,\n\t\t} );\n\t}\n\n\tfunction changeShowDownloadButton( newValue ) {\n\t\tsetAttributes( { showDownloadButton: newValue } );\n\t}\n\n\tfunction changeDisplayPreview( newValue ) {\n\t\tsetAttributes( { displayPreview: newValue } );\n\t}\n\n\tfunction handleOnResizeStop( event, direction, elt, delta ) {\n\t\ttoggleSelection( true );\n\n\t\tconst newHeight = parseInt( previewHeight + delta.height, 10 );\n\t\tsetAttributes( { previewHeight: newHeight } );\n\t}\n\n\tfunction changePreviewHeight( newValue ) {\n\t\tconst newHeight = Math.max(\n\t\t\tparseInt( newValue, 10 ),\n\t\t\tMIN_PREVIEW_HEIGHT\n\t\t);\n\t\tsetAttributes( { previewHeight: newHeight } );\n\t}\n\n\tconst attachmentPage = media && media.link;\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx(\n\t\t\t!! temporaryURL && getAnimateClassName( { type: 'loading' } ),\n\t\t\t{\n\t\t\t\t'is-transient': !! temporaryURL,\n\t\t\t}\n\t\t),\n\t} );\n\n\tconst displayPreviewInEditor = browserSupportsPdfs() && displayPreview;\n\n\tif ( ! href && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'File' ),\n\t\t\t\t\t\tinstructions: __(\n\t\t\t\t\t\t\t'Upload a file or pick one from your media library.'\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectFile }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\taccept=\"*\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FileBlockInspector\n\t\t\t\threfs={ {\n\t\t\t\t\thref: href || temporaryURL,\n\t\t\t\t\ttextLinkHref,\n\t\t\t\t\tattachmentPage,\n\t\t\t\t} }\n\t\t\t\t{ ...{\n\t\t\t\t\topenInNewWindow: !! textLinkTarget,\n\t\t\t\t\tshowDownloadButton,\n\t\t\t\t\tchangeLinkDestinationOption,\n\t\t\t\t\tchangeOpenInNewWindow,\n\t\t\t\t\tchangeShowDownloadButton,\n\t\t\t\t\tdisplayPreview,\n\t\t\t\t\tchangeDisplayPreview,\n\t\t\t\t\tpreviewHeight,\n\t\t\t\t\tchangePreviewHeight,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ href }\n\t\t\t\t\taccept=\"*\"\n\t\t\t\t\tonSelect={ onSelectFile }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t\t<ClipboardToolbarButton\n\t\t\t\t\ttext={ href }\n\t\t\t\t\tdisabled={ isBlobURL( href ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ displayPreviewInEditor && (\n\t\t\t\t\t<ResizableBox\n\t\t\t\t\t\tsize={ { height: previewHeight } }\n\t\t\t\t\t\tminHeight={ MIN_PREVIEW_HEIGHT }\n\t\t\t\t\t\tmaxHeight={ MAX_PREVIEW_HEIGHT }\n\t\t\t\t\t\tminWidth=\"100%\"\n\t\t\t\t\t\tgrid={ [ 10, 10 ] }\n\t\t\t\t\t\tenable={ {\n\t\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\t\tright: false,\n\t\t\t\t\t\t\tbottom: true,\n\t\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResizeStart={ () => toggleSelection( false ) }\n\t\t\t\t\t\tonResizeStop={ handleOnResizeStop }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t>\n\t\t\t\t\t\t<object\n\t\t\t\t\t\t\tclassName=\"wp-block-file__preview\"\n\t\t\t\t\t\t\tdata={ href }\n\t\t\t\t\t\t\ttype=\"application/pdf\"\n\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t'Embed of the selected PDF file.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! isSelected && (\n\t\t\t\t\t\t\t<div className=\"wp-block-file__preview-overlay\" />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ResizableBox>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-file__content-wrapper\">\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"fileName\"\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tvalue={ fileName }\n\t\t\t\t\t\tplaceholder={ __( 'Write file name…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tonChange={ ( text ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tfileName: removeAnchorTag( text ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thref={ textLinkHref }\n\t\t\t\t\t/>\n\t\t\t\t\t{ showDownloadButton && (\n\t\t\t\t\t\t<div className=\"wp-block-file__button-richtext-wrapper\">\n\t\t\t\t\t\t\t{ /* Using RichText here instead of PlainText so that it can be styled like a button. */ }\n\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\tidentifier=\"downloadButtonText\"\n\t\t\t\t\t\t\t\ttagName=\"div\" // Must be block-level or else cursor disappears.\n\t\t\t\t\t\t\t\taria-label={ __( 'Download button text' ) }\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'wp-block-file__button',\n\t\t\t\t\t\t\t\t\t__experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t\t\t'button'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ downloadButtonText }\n\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\tplaceholder={ __( 'Add text…' ) }\n\t\t\t\t\t\t\t\tonChange={ ( text ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tdownloadButtonText:\n\t\t\t\t\t\t\t\t\t\t\tremoveAnchorTag( text ),\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default FileEdit;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SACCC,6BAA6B,IAAIC,mBAAmB,EACpDC,YAAY,EACZC,aAAa,QACP,uBAAuB;AAC9B,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCC,aAAa,EACbC,SAAS,EACTC,gBAAgB,EAChBC,gBAAgB,EAChBC,QAAQ,EACRC,aAAa,EACbC,KAAK,IAAIC,gBAAgB,EACzBC,iCAAiC,QAC3B,yBAAyB;AAChC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,oBAAoB;AACxD,SAASC,kBAAkB,QAAQ,oBAAoB;AACvD,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,IAAI,IAAIC,IAAI,QAAQ,kBAAkB;AAC/C,SAAST,KAAK,IAAIU,SAAS,QAAQ,sBAAsB;AACzD,SAASV,KAAK,IAAIW,YAAY,QAAQ,oBAAoB;;AAE1D;AACA;AACA;AACA,OAAOC,kBAAkB,MAAM,aAAa;AAC5C,SAASC,mBAAmB,QAAQ,SAAS;AAC7C,OAAOC,eAAe,MAAM,4BAA4B;AACxD,SAASC,yBAAyB,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAE3D,OAAO,MAAMC,kBAAkB,GAAG,GAAG;AACrC,OAAO,MAAMC,kBAAkB,GAAG,IAAI;AAEtC,SAASC,sBAAsBA,CAAE;EAAEC,IAAI;EAAEC;AAAS,CAAC,EAAG;EACrD,MAAM;IAAEC;EAAa,CAAC,GAAGlC,WAAW,CAAEkB,YAAa,CAAC;EACpD,MAAMiB,GAAG,GAAGvB,kBAAkB,CAAEoB,IAAI,EAAE,MAAM;IAC3CE,YAAY,CAAE,MAAM,EAAErB,EAAE,CAAE,0BAA2B,CAAC,EAAE;MACvDuB,aAAa,EAAE,IAAI;MACnBC,IAAI,EAAE;IACP,CAAE,CAAC;EACJ,CAAE,CAAC;EAEH,oBACCb,IAAA,CAAC1B,aAAa;IACbwC,SAAS,EAAC,qCAAqC;IAC/CH,GAAG,EAAGA,GAAK;IACXF,QAAQ,EAAGA,QAAU;IAAAM,QAAA,EAEnB1B,EAAE,CAAE,UAAW;EAAC,CACJ,CAAC;AAElB;AAEA,SAAS2B,QAAQA,CAAE;EAAEC,UAAU;EAAEC,UAAU;EAAEC,aAAa;EAAEC;AAAS,CAAC,EAAG;EACxE,MAAM;IACLC,EAAE;IACFC,QAAQ;IACRC,IAAI;IACJC,YAAY;IACZC,cAAc;IACdC,kBAAkB;IAClBC,kBAAkB;IAClBC,cAAc;IACdC;EACD,CAAC,GAAGZ,UAAU;EACd,MAAM,CAAEa,YAAY,EAAEC,eAAe,CAAE,GAAG5C,QAAQ,CAAE8B,UAAU,CAACe,IAAK,CAAC;EACrE,MAAM;IAAEC;EAAM,CAAC,GAAG1D,SAAS,CACxB2D,MAAM,KAAQ;IACfD,KAAK,EACJZ,EAAE,KAAKc,SAAS,GACbA,SAAS,GACTD,MAAM,CAAEzC,SAAU,CAAC,CAAC2C,QAAQ,CAAEf,EAAG;EACtC,CAAC,CAAE,EACH,CAAEA,EAAE,CACL,CAAC;EAED,MAAM;IAAEgB;EAAkB,CAAC,GAAG7D,WAAW,CAAEkB,YAAa,CAAC;EACzD,MAAM;IAAE4C,eAAe;IAAEC;EAAwC,CAAC,GACjE/D,WAAW,CAAEQ,gBAAiB,CAAC;EAEhCc,yBAAyB,CAAE;IAC1B0C,GAAG,EAAEV,YAAY;IACjBW,QAAQ,EAAEC,YAAY;IACtBC,OAAO,EAAEC;EACV,CAAE,CAAC;;EAEH;EACA;EACA1D,SAAS,CAAE,MAAM;IAChB,IAAKL,QAAQ,CAACgE,OAAO,CAAElB,kBAAmB,CAAC,EAAG;MAC7CY,uCAAuC,CAAC,CAAC;MACzCpB,aAAa,CAAE;QACdQ,kBAAkB,EAAErC,EAAE,CAAE,UAAU,EAAE,cAAe;MACpD,CAAE,CAAC;IACJ;IACA;IACA;EACD,CAAC,EAAE,EAAG,CAAC;EAEP,SAASoD,YAAYA,CAAEI,QAAQ,EAAG;IACjC,IAAK,CAAEA,QAAQ,IAAI,CAAEA,QAAQ,CAACN,GAAG,EAAG;MACnCT,eAAe,CAAC,CAAC;MACjB;IACD;IAEA,IAAK7D,SAAS,CAAE4E,QAAQ,CAACN,GAAI,CAAC,EAAG;MAChCT,eAAe,CAAEe,QAAQ,CAACN,GAAI,CAAC;MAC/B;IACD;IAEA,MAAMO,KAAK,GAAGD,QAAQ,CAACN,GAAG,CAACQ,QAAQ,CAAE,MAAO,CAAC;IAC7C7B,aAAa,CAAE;MACdI,IAAI,EAAEuB,QAAQ,CAACN,GAAG;MAClBlB,QAAQ,EAAEwB,QAAQ,CAACG,KAAK;MACxBzB,YAAY,EAAEsB,QAAQ,CAACN,GAAG;MAC1BnB,EAAE,EAAEyB,QAAQ,CAACzB,EAAE;MACfO,cAAc,EAAEmB,KAAK,GAAG,IAAI,GAAGZ,SAAS;MACxCN,aAAa,EAAEkB,KAAK,GAAG,GAAG,GAAGZ,SAAS;MACtCe,MAAM,EAAG,wBAAwB9B,QAAU,EAAC;MAC5CY,IAAI,EAAEG;IACP,CAAE,CAAC;IACHJ,eAAe,CAAC,CAAC;EAClB;EAEA,SAASa,aAAaA,CAAEO,OAAO,EAAG;IACjChC,aAAa,CAAE;MAAEI,IAAI,EAAEY;IAAU,CAAE,CAAC;IACpCE,iBAAiB,CAAEc,OAAO,EAAE;MAAEtC,IAAI,EAAE;IAAW,CAAE,CAAC;EACnD;EAEA,SAASuC,2BAA2BA,CAAEC,OAAO,EAAG;IAC/C;IACAlC,aAAa,CAAE;MAAEK,YAAY,EAAE6B;IAAQ,CAAE,CAAC;EAC3C;EAEA,SAASC,qBAAqBA,CAAEC,QAAQ,EAAG;IAC1CpC,aAAa,CAAE;MACdM,cAAc,EAAE8B,QAAQ,GAAG,QAAQ,GAAG;IACvC,CAAE,CAAC;EACJ;EAEA,SAASC,wBAAwBA,CAAED,QAAQ,EAAG;IAC7CpC,aAAa,CAAE;MAAEO,kBAAkB,EAAE6B;IAAS,CAAE,CAAC;EAClD;EAEA,SAASE,oBAAoBA,CAAEF,QAAQ,EAAG;IACzCpC,aAAa,CAAE;MAAES,cAAc,EAAE2B;IAAS,CAAE,CAAC;EAC9C;EAEA,SAASG,kBAAkBA,CAAEC,KAAK,EAAEC,SAAS,EAAEC,GAAG,EAAEC,KAAK,EAAG;IAC3DxB,eAAe,CAAE,IAAK,CAAC;IAEvB,MAAMyB,SAAS,GAAGC,QAAQ,CAAEnC,aAAa,GAAGiC,KAAK,CAACG,MAAM,EAAE,EAAG,CAAC;IAC9D9C,aAAa,CAAE;MAAEU,aAAa,EAAEkC;IAAU,CAAE,CAAC;EAC9C;EAEA,SAASG,mBAAmBA,CAAEX,QAAQ,EAAG;IACxC,MAAMQ,SAAS,GAAGI,IAAI,CAACC,GAAG,CACzBJ,QAAQ,CAAET,QAAQ,EAAE,EAAG,CAAC,EACxBlD,kBACD,CAAC;IACDc,aAAa,CAAE;MAAEU,aAAa,EAAEkC;IAAU,CAAE,CAAC;EAC9C;EAEA,MAAMM,cAAc,GAAGpC,KAAK,IAAIA,KAAK,CAACqC,IAAI;EAE1C,MAAMC,UAAU,GAAGzF,aAAa,CAAE;IACjCgC,SAAS,EAAE7C,IAAI,CACd,CAAC,CAAE6D,YAAY,IAAI1D,mBAAmB,CAAE;MAAEyC,IAAI,EAAE;IAAU,CAAE,CAAC,EAC7D;MACC,cAAc,EAAE,CAAC,CAAEiB;IACpB,CACD;EACD,CAAE,CAAC;EAEH,MAAM0C,sBAAsB,GAAG5E,mBAAmB,CAAC,CAAC,IAAIgC,cAAc;EAEtE,IAAK,CAAEL,IAAI,IAAI,CAAEO,YAAY,EAAG;IAC/B,oBACC9B,IAAA;MAAA,GAAUuE,UAAU;MAAAxD,QAAA,eACnBf,IAAA,CAACrB,gBAAgB;QAChBa,IAAI,eAAGQ,IAAA,CAACtB,SAAS;UAACc,IAAI,EAAGA;QAAM,CAAE,CAAG;QACpCiF,MAAM,EAAG;UACRxB,KAAK,EAAE5D,EAAE,CAAE,MAAO,CAAC;UACnBqF,YAAY,EAAErF,EAAE,CACf,oDACD;QACD,CAAG;QACHsF,QAAQ,EAAGjC,YAAc;QACzBC,OAAO,EAAGC,aAAe;QACzBgC,MAAM,EAAC;MAAG,CACV;IAAC,CACE,CAAC;EAER;EAEA,oBACC1E,KAAA,CAAAE,SAAA;IAAAW,QAAA,gBACCf,IAAA,CAACL,kBAAkB;MAClBkF,KAAK,EAAG;QACPtD,IAAI,EAAEA,IAAI,IAAIO,YAAY;QAC1BN,YAAY;QACZ6C;MACD,CAAG;MAEFS,eAAe,EAAE,CAAC,CAAErD,cAAc;MAClCC,kBAAkB;MAClB0B,2BAA2B;MAC3BE,qBAAqB;MACrBE,wBAAwB;MACxB5B,cAAc;MACd6B,oBAAoB;MACpB5B,aAAa;MACbqC;IAAmB,CAEpB,CAAC,eACFhE,KAAA,CAACzB,aAAa;MAACsG,KAAK,EAAC,OAAO;MAAAhE,QAAA,gBAC3Bf,IAAA,CAACpB,gBAAgB;QAChBoG,OAAO,EAAG3D,EAAI;QACd4D,QAAQ,EAAG1D,IAAM;QACjBqD,MAAM,EAAC,GAAG;QACVD,QAAQ,EAAGjC,YAAc;QACzBC,OAAO,EAAGC;MAAe,CACzB,CAAC,eACF5C,IAAA,CAACO,sBAAsB;QACtBC,IAAI,EAAGe,IAAM;QACbd,QAAQ,EAAGvC,SAAS,CAAEqD,IAAK;MAAG,CAC9B,CAAC;IAAA,CACY,CAAC,eAChBrB,KAAA;MAAA,GAAUqE,UAAU;MAAAxD,QAAA,GACjByD,sBAAsB,iBACvBtE,KAAA,CAAC7B,YAAY;QACZ6G,IAAI,EAAG;UAAEjB,MAAM,EAAEpC;QAAc,CAAG;QAClCsD,SAAS,EAAG9E,kBAAoB;QAChC+E,SAAS,EAAG9E,kBAAoB;QAChC+E,QAAQ,EAAC,MAAM;QACfC,IAAI,EAAG,CAAE,EAAE,EAAE,EAAE,CAAI;QACnBC,MAAM,EAAG;UACRC,GAAG,EAAE,KAAK;UACVC,KAAK,EAAE,KAAK;UACZC,MAAM,EAAE,IAAI;UACZC,IAAI,EAAE,KAAK;UACXC,QAAQ,EAAE,KAAK;UACfC,WAAW,EAAE,KAAK;UAClBC,UAAU,EAAE,KAAK;UACjBC,OAAO,EAAE;QACV,CAAG;QACHC,aAAa,EAAGA,CAAA,KAAM1D,eAAe,CAAE,KAAM,CAAG;QAChD2D,YAAY,EAAGvC,kBAAoB;QACnCwC,UAAU,EAAGhF,UAAY;QAAAH,QAAA,gBAEzBf,IAAA;UACCc,SAAS,EAAC,wBAAwB;UAClCqF,IAAI,EAAG5E,IAAM;UACbV,IAAI,EAAC,iBAAiB;UACtB,cAAaxB,EAAE,CACd,iCACD;QAAG,CACH,CAAC,EACA,CAAE6B,UAAU,iBACblB,IAAA;UAAKc,SAAS,EAAC;QAAgC,CAAE,CACjD;MAAA,CACY,CACd,eACDZ,KAAA;QAAKY,SAAS,EAAC,gCAAgC;QAAAC,QAAA,gBAC9Cf,IAAA,CAACnB,QAAQ;UACRuH,UAAU,EAAC,UAAU;UACrBC,OAAO,EAAC,GAAG;UACXC,KAAK,EAAGhF,QAAU;UAClBiF,WAAW,EAAGlH,EAAE,CAAE,kBAAmB,CAAG;UACxCmH,4BAA4B;UAC5B/D,QAAQ,EAAKjC,IAAI,IAChBW,aAAa,CAAE;YACdG,QAAQ,EAAEzB,eAAe,CAAEW,IAAK;UACjC,CAAE,CACF;UACDe,IAAI,EAAGC;QAAc,CACrB,CAAC,EACAE,kBAAkB,iBACnB1B,IAAA;UAAKc,SAAS,EAAC,wCAAwC;UAAAC,QAAA,eAEtDf,IAAA,CAACnB,QAAQ;YACRuH,UAAU,EAAC,oBAAoB;YAC/BC,OAAO,EAAC,KAAK,CAAC;YAAA;YACd,cAAahH,EAAE,CAAE,sBAAuB,CAAG;YAC3CyB,SAAS,EAAG7C,IAAI,CACf,uBAAuB,EACvBgB,iCAAiC,CAChC,QACD,CACD,CAAG;YACHqH,KAAK,EAAG3E,kBAAoB;YAC5B6E,4BAA4B;YAC5BD,WAAW,EAAGlH,EAAE,CAAE,WAAY,CAAG;YACjCoD,QAAQ,EAAKjC,IAAI,IAChBW,aAAa,CAAE;cACdQ,kBAAkB,EACjB9B,eAAe,CAAEW,IAAK;YACxB,CAAE;UACF,CACD;QAAC,CACE,CACL;MAAA,CACG,CAAC;IAAA,CACF,CAAC;EAAA,CACL,CAAC;AAEL;AAEA,eAAeQ,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["clsx","isBlobURL","__unstableGetAnimateClassName","getAnimateClassName","ResizableBox","ToolbarButton","useSelect","useDispatch","BlockControls","BlockIcon","MediaPlaceholder","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useEffect","useState","useCopyToClipboard","__","_x","file","icon","coreStore","noticesStore","FileBlockInspector","browserSupportsPdfs","removeAnchorTag","useUploadMediaFromBlobURL","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MIN_PREVIEW_HEIGHT","MAX_PREVIEW_HEIGHT","ClipboardToolbarButton","text","disabled","createNotice","ref","isDismissible","type","className","children","FileEdit","attributes","isSelected","setAttributes","clientId","id","fileName","href","textLinkHref","textLinkTarget","showDownloadButton","downloadButtonText","displayPreview","previewHeight","temporaryURL","setTemporaryURL","blob","media","select","undefined","getMedia","createErrorNotice","toggleSelection","__unstableMarkNextChangeAsNotPersistent","url","onChange","onSelectFile","onError","onUploadError","isEmpty","newMedia","fileId","isPdf","endsWith","title","message","changeLinkDestinationOption","newHref","changeOpenInNewWindow","newValue","changeShowDownloadButton","changeDisplayPreview","handleOnResizeStop","event","direction","elt","delta","newHeight","parseInt","height","changePreviewHeight","Math","max","attachmentPage","link","blockProps","displayPreviewInEditor","labels","instructions","onSelect","accept","hrefs","openInNewWindow","group","mediaId","mediaURL","onReset","size","minHeight","maxHeight","minWidth","grid","enable","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","onResizeStart","onResizeStop","showHandle","data","identifier","tagName","value","placeholder","withoutInteractiveFormatting"],"sources":["@wordpress/block-library/src/file/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\t__unstableGetAnimateClassName as getAnimateClassName,\n\tResizableBox,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useEffect, useState } from '@wordpress/element';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { __, _x } from '@wordpress/i18n';\nimport { file as icon } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport FileBlockInspector from './inspector';\nimport { browserSupportsPdfs } from './utils';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\n\nexport const MIN_PREVIEW_HEIGHT = 200;\nexport const MAX_PREVIEW_HEIGHT = 2000;\n\nfunction ClipboardToolbarButton( { text, disabled } ) {\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst ref = useCopyToClipboard( text, () => {\n\t\tcreateNotice( 'info', __( 'Copied URL to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\n\treturn (\n\t\t<ToolbarButton\n\t\t\tclassName=\"components-clipboard-toolbar-button\"\n\t\t\tref={ ref }\n\t\t\tdisabled={ disabled }\n\t\t>\n\t\t\t{ __( 'Copy URL' ) }\n\t\t</ToolbarButton>\n\t);\n}\n\nfunction FileEdit( { attributes, isSelected, setAttributes, clientId } ) {\n\tconst {\n\t\tid,\n\t\tfileName,\n\t\thref,\n\t\ttextLinkHref,\n\t\ttextLinkTarget,\n\t\tshowDownloadButton,\n\t\tdownloadButtonText,\n\t\tdisplayPreview,\n\t\tpreviewHeight,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\tconst { media } = useSelect(\n\t\t( select ) => ( {\n\t\t\tmedia:\n\t\t\t\tid === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: select( coreStore ).getMedia( id ),\n\t\t} ),\n\t\t[ id ]\n\t);\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { toggleSelection, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tonChange: onSelectFile,\n\t\tonError: onUploadError,\n\t} );\n\n\t// Note: Handle setting a default value for `downloadButtonText` via HTML API\n\t// when it supports replacing text content for HTML tags.\n\tuseEffect( () => {\n\t\tif ( RichText.isEmpty( downloadButtonText ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tdownloadButtonText: _x( 'Download', 'button label' ),\n\t\t\t} );\n\t\t}\n\t\t// Reason: This effect should only run on mount.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tfunction onSelectFile( newMedia ) {\n\t\tif ( ! newMedia || ! newMedia.url ) {\n\t\t\t// Reset attributes.\n\t\t\tsetAttributes( {\n\t\t\t\thref: undefined,\n\t\t\t\tfileName: undefined,\n\t\t\t\ttextLinkHref: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tfileId: undefined,\n\t\t\t\tdisplayPreview: undefined,\n\t\t\t\tpreviewHeight: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( newMedia.url ) ) {\n\t\t\tsetTemporaryURL( newMedia.url );\n\t\t\treturn;\n\t\t}\n\n\t\tconst isPdf = newMedia.url.endsWith( '.pdf' );\n\t\tsetAttributes( {\n\t\t\thref: newMedia.url,\n\t\t\tfileName: newMedia.title,\n\t\t\ttextLinkHref: newMedia.url,\n\t\t\tid: newMedia.id,\n\t\t\tdisplayPreview: isPdf ? true : undefined,\n\t\t\tpreviewHeight: isPdf ? 600 : undefined,\n\t\t\tfileId: `wp-block-file--media-${ clientId }`,\n\t\t\tblob: undefined,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tsetAttributes( { href: undefined } );\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction changeLinkDestinationOption( newHref ) {\n\t\t// Choose Media File or Attachment Page (when file is in Media Library).\n\t\tsetAttributes( { textLinkHref: newHref } );\n\t}\n\n\tfunction changeOpenInNewWindow( newValue ) {\n\t\tsetAttributes( {\n\t\t\ttextLinkTarget: newValue ? '_blank' : false,\n\t\t} );\n\t}\n\n\tfunction changeShowDownloadButton( newValue ) {\n\t\tsetAttributes( { showDownloadButton: newValue } );\n\t}\n\n\tfunction changeDisplayPreview( newValue ) {\n\t\tsetAttributes( { displayPreview: newValue } );\n\t}\n\n\tfunction handleOnResizeStop( event, direction, elt, delta ) {\n\t\ttoggleSelection( true );\n\n\t\tconst newHeight = parseInt( previewHeight + delta.height, 10 );\n\t\tsetAttributes( { previewHeight: newHeight } );\n\t}\n\n\tfunction changePreviewHeight( newValue ) {\n\t\tconst newHeight = Math.max(\n\t\t\tparseInt( newValue, 10 ),\n\t\t\tMIN_PREVIEW_HEIGHT\n\t\t);\n\t\tsetAttributes( { previewHeight: newHeight } );\n\t}\n\n\tconst attachmentPage = media && media.link;\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx(\n\t\t\t!! temporaryURL && getAnimateClassName( { type: 'loading' } ),\n\t\t\t{\n\t\t\t\t'is-transient': !! temporaryURL,\n\t\t\t}\n\t\t),\n\t} );\n\n\tconst displayPreviewInEditor = browserSupportsPdfs() && displayPreview;\n\n\tif ( ! href && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'File' ),\n\t\t\t\t\t\tinstructions: __(\n\t\t\t\t\t\t\t'Upload a file or pick one from your media library.'\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectFile }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\taccept=\"*\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FileBlockInspector\n\t\t\t\threfs={ {\n\t\t\t\t\thref: href || temporaryURL,\n\t\t\t\t\ttextLinkHref,\n\t\t\t\t\tattachmentPage,\n\t\t\t\t} }\n\t\t\t\t{ ...{\n\t\t\t\t\topenInNewWindow: !! textLinkTarget,\n\t\t\t\t\tshowDownloadButton,\n\t\t\t\t\tchangeLinkDestinationOption,\n\t\t\t\t\tchangeOpenInNewWindow,\n\t\t\t\t\tchangeShowDownloadButton,\n\t\t\t\t\tdisplayPreview,\n\t\t\t\t\tchangeDisplayPreview,\n\t\t\t\t\tpreviewHeight,\n\t\t\t\t\tchangePreviewHeight,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ href }\n\t\t\t\t\taccept=\"*\"\n\t\t\t\t\tonSelect={ onSelectFile }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tonReset={ () => onSelectFile( undefined ) }\n\t\t\t\t/>\n\t\t\t\t<ClipboardToolbarButton\n\t\t\t\t\ttext={ href }\n\t\t\t\t\tdisabled={ isBlobURL( href ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ displayPreviewInEditor && (\n\t\t\t\t\t<ResizableBox\n\t\t\t\t\t\tsize={ { height: previewHeight } }\n\t\t\t\t\t\tminHeight={ MIN_PREVIEW_HEIGHT }\n\t\t\t\t\t\tmaxHeight={ MAX_PREVIEW_HEIGHT }\n\t\t\t\t\t\tminWidth=\"100%\"\n\t\t\t\t\t\tgrid={ [ 10, 10 ] }\n\t\t\t\t\t\tenable={ {\n\t\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\t\tright: false,\n\t\t\t\t\t\t\tbottom: true,\n\t\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResizeStart={ () => toggleSelection( false ) }\n\t\t\t\t\t\tonResizeStop={ handleOnResizeStop }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t>\n\t\t\t\t\t\t<object\n\t\t\t\t\t\t\tclassName=\"wp-block-file__preview\"\n\t\t\t\t\t\t\tdata={ href }\n\t\t\t\t\t\t\ttype=\"application/pdf\"\n\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t'Embed of the selected PDF file.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! isSelected && (\n\t\t\t\t\t\t\t<div className=\"wp-block-file__preview-overlay\" />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ResizableBox>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-file__content-wrapper\">\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"fileName\"\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tvalue={ fileName }\n\t\t\t\t\t\tplaceholder={ __( 'Write file name…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tonChange={ ( text ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tfileName: removeAnchorTag( text ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thref={ textLinkHref }\n\t\t\t\t\t/>\n\t\t\t\t\t{ showDownloadButton && (\n\t\t\t\t\t\t<div className=\"wp-block-file__button-richtext-wrapper\">\n\t\t\t\t\t\t\t{ /* Using RichText here instead of PlainText so that it can be styled like a button. */ }\n\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\tidentifier=\"downloadButtonText\"\n\t\t\t\t\t\t\t\ttagName=\"div\" // Must be block-level or else cursor disappears.\n\t\t\t\t\t\t\t\taria-label={ __( 'Download button text' ) }\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'wp-block-file__button',\n\t\t\t\t\t\t\t\t\t__experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t\t\t'button'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ downloadButtonText }\n\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\tplaceholder={ __( 'Add text…' ) }\n\t\t\t\t\t\t\t\tonChange={ ( text ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tdownloadButtonText:\n\t\t\t\t\t\t\t\t\t\t\tremoveAnchorTag( text ),\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default FileEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -21,10 +21,24 @@ const transforms = {
21
21
  const blobURL = createBlobURL(file);
22
22
 
23
23
  // File will be uploaded in componentDidMount()
24
- blocks.push(createBlock('core/file', {
25
- blob: blobURL,
26
- fileName: file.name
27
- }));
24
+ if (file.type.startsWith('video/')) {
25
+ blocks.push(createBlock('core/video', {
26
+ blob: createBlobURL(file)
27
+ }));
28
+ } else if (file.type.startsWith('image/')) {
29
+ blocks.push(createBlock('core/image', {
30
+ blob: createBlobURL(file)
31
+ }));
32
+ } else if (file.type.startsWith('audio/')) {
33
+ blocks.push(createBlock('core/audio', {
34
+ blob: createBlobURL(file)
35
+ }));
36
+ } else {
37
+ blocks.push(createBlock('core/file', {
38
+ blob: blobURL,
39
+ fileName: file.name
40
+ }));
41
+ }
28
42
  });
29
43
  return blocks;
30
44
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createBlobURL","createBlock","select","store","coreStore","getFilename","transforms","from","type","isMatch","files","length","priority","transform","blocks","forEach","file","blobURL","push","blob","fileName","name","attributes","href","src","caption","textLinkHref","id","anchor","url","to","getMedia","media","mime_type","includes"],"sources":["@wordpress/block-library/src/file/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlobURL } from '@wordpress/blob';\nimport { createBlock } from '@wordpress/blocks';\nimport { select } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { getFilename } from '@wordpress/url';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'files',\n\t\t\tisMatch( files ) {\n\t\t\t\treturn files.length > 0;\n\t\t\t},\n\t\t\t// We define a lower priorty (higher number) than the default of 10. This\n\t\t\t// ensures that the File block is only created as a fallback.\n\t\t\tpriority: 15,\n\t\t\ttransform: ( files ) => {\n\t\t\t\tconst blocks = [];\n\n\t\t\t\tfiles.forEach( ( file ) => {\n\t\t\t\t\tconst blobURL = createBlobURL( file );\n\n\t\t\t\t\t// File will be uploaded in componentDidMount()\n\t\t\t\t\tblocks.push(\n\t\t\t\t\t\tcreateBlock( 'core/file', {\n\t\t\t\t\t\t\tblob: blobURL,\n\t\t\t\t\t\t\tfileName: file.name,\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t} );\n\n\t\t\t\treturn blocks;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/audio' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/file', {\n\t\t\t\t\thref: attributes.src,\n\t\t\t\t\tfileName: attributes.caption,\n\t\t\t\t\ttextLinkHref: attributes.src,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/file', {\n\t\t\t\t\thref: attributes.src,\n\t\t\t\t\tfileName: attributes.caption,\n\t\t\t\t\ttextLinkHref: attributes.src,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/file', {\n\t\t\t\t\thref: attributes.url,\n\t\t\t\t\tfileName:\n\t\t\t\t\t\tattributes.caption || getFilename( attributes.url ),\n\t\t\t\t\ttextLinkHref: attributes.url,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/audio' ],\n\t\t\tisMatch: ( { id } ) => {\n\t\t\t\tif ( ! id ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst { getMedia } = select( coreStore );\n\t\t\t\tconst media = getMedia( id );\n\t\t\t\treturn !! media && media.mime_type.includes( 'audio' );\n\t\t\t},\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/audio', {\n\t\t\t\t\tsrc: attributes.href,\n\t\t\t\t\tcaption: attributes.fileName,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\tisMatch: ( { id } ) => {\n\t\t\t\tif ( ! id ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst { getMedia } = select( coreStore );\n\t\t\t\tconst media = getMedia( id );\n\t\t\t\treturn !! media && media.mime_type.includes( 'video' );\n\t\t\t},\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/video', {\n\t\t\t\t\tsrc: attributes.href,\n\t\t\t\t\tcaption: attributes.fileName,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\tisMatch: ( { id } ) => {\n\t\t\t\tif ( ! id ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst { getMedia } = select( coreStore );\n\t\t\t\tconst media = getMedia( id );\n\t\t\t\treturn !! media && media.mime_type.includes( 'image' );\n\t\t\t},\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl: attributes.href,\n\t\t\t\t\tcaption: attributes.fileName,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createBlobURL","createBlock","select","store","coreStore","getFilename","transforms","from","type","isMatch","files","length","priority","transform","blocks","forEach","file","blobURL","startsWith","push","blob","fileName","name","attributes","href","src","caption","textLinkHref","id","anchor","url","to","getMedia","media","mime_type","includes"],"sources":["@wordpress/block-library/src/file/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlobURL } from '@wordpress/blob';\nimport { createBlock } from '@wordpress/blocks';\nimport { select } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { getFilename } from '@wordpress/url';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'files',\n\t\t\tisMatch( files ) {\n\t\t\t\treturn files.length > 0;\n\t\t\t},\n\t\t\t// We define a lower priorty (higher number) than the default of 10. This\n\t\t\t// ensures that the File block is only created as a fallback.\n\t\t\tpriority: 15,\n\t\t\ttransform: ( files ) => {\n\t\t\t\tconst blocks = [];\n\n\t\t\t\tfiles.forEach( ( file ) => {\n\t\t\t\t\tconst blobURL = createBlobURL( file );\n\n\t\t\t\t\t// File will be uploaded in componentDidMount()\n\t\t\t\t\tif ( file.type.startsWith( 'video/' ) ) {\n\t\t\t\t\t\tblocks.push(\n\t\t\t\t\t\t\tcreateBlock( 'core/video', {\n\t\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if ( file.type.startsWith( 'image/' ) ) {\n\t\t\t\t\t\tblocks.push(\n\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if ( file.type.startsWith( 'audio/' ) ) {\n\t\t\t\t\t\tblocks.push(\n\t\t\t\t\t\t\tcreateBlock( 'core/audio', {\n\t\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tblocks.push(\n\t\t\t\t\t\t\tcreateBlock( 'core/file', {\n\t\t\t\t\t\t\t\tblob: blobURL,\n\t\t\t\t\t\t\t\tfileName: file.name,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\treturn blocks;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/audio' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/file', {\n\t\t\t\t\thref: attributes.src,\n\t\t\t\t\tfileName: attributes.caption,\n\t\t\t\t\ttextLinkHref: attributes.src,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/file', {\n\t\t\t\t\thref: attributes.src,\n\t\t\t\t\tfileName: attributes.caption,\n\t\t\t\t\ttextLinkHref: attributes.src,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/file', {\n\t\t\t\t\thref: attributes.url,\n\t\t\t\t\tfileName:\n\t\t\t\t\t\tattributes.caption || getFilename( attributes.url ),\n\t\t\t\t\ttextLinkHref: attributes.url,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/audio' ],\n\t\t\tisMatch: ( { id } ) => {\n\t\t\t\tif ( ! id ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst { getMedia } = select( coreStore );\n\t\t\t\tconst media = getMedia( id );\n\t\t\t\treturn !! media && media.mime_type.includes( 'audio' );\n\t\t\t},\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/audio', {\n\t\t\t\t\tsrc: attributes.href,\n\t\t\t\t\tcaption: attributes.fileName,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\tisMatch: ( { id } ) => {\n\t\t\t\tif ( ! id ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst { getMedia } = select( coreStore );\n\t\t\t\tconst media = getMedia( id );\n\t\t\t\treturn !! media && media.mime_type.includes( 'video' );\n\t\t\t},\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/video', {\n\t\t\t\t\tsrc: attributes.href,\n\t\t\t\t\tcaption: attributes.fileName,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\tisMatch: ( { id } ) => {\n\t\t\t\tif ( ! id ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst { getMedia } = select( coreStore );\n\t\t\t\tconst media = getMedia( id );\n\t\t\t\treturn !! media && media.mime_type.includes( 'image' );\n\t\t\t},\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl: attributes.href,\n\t\t\t\t\tcaption: attributes.fileName,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,7 @@ import removeAccents from 'remove-accents';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { RichText, __experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles, __experimentalGetColorClassesAndStyles as getColorClassesAndStyles } from '@wordpress/block-editor';
10
+ import { RichText, useBlockProps, __experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles, __experimentalGetColorClassesAndStyles as getColorClassesAndStyles } from '@wordpress/block-editor';
11
11
  import { __unstableStripHTML as stripHTML } from '@wordpress/dom';
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -20,6 +20,118 @@ const getNameFromLabelV1 = content => {
20
20
  // Remove any remaining leading or trailing hyphens.
21
21
  .replace(/(^-+)|(-+$)/g, '');
22
22
  };
23
+ const v2 = {
24
+ attributes: {
25
+ type: {
26
+ type: 'string',
27
+ default: 'text'
28
+ },
29
+ name: {
30
+ type: 'string'
31
+ },
32
+ label: {
33
+ type: 'string',
34
+ default: 'Label',
35
+ selector: '.wp-block-form-input__label-content',
36
+ source: 'html',
37
+ __experimentalRole: 'content'
38
+ },
39
+ inlineLabel: {
40
+ type: 'boolean',
41
+ default: false
42
+ },
43
+ required: {
44
+ type: 'boolean',
45
+ default: false,
46
+ selector: '.wp-block-form-input__input',
47
+ source: 'attribute',
48
+ attribute: 'required'
49
+ },
50
+ placeholder: {
51
+ type: 'string',
52
+ selector: '.wp-block-form-input__input',
53
+ source: 'attribute',
54
+ attribute: 'placeholder',
55
+ __experimentalRole: 'content'
56
+ },
57
+ value: {
58
+ type: 'string',
59
+ default: '',
60
+ selector: 'input',
61
+ source: 'attribute',
62
+ attribute: 'value'
63
+ },
64
+ visibilityPermissions: {
65
+ type: 'string',
66
+ default: 'all'
67
+ }
68
+ },
69
+ supports: {
70
+ anchor: true,
71
+ reusable: false,
72
+ spacing: {
73
+ margin: ['top', 'bottom']
74
+ },
75
+ __experimentalBorder: {
76
+ radius: true,
77
+ __experimentalSkipSerialization: true,
78
+ __experimentalDefaultControls: {
79
+ radius: true
80
+ }
81
+ }
82
+ },
83
+ save({
84
+ attributes
85
+ }) {
86
+ const {
87
+ type,
88
+ name,
89
+ label,
90
+ inlineLabel,
91
+ required,
92
+ placeholder,
93
+ value
94
+ } = attributes;
95
+ const borderProps = getBorderClassesAndStyles(attributes);
96
+ const colorProps = getColorClassesAndStyles(attributes);
97
+ const inputStyle = {
98
+ ...borderProps.style,
99
+ ...colorProps.style
100
+ };
101
+ const inputClasses = clsx('wp-block-form-input__input', colorProps.className, borderProps.className);
102
+ const TagName = type === 'textarea' ? 'textarea' : 'input';
103
+ const blockProps = useBlockProps.save();
104
+ if ('hidden' === type) {
105
+ return /*#__PURE__*/_jsx("input", {
106
+ type: type,
107
+ name: name,
108
+ value: value
109
+ });
110
+ }
111
+ return /*#__PURE__*/_jsx("div", {
112
+ ...blockProps,
113
+ children: /*#__PURE__*/_jsxs("label", {
114
+ className: clsx('wp-block-form-input__label', {
115
+ 'is-label-inline': inlineLabel
116
+ }),
117
+ children: [/*#__PURE__*/_jsx("span", {
118
+ className: "wp-block-form-input__label-content",
119
+ children: /*#__PURE__*/_jsx(RichText.Content, {
120
+ value: label
121
+ })
122
+ }), /*#__PURE__*/_jsx(TagName, {
123
+ className: inputClasses,
124
+ type: 'textarea' === type ? undefined : type,
125
+ name: name || getNameFromLabelV1(label),
126
+ required: required,
127
+ "aria-required": required,
128
+ placeholder: placeholder || undefined,
129
+ style: inputStyle
130
+ })]
131
+ })
132
+ });
133
+ }
134
+ };
23
135
 
24
136
  // Version without wrapper div in saved markup
25
137
  // See: https://github.com/WordPress/gutenberg/pull/56507
@@ -135,6 +247,6 @@ const v1 = {
135
247
  /* eslint-enable jsx-a11y/label-has-associated-control */
136
248
  }
137
249
  };
138
- const deprecated = [v1];
250
+ const deprecated = [v2, v1];
139
251
  export default deprecated;
140
252
  //# sourceMappingURL=deprecated.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","removeAccents","RichText","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","__unstableStripHTML","stripHTML","jsx","_jsx","jsxs","_jsxs","getNameFromLabelV1","content","replace","toLowerCase","v1","attributes","type","default","name","label","selector","source","__experimentalRole","inlineLabel","required","attribute","placeholder","value","visibilityPermissions","supports","className","anchor","reusable","spacing","margin","__experimentalBorder","radius","__experimentalSkipSerialization","__experimentalDefaultControls","save","borderProps","colorProps","inputStyle","style","inputClasses","TagName","children","Content","undefined","deprecated"],"sources":["@wordpress/block-library/src/form-input/deprecated.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\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\nconst getNameFromLabelV1 = ( 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\n// Version without wrapper div in saved markup\n// See: https://github.com/WordPress/gutenberg/pull/56507\nconst v1 = {\n\tattributes: {\n\t\ttype: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'text',\n\t\t},\n\t\tname: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlabel: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'Label',\n\t\t\tselector: '.wp-block-form-input__label-content',\n\t\t\tsource: 'html',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tinlineLabel: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\trequired: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t\tselector: '.wp-block-form-input__input',\n\t\t\tsource: 'attribute',\n\t\t\tattribute: 'required',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t\tselector: '.wp-block-form-input__input',\n\t\t\tsource: 'attribute',\n\t\t\tattribute: 'placeholder',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t\tselector: 'input',\n\t\t\tsource: 'attribute',\n\t\t\tattribute: 'value',\n\t\t},\n\t\tvisibilityPermissions: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'all',\n\t\t},\n\t},\n\tsupports: {\n\t\tclassName: false,\n\t\tanchor: true,\n\t\treusable: false,\n\t\tspacing: {\n\t\t\tmargin: [ 'top', 'bottom' ],\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tradius: true,\n\t\t\t},\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { type, name, label, inlineLabel, required, placeholder, value } =\n\t\t\tattributes;\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\tconst inputStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t};\n\n\t\tconst inputClasses = clsx(\n\t\t\t'wp-block-form-input__input',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className\n\t\t);\n\t\tconst TagName = type === 'textarea' ? 'textarea' : 'input';\n\n\t\tif ( 'hidden' === type ) {\n\t\t\treturn <input type={ type } name={ name } value={ value } />;\n\t\t}\n\n\t\t/* eslint-disable jsx-a11y/label-has-associated-control */\n\t\treturn (\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 || getNameFromLabelV1( 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);\n\t\t/* eslint-enable jsx-a11y/label-has-associated-control */\n\t},\n};\n\nconst deprecated = [ v1 ];\n\nexport default deprecated;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","removeAccents","RichText","useBlockProps","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","__unstableStripHTML","stripHTML","jsx","_jsx","jsxs","_jsxs","getNameFromLabelV1","content","replace","toLowerCase","v2","attributes","type","default","name","label","selector","source","__experimentalRole","inlineLabel","required","attribute","placeholder","value","visibilityPermissions","supports","anchor","reusable","spacing","margin","__experimentalBorder","radius","__experimentalSkipSerialization","__experimentalDefaultControls","save","borderProps","colorProps","inputStyle","style","inputClasses","className","TagName","blockProps","children","Content","undefined","v1","deprecated"],"sources":["@wordpress/block-library/src/form-input/deprecated.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\nconst getNameFromLabelV1 = ( 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\nconst v2 = {\n\tattributes: {\n\t\ttype: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'text',\n\t\t},\n\t\tname: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlabel: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'Label',\n\t\t\tselector: '.wp-block-form-input__label-content',\n\t\t\tsource: 'html',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tinlineLabel: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\trequired: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t\tselector: '.wp-block-form-input__input',\n\t\t\tsource: 'attribute',\n\t\t\tattribute: 'required',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t\tselector: '.wp-block-form-input__input',\n\t\t\tsource: 'attribute',\n\t\t\tattribute: 'placeholder',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t\tselector: 'input',\n\t\t\tsource: 'attribute',\n\t\t\tattribute: 'value',\n\t\t},\n\t\tvisibilityPermissions: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'all',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\treusable: false,\n\t\tspacing: {\n\t\t\tmargin: [ 'top', 'bottom' ],\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tradius: true,\n\t\t\t},\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { type, name, label, inlineLabel, required, placeholder, value } =\n\t\t\tattributes;\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\tconst inputStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t};\n\n\t\tconst inputClasses = clsx(\n\t\t\t'wp-block-form-input__input',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className\n\t\t);\n\t\tconst TagName = type === 'textarea' ? 'textarea' : 'input';\n\n\t\tconst blockProps = useBlockProps.save();\n\n\t\tif ( 'hidden' === type ) {\n\t\t\treturn <input type={ type } name={ name } value={ value } />;\n\t\t}\n\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/label-has-associated-control */ }\n\t\t\t\t<label\n\t\t\t\t\tclassName={ clsx( 'wp-block-form-input__label', {\n\t\t\t\t\t\t'is-label-inline': inlineLabel,\n\t\t\t\t\t} ) }\n\t\t\t\t>\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\t<TagName\n\t\t\t\t\t\tclassName={ inputClasses }\n\t\t\t\t\t\ttype={ 'textarea' === type ? undefined : type }\n\t\t\t\t\t\tname={ name || getNameFromLabelV1( label ) }\n\t\t\t\t\t\trequired={ required }\n\t\t\t\t\t\taria-required={ required }\n\t\t\t\t\t\tplaceholder={ placeholder || undefined }\n\t\t\t\t\t\tstyle={ inputStyle }\n\t\t\t\t\t/>\n\t\t\t\t</label>\n\t\t\t\t{ /* eslint-enable jsx-a11y/label-has-associated-control */ }\n\t\t\t</div>\n\t\t);\n\t},\n};\n\n// Version without wrapper div in saved markup\n// See: https://github.com/WordPress/gutenberg/pull/56507\nconst v1 = {\n\tattributes: {\n\t\ttype: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'text',\n\t\t},\n\t\tname: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlabel: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'Label',\n\t\t\tselector: '.wp-block-form-input__label-content',\n\t\t\tsource: 'html',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tinlineLabel: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\trequired: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t\tselector: '.wp-block-form-input__input',\n\t\t\tsource: 'attribute',\n\t\t\tattribute: 'required',\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: 'string',\n\t\t\tselector: '.wp-block-form-input__input',\n\t\t\tsource: 'attribute',\n\t\t\tattribute: 'placeholder',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t\tselector: 'input',\n\t\t\tsource: 'attribute',\n\t\t\tattribute: 'value',\n\t\t},\n\t\tvisibilityPermissions: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'all',\n\t\t},\n\t},\n\tsupports: {\n\t\tclassName: false,\n\t\tanchor: true,\n\t\treusable: false,\n\t\tspacing: {\n\t\t\tmargin: [ 'top', 'bottom' ],\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tradius: true,\n\t\t\t},\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { type, name, label, inlineLabel, required, placeholder, value } =\n\t\t\tattributes;\n\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\tconst inputStyle = {\n\t\t\t...borderProps.style,\n\t\t\t...colorProps.style,\n\t\t};\n\n\t\tconst inputClasses = clsx(\n\t\t\t'wp-block-form-input__input',\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className\n\t\t);\n\t\tconst TagName = type === 'textarea' ? 'textarea' : 'input';\n\n\t\tif ( 'hidden' === type ) {\n\t\t\treturn <input type={ type } name={ name } value={ value } />;\n\t\t}\n\n\t\t/* eslint-disable jsx-a11y/label-has-associated-control */\n\t\treturn (\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 || getNameFromLabelV1( 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);\n\t\t/* eslint-enable jsx-a11y/label-has-associated-control */\n\t},\n};\n\nconst deprecated = [ v2, v1 ];\n\nexport default deprecated;\n"],"mappings":"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","ignoreList":[]}
@@ -35,6 +35,9 @@ function InputFieldBlock({
35
35
  if (ref.current) {
36
36
  ref.current.focus();
37
37
  }
38
+
39
+ // Note: radio inputs aren't implemented yet.
40
+ const isCheckboxOrRadio = type === 'checkbox' || type === 'radio';
38
41
  const controls = /*#__PURE__*/_jsxs(_Fragment, {
39
42
  children: ['hidden' !== type && /*#__PURE__*/_jsx(InspectorControls, {
40
43
  children: /*#__PURE__*/_jsxs(PanelBody, {
@@ -76,6 +79,17 @@ function InputFieldBlock({
76
79
  })
77
80
  })]
78
81
  });
82
+ const content = /*#__PURE__*/_jsx(RichText, {
83
+ tagName: "span",
84
+ className: "wp-block-form-input__label-content",
85
+ value: label,
86
+ onChange: newLabel => setAttributes({
87
+ label: newLabel
88
+ }),
89
+ "aria-label": label ? __('Label') : __('Empty label'),
90
+ "data-empty": !label,
91
+ placeholder: __('Type the label for this input')
92
+ });
79
93
  if ('hidden' === type) {
80
94
  return /*#__PURE__*/_jsxs(_Fragment, {
81
95
  children: [controls, /*#__PURE__*/_jsx("input", {
@@ -95,17 +109,7 @@ function InputFieldBlock({
95
109
  className: clsx('wp-block-form-input__label', {
96
110
  'is-label-inline': inlineLabel || 'checkbox' === type
97
111
  }),
98
- children: [/*#__PURE__*/_jsx(RichText, {
99
- tagName: "span",
100
- className: "wp-block-form-input__label-content",
101
- value: label,
102
- onChange: newLabel => setAttributes({
103
- label: newLabel
104
- }),
105
- "aria-label": label ? __('Label') : __('Empty label'),
106
- "data-empty": label ? false : true,
107
- placeholder: __('Type the label for this input')
108
- }), /*#__PURE__*/_jsx(TagName, {
112
+ children: [!isCheckboxOrRadio && content, /*#__PURE__*/_jsx(TagName, {
109
113
  type: 'textarea' === type ? undefined : type,
110
114
  className: clsx(className, 'wp-block-form-input__input', colorProps.className, borderProps.className),
111
115
  "aria-label": __('Optional placeholder text')
@@ -123,7 +127,7 @@ function InputFieldBlock({
123
127
  ...borderProps.style,
124
128
  ...colorProps.style
125
129
  }
126
- })]
130
+ }), isCheckboxOrRadio && content]
127
131
  })]
128
132
  });
129
133
  }
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","PanelBody","TextControl","CheckboxControl","useRef","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","InputFieldBlock","attributes","setAttributes","className","type","name","label","inlineLabel","required","placeholder","value","blockProps","ref","TagName","borderProps","colorProps","current","focus","controls","children","title","__nextHasNoMarginBottom","checked","onChange","newVal","group","__next40pxDefaultSize","autoComplete","help","event","target","tagName","newLabel","undefined","style"],"sources":["@wordpress/block-library/src/form-input/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, TextControl, CheckboxControl } from '@wordpress/components';\n\nimport { useRef } from '@wordpress/element';\n\nfunction InputFieldBlock( { attributes, setAttributes, className } ) {\n\tconst { type, name, label, inlineLabel, required, placeholder, value } =\n\t\tattributes;\n\tconst blockProps = useBlockProps();\n\tconst ref = useRef();\n\tconst TagName = type === 'textarea' ? 'textarea' : 'input';\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tif ( ref.current ) {\n\t\tref.current.focus();\n\t}\n\n\tconst controls = (\n\t\t<>\n\t\t\t{ 'hidden' !== type && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ 'checkbox' !== type && (\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Inline label' ) }\n\t\t\t\t\t\t\t\tchecked={ inlineLabel }\n\t\t\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tinlineLabel: newVal,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Required' ) }\n\t\t\t\t\t\t\tchecked={ required }\n\t\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\trequired: newVal,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ name }\n\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tname: newVal,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Affects the \"name\" atribute of the input element, and is used as a name for the form submission results.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tif ( 'hidden' === type ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<input\n\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-form-input__input',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={ __( 'Value' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\t\tsetAttributes( { value: event.target.value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t<span\n\t\t\t\tclassName={ clsx( 'wp-block-form-input__label', {\n\t\t\t\t\t'is-label-inline': inlineLabel || 'checkbox' === type,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\tclassName=\"wp-block-form-input__label-content\"\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tsetAttributes( { label: newLabel } )\n\t\t\t\t\t}\n\t\t\t\t\taria-label={ label ? __( 'Label' ) : __( 'Empty label' ) }\n\t\t\t\t\tdata-empty={ label ? false : true }\n\t\t\t\t\tplaceholder={ __( 'Type the label for this input' ) }\n\t\t\t\t/>\n\t\t\t\t<TagName\n\t\t\t\t\ttype={ 'textarea' === type ? undefined : type }\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-form-input__input',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t\t// which is confusing.\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ placeholder }\n\t\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t\t}\n\t\t\t\t\taria-required={ required }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</span>\n\t\t</div>\n\t);\n}\n\nexport default InputFieldBlock;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","PanelBody","TextControl","CheckboxControl","useRef","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","InputFieldBlock","attributes","setAttributes","className","type","name","label","inlineLabel","required","placeholder","value","blockProps","ref","TagName","borderProps","colorProps","current","focus","isCheckboxOrRadio","controls","children","title","__nextHasNoMarginBottom","checked","onChange","newVal","group","__next40pxDefaultSize","autoComplete","help","content","tagName","newLabel","event","target","undefined","style"],"sources":["@wordpress/block-library/src/form-input/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, TextControl, CheckboxControl } from '@wordpress/components';\n\nimport { useRef } from '@wordpress/element';\n\nfunction InputFieldBlock( { attributes, setAttributes, className } ) {\n\tconst { type, name, label, inlineLabel, required, placeholder, value } =\n\t\tattributes;\n\tconst blockProps = useBlockProps();\n\tconst ref = useRef();\n\tconst TagName = type === 'textarea' ? 'textarea' : 'input';\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tif ( ref.current ) {\n\t\tref.current.focus();\n\t}\n\n\t// Note: radio inputs aren't implemented yet.\n\tconst isCheckboxOrRadio = type === 'checkbox' || type === 'radio';\n\n\tconst controls = (\n\t\t<>\n\t\t\t{ 'hidden' !== type && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ 'checkbox' !== type && (\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Inline label' ) }\n\t\t\t\t\t\t\t\tchecked={ inlineLabel }\n\t\t\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tinlineLabel: newVal,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Required' ) }\n\t\t\t\t\t\t\tchecked={ required }\n\t\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\trequired: newVal,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ name }\n\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tname: newVal,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Affects the \"name\" atribute of the input element, and is used as a name for the form submission results.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst content = (\n\t\t<RichText\n\t\t\ttagName=\"span\"\n\t\t\tclassName=\"wp-block-form-input__label-content\"\n\t\t\tvalue={ label }\n\t\t\tonChange={ ( newLabel ) => setAttributes( { label: newLabel } ) }\n\t\t\taria-label={ label ? __( 'Label' ) : __( 'Empty label' ) }\n\t\t\tdata-empty={ ! label }\n\t\t\tplaceholder={ __( 'Type the label for this input' ) }\n\t\t/>\n\t);\n\n\tif ( 'hidden' === type ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<input\n\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-form-input__input',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={ __( 'Value' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\t\tsetAttributes( { value: event.target.value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t<span\n\t\t\t\tclassName={ clsx( 'wp-block-form-input__label', {\n\t\t\t\t\t'is-label-inline': inlineLabel || 'checkbox' === type,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! isCheckboxOrRadio && content }\n\t\t\t\t<TagName\n\t\t\t\t\ttype={ 'textarea' === type ? undefined : type }\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-form-input__input',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t\t// which is confusing.\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ placeholder }\n\t\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t\t}\n\t\t\t\t\taria-required={ required }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ isCheckboxOrRadio && content }\n\t\t\t</span>\n\t\t</div>\n\t);\n}\n\nexport default InputFieldBlock;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,iBAAiB,EACjBC,QAAQ,EACRC,aAAa,EACbC,4BAA4B,IAAIC,cAAc,EAC9CC,2BAA2B,IAAIC,aAAa,QACtC,yBAAyB;AAChC,SAASC,SAAS,EAAEC,WAAW,EAAEC,eAAe,QAAQ,uBAAuB;AAE/E,SAASC,MAAM,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAE5C,SAASC,eAAeA,CAAE;EAAEC,UAAU;EAAEC,aAAa;EAAEC;AAAU,CAAC,EAAG;EACpE,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,KAAK;IAAEC,WAAW;IAAEC,QAAQ;IAAEC,WAAW;IAAEC;EAAM,CAAC,GACrET,UAAU;EACX,MAAMU,UAAU,GAAG1B,aAAa,CAAC,CAAC;EAClC,MAAM2B,GAAG,GAAGnB,MAAM,CAAC,CAAC;EACpB,MAAMoB,OAAO,GAAGT,IAAI,KAAK,UAAU,GAAG,UAAU,GAAG,OAAO;EAE1D,MAAMU,WAAW,GAAG3B,cAAc,CAAEc,UAAW,CAAC;EAChD,MAAMc,UAAU,GAAG1B,aAAa,CAAEY,UAAW,CAAC;EAC9C,IAAKW,GAAG,CAACI,OAAO,EAAG;IAClBJ,GAAG,CAACI,OAAO,CAACC,KAAK,CAAC,CAAC;EACpB;;EAEA;EACA,MAAMC,iBAAiB,GAAGd,IAAI,KAAK,UAAU,IAAIA,IAAI,KAAK,OAAO;EAEjE,MAAMe,QAAQ,gBACbtB,KAAA,CAAAE,SAAA;IAAAqB,QAAA,GACG,QAAQ,KAAKhB,IAAI,iBAClBT,IAAA,CAACZ,iBAAiB;MAAAqC,QAAA,eACjBvB,KAAA,CAACP,SAAS;QAAC+B,KAAK,EAAGvC,EAAE,CAAE,UAAW,CAAG;QAAAsC,QAAA,GAClC,UAAU,KAAKhB,IAAI,iBACpBT,IAAA,CAACH,eAAe;UACf8B,uBAAuB;UACvBhB,KAAK,EAAGxB,EAAE,CAAE,cAAe,CAAG;UAC9ByC,OAAO,EAAGhB,WAAa;UACvBiB,QAAQ,EAAKC,MAAM,IAAM;YACxBvB,aAAa,CAAE;cACdK,WAAW,EAAEkB;YACd,CAAE,CAAC;UACJ;QAAG,CACH,CACD,eACD9B,IAAA,CAACH,eAAe;UACf8B,uBAAuB;UACvBhB,KAAK,EAAGxB,EAAE,CAAE,UAAW,CAAG;UAC1ByC,OAAO,EAAGf,QAAU;UACpBgB,QAAQ,EAAKC,MAAM,IAAM;YACxBvB,aAAa,CAAE;cACdM,QAAQ,EAAEiB;YACX,CAAE,CAAC;UACJ;QAAG,CACH,CAAC;MAAA,CACQ;IAAC,CACM,CACnB,eACD9B,IAAA,CAACZ,iBAAiB;MAAC2C,KAAK,EAAC,UAAU;MAAAN,QAAA,eAClCzB,IAAA,CAACJ,WAAW;QACXoC,qBAAqB;QACrBL,uBAAuB;QACvBM,YAAY,EAAC,KAAK;QAClBtB,KAAK,EAAGxB,EAAE,CAAE,MAAO,CAAG;QACtB4B,KAAK,EAAGL,IAAM;QACdmB,QAAQ,EAAKC,MAAM,IAAM;UACxBvB,aAAa,CAAE;YACdG,IAAI,EAAEoB;UACP,CAAE,CAAC;QACJ,CAAG;QACHI,IAAI,EAAG/C,EAAE,CACR,0GACD;MAAG,CACH;IAAC,CACgB,CAAC;EAAA,CACnB,CACF;EAED,MAAMgD,OAAO,gBACZnC,IAAA,CAACX,QAAQ;IACR+C,OAAO,EAAC,MAAM;IACd5B,SAAS,EAAC,oCAAoC;IAC9CO,KAAK,EAAGJ,KAAO;IACfkB,QAAQ,EAAKQ,QAAQ,IAAM9B,aAAa,CAAE;MAAEI,KAAK,EAAE0B;IAAS,CAAE,CAAG;IACjE,cAAa1B,KAAK,GAAGxB,EAAE,CAAE,OAAQ,CAAC,GAAGA,EAAE,CAAE,aAAc,CAAG;IAC1D,cAAa,CAAEwB,KAAO;IACtBG,WAAW,EAAG3B,EAAE,CAAE,+BAAgC;EAAG,CACrD,CACD;EAED,IAAK,QAAQ,KAAKsB,IAAI,EAAG;IACxB,oBACCP,KAAA,CAAAE,SAAA;MAAAqB,QAAA,GACGD,QAAQ,eACVxB,IAAA;QACCS,IAAI,EAAC,QAAQ;QACbD,SAAS,EAAGtB,IAAI,CACfsB,SAAS,EACT,4BAA4B,EAC5BY,UAAU,CAACZ,SAAS,EACpBW,WAAW,CAACX,SACb,CAAG;QACH,cAAarB,EAAE,CAAE,OAAQ,CAAG;QAC5B4B,KAAK,EAAGA,KAAO;QACfc,QAAQ,EAAKS,KAAK,IACjB/B,aAAa,CAAE;UAAEQ,KAAK,EAAEuB,KAAK,CAACC,MAAM,CAACxB;QAAM,CAAE;MAC7C,CACD,CAAC;IAAA,CACD,CAAC;EAEL;EAEA,oBACCb,KAAA;IAAA,GAAUc,UAAU;IAAAS,QAAA,GACjBD,QAAQ,eACVtB,KAAA;MACCM,SAAS,EAAGtB,IAAI,CAAE,4BAA4B,EAAE;QAC/C,iBAAiB,EAAE0B,WAAW,IAAI,UAAU,KAAKH;MAClD,CAAE,CAAG;MAAAgB,QAAA,GAEH,CAAEF,iBAAiB,IAAIY,OAAO,eAChCnC,IAAA,CAACkB,OAAO;QACPT,IAAI,EAAG,UAAU,KAAKA,IAAI,GAAG+B,SAAS,GAAG/B,IAAM;QAC/CD,SAAS,EAAGtB,IAAI,CACfsB,SAAS,EACT,4BAA4B,EAC5BY,UAAU,CAACZ,SAAS,EACpBW,WAAW,CAACX,SACb,CAAG;QACH,cAAarB,EAAE,CAAE,2BAA4B;QAC7C;QACA;QACA;QAAA;QACA2B,WAAW,EACVA,WAAW,GAAG0B,SAAS,GAAGrD,EAAE,CAAE,uBAAwB,CACtD;QACD4B,KAAK,EAAGD,WAAa;QACrBe,QAAQ,EAAKS,KAAK,IACjB/B,aAAa,CAAE;UAAEO,WAAW,EAAEwB,KAAK,CAACC,MAAM,CAACxB;QAAM,CAAE,CACnD;QACD,iBAAgBF,QAAU;QAC1B4B,KAAK,EAAG;UACP,GAAGtB,WAAW,CAACsB,KAAK;UACpB,GAAGrB,UAAU,CAACqB;QACf;MAAG,CACH,CAAC,EACAlB,iBAAiB,IAAIY,OAAO;IAAA,CACzB,CAAC;EAAA,CACH,CAAC;AAER;AAEA,eAAe9B,eAAe","ignoreList":[]}
@@ -49,6 +49,9 @@ export default function save({
49
49
  const inputClasses = clsx('wp-block-form-input__input', colorProps.className, borderProps.className);
50
50
  const TagName = type === 'textarea' ? 'textarea' : 'input';
51
51
  const blockProps = useBlockProps.save();
52
+
53
+ // Note: radio inputs aren't implemented yet.
54
+ const isCheckboxOrRadio = type === 'checkbox' || type === 'radio';
52
55
  if ('hidden' === type) {
53
56
  return /*#__PURE__*/_jsx("input", {
54
57
  type: type,
@@ -62,7 +65,7 @@ export default function save({
62
65
  className: clsx('wp-block-form-input__label', {
63
66
  'is-label-inline': inlineLabel
64
67
  }),
65
- children: [/*#__PURE__*/_jsx("span", {
68
+ children: [!isCheckboxOrRadio && /*#__PURE__*/_jsx("span", {
66
69
  className: "wp-block-form-input__label-content",
67
70
  children: /*#__PURE__*/_jsx(RichText.Content, {
68
71
  value: label
@@ -75,6 +78,11 @@ export default function save({
75
78
  "aria-required": required,
76
79
  placeholder: placeholder || undefined,
77
80
  style: inputStyle
81
+ }), isCheckboxOrRadio && /*#__PURE__*/_jsx("span", {
82
+ className: "wp-block-form-input__label-content",
83
+ children: /*#__PURE__*/_jsx(RichText.Content, {
84
+ value: label
85
+ })
78
86
  })]
79
87
  })
80
88
  });