@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
@@ -13,6 +13,7 @@ var _blockEditor = require("@wordpress/block-editor");
13
13
  var _element = require("@wordpress/element");
14
14
  var _url = require("@wordpress/url");
15
15
  var _wpEmbedPreview = _interopRequireDefault(require("./wp-embed-preview"));
16
+ var _caption = require("../utils/caption");
16
17
  var _jsxRuntime = require("react/jsx-runtime");
17
18
  /**
18
19
  * Internal dependencies
@@ -67,7 +68,11 @@ class EmbedPreview extends _element.Component {
67
68
  type,
68
69
  className,
69
70
  icon,
70
- label
71
+ label,
72
+ insertBlocksAfter,
73
+ attributes,
74
+ setAttributes,
75
+ isSelected
71
76
  } = this.props;
72
77
  const {
73
78
  scripts
@@ -103,11 +108,11 @@ class EmbedPreview extends _element.Component {
103
108
  });
104
109
  /* eslint-enable jsx-a11y/no-static-element-interactions */
105
110
 
106
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("figure", {
111
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("figure", {
107
112
  className: (0, _clsx.default)(className, 'wp-block-embed', {
108
113
  'is-type-video': 'video' === type
109
114
  }),
110
- children: previewable ? embedWrapper : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Placeholder, {
115
+ children: [previewable ? embedWrapper : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Placeholder, {
111
116
  icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.BlockIcon, {
112
117
  icon: icon,
113
118
  showColors: true
@@ -124,7 +129,14 @@ class EmbedPreview extends _element.Component {
124
129
  children: (0, _i18n.sprintf)( /* translators: %s: host providing embed content e.g: www.youtube.com */
125
130
  (0, _i18n.__)("Embedded content from %s can't be previewed in the editor."), embedSourceUrl)
126
131
  })]
127
- })
132
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_caption.Caption, {
133
+ attributes: attributes,
134
+ setAttributes: setAttributes,
135
+ isSelected: isSelected,
136
+ insertBlocksAfter: insertBlocksAfter,
137
+ label: (0, _i18n.__)('Embed caption text'),
138
+ showToolbarButton: isSelected
139
+ })]
128
140
  });
129
141
  }
130
142
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_util","require","_clsx","_interopRequireDefault","_i18n","_components","_blockEditor","_element","_url","_wpEmbedPreview","_jsxRuntime","EmbedPreview","Component","constructor","arguments","hideOverlay","bind","state","interactive","getDerivedStateFromProps","nextProps","isSelected","setState","render","preview","previewable","url","type","className","icon","label","props","scripts","html","getPhotoHtml","embedSourceUrl","getAuthority","iframeTitle","sprintf","__","sandboxClassnames","clsx","embedWrapper","jsx","default","jsxs","children","SandBox","title","onFocus","onMouseUp","Placeholder","BlockIcon","showColors","href","_default","exports"],"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":["_util","require","_clsx","_interopRequireDefault","_i18n","_components","_blockEditor","_element","_url","_wpEmbedPreview","_caption","_jsxRuntime","EmbedPreview","Component","constructor","arguments","hideOverlay","bind","state","interactive","getDerivedStateFromProps","nextProps","isSelected","setState","render","preview","previewable","url","type","className","icon","label","insertBlocksAfter","attributes","setAttributes","props","scripts","html","getPhotoHtml","embedSourceUrl","getAuthority","iframeTitle","sprintf","__","sandboxClassnames","clsx","embedWrapper","jsx","default","jsxs","children","SandBox","title","onFocus","onMouseUp","Placeholder","BlockIcon","showColors","href","Caption","showToolbarButton","_default","exports"],"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":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,IAAA,GAAAP,OAAA;AAKA,IAAAQ,eAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAA2C,IAAAU,WAAA,GAAAV,OAAA;AAvB3C;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;;AAIA,MAAMW,YAAY,SAASC,kBAAS,CAAC;EACpCC,WAAWA,CAAA,EAAG;IACb,KAAK,CAAE,GAAGC,SAAU,CAAC;IACrB,IAAI,CAACC,WAAW,GAAG,IAAI,CAACA,WAAW,CAACC,IAAI,CAAE,IAAK,CAAC;IAChD,IAAI,CAACC,KAAK,GAAG;MACZC,WAAW,EAAE;IACd,CAAC;EACF;EAEA,OAAOC,wBAAwBA,CAAEC,SAAS,EAAEH,KAAK,EAAG;IACnD,IAAK,CAAEG,SAAS,CAACC,UAAU,IAAIJ,KAAK,CAACC,WAAW,EAAG;MAClD;MACA;MACA;MACA,OAAO;QAAEA,WAAW,EAAE;MAAM,CAAC;IAC9B;IAEA,OAAO,IAAI;EACZ;EAEAH,WAAWA,CAAA,EAAG;IACb;IACA;IACA;IACA;IACA;IACA,IAAI,CAACO,QAAQ,CAAE;MAAEJ,WAAW,EAAE;IAAK,CAAE,CAAC;EACvC;EAEAK,MAAMA,CAAA,EAAG;IACR,MAAM;MACLC,OAAO;MACPC,WAAW;MACXC,GAAG;MACHC,IAAI;MACJC,SAAS;MACTC,IAAI;MACJC,KAAK;MACLC,iBAAiB;MACjBC,UAAU;MACVC,aAAa;MACbZ;IACD,CAAC,GAAG,IAAI,CAACa,KAAK;IACd,MAAM;MAAEC;IAAQ,CAAC,GAAGX,OAAO;IAC3B,MAAM;MAAEN;IAAY,CAAC,GAAG,IAAI,CAACD,KAAK;IAElC,MAAMmB,IAAI,GAAG,OAAO,KAAKT,IAAI,GAAG,IAAAU,kBAAY,EAAEb,OAAQ,CAAC,GAAGA,OAAO,CAACY,IAAI;IACtE,MAAME,cAAc,GAAG,IAAAC,iBAAY,EAAEb,GAAI,CAAC;IAC1C,MAAMc,WAAW,GAAG,IAAAC,aAAO;IAC1B;IACA,IAAAC,QAAE,EAAE,0BAA2B,CAAC,EAChCJ,cACD,CAAC;IACD,MAAMK,iBAAiB,GAAG,IAAAC,aAAI,EAC7BjB,IAAI,EACJC,SAAS,EACT,yBACD,CAAC;;IAED;IACA;IACA;IACA;IACA,MAAMiB,YAAY,GACjB,UAAU,KAAKlB,IAAI,gBAClB,IAAAjB,WAAA,CAAAoC,GAAA,EAACtC,eAAA,CAAAuC,OAAc;MAACX,IAAI,EAAGA;IAAM,CAAE,CAAC,gBAEhC,IAAA1B,WAAA,CAAAsC,IAAA;MAAKpB,SAAS,EAAC,yBAAyB;MAAAqB,QAAA,gBACvC,IAAAvC,WAAA,CAAAoC,GAAA,EAAC1C,WAAA,CAAA8C,OAAO;QACPd,IAAI,EAAGA,IAAM;QACbD,OAAO,EAAGA,OAAS;QACnBgB,KAAK,EAAGX,WAAa;QACrBb,IAAI,EAAGgB,iBAAmB;QAC1BS,OAAO,EAAG,IAAI,CAACrC;MAAa,CAC5B,CAAC,EACA,CAAEG,WAAW,iBACd,IAAAR,WAAA,CAAAoC,GAAA;QACClB,SAAS,EAAC,0CAA0C;QACpDyB,SAAS,EAAG,IAAI,CAACtC;MAAa,CAC9B,CACD;IAAA,CACG,CACL;IACF;;IAEA,oBACC,IAAAL,WAAA,CAAAsC,IAAA;MACCpB,SAAS,EAAG,IAAAgB,aAAI,EAAEhB,SAAS,EAAE,gBAAgB,EAAE;QAC9C,eAAe,EAAE,OAAO,KAAKD;MAC9B,CAAE,CAAG;MAAAsB,QAAA,GAEHxB,WAAW,GACZoB,YAAY,gBAEZ,IAAAnC,WAAA,CAAAsC,IAAA,EAAC5C,WAAA,CAAAkD,WAAW;QACXzB,IAAI,eAAG,IAAAnB,WAAA,CAAAoC,GAAA,EAACzC,YAAA,CAAAkD,SAAS;UAAC1B,IAAI,EAAGA,IAAM;UAAC2B,UAAU;QAAA,CAAE,CAAG;QAC/C1B,KAAK,EAAGA,KAAO;QAAAmB,QAAA,gBAEf,IAAAvC,WAAA,CAAAoC,GAAA;UAAGlB,SAAS,EAAC,+BAA+B;UAAAqB,QAAA,eAC3C,IAAAvC,WAAA,CAAAoC,GAAA;YAAGW,IAAI,EAAG/B,GAAK;YAAAuB,QAAA,EAAGvB;UAAG,CAAK;QAAC,CACzB,CAAC,eACJ,IAAAhB,WAAA,CAAAoC,GAAA;UAAGlB,SAAS,EAAC,+BAA+B;UAAAqB,QAAA,EACzC,IAAAR,aAAO,GACR;UACA,IAAAC,QAAE,EACD,4DACD,CAAC,EACDJ,cACD;QAAC,CACC,CAAC;MAAA,CACQ,CACb,eACD,IAAA5B,WAAA,CAAAoC,GAAA,EAACrC,QAAA,CAAAiD,OAAO;QACP1B,UAAU,EAAGA,UAAY;QACzBC,aAAa,EAAGA,aAAe;QAC/BZ,UAAU,EAAGA,UAAY;QACzBU,iBAAiB,EAAGA,iBAAmB;QACvCD,KAAK,EAAG,IAAAY,QAAE,EAAE,oBAAqB,CAAG;QACpCiB,iBAAiB,EAAGtC;MAAY,CAChC,CAAC;IAAA,CACK,CAAC;EAEX;AACD;AAAC,IAAAuC,QAAA,GAAAC,OAAA,CAAAd,OAAA,GAEcpC,YAAY","ignoreList":[]}
@@ -105,6 +105,16 @@ function FileEdit({
105
105
  }, []);
106
106
  function onSelectFile(newMedia) {
107
107
  if (!newMedia || !newMedia.url) {
108
+ // Reset attributes.
109
+ setAttributes({
110
+ href: undefined,
111
+ fileName: undefined,
112
+ textLinkHref: undefined,
113
+ id: undefined,
114
+ fileId: undefined,
115
+ displayPreview: undefined,
116
+ previewHeight: undefined
117
+ });
108
118
  setTemporaryURL();
109
119
  return;
110
120
  }
@@ -216,7 +226,8 @@ function FileEdit({
216
226
  mediaURL: href,
217
227
  accept: "*",
218
228
  onSelect: onSelectFile,
219
- onError: onUploadError
229
+ onError: onUploadError,
230
+ onReset: () => onSelectFile(undefined)
220
231
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ClipboardToolbarButton, {
221
232
  text: href,
222
233
  disabled: (0, _blob.isBlobURL)(href)
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_components","_data","_blockEditor","_element","_compose","_i18n","_icons","_coreData","_notices","_inspector","_utils","_removeAnchorTag","_hooks","_jsxRuntime","MIN_PREVIEW_HEIGHT","exports","MAX_PREVIEW_HEIGHT","ClipboardToolbarButton","text","disabled","createNotice","useDispatch","noticesStore","ref","useCopyToClipboard","__","isDismissible","type","jsx","ToolbarButton","className","children","FileEdit","attributes","isSelected","setAttributes","clientId","id","fileName","href","textLinkHref","textLinkTarget","showDownloadButton","downloadButtonText","displayPreview","previewHeight","temporaryURL","setTemporaryURL","useState","blob","media","useSelect","select","undefined","coreStore","getMedia","createErrorNotice","toggleSelection","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","useUploadMediaFromBlobURL","url","onChange","onSelectFile","onError","onUploadError","useEffect","RichText","isEmpty","_x","newMedia","isBlobURL","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","useBlockProps","clsx","getAnimateClassName","displayPreviewInEditor","browserSupportsPdfs","MediaPlaceholder","icon","BlockIcon","labels","instructions","onSelect","accept","jsxs","Fragment","default","hrefs","openInNewWindow","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","ResizableBox","size","minHeight","maxHeight","minWidth","grid","enable","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","onResizeStart","onResizeStop","showHandle","data","identifier","tagName","value","placeholder","withoutInteractiveFormatting","removeAnchorTag","__experimentalGetElementClassName","_default"],"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":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_components","_data","_blockEditor","_element","_compose","_i18n","_icons","_coreData","_notices","_inspector","_utils","_removeAnchorTag","_hooks","_jsxRuntime","MIN_PREVIEW_HEIGHT","exports","MAX_PREVIEW_HEIGHT","ClipboardToolbarButton","text","disabled","createNotice","useDispatch","noticesStore","ref","useCopyToClipboard","__","isDismissible","type","jsx","ToolbarButton","className","children","FileEdit","attributes","isSelected","setAttributes","clientId","id","fileName","href","textLinkHref","textLinkTarget","showDownloadButton","downloadButtonText","displayPreview","previewHeight","temporaryURL","setTemporaryURL","useState","blob","media","useSelect","select","undefined","coreStore","getMedia","createErrorNotice","toggleSelection","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","useUploadMediaFromBlobURL","url","onChange","onSelectFile","onError","onUploadError","useEffect","RichText","isEmpty","_x","newMedia","fileId","isBlobURL","isPdf","endsWith","title","message","changeLinkDestinationOption","newHref","changeOpenInNewWindow","newValue","changeShowDownloadButton","changeDisplayPreview","handleOnResizeStop","event","direction","elt","delta","newHeight","parseInt","height","changePreviewHeight","Math","max","attachmentPage","link","blockProps","useBlockProps","clsx","getAnimateClassName","displayPreviewInEditor","browserSupportsPdfs","MediaPlaceholder","icon","BlockIcon","labels","instructions","onSelect","accept","jsxs","Fragment","default","hrefs","openInNewWindow","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","onReset","ResizableBox","size","minHeight","maxHeight","minWidth","grid","enable","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","onResizeStart","onResizeStop","showHandle","data","identifier","tagName","value","placeholder","withoutInteractiveFormatting","removeAnchorTag","__experimentalGetElementClassName","_default"],"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":[]}
@@ -28,10 +28,24 @@ const transforms = {
28
28
  const blobURL = (0, _blob.createBlobURL)(file);
29
29
 
30
30
  // File will be uploaded in componentDidMount()
31
- blocks.push((0, _blocks.createBlock)('core/file', {
32
- blob: blobURL,
33
- fileName: file.name
34
- }));
31
+ if (file.type.startsWith('video/')) {
32
+ blocks.push((0, _blocks.createBlock)('core/video', {
33
+ blob: (0, _blob.createBlobURL)(file)
34
+ }));
35
+ } else if (file.type.startsWith('image/')) {
36
+ blocks.push((0, _blocks.createBlock)('core/image', {
37
+ blob: (0, _blob.createBlobURL)(file)
38
+ }));
39
+ } else if (file.type.startsWith('audio/')) {
40
+ blocks.push((0, _blocks.createBlock)('core/audio', {
41
+ blob: (0, _blob.createBlobURL)(file)
42
+ }));
43
+ } else {
44
+ blocks.push((0, _blocks.createBlock)('core/file', {
45
+ blob: blobURL,
46
+ fileName: file.name
47
+ }));
48
+ }
35
49
  });
36
50
  return blocks;
37
51
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_blob","require","_blocks","_data","_coreData","_url","transforms","from","type","isMatch","files","length","priority","transform","blocks","forEach","file","blobURL","createBlobURL","push","createBlock","blob","fileName","name","attributes","href","src","caption","textLinkHref","id","anchor","url","getFilename","to","getMedia","select","coreStore","media","mime_type","includes","_default","exports","default"],"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":["_blob","require","_blocks","_data","_coreData","_url","transforms","from","type","isMatch","files","length","priority","transform","blocks","forEach","file","blobURL","createBlobURL","startsWith","push","createBlock","blob","fileName","name","attributes","href","src","caption","textLinkHref","id","anchor","url","getFilename","to","getMedia","select","coreStore","media","mime_type","includes","_default","exports","default"],"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":[]}
@@ -27,6 +27,118 @@ const getNameFromLabelV1 = content => {
27
27
  // Remove any remaining leading or trailing hyphens.
28
28
  .replace(/(^-+)|(-+$)/g, '');
29
29
  };
30
+ const v2 = {
31
+ attributes: {
32
+ type: {
33
+ type: 'string',
34
+ default: 'text'
35
+ },
36
+ name: {
37
+ type: 'string'
38
+ },
39
+ label: {
40
+ type: 'string',
41
+ default: 'Label',
42
+ selector: '.wp-block-form-input__label-content',
43
+ source: 'html',
44
+ __experimentalRole: 'content'
45
+ },
46
+ inlineLabel: {
47
+ type: 'boolean',
48
+ default: false
49
+ },
50
+ required: {
51
+ type: 'boolean',
52
+ default: false,
53
+ selector: '.wp-block-form-input__input',
54
+ source: 'attribute',
55
+ attribute: 'required'
56
+ },
57
+ placeholder: {
58
+ type: 'string',
59
+ selector: '.wp-block-form-input__input',
60
+ source: 'attribute',
61
+ attribute: 'placeholder',
62
+ __experimentalRole: 'content'
63
+ },
64
+ value: {
65
+ type: 'string',
66
+ default: '',
67
+ selector: 'input',
68
+ source: 'attribute',
69
+ attribute: 'value'
70
+ },
71
+ visibilityPermissions: {
72
+ type: 'string',
73
+ default: 'all'
74
+ }
75
+ },
76
+ supports: {
77
+ anchor: true,
78
+ reusable: false,
79
+ spacing: {
80
+ margin: ['top', 'bottom']
81
+ },
82
+ __experimentalBorder: {
83
+ radius: true,
84
+ __experimentalSkipSerialization: true,
85
+ __experimentalDefaultControls: {
86
+ radius: true
87
+ }
88
+ }
89
+ },
90
+ save({
91
+ attributes
92
+ }) {
93
+ const {
94
+ type,
95
+ name,
96
+ label,
97
+ inlineLabel,
98
+ required,
99
+ placeholder,
100
+ value
101
+ } = attributes;
102
+ const borderProps = (0, _blockEditor.__experimentalGetBorderClassesAndStyles)(attributes);
103
+ const colorProps = (0, _blockEditor.__experimentalGetColorClassesAndStyles)(attributes);
104
+ const inputStyle = {
105
+ ...borderProps.style,
106
+ ...colorProps.style
107
+ };
108
+ const inputClasses = (0, _clsx.default)('wp-block-form-input__input', colorProps.className, borderProps.className);
109
+ const TagName = type === 'textarea' ? 'textarea' : 'input';
110
+ const blockProps = _blockEditor.useBlockProps.save();
111
+ if ('hidden' === type) {
112
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("input", {
113
+ type: type,
114
+ name: name,
115
+ value: value
116
+ });
117
+ }
118
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
119
+ ...blockProps,
120
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("label", {
121
+ className: (0, _clsx.default)('wp-block-form-input__label', {
122
+ 'is-label-inline': inlineLabel
123
+ }),
124
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
125
+ className: "wp-block-form-input__label-content",
126
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.RichText.Content, {
127
+ value: label
128
+ })
129
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(TagName, {
130
+ className: inputClasses,
131
+ type: 'textarea' === type ? undefined : type,
132
+ name: name || getNameFromLabelV1(label),
133
+ required: required,
134
+ "aria-required": required,
135
+ placeholder: placeholder || undefined,
136
+ style: inputStyle
137
+ })]
138
+ })
139
+ });
140
+ }
141
+ };
30
142
 
31
143
  // Version without wrapper div in saved markup
32
144
  // See: https://github.com/WordPress/gutenberg/pull/56507
@@ -142,6 +254,6 @@ const v1 = {
142
254
  /* eslint-enable jsx-a11y/label-has-associated-control */
143
255
  }
144
256
  };
145
- const deprecated = [v1];
257
+ const deprecated = [v2, v1];
146
258
  var _default = exports.default = deprecated;
147
259
  //# sourceMappingURL=deprecated.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_removeAccents","_blockEditor","_dom","_jsxRuntime","getNameFromLabelV1","content","removeAccents","stripHTML","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","getBorderClassesAndStyles","colorProps","getColorClassesAndStyles","inputStyle","style","inputClasses","clsx","TagName","jsx","jsxs","children","RichText","Content","undefined","deprecated","_default","exports"],"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","_interopRequireDefault","require","_removeAccents","_blockEditor","_dom","_jsxRuntime","getNameFromLabelV1","content","removeAccents","stripHTML","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","getBorderClassesAndStyles","colorProps","getColorClassesAndStyles","inputStyle","style","inputClasses","clsx","className","TagName","blockProps","useBlockProps","jsx","children","jsxs","RichText","Content","undefined","v1","deprecated","_default","exports"],"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":[]}
@@ -41,6 +41,9 @@ function InputFieldBlock({
41
41
  if (ref.current) {
42
42
  ref.current.focus();
43
43
  }
44
+
45
+ // Note: radio inputs aren't implemented yet.
46
+ const isCheckboxOrRadio = type === 'checkbox' || type === 'radio';
44
47
  const controls = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
45
48
  children: ['hidden' !== type && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
46
49
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
@@ -82,6 +85,17 @@ function InputFieldBlock({
82
85
  })
83
86
  })]
84
87
  });
88
+ const content = /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.RichText, {
89
+ tagName: "span",
90
+ className: "wp-block-form-input__label-content",
91
+ value: label,
92
+ onChange: newLabel => setAttributes({
93
+ label: newLabel
94
+ }),
95
+ "aria-label": label ? (0, _i18n.__)('Label') : (0, _i18n.__)('Empty label'),
96
+ "data-empty": !label,
97
+ placeholder: (0, _i18n.__)('Type the label for this input')
98
+ });
85
99
  if ('hidden' === type) {
86
100
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
87
101
  children: [controls, /*#__PURE__*/(0, _jsxRuntime.jsx)("input", {
@@ -101,17 +115,7 @@ function InputFieldBlock({
101
115
  className: (0, _clsx.default)('wp-block-form-input__label', {
102
116
  'is-label-inline': inlineLabel || 'checkbox' === type
103
117
  }),
104
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.RichText, {
105
- tagName: "span",
106
- className: "wp-block-form-input__label-content",
107
- value: label,
108
- onChange: newLabel => setAttributes({
109
- label: newLabel
110
- }),
111
- "aria-label": label ? (0, _i18n.__)('Label') : (0, _i18n.__)('Empty label'),
112
- "data-empty": label ? false : true,
113
- placeholder: (0, _i18n.__)('Type the label for this input')
114
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(TagName, {
118
+ children: [!isCheckboxOrRadio && content, /*#__PURE__*/(0, _jsxRuntime.jsx)(TagName, {
115
119
  type: 'textarea' === type ? undefined : type,
116
120
  className: (0, _clsx.default)(className, 'wp-block-form-input__input', colorProps.className, borderProps.className),
117
121
  "aria-label": (0, _i18n.__)('Optional placeholder text')
@@ -129,7 +133,7 @@ function InputFieldBlock({
129
133
  ...borderProps.style,
130
134
  ...colorProps.style
131
135
  }
132
- })]
136
+ }), isCheckboxOrRadio && content]
133
137
  })]
134
138
  });
135
139
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_blockEditor","_components","_element","_jsxRuntime","InputFieldBlock","attributes","setAttributes","className","type","name","label","inlineLabel","required","placeholder","value","blockProps","useBlockProps","ref","useRef","TagName","borderProps","useBorderProps","colorProps","useColorProps","current","focus","controls","jsxs","Fragment","children","jsx","InspectorControls","PanelBody","title","__","CheckboxControl","__nextHasNoMarginBottom","checked","onChange","newVal","group","TextControl","__next40pxDefaultSize","autoComplete","help","clsx","event","target","RichText","tagName","newLabel","undefined","style","_default","exports","default"],"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","_interopRequireDefault","require","_i18n","_blockEditor","_components","_element","_jsxRuntime","InputFieldBlock","attributes","setAttributes","className","type","name","label","inlineLabel","required","placeholder","value","blockProps","useBlockProps","ref","useRef","TagName","borderProps","useBorderProps","colorProps","useColorProps","current","focus","isCheckboxOrRadio","controls","jsxs","Fragment","children","jsx","InspectorControls","PanelBody","title","__","CheckboxControl","__nextHasNoMarginBottom","checked","onChange","newVal","group","TextControl","__next40pxDefaultSize","autoComplete","help","content","RichText","tagName","newLabel","clsx","event","target","undefined","style","_default","exports","default"],"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":"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","ignoreList":[]}