@wordpress/block-library 9.48.0 → 10.0.1-next.v.202606191442.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 (951) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/build/breadcrumbs/edit.cjs +1 -1
  3. package/build/breadcrumbs/edit.cjs.map +1 -1
  4. package/build/button/edit.cjs +1 -1
  5. package/build/button/edit.cjs.map +2 -2
  6. package/build/categories/edit.cjs +1 -1
  7. package/build/categories/edit.cjs.map +1 -1
  8. package/build/code/edit.cjs +1 -1
  9. package/build/code/edit.cjs.map +2 -2
  10. package/build/code/index.cjs +1 -1
  11. package/build/code/index.cjs.map +1 -1
  12. package/build/columns/transforms.cjs +65 -0
  13. package/build/columns/transforms.cjs.map +2 -2
  14. package/build/columns/utils.cjs.map +1 -1
  15. package/build/comments/edit/comments-legacy.cjs +1 -1
  16. package/build/comments/edit/comments-legacy.cjs.map +1 -1
  17. package/build/comments/edit/placeholder.cjs +4 -4
  18. package/build/comments/edit/placeholder.cjs.map +1 -1
  19. package/build/comments-pagination-next/edit.cjs +2 -2
  20. package/build/comments-pagination-next/edit.cjs.map +1 -1
  21. package/build/comments-pagination-previous/edit.cjs +2 -2
  22. package/build/comments-pagination-previous/edit.cjs.map +1 -1
  23. package/build/cover/deprecated.cjs +3 -3
  24. package/build/cover/deprecated.cjs.map +2 -2
  25. package/build/cover/edit/block-controls.cjs +13 -0
  26. package/build/cover/edit/block-controls.cjs.map +2 -2
  27. package/build/cover/edit/index.cjs +61 -2
  28. package/build/cover/edit/index.cjs.map +3 -3
  29. package/build/cover/edit/inspector-controls.cjs +93 -35
  30. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  31. package/build/details/edit.cjs +1 -1
  32. package/build/details/edit.cjs.map +2 -2
  33. package/build/embed/embed-placeholder.cjs +1 -1
  34. package/build/embed/embed-placeholder.cjs.map +2 -2
  35. package/build/file/edit.cjs +3 -11
  36. package/build/file/edit.cjs.map +2 -2
  37. package/build/file/index.cjs +3 -1
  38. package/build/file/index.cjs.map +3 -3
  39. package/build/file/transforms.cjs +11 -32
  40. package/build/file/transforms.cjs.map +2 -2
  41. package/build/file/variations.cjs +38 -0
  42. package/build/file/variations.cjs.map +7 -0
  43. package/build/footnotes/edit.cjs +1 -1
  44. package/build/footnotes/edit.cjs.map +2 -2
  45. package/build/form-input/edit.cjs +1 -1
  46. package/build/form-input/edit.cjs.map +2 -2
  47. package/build/freeform/edit.cjs +1 -1
  48. package/build/freeform/edit.cjs.map +1 -1
  49. package/build/gallery/edit.cjs +212 -331
  50. package/build/gallery/edit.cjs.map +2 -2
  51. package/build/gallery/transforms.cjs +43 -0
  52. package/build/gallery/transforms.cjs.map +2 -2
  53. package/build/heading/edit.cjs +0 -1
  54. package/build/heading/edit.cjs.map +2 -2
  55. package/build/home-link/edit.cjs +1 -1
  56. package/build/home-link/edit.cjs.map +2 -2
  57. package/build/html/index.cjs +1 -1
  58. package/build/html/index.cjs.map +2 -2
  59. package/build/html/modal.cjs +3 -3
  60. package/build/html/modal.cjs.map +2 -2
  61. package/build/icon/block.json +12 -0
  62. package/build/icon/edit.cjs +90 -39
  63. package/build/icon/edit.cjs.map +3 -3
  64. package/build/icon/index.cjs +3 -1
  65. package/build/icon/index.cjs.map +3 -3
  66. package/build/{tab/save.cjs → icon/variations.cjs} +14 -15
  67. package/build/icon/variations.cjs.map +7 -0
  68. package/build/image/block.json +1 -0
  69. package/build/image/edit.cjs +4 -3
  70. package/build/image/edit.cjs.map +2 -2
  71. package/build/image/image.cjs +91 -27
  72. package/build/image/image.cjs.map +2 -2
  73. package/build/image/index.cjs +1 -1
  74. package/build/image/index.cjs.map +2 -2
  75. package/build/image/transforms.cjs +9 -3
  76. package/build/image/transforms.cjs.map +2 -2
  77. package/build/index.cjs +1 -3
  78. package/build/index.cjs.map +2 -2
  79. package/build/latest-posts/edit.cjs +1 -1
  80. package/build/latest-posts/edit.cjs.map +1 -1
  81. package/build/list/edit.cjs +1 -8
  82. package/build/list/edit.cjs.map +2 -2
  83. package/build/list/ordered-list-settings.cjs +1 -44
  84. package/build/list/ordered-list-settings.cjs.map +2 -2
  85. package/build/list-item/hooks/use-merge.cjs +47 -24
  86. package/build/list-item/hooks/use-merge.cjs.map +2 -2
  87. package/build/math/edit.cjs +1 -1
  88. package/build/math/index.cjs +1 -1
  89. package/build/math/index.cjs.map +1 -1
  90. package/build/media-text/constants.cjs +1 -1
  91. package/build/media-text/constants.cjs.map +2 -2
  92. package/build/media-text/index.cjs +1 -1
  93. package/build/media-text/index.cjs.map +2 -2
  94. package/build/missing/edit.cjs +2 -2
  95. package/build/missing/edit.cjs.map +1 -1
  96. package/build/navigation/edit/index.cjs +29 -34
  97. package/build/navigation/edit/index.cjs.map +2 -2
  98. package/build/navigation/edit/navigation-menu-selector.cjs +1 -1
  99. package/build/navigation/edit/navigation-menu-selector.cjs.map +2 -2
  100. package/build/navigation/edit/placeholder/index.cjs +1 -1
  101. package/build/navigation/edit/placeholder/index.cjs.map +2 -2
  102. package/build/navigation-link/edit.cjs +1 -2
  103. package/build/navigation-link/edit.cjs.map +2 -2
  104. package/build/navigation-submenu/block.json +7 -0
  105. package/build/navigation-submenu/edit.cjs +3 -2
  106. package/build/navigation-submenu/edit.cjs.map +2 -2
  107. package/build/page-list/block.json +2 -5
  108. package/build/page-list/edit.cjs +1 -11
  109. package/build/page-list/edit.cjs.map +2 -2
  110. package/build/paragraph/deprecated.cjs +1 -0
  111. package/build/paragraph/deprecated.cjs.map +2 -2
  112. package/build/paragraph/edit.cjs +10 -1
  113. package/build/paragraph/edit.cjs.map +3 -3
  114. package/build/playlist/block.json +12 -0
  115. package/build/playlist/edit.cjs +27 -1
  116. package/build/playlist/edit.cjs.map +2 -2
  117. package/build/playlist/save.cjs +8 -1
  118. package/build/playlist/save.cjs.map +2 -2
  119. package/build/playlist/view.cjs +1 -0
  120. package/build/playlist/view.cjs.map +2 -2
  121. package/build/post-author/edit.cjs +1 -1
  122. package/build/post-author/edit.cjs.map +2 -2
  123. package/build/post-author/utils.cjs +1 -1
  124. package/build/post-author/utils.cjs.map +2 -2
  125. package/build/post-date/edit.cjs +2 -2
  126. package/build/post-date/edit.cjs.map +2 -2
  127. package/build/post-excerpt/edit.cjs +2 -2
  128. package/build/post-excerpt/edit.cjs.map +2 -2
  129. package/build/post-featured-image/block.json +1 -0
  130. package/build/post-featured-image/dimension-controls.cjs +90 -178
  131. package/build/post-featured-image/dimension-controls.cjs.map +3 -3
  132. package/build/post-featured-image/edit.cjs +47 -17
  133. package/build/post-featured-image/edit.cjs.map +2 -2
  134. package/build/post-navigation-link/edit.cjs +2 -2
  135. package/build/post-navigation-link/edit.cjs.map +2 -2
  136. package/build/post-time-to-read/edit.cjs +1 -1
  137. package/build/post-time-to-read/edit.cjs.map +1 -1
  138. package/build/post-time-to-read/index.cjs +1 -1
  139. package/build/post-time-to-read/index.cjs.map +2 -2
  140. package/build/post-time-to-read/variations.cjs +1 -1
  141. package/build/post-time-to-read/variations.cjs.map +2 -2
  142. package/build/preformatted/edit.cjs +1 -1
  143. package/build/preformatted/edit.cjs.map +2 -2
  144. package/build/pullquote/block.json +1 -3
  145. package/build/pullquote/deprecated.cjs +114 -9
  146. package/build/pullquote/deprecated.cjs.map +3 -3
  147. package/build/pullquote/edit.cjs +43 -66
  148. package/build/pullquote/edit.cjs.map +3 -3
  149. package/build/pullquote/save.cjs +5 -26
  150. package/build/pullquote/save.cjs.map +3 -3
  151. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs +1 -1
  152. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs.map +1 -1
  153. package/build/query/edit/inspector-controls/order-control.cjs +2 -2
  154. package/build/query/edit/inspector-controls/order-control.cjs.map +2 -2
  155. package/build/query/utils.cjs +2 -2
  156. package/build/query/utils.cjs.map +2 -2
  157. package/build/query-pagination-next/edit.cjs +2 -2
  158. package/build/query-pagination-next/edit.cjs.map +1 -1
  159. package/build/query-pagination-previous/edit.cjs +2 -2
  160. package/build/query-pagination-previous/edit.cjs.map +1 -1
  161. package/build/query-title/edit.cjs +1 -1
  162. package/build/query-title/edit.cjs.map +2 -2
  163. package/build/query-total/edit.cjs +1 -1
  164. package/build/query-total/edit.cjs.map +2 -2
  165. package/build/quote/edit.cjs +4 -9
  166. package/build/quote/edit.cjs.map +2 -2
  167. package/build/quote/index.cjs +1 -1
  168. package/build/quote/index.cjs.map +2 -2
  169. package/build/read-more/edit.cjs +1 -1
  170. package/build/read-more/edit.cjs.map +2 -2
  171. package/build/rss/edit.cjs +1 -1
  172. package/build/rss/edit.cjs.map +2 -2
  173. package/build/search/edit.cjs +3 -3
  174. package/build/search/edit.cjs.map +2 -2
  175. package/build/shortcode/edit.cjs +1 -1
  176. package/build/shortcode/edit.cjs.map +2 -2
  177. package/build/shortcode/transforms.cjs +2 -2
  178. package/build/shortcode/transforms.cjs.map +2 -2
  179. package/build/site-tagline/edit.cjs +1 -1
  180. package/build/site-tagline/edit.cjs.map +2 -2
  181. package/build/site-title/edit.cjs +1 -1
  182. package/build/site-title/edit.cjs.map +2 -2
  183. package/build/tab-list/block.json +34 -21
  184. package/build/tab-list/edit.cjs +116 -12
  185. package/build/tab-list/edit.cjs.map +3 -3
  186. package/build/tab-list/save.cjs +33 -3
  187. package/build/tab-list/save.cjs.map +3 -3
  188. package/build/tab-panel/add-tab-toolbar-control.cjs +19 -8
  189. package/build/tab-panel/add-tab-toolbar-control.cjs.map +2 -2
  190. package/build/tab-panel/block.json +2 -6
  191. package/build/tab-panel/remove-tab-toolbar-control.cjs +9 -14
  192. package/build/tab-panel/remove-tab-toolbar-control.cjs.map +2 -2
  193. package/build/tab-panels/block.json +2 -27
  194. package/build/table/index.cjs +1 -1
  195. package/build/table/index.cjs.map +2 -2
  196. package/build/tabs/block.json +3 -17
  197. package/build/tabs/edit.cjs +7 -21
  198. package/build/tabs/edit.cjs.map +3 -3
  199. package/build/tabs/index.cjs +6 -10
  200. package/build/tabs/index.cjs.map +2 -2
  201. package/build/tabs/use-tab-list-items-sync.cjs +53 -0
  202. package/build/tabs/use-tab-list-items-sync.cjs.map +7 -0
  203. package/build/tabs/view.cjs +2 -10
  204. package/build/tabs/view.cjs.map +2 -2
  205. package/build/terms-query/edit/inspector-controls/order-control.cjs +2 -2
  206. package/build/terms-query/edit/inspector-controls/order-control.cjs.map +2 -2
  207. package/build/utils/style-state.cjs +164 -0
  208. package/build/utils/style-state.cjs.map +7 -0
  209. package/build/utils/waveform-player.cjs +42 -9
  210. package/build/utils/waveform-player.cjs.map +2 -2
  211. package/build/utils/waveform-utils.cjs +6 -4
  212. package/build/utils/waveform-utils.cjs.map +2 -2
  213. package/build/verse/edit.cjs +1 -1
  214. package/build/verse/edit.cjs.map +2 -2
  215. package/build/video/edit-common-settings.cjs +3 -6
  216. package/build/video/edit-common-settings.cjs.map +2 -2
  217. package/build-module/breadcrumbs/edit.mjs +1 -1
  218. package/build-module/breadcrumbs/edit.mjs.map +1 -1
  219. package/build-module/button/edit.mjs +1 -1
  220. package/build-module/button/edit.mjs.map +2 -2
  221. package/build-module/categories/edit.mjs +1 -1
  222. package/build-module/categories/edit.mjs.map +1 -1
  223. package/build-module/code/edit.mjs +1 -1
  224. package/build-module/code/edit.mjs.map +2 -2
  225. package/build-module/code/index.mjs +1 -1
  226. package/build-module/code/index.mjs.map +1 -1
  227. package/build-module/columns/transforms.mjs +65 -0
  228. package/build-module/columns/transforms.mjs.map +2 -2
  229. package/build-module/columns/utils.mjs.map +1 -1
  230. package/build-module/comments/edit/comments-legacy.mjs +1 -1
  231. package/build-module/comments/edit/comments-legacy.mjs.map +1 -1
  232. package/build-module/comments/edit/placeholder.mjs +4 -4
  233. package/build-module/comments/edit/placeholder.mjs.map +1 -1
  234. package/build-module/comments-pagination-next/edit.mjs +2 -2
  235. package/build-module/comments-pagination-next/edit.mjs.map +1 -1
  236. package/build-module/comments-pagination-previous/edit.mjs +2 -2
  237. package/build-module/comments-pagination-previous/edit.mjs.map +1 -1
  238. package/build-module/cover/deprecated.mjs +3 -3
  239. package/build-module/cover/deprecated.mjs.map +2 -2
  240. package/build-module/cover/edit/block-controls.mjs +15 -2
  241. package/build-module/cover/edit/block-controls.mjs.map +2 -2
  242. package/build-module/cover/edit/index.mjs +64 -3
  243. package/build-module/cover/edit/index.mjs.map +2 -2
  244. package/build-module/cover/edit/inspector-controls.mjs +98 -35
  245. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  246. package/build-module/details/edit.mjs +1 -1
  247. package/build-module/details/edit.mjs.map +2 -2
  248. package/build-module/embed/embed-placeholder.mjs +1 -1
  249. package/build-module/embed/embed-placeholder.mjs.map +2 -2
  250. package/build-module/file/edit.mjs +5 -13
  251. package/build-module/file/edit.mjs.map +2 -2
  252. package/build-module/file/index.mjs +3 -1
  253. package/build-module/file/index.mjs.map +2 -2
  254. package/build-module/file/transforms.mjs +11 -32
  255. package/build-module/file/transforms.mjs.map +2 -2
  256. package/build-module/file/variations.mjs +17 -0
  257. package/build-module/file/variations.mjs.map +7 -0
  258. package/build-module/footnotes/edit.mjs +1 -1
  259. package/build-module/footnotes/edit.mjs.map +2 -2
  260. package/build-module/form-input/edit.mjs +1 -1
  261. package/build-module/form-input/edit.mjs.map +2 -2
  262. package/build-module/freeform/edit.mjs +1 -1
  263. package/build-module/freeform/edit.mjs.map +1 -1
  264. package/build-module/gallery/edit.mjs +214 -334
  265. package/build-module/gallery/edit.mjs.map +2 -2
  266. package/build-module/gallery/transforms.mjs +43 -0
  267. package/build-module/gallery/transforms.mjs.map +2 -2
  268. package/build-module/heading/edit.mjs +1 -2
  269. package/build-module/heading/edit.mjs.map +2 -2
  270. package/build-module/home-link/edit.mjs +1 -1
  271. package/build-module/home-link/edit.mjs.map +2 -2
  272. package/build-module/html/index.mjs +1 -1
  273. package/build-module/html/index.mjs.map +2 -2
  274. package/build-module/html/modal.mjs +3 -3
  275. package/build-module/html/modal.mjs.map +2 -2
  276. package/build-module/icon/block.json +12 -0
  277. package/build-module/icon/edit.mjs +94 -40
  278. package/build-module/icon/edit.mjs.map +2 -2
  279. package/build-module/icon/index.mjs +3 -1
  280. package/build-module/icon/index.mjs.map +2 -2
  281. package/build-module/icon/variations.mjs +13 -0
  282. package/build-module/icon/variations.mjs.map +7 -0
  283. package/build-module/image/block.json +1 -0
  284. package/build-module/image/edit.mjs +4 -3
  285. package/build-module/image/edit.mjs.map +2 -2
  286. package/build-module/image/image.mjs +96 -27
  287. package/build-module/image/image.mjs.map +2 -2
  288. package/build-module/image/index.mjs +1 -1
  289. package/build-module/image/index.mjs.map +2 -2
  290. package/build-module/image/transforms.mjs +9 -3
  291. package/build-module/image/transforms.mjs.map +2 -2
  292. package/build-module/index.mjs +1 -3
  293. package/build-module/index.mjs.map +2 -2
  294. package/build-module/latest-posts/edit.mjs +1 -1
  295. package/build-module/latest-posts/edit.mjs.map +1 -1
  296. package/build-module/list/edit.mjs +2 -9
  297. package/build-module/list/edit.mjs.map +2 -2
  298. package/build-module/list/ordered-list-settings.mjs +1 -45
  299. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  300. package/build-module/list-item/hooks/use-merge.mjs +48 -25
  301. package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
  302. package/build-module/math/edit.mjs +1 -1
  303. package/build-module/math/index.mjs +1 -1
  304. package/build-module/math/index.mjs.map +1 -1
  305. package/build-module/media-text/constants.mjs +1 -1
  306. package/build-module/media-text/constants.mjs.map +2 -2
  307. package/build-module/media-text/index.mjs +1 -1
  308. package/build-module/media-text/index.mjs.map +2 -2
  309. package/build-module/missing/edit.mjs +2 -2
  310. package/build-module/missing/edit.mjs.map +1 -1
  311. package/build-module/navigation/edit/index.mjs +30 -41
  312. package/build-module/navigation/edit/index.mjs.map +2 -2
  313. package/build-module/navigation/edit/navigation-menu-selector.mjs +1 -1
  314. package/build-module/navigation/edit/navigation-menu-selector.mjs.map +2 -2
  315. package/build-module/navigation/edit/placeholder/index.mjs +1 -1
  316. package/build-module/navigation/edit/placeholder/index.mjs.map +2 -2
  317. package/build-module/navigation-link/edit.mjs +1 -2
  318. package/build-module/navigation-link/edit.mjs.map +2 -2
  319. package/build-module/navigation-submenu/block.json +7 -0
  320. package/build-module/navigation-submenu/edit.mjs +3 -2
  321. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  322. package/build-module/page-list/block.json +2 -5
  323. package/build-module/page-list/edit.mjs +1 -11
  324. package/build-module/page-list/edit.mjs.map +2 -2
  325. package/build-module/paragraph/deprecated.mjs +1 -0
  326. package/build-module/paragraph/deprecated.mjs.map +2 -2
  327. package/build-module/paragraph/edit.mjs +12 -2
  328. package/build-module/paragraph/edit.mjs.map +2 -2
  329. package/build-module/playlist/block.json +12 -0
  330. package/build-module/playlist/edit.mjs +27 -1
  331. package/build-module/playlist/edit.mjs.map +2 -2
  332. package/build-module/playlist/save.mjs +8 -1
  333. package/build-module/playlist/save.mjs.map +2 -2
  334. package/build-module/playlist/view.mjs +1 -0
  335. package/build-module/playlist/view.mjs.map +2 -2
  336. package/build-module/post-author/edit.mjs +1 -1
  337. package/build-module/post-author/edit.mjs.map +2 -2
  338. package/build-module/post-author/utils.mjs +1 -1
  339. package/build-module/post-author/utils.mjs.map +2 -2
  340. package/build-module/post-date/edit.mjs +2 -2
  341. package/build-module/post-date/edit.mjs.map +2 -2
  342. package/build-module/post-excerpt/edit.mjs +2 -2
  343. package/build-module/post-excerpt/edit.mjs.map +2 -2
  344. package/build-module/post-featured-image/block.json +1 -0
  345. package/build-module/post-featured-image/dimension-controls.mjs +99 -187
  346. package/build-module/post-featured-image/dimension-controls.mjs.map +2 -2
  347. package/build-module/post-featured-image/edit.mjs +47 -17
  348. package/build-module/post-featured-image/edit.mjs.map +2 -2
  349. package/build-module/post-navigation-link/edit.mjs +2 -2
  350. package/build-module/post-navigation-link/edit.mjs.map +2 -2
  351. package/build-module/post-time-to-read/edit.mjs +1 -1
  352. package/build-module/post-time-to-read/edit.mjs.map +1 -1
  353. package/build-module/post-time-to-read/index.mjs +1 -1
  354. package/build-module/post-time-to-read/index.mjs.map +2 -2
  355. package/build-module/post-time-to-read/variations.mjs +2 -2
  356. package/build-module/post-time-to-read/variations.mjs.map +2 -2
  357. package/build-module/preformatted/edit.mjs +1 -1
  358. package/build-module/preformatted/edit.mjs.map +2 -2
  359. package/build-module/pullquote/block.json +1 -3
  360. package/build-module/pullquote/deprecated.mjs +114 -9
  361. package/build-module/pullquote/deprecated.mjs.map +2 -2
  362. package/build-module/pullquote/edit.mjs +44 -72
  363. package/build-module/pullquote/edit.mjs.map +2 -2
  364. package/build-module/pullquote/save.mjs +5 -16
  365. package/build-module/pullquote/save.mjs.map +2 -2
  366. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs +1 -1
  367. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs.map +1 -1
  368. package/build-module/query/edit/inspector-controls/order-control.mjs +2 -2
  369. package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
  370. package/build-module/query/utils.mjs +2 -2
  371. package/build-module/query/utils.mjs.map +2 -2
  372. package/build-module/query-pagination-next/edit.mjs +2 -2
  373. package/build-module/query-pagination-next/edit.mjs.map +1 -1
  374. package/build-module/query-pagination-previous/edit.mjs +2 -2
  375. package/build-module/query-pagination-previous/edit.mjs.map +1 -1
  376. package/build-module/query-title/edit.mjs +1 -1
  377. package/build-module/query-title/edit.mjs.map +2 -2
  378. package/build-module/query-total/edit.mjs +1 -1
  379. package/build-module/query-total/edit.mjs.map +2 -2
  380. package/build-module/quote/edit.mjs +5 -10
  381. package/build-module/quote/edit.mjs.map +2 -2
  382. package/build-module/quote/index.mjs +1 -1
  383. package/build-module/quote/index.mjs.map +2 -2
  384. package/build-module/read-more/edit.mjs +1 -1
  385. package/build-module/read-more/edit.mjs.map +2 -2
  386. package/build-module/rss/edit.mjs +1 -1
  387. package/build-module/rss/edit.mjs.map +2 -2
  388. package/build-module/search/edit.mjs +3 -3
  389. package/build-module/search/edit.mjs.map +2 -2
  390. package/build-module/shortcode/edit.mjs +1 -1
  391. package/build-module/shortcode/edit.mjs.map +2 -2
  392. package/build-module/shortcode/transforms.mjs +2 -2
  393. package/build-module/shortcode/transforms.mjs.map +2 -2
  394. package/build-module/site-tagline/edit.mjs +1 -1
  395. package/build-module/site-tagline/edit.mjs.map +2 -2
  396. package/build-module/site-title/edit.mjs +1 -1
  397. package/build-module/site-title/edit.mjs.map +2 -2
  398. package/build-module/tab-list/block.json +34 -21
  399. package/build-module/tab-list/edit.mjs +122 -15
  400. package/build-module/tab-list/edit.mjs.map +2 -2
  401. package/build-module/tab-list/save.mjs +29 -4
  402. package/build-module/tab-list/save.mjs.map +2 -2
  403. package/build-module/tab-panel/add-tab-toolbar-control.mjs +19 -8
  404. package/build-module/tab-panel/add-tab-toolbar-control.mjs.map +2 -2
  405. package/build-module/tab-panel/block.json +2 -6
  406. package/build-module/tab-panel/remove-tab-toolbar-control.mjs +9 -14
  407. package/build-module/tab-panel/remove-tab-toolbar-control.mjs.map +2 -2
  408. package/build-module/tab-panels/block.json +2 -27
  409. package/build-module/table/index.mjs +1 -1
  410. package/build-module/table/index.mjs.map +2 -2
  411. package/build-module/tabs/block.json +3 -17
  412. package/build-module/tabs/edit.mjs +7 -21
  413. package/build-module/tabs/edit.mjs.map +2 -2
  414. package/build-module/tabs/index.mjs +6 -10
  415. package/build-module/tabs/index.mjs.map +2 -2
  416. package/build-module/tabs/use-tab-list-items-sync.mjs +32 -0
  417. package/build-module/tabs/use-tab-list-items-sync.mjs.map +7 -0
  418. package/build-module/tabs/view.mjs +2 -10
  419. package/build-module/tabs/view.mjs.map +2 -2
  420. package/build-module/terms-query/edit/inspector-controls/order-control.mjs +2 -2
  421. package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
  422. package/build-module/utils/style-state.mjs +132 -0
  423. package/build-module/utils/style-state.mjs.map +7 -0
  424. package/build-module/utils/waveform-player.mjs +44 -11
  425. package/build-module/utils/waveform-player.mjs.map +2 -2
  426. package/build-module/utils/waveform-utils.mjs +6 -4
  427. package/build-module/utils/waveform-utils.mjs.map +2 -2
  428. package/build-module/verse/edit.mjs +1 -1
  429. package/build-module/verse/edit.mjs.map +2 -2
  430. package/build-module/video/edit-common-settings.mjs +4 -7
  431. package/build-module/video/edit-common-settings.mjs.map +2 -2
  432. package/build-style/comment-template/style-rtl.css +1 -0
  433. package/build-style/comment-template/style.css +1 -0
  434. package/build-style/common-rtl.css +30 -10
  435. package/build-style/common.css +30 -10
  436. package/build-style/cover/style-rtl.css +2 -1
  437. package/build-style/cover/style.css +2 -1
  438. package/build-style/editor-rtl.css +34 -27
  439. package/build-style/editor.css +34 -27
  440. package/build-style/form-input/style-rtl.css +2 -0
  441. package/build-style/form-input/style.css +2 -0
  442. package/build-style/gallery/style-rtl.css +4 -2
  443. package/build-style/gallery/style.css +4 -2
  444. package/build-style/icon/style-rtl.css +9 -0
  445. package/build-style/icon/style.css +9 -0
  446. package/build-style/media-text/style-rtl.css +2 -1
  447. package/build-style/media-text/style.css +2 -1
  448. package/build-style/playlist/style-rtl.css +3 -0
  449. package/build-style/playlist/style.css +3 -0
  450. package/build-style/query/editor-rtl.css +8 -4
  451. package/build-style/query/editor.css +8 -4
  452. package/build-style/read-more/style-rtl.css +1 -0
  453. package/build-style/read-more/style.css +1 -0
  454. package/build-style/reset-rtl.css +3 -1
  455. package/build-style/reset.css +3 -1
  456. package/build-style/search/style-rtl.css +3 -1
  457. package/build-style/search/style.css +3 -1
  458. package/build-style/site-logo/editor-rtl.css +2 -1
  459. package/build-style/site-logo/editor.css +2 -1
  460. package/build-style/style-rtl.css +64 -41
  461. package/build-style/style.css +64 -41
  462. package/build-style/tab-list/editor-rtl.css +12 -4
  463. package/build-style/tab-list/editor.css +12 -4
  464. package/build-style/{tab → tab-list}/style-rtl.css +5 -3
  465. package/build-style/{tab → tab-list}/style.css +5 -3
  466. package/build-style/tab-panel/style-rtl.css +0 -17
  467. package/build-style/tab-panel/style.css +0 -17
  468. package/build-style/template-part/editor-rtl.css +8 -4
  469. package/build-style/template-part/editor.css +8 -4
  470. package/build-style/video/style-rtl.css +2 -1
  471. package/build-style/video/style.css +2 -1
  472. package/package.json +55 -48
  473. package/src/accordion/README.md +97 -0
  474. package/src/accordion-heading/README.md +81 -0
  475. package/src/accordion-item/README.md +85 -0
  476. package/src/accordion-panel/README.md +74 -0
  477. package/src/archives/README.md +56 -0
  478. package/src/audio/README.md +55 -0
  479. package/src/avatar/README.md +74 -0
  480. package/src/avatar/index.php +2 -2
  481. package/src/block/README.md +56 -0
  482. package/src/block/index.php +2 -26
  483. package/src/breadcrumbs/README.md +67 -0
  484. package/src/button/README.md +93 -0
  485. package/src/buttons/README.md +80 -0
  486. package/src/calendar/README.md +51 -0
  487. package/src/categories/README.md +69 -0
  488. package/src/code/README.md +55 -0
  489. package/src/column/README.md +72 -0
  490. package/src/columns/README.md +90 -0
  491. package/src/columns/test/transforms.js +164 -0
  492. package/src/columns/transforms.js +74 -0
  493. package/src/comment-author-avatar/README.md +63 -0
  494. package/src/comment-author-avatar/index.php +3 -3
  495. package/src/comment-author-name/README.md +67 -0
  496. package/src/comment-author-name/index.php +1 -1
  497. package/src/comment-content/README.md +61 -0
  498. package/src/comment-date/README.md +67 -0
  499. package/src/comment-date/index.php +1 -1
  500. package/src/comment-edit-link/README.md +67 -0
  501. package/src/comment-reply-link/README.md +63 -0
  502. package/src/comment-template/README.md +60 -0
  503. package/src/comments/README.md +88 -0
  504. package/src/comments-pagination/README.md +77 -0
  505. package/src/comments-pagination-next/README.md +64 -0
  506. package/src/comments-pagination-numbers/README.md +64 -0
  507. package/src/comments-pagination-previous/README.md +64 -0
  508. package/src/comments-title/README.md +70 -0
  509. package/src/common.scss +63 -10
  510. package/src/cover/README.md +111 -0
  511. package/src/cover/edit/block-controls.js +14 -2
  512. package/src/cover/edit/index.js +86 -0
  513. package/src/cover/edit/inspector-controls.js +124 -54
  514. package/src/details/README.md +65 -0
  515. package/src/editor.scss +0 -1
  516. package/src/embed/README.md +56 -0
  517. package/src/file/README.md +60 -0
  518. package/src/file/edit.js +3 -16
  519. package/src/file/index.js +2 -0
  520. package/src/file/transforms.js +12 -31
  521. package/src/file/variations.js +17 -0
  522. package/src/footnotes/README.md +64 -0
  523. package/src/form/README.md +90 -0
  524. package/src/form-input/README.md +74 -0
  525. package/src/form-submission-notification/README.md +50 -0
  526. package/src/form-submit-button/README.md +54 -0
  527. package/src/freeform/README.md +49 -0
  528. package/src/gallery/README.md +115 -0
  529. package/src/gallery/edit.js +214 -351
  530. package/src/gallery/test/transforms.js +155 -0
  531. package/src/gallery/transforms.js +47 -0
  532. package/src/group/README.md +80 -0
  533. package/src/heading/README.md +60 -0
  534. package/src/heading/edit.js +1 -2
  535. package/src/home-link/README.md +66 -0
  536. package/src/home-link/index.php +3 -15
  537. package/src/html/README.md +48 -0
  538. package/src/icon/README.md +66 -0
  539. package/src/icon/block.json +12 -0
  540. package/src/icon/edit.js +86 -36
  541. package/src/icon/index.js +3 -1
  542. package/src/icon/index.php +23 -0
  543. package/src/icon/style.scss +12 -0
  544. package/src/icon/variations.js +9 -0
  545. package/src/image/README.md +103 -0
  546. package/src/image/block.json +1 -0
  547. package/src/image/edit.js +8 -3
  548. package/src/image/image.js +120 -54
  549. package/src/image/index.php +4 -5
  550. package/src/image/transforms.js +34 -8
  551. package/src/index.js +4 -11
  552. package/src/latest-comments/README.md +57 -0
  553. package/src/latest-posts/README.md +71 -0
  554. package/src/list/README.md +70 -0
  555. package/src/list/edit.js +2 -9
  556. package/src/list/ordered-list-settings.js +46 -92
  557. package/src/list-item/README.md +71 -0
  558. package/src/list-item/hooks/use-merge.js +53 -46
  559. package/src/loginout/README.md +56 -0
  560. package/src/math/README.md +50 -0
  561. package/src/media-text/README.md +92 -0
  562. package/src/missing/README.md +55 -0
  563. package/src/more/README.md +49 -0
  564. package/src/navigation/README.md +115 -0
  565. package/src/navigation/edit/index.js +33 -40
  566. package/src/navigation/index.php +58 -0
  567. package/src/navigation-link/README.md +93 -0
  568. package/src/navigation-link/edit.js +0 -1
  569. package/src/navigation-link/index.php +1 -15
  570. package/src/navigation-overlay-close/README.md +48 -0
  571. package/src/navigation-submenu/README.md +89 -0
  572. package/src/navigation-submenu/block.json +7 -0
  573. package/src/navigation-submenu/edit.js +1 -0
  574. package/src/navigation-submenu/index.php +1 -17
  575. package/src/nextpage/README.md +50 -0
  576. package/src/page-list/README.md +84 -0
  577. package/src/page-list/block.json +2 -5
  578. package/src/page-list/edit.js +0 -11
  579. package/src/page-list/index.php +4 -16
  580. package/src/page-list-item/README.md +77 -0
  581. package/src/paragraph/README.md +70 -0
  582. package/src/paragraph/deprecated.js +1 -0
  583. package/src/paragraph/edit.js +13 -1
  584. package/src/pattern/README.md +45 -0
  585. package/src/playlist/README.md +86 -0
  586. package/src/playlist/block.json +12 -0
  587. package/src/playlist/edit.js +27 -0
  588. package/src/playlist/index.php +10 -3
  589. package/src/playlist/save.js +9 -1
  590. package/src/playlist/style.scss +7 -0
  591. package/src/playlist/view.js +1 -0
  592. package/src/playlist-track/README.md +69 -0
  593. package/src/post-author/README.md +78 -0
  594. package/src/post-author-biography/README.md +59 -0
  595. package/src/post-author-name/README.md +63 -0
  596. package/src/post-author-name/index.php +1 -1
  597. package/src/post-comment/README.md +61 -0
  598. package/src/post-comments-count/README.md +58 -0
  599. package/src/post-comments-form/README.md +59 -0
  600. package/src/post-comments-link/README.md +60 -0
  601. package/src/post-content/README.md +71 -0
  602. package/src/post-date/README.md +65 -0
  603. package/src/post-date/edit.js +2 -2
  604. package/src/post-date/index.php +1 -1
  605. package/src/post-excerpt/README.md +66 -0
  606. package/src/post-featured-image/README.md +86 -0
  607. package/src/post-featured-image/block.json +1 -0
  608. package/src/post-featured-image/dimension-controls.js +105 -184
  609. package/src/post-featured-image/edit.js +53 -21
  610. package/src/post-featured-image/index.php +25 -23
  611. package/src/post-navigation-link/README.md +63 -0
  612. package/src/post-template/README.md +71 -0
  613. package/src/post-terms/README.md +65 -0
  614. package/src/post-time-to-read/README.md +63 -0
  615. package/src/post-time-to-read/index.js +1 -1
  616. package/src/post-time-to-read/variations.js +2 -2
  617. package/src/post-title/README.md +69 -0
  618. package/src/preformatted/README.md +50 -0
  619. package/src/pullquote/README.md +64 -0
  620. package/src/pullquote/block.json +1 -3
  621. package/src/pullquote/deprecated.js +121 -9
  622. package/src/pullquote/edit.js +8 -38
  623. package/src/pullquote/save.js +2 -13
  624. package/src/query/README.md +64 -0
  625. package/src/query-no-results/README.md +65 -0
  626. package/src/query-pagination/README.md +79 -0
  627. package/src/query-pagination-next/README.md +67 -0
  628. package/src/query-pagination-numbers/README.md +65 -0
  629. package/src/query-pagination-previous/README.md +67 -0
  630. package/src/query-title/README.md +65 -0
  631. package/src/query-total/README.md +66 -0
  632. package/src/quote/README.md +75 -0
  633. package/src/quote/edit.js +3 -9
  634. package/src/read-more/README.md +61 -0
  635. package/src/read-more/index.php +2 -2
  636. package/src/rss/README.md +62 -0
  637. package/src/search/README.md +66 -0
  638. package/src/search/index.php +1 -1
  639. package/src/separator/README.md +62 -0
  640. package/src/shortcode/README.md +44 -0
  641. package/src/shortcode/transforms.js +2 -2
  642. package/src/site-logo/README.md +72 -0
  643. package/src/site-tagline/README.md +56 -0
  644. package/src/site-title/README.md +57 -0
  645. package/src/social-link/README.md +64 -0
  646. package/src/social-links/README.md +98 -0
  647. package/src/spacer/README.md +53 -0
  648. package/src/style.scss +1 -2
  649. package/src/tab-list/README.md +81 -0
  650. package/src/tab-list/block.json +34 -21
  651. package/src/tab-list/edit.js +147 -15
  652. package/src/tab-list/editor.scss +13 -6
  653. package/src/tab-list/index.php +23 -30
  654. package/src/tab-list/save.js +39 -4
  655. package/src/{tab → tab-list}/style.scss +1 -1
  656. package/src/tab-panel/README.md +72 -0
  657. package/src/tab-panel/add-tab-toolbar-control.js +24 -11
  658. package/src/tab-panel/block.json +2 -6
  659. package/src/tab-panel/remove-tab-toolbar-control.js +10 -14
  660. package/src/tab-panel/style.scss +0 -17
  661. package/src/tab-panels/README.md +59 -0
  662. package/src/tab-panels/block.json +2 -27
  663. package/src/table/README.md +71 -0
  664. package/src/table-of-contents/README.md +61 -0
  665. package/src/tabs/README.md +77 -0
  666. package/src/tabs/block.json +3 -17
  667. package/src/tabs/edit.js +8 -19
  668. package/src/tabs/index.js +6 -10
  669. package/src/tabs/index.php +0 -13
  670. package/src/tabs/use-tab-list-items-sync.js +49 -0
  671. package/src/tabs/view.js +2 -10
  672. package/src/tag-cloud/README.md +62 -0
  673. package/src/template-part/README.md +48 -0
  674. package/src/term-count/README.md +59 -0
  675. package/src/term-description/README.md +60 -0
  676. package/src/term-name/README.md +65 -0
  677. package/src/term-template/README.md +65 -0
  678. package/src/terms-query/README.md +58 -0
  679. package/src/text-columns/README.md +51 -0
  680. package/src/utils/style-state.js +151 -0
  681. package/src/utils/test/style-state.js +307 -0
  682. package/src/utils/test/waveform-player.js +254 -0
  683. package/src/utils/waveform-player.js +90 -18
  684. package/src/utils/waveform-utils.js +15 -11
  685. package/src/verse/README.md +58 -0
  686. package/src/video/README.md +58 -0
  687. package/src/video/edit-common-settings.js +4 -7
  688. package/babel-plugin.cjs +0 -150
  689. package/build/tab/block.json +0 -56
  690. package/build/tab/controls.cjs +0 -46
  691. package/build/tab/controls.cjs.map +0 -7
  692. package/build/tab/edit.cjs +0 -135
  693. package/build/tab/edit.cjs.map +0 -7
  694. package/build/tab/index.cjs +0 -58
  695. package/build/tab/index.cjs.map +0 -7
  696. package/build/tab/save.cjs.map +0 -7
  697. package/build/tabs/use-tab-list-sync.cjs +0 -190
  698. package/build/tabs/use-tab-list-sync.cjs.map +0 -7
  699. package/build-module/tab/block.json +0 -56
  700. package/build-module/tab/controls.mjs +0 -15
  701. package/build-module/tab/controls.mjs.map +0 -7
  702. package/build-module/tab/edit.mjs +0 -108
  703. package/build-module/tab/edit.mjs.map +0 -7
  704. package/build-module/tab/index.mjs +0 -20
  705. package/build-module/tab/index.mjs.map +0 -7
  706. package/build-module/tab/save.mjs +0 -14
  707. package/build-module/tab/save.mjs.map +0 -7
  708. package/build-module/tabs/use-tab-list-sync.mjs +0 -169
  709. package/build-module/tabs/use-tab-list-sync.mjs.map +0 -7
  710. package/build-style/tab/editor-rtl.css +0 -11
  711. package/build-style/tab/editor.css +0 -11
  712. package/build-style/tab-panels/style-rtl.css +0 -4
  713. package/build-style/tab-panels/style.css +0 -4
  714. package/src/audio/edit.native.js +0 -250
  715. package/src/audio/style.native.scss +0 -13
  716. package/src/audio/test/__snapshots__/edit.native.js.snap +0 -546
  717. package/src/audio/test/__snapshots__/transforms.native.js.snap +0 -25
  718. package/src/audio/test/edit.native.js +0 -132
  719. package/src/audio/test/transforms.native.js +0 -43
  720. package/src/audio/transforms.native.js +0 -12
  721. package/src/block/edit-title.native.js +0 -67
  722. package/src/block/edit.native.js +0 -247
  723. package/src/block/editor.native.scss +0 -125
  724. package/src/block/test/__snapshots__/transforms.native.js.snap +0 -15
  725. package/src/block/test/edit.native.js +0 -262
  726. package/src/block/test/transforms.native.js +0 -40
  727. package/src/button/color-background.native.js +0 -41
  728. package/src/button/edit.native.js +0 -567
  729. package/src/button/editor.native.scss +0 -70
  730. package/src/button/rich-text.android.scss +0 -6
  731. package/src/button/rich-text.ios.scss +0 -6
  732. package/src/buttons/edit.native.js +0 -157
  733. package/src/buttons/editor.native.scss +0 -11
  734. package/src/buttons/test/__snapshots__/edit.native.js.snap +0 -99
  735. package/src/buttons/test/__snapshots__/transforms.native.js.snap +0 -31
  736. package/src/buttons/test/edit.native.js +0 -485
  737. package/src/buttons/test/transforms.native.js +0 -48
  738. package/src/buttons/transforms.native.js +0 -12
  739. package/src/code/edit.native.js +0 -70
  740. package/src/code/test/__snapshots__/edit.native.js.snap +0 -13
  741. package/src/code/test/edit.native.js +0 -65
  742. package/src/code/theme.native.scss +0 -22
  743. package/src/code/transforms.native.js +0 -12
  744. package/src/column/column-preview.native.js +0 -58
  745. package/src/column/edit.native.js +0 -273
  746. package/src/column/editor.native.scss +0 -75
  747. package/src/columns/columnCalculations.native.js +0 -178
  748. package/src/columns/edit.native.js +0 -507
  749. package/src/columns/editor.native.scss +0 -17
  750. package/src/columns/test/__snapshots__/edit.native.js.snap +0 -305
  751. package/src/columns/test/__snapshots__/transforms.native.js.snap +0 -61
  752. package/src/columns/test/edit.native.js +0 -496
  753. package/src/columns/test/transforms.native.js +0 -89
  754. package/src/columns/transforms.native.js +0 -12
  755. package/src/cover/controls.native.js +0 -307
  756. package/src/cover/edit.native.js +0 -708
  757. package/src/cover/focal-point-settings-button.native.js +0 -53
  758. package/src/cover/overlay-color-settings.native.js +0 -106
  759. package/src/cover/style.native.scss +0 -220
  760. package/src/cover/test/__snapshots__/edit.native.js.snap +0 -105
  761. package/src/cover/test/__snapshots__/transforms.native.js.snap +0 -73
  762. package/src/cover/test/edit.native.js +0 -701
  763. package/src/cover/test/transforms.native.js +0 -116
  764. package/src/cover/transforms.native.js +0 -12
  765. package/src/cover/use-cover-is-dark.native.js +0 -51
  766. package/src/embed/edit.native.js +0 -345
  767. package/src/embed/embed-controls.native.js +0 -65
  768. package/src/embed/embed-link-settings.native.js +0 -99
  769. package/src/embed/embed-loading.native.js +0 -29
  770. package/src/embed/embed-no-preview.native.js +0 -230
  771. package/src/embed/embed-placeholder.native.js +0 -178
  772. package/src/embed/embed-preview.native.js +0 -157
  773. package/src/embed/styles.native.scss +0 -196
  774. package/src/embed/test/__snapshots__/index.native.js.snap +0 -191
  775. package/src/embed/test/__snapshots__/transforms.native.js.snap +0 -23
  776. package/src/embed/test/index.native.js +0 -1125
  777. package/src/embed/test/transforms.native.js +0 -44
  778. package/src/embed/transforms.native.js +0 -12
  779. package/src/embed/wp-embed-preview.native.js +0 -80
  780. package/src/file/edit.native.js +0 -605
  781. package/src/file/style.native.scss +0 -79
  782. package/src/file/test/__snapshots__/edit.native.js.snap +0 -580
  783. package/src/file/test/__snapshots__/transforms.native.js.snap +0 -19
  784. package/src/file/test/edit.native.js +0 -93
  785. package/src/file/test/transforms.native.js +0 -43
  786. package/src/file/transforms.native.js +0 -12
  787. package/src/freeform/edit.native.js +0 -13
  788. package/src/freeform/test/__snapshots__/index.native.js.snap +0 -7
  789. package/src/freeform/test/__snapshots__/transforms.native.js.snap +0 -19
  790. package/src/freeform/test/index.native.js +0 -57
  791. package/src/freeform/test/transforms.native.js +0 -39
  792. package/src/gallery/gallery-styles.native.scss +0 -8
  793. package/src/gallery/gallery.native.js +0 -124
  794. package/src/gallery/styles.native.scss +0 -7
  795. package/src/gallery/test/__snapshots__/index.native.js.snap +0 -177
  796. package/src/gallery/test/__snapshots__/transforms.native.js.snap +0 -53
  797. package/src/gallery/test/helpers.native.js +0 -106
  798. package/src/gallery/test/index.native.js +0 -700
  799. package/src/gallery/test/transforms.native.js +0 -53
  800. package/src/gallery/test/use-get-media.native.js +0 -24
  801. package/src/gallery/transforms.native.js +0 -12
  802. package/src/gallery/use-get-media.native.js +0 -49
  803. package/src/group/edit.native.js +0 -137
  804. package/src/group/editor.native.scss +0 -56
  805. package/src/group/test/__snapshots__/edit.native.js.snap +0 -19
  806. package/src/group/test/__snapshots__/transforms.native.js.snap +0 -35
  807. package/src/group/test/edit.native.js +0 -100
  808. package/src/group/test/transforms.native.js +0 -73
  809. package/src/heading/edit.native.js +0 -159
  810. package/src/heading/test/__snapshots__/index.native.js.snap +0 -43
  811. package/src/heading/test/__snapshots__/transforms.native.js.snap +0 -47
  812. package/src/heading/test/index.native.js +0 -257
  813. package/src/heading/test/transforms.native.js +0 -46
  814. package/src/heading/transforms.native.js +0 -12
  815. package/src/html/transforms.native.js +0 -11
  816. package/src/image/edit.native.js +0 -959
  817. package/src/image/styles.native.scss +0 -70
  818. package/src/image/test/__snapshots__/transforms.native.js.snap +0 -49
  819. package/src/image/test/edit.native.js +0 -459
  820. package/src/image/test/transforms.native.js +0 -49
  821. package/src/image/transforms.native.js +0 -12
  822. package/src/index.native.js +0 -274
  823. package/src/latest-posts/edit.native.js +0 -294
  824. package/src/latest-posts/style.native.scss +0 -47
  825. package/src/latest-posts/test/__snapshots__/edit.native.js.snap +0 -3
  826. package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +0 -15
  827. package/src/latest-posts/test/edit.native.js +0 -49
  828. package/src/latest-posts/test/transforms.native.js +0 -61
  829. package/src/list/tag-name.native.js +0 -12
  830. package/src/list/test/__snapshots__/edit.native.js.snap +0 -121
  831. package/src/list/test/__snapshots__/transforms.native.js.snap +0 -85
  832. package/src/list/test/edit.native.js +0 -602
  833. package/src/list/test/transforms.native.js +0 -56
  834. package/src/list/transforms.native.js +0 -12
  835. package/src/list-item/edit.native.js +0 -175
  836. package/src/list-item/hooks/use-enter.native.js +0 -81
  837. package/src/list-item/icons.native.js +0 -34
  838. package/src/list-item/list-style-type.native.js +0 -146
  839. package/src/list-item/style.native.scss +0 -57
  840. package/src/media-text/edit.native.js +0 -417
  841. package/src/media-text/icon-retry.native.js +0 -11
  842. package/src/media-text/media-container.native.js +0 -393
  843. package/src/media-text/style.native.scss +0 -191
  844. package/src/media-text/test/__snapshots__/transforms.native.js.snap +0 -73
  845. package/src/media-text/test/edit.native.js +0 -58
  846. package/src/media-text/test/transforms.native.js +0 -116
  847. package/src/media-text/transforms.native.js +0 -12
  848. package/src/missing/edit.native.js +0 -294
  849. package/src/missing/style.native.scss +0 -79
  850. package/src/missing/test/__snapshots__/edit.native.js.snap +0 -110
  851. package/src/missing/test/edit-integration.native.js +0 -168
  852. package/src/missing/test/edit.native.js +0 -81
  853. package/src/more/edit.native.js +0 -36
  854. package/src/more/editor.native.scss +0 -21
  855. package/src/more/test/__snapshots__/edit.native.js.snap +0 -7
  856. package/src/more/test/__snapshots__/transforms.native.js.snap +0 -19
  857. package/src/more/test/edit.native.js +0 -41
  858. package/src/more/test/transforms.native.js +0 -42
  859. package/src/more/transforms.native.js +0 -12
  860. package/src/navigation-link/shared/build-css-font-sizes.php +0 -43
  861. package/src/nextpage/edit.native.js +0 -58
  862. package/src/nextpage/editor.native.scss +0 -21
  863. package/src/nextpage/test/__snapshots__/transforms.native.js.snap +0 -19
  864. package/src/nextpage/test/transforms.native.js +0 -42
  865. package/src/nextpage/transforms.native.js +0 -12
  866. package/src/paragraph/edit.native.js +0 -116
  867. package/src/paragraph/test/__snapshots__/edit.native.js.snap +0 -88
  868. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +0 -65
  869. package/src/paragraph/test/edit.native.js +0 -999
  870. package/src/paragraph/test/transforms.native.js +0 -51
  871. package/src/paragraph/transforms.native.js +0 -12
  872. package/src/preformatted/edit.native.js +0 -48
  873. package/src/preformatted/styles.native.scss +0 -30
  874. package/src/preformatted/test/__snapshots__/edit.native.js.snap +0 -95
  875. package/src/preformatted/test/__snapshots__/transforms.native.js.snap +0 -37
  876. package/src/preformatted/test/edit.native.js +0 -111
  877. package/src/preformatted/test/transforms.native.js +0 -47
  878. package/src/preformatted/transforms.native.js +0 -12
  879. package/src/pullquote/blockquote.native.js +0 -39
  880. package/src/pullquote/blockquote.native.scss +0 -8
  881. package/src/pullquote/edit.native.js +0 -128
  882. package/src/pullquote/figure.native.js +0 -33
  883. package/src/pullquote/figure.native.scss +0 -16
  884. package/src/pullquote/test/__snapshots__/transforms.native.js.snap +0 -47
  885. package/src/pullquote/test/edit.native.js +0 -73
  886. package/src/pullquote/test/transforms.native.js +0 -46
  887. package/src/pullquote/transforms.native.js +0 -12
  888. package/src/quote/test/__snapshots__/transforms.native.js.snap +0 -49
  889. package/src/quote/test/edit.native.js +0 -94
  890. package/src/quote/test/transforms.native.js +0 -69
  891. package/src/quote/transforms.native.js +0 -12
  892. package/src/search/edit.native.js +0 -486
  893. package/src/search/style.native.scss +0 -99
  894. package/src/search/test/__snapshots__/edit.native.js.snap +0 -827
  895. package/src/search/test/__snapshots__/transforms.native.js.snap +0 -15
  896. package/src/search/test/edit.native.js +0 -170
  897. package/src/search/test/transforms.native.js +0 -40
  898. package/src/separator/separator-settings.native.js +0 -3
  899. package/src/separator/test/__snapshots__/edit.native.js.snap +0 -7
  900. package/src/separator/test/__snapshots__/transforms.native.js.snap +0 -25
  901. package/src/separator/test/edit.native.js +0 -41
  902. package/src/separator/test/transforms.native.js +0 -42
  903. package/src/separator/transforms.native.js +0 -12
  904. package/src/shortcode/edit.native.js +0 -77
  905. package/src/shortcode/style.native.scss +0 -44
  906. package/src/shortcode/test/__snapshots__/edit.native.js.snap +0 -9
  907. package/src/shortcode/test/__snapshots__/transforms.native.js.snap +0 -19
  908. package/src/shortcode/test/edit.native.js +0 -70
  909. package/src/shortcode/test/transforms.native.js +0 -42
  910. package/src/shortcode/transforms.native.js +0 -12
  911. package/src/social-link/edit.native.js +0 -219
  912. package/src/social-link/editor.native.scss +0 -18
  913. package/src/social-links/edit.native.js +0 -147
  914. package/src/social-links/editor.native.scss +0 -25
  915. package/src/social-links/test/__snapshots__/edit.native.js.snap +0 -57
  916. package/src/social-links/test/__snapshots__/transforms.native.js.snap +0 -31
  917. package/src/social-links/test/edit.native.js +0 -266
  918. package/src/social-links/test/transforms.native.js +0 -53
  919. package/src/spacer/controls.native.js +0 -86
  920. package/src/spacer/edit.native.js +0 -110
  921. package/src/spacer/editor.native.scss +0 -18
  922. package/src/spacer/save.native.js +0 -18
  923. package/src/spacer/test/__snapshots__/index.native.js.snap +0 -43
  924. package/src/spacer/test/__snapshots__/transforms.native.js.snap +0 -25
  925. package/src/spacer/test/index.native.js +0 -257
  926. package/src/spacer/test/transforms.native.js +0 -42
  927. package/src/tab/block.json +0 -56
  928. package/src/tab/controls.js +0 -19
  929. package/src/tab/edit.js +0 -141
  930. package/src/tab/editor.scss +0 -14
  931. package/src/tab/index.js +0 -24
  932. package/src/tab/index.php +0 -70
  933. package/src/tab/save.js +0 -13
  934. package/src/tab-panels/style.scss +0 -4
  935. package/src/table/transforms.native.js +0 -11
  936. package/src/tabs/use-tab-list-sync.js +0 -237
  937. package/src/text-columns/transforms.native.js +0 -12
  938. package/src/utils/init-block.native.js +0 -40
  939. package/src/utils/transformation-categories.native.js +0 -47
  940. package/src/verse/test/__snapshots__/edit.native.js.snap +0 -13
  941. package/src/verse/test/__snapshots__/transforms.native.js.snap +0 -31
  942. package/src/verse/test/edit.native.js +0 -118
  943. package/src/verse/test/transforms.native.js +0 -46
  944. package/src/verse/transforms.native.js +0 -12
  945. package/src/video/edit.native.js +0 -406
  946. package/src/video/icon-retry.native.js +0 -11
  947. package/src/video/style.native.scss +0 -81
  948. package/src/video/test/__snapshots__/transforms.native.js.snap +0 -41
  949. package/src/video/test/edit.native.js +0 -53
  950. package/src/video/test/transforms.native.js +0 -49
  951. package/src/video/transforms.native.js +0 -12
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/details/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tTextControl,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { unlock } from '../lock-unlock';\n\nconst { withIgnoreIMEEvents } = unlock( componentsPrivateApis );\n\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: __( 'Type / to add a hidden block' ),\n\t\t},\n\t],\n];\n\nfunction DetailsEdit( { attributes, setAttributes, clientId } ) {\n\tconst { name, showContent, summary, allowedBlocks, placeholder } =\n\t\tattributes;\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\t__experimentalCaptureToolbars: true,\n\t\tallowedBlocks,\n\t} );\n\tconst [ isOpen, setIsOpen ] = useState( showContent );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Check if the inner blocks are selected.\n\tconst hasSelectedInnerBlock = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).hasSelectedInnerBlock( clientId, true ),\n\t\t[ clientId ]\n\t);\n\n\tconst handleSummaryKeyDown = ( event ) => {\n\t\tif ( event.key === 'Enter' && ! event.shiftKey ) {\n\t\t\tsetIsOpen( ( prevIsOpen ) => ! prevIsOpen );\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\t// Prevent spacebar from toggling <details> while typing.\n\tconst handleSummaryKeyUp = ( event ) => {\n\t\tif ( event.key === ' ' ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tshowContent: false,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Open by default' ) }\n\t\t\t\t\t\thasValue={ () => showContent }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowContent: false,\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\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open by default' ) }\n\t\t\t\t\t\t\tchecked={ showContent }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowContent: ! showContent,\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</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\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\tlabel={ __( 'Name attribute' ) }\n\t\t\t\t\tvalue={ name || '' }\n\t\t\t\t\tonChange={ ( newName ) =>\n\t\t\t\t\t\tsetAttributes( { name: newName } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Enables multiple Details blocks with the same name attribute to be connected, with only one open at a time.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<details\n\t\t\t\t{ ...innerBlocksProps }\n\t\t\t\topen={ isOpen || hasSelectedInnerBlock }\n\t\t\t\tonToggle={ ( event ) => setIsOpen( event.target.open ) }\n\t\t\t\tname={ name || '' }\n\t\t\t>\n\t\t\t\t<summary\n\t\t\t\t\tonKeyDown={ withIgnoreIMEEvents( handleSummaryKeyDown ) }\n\t\t\t\t\tonKeyUp={ handleSummaryKeyUp }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"summary\"\n\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t'Write summary. Press Enter to expand or collapse the details.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tplaceholder={ placeholder || __( 'Write summary\u2026' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ summary }\n\t\t\t\t\t\tonChange={ ( newSummary ) =>\n\t\t\t\t\t\t\tsetAttributes( { summary: newSummary } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</summary>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t</details>\n\t\t</>\n\t);\n}\n\nexport default DetailsEdit;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tTextControl,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { unlock } from '../lock-unlock';\n\nconst { withIgnoreIMEEvents } = unlock( componentsPrivateApis );\n\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: __( 'Type / to add a hidden block' ),\n\t\t},\n\t],\n];\n\nfunction DetailsEdit( { attributes, setAttributes, clientId } ) {\n\tconst { name, showContent, summary, allowedBlocks, placeholder } =\n\t\tattributes;\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\t__experimentalCaptureToolbars: true,\n\t\tallowedBlocks,\n\t} );\n\tconst [ isOpen, setIsOpen ] = useState( showContent );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Check if the inner blocks are selected.\n\tconst hasSelectedInnerBlock = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).hasSelectedInnerBlock( clientId, true ),\n\t\t[ clientId ]\n\t);\n\n\tconst handleSummaryKeyDown = ( event ) => {\n\t\tif ( event.key === 'Enter' && ! event.shiftKey ) {\n\t\t\tsetIsOpen( ( prevIsOpen ) => ! prevIsOpen );\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\t// Prevent spacebar from toggling <details> while typing.\n\tconst handleSummaryKeyUp = ( event ) => {\n\t\tif ( event.key === ' ' ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tshowContent: false,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Open by default' ) }\n\t\t\t\t\t\thasValue={ () => showContent }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowContent: false,\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\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open by default' ) }\n\t\t\t\t\t\t\tchecked={ showContent }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowContent: ! showContent,\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</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\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\tlabel={ __( 'Name attribute' ) }\n\t\t\t\t\tvalue={ name || '' }\n\t\t\t\t\tonChange={ ( newName ) =>\n\t\t\t\t\t\tsetAttributes( { name: newName } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Enables multiple Details blocks with the same name attribute to be connected, with only one open at a time.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<details\n\t\t\t\t{ ...innerBlocksProps }\n\t\t\t\topen={ isOpen || hasSelectedInnerBlock }\n\t\t\t\tonToggle={ ( event ) => setIsOpen( event.target.open ) }\n\t\t\t\tname={ name || '' }\n\t\t\t>\n\t\t\t\t<summary\n\t\t\t\t\tonKeyDown={ withIgnoreIMEEvents( handleSummaryKeyDown ) }\n\t\t\t\t\tonKeyUp={ handleSummaryKeyUp }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"summary\"\n\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t'Write summary. Press Enter to expand or collapse the details.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tplaceholder={ placeholder || __( 'Write summary' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ summary }\n\t\t\t\t\t\tonChange={ ( newSummary ) =>\n\t\t\t\t\t\t\tsetAttributes( { summary: newSummary } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</summary>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t</details>\n\t\t</>\n\t);\n}\n\nexport default DetailsEdit;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAMO;AACP,wBAMO;AACP,kBAAmB;AACnB,qBAAyB;AACzB,kBAA0B;AAK1B,mBAA+C;AAC/C,yBAAuB;AA+CrB;AA7CF,IAAM,EAAE,oBAAoB,QAAI,2BAAQ,kBAAAA,WAAsB;AAE9D,IAAM,WAAW;AAAA,EAChB;AAAA,IACC;AAAA,IACA;AAAA,MACC,iBAAa,gBAAI,8BAA+B;AAAA,IACjD;AAAA,EACD;AACD;AAEA,SAAS,YAAa,EAAE,YAAY,eAAe,SAAS,GAAI;AAC/D,QAAM,EAAE,MAAM,aAAa,SAAS,eAAe,YAAY,IAC9D;AACD,QAAM,iBAAa,mCAAc;AACjC,QAAM,uBAAmB,yCAAqB,YAAY;AAAA,IACzD,UAAU;AAAA,IACV,+BAA+B;AAAA,IAC/B;AAAA,EACD,CAAE;AACF,QAAM,CAAE,QAAQ,SAAU,QAAI,yBAAU,WAAY;AACpD,QAAM,wBAAoB,6CAA+B;AAGzD,QAAM,4BAAwB;AAAA,IAC7B,CAAE,WACD,OAAQ,oBAAAC,KAAiB,EAAE,sBAAuB,UAAU,IAAK;AAAA,IAClE,CAAE,QAAS;AAAA,EACZ;AAEA,QAAM,uBAAuB,CAAE,UAAW;AACzC,QAAK,MAAM,QAAQ,WAAW,CAAE,MAAM,UAAW;AAChD,gBAAW,CAAE,eAAgB,CAAE,UAAW;AAC1C,YAAM,eAAe;AAAA,IACtB;AAAA,EACD;AAGA,QAAM,qBAAqB,CAAE,UAAW;AACvC,QAAK,MAAM,QAAQ,KAAM;AACxB,YAAM,eAAe;AAAA,IACtB;AAAA,EACD;AAEA,SACC,4EACC;AAAA,gDAAC,yCACA;AAAA,MAAC,kBAAAC;AAAA,MAAA;AAAA,QACA,WAAQ,gBAAI,UAAW;AAAA,QACvB,UAAW,MAAM;AAChB,wBAAe;AAAA,YACd,aAAa;AAAA,UACd,CAAE;AAAA,QACH;AAAA,QACA;AAAA,QAEA;AAAA,UAAC,kBAAAC;AAAA,UAAA;AAAA,YACA,kBAAgB;AAAA,YAChB,WAAQ,gBAAI,iBAAkB;AAAA,YAC9B,UAAW,MAAM;AAAA,YACjB,YAAa,MAAM;AAClB,4BAAe;AAAA,gBACd,aAAa;AAAA,cACd,CAAE;AAAA,YACH;AAAA,YAEA;AAAA,cAAC;AAAA;AAAA,gBACA,WAAQ,gBAAI,iBAAkB;AAAA,gBAC9B,SAAU;AAAA,gBACV,UAAW,MACV,cAAe;AAAA,kBACd,aAAa,CAAE;AAAA,gBAChB,CAAE;AAAA;AAAA,YAEJ;AAAA;AAAA,QACD;AAAA;AAAA,IACD,GACD;AAAA,IACA,4CAAC,yCAAkB,OAAM,YACxB;AAAA,MAAC;AAAA;AAAA,QACA,uBAAqB;AAAA,QACrB,WAAQ,gBAAI,gBAAiB;AAAA,QAC7B,OAAQ,QAAQ;AAAA,QAChB,UAAW,CAAE,YACZ,cAAe,EAAE,MAAM,QAAQ,CAAE;AAAA,QAElC,UAAO;AAAA,UACN;AAAA,QACD;AAAA;AAAA,IACD,GACD;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACL,MAAO,UAAU;AAAA,QACjB,UAAW,CAAE,UAAW,UAAW,MAAM,OAAO,IAAK;AAAA,QACrD,MAAO,QAAQ;AAAA,QAEf;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,WAAY,oBAAqB,oBAAqB;AAAA,cACtD,SAAU;AAAA,cAEV;AAAA,gBAAC;AAAA;AAAA,kBACA,YAAW;AAAA,kBACX,kBAAa;AAAA,oBACZ;AAAA,kBACD;AAAA,kBACA,aAAc,mBAAe,gBAAI,gBAAiB;AAAA,kBAClD,8BAA4B;AAAA,kBAC5B,OAAQ;AAAA,kBACR,UAAW,CAAE,eACZ,cAAe,EAAE,SAAS,WAAW,CAAE;AAAA;AAAA,cAEzC;AAAA;AAAA,UACD;AAAA,UACE,iBAAiB;AAAA;AAAA;AAAA,IACpB;AAAA,KACD;AAEF;AAEA,IAAO,eAAQ;",
6
6
  "names": ["componentsPrivateApis", "blockEditorStore", "ToolsPanel", "ToolsPanelItem"]
7
7
  }
@@ -57,7 +57,7 @@ var EmbedPlaceholder = ({
57
57
  className: "wp-block-embed__placeholder-input",
58
58
  label,
59
59
  hideLabelFromVision: true,
60
- placeholder: (0, import_i18n.__)("Enter URL to embed here\u2026"),
60
+ placeholder: (0, import_i18n.__)("Enter URL to embed here"),
61
61
  onChange
62
62
  }
63
63
  ),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/embed/embed-placeholder.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tButton,\n\tPlaceholder,\n\tExternalLink,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalInputControl as InputControl,\n} from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\n\nconst EmbedPlaceholder = ( {\n\ticon,\n\tlabel,\n\tvalue,\n\tonSubmit,\n\tonChange,\n\tcannotEmbed,\n\tfallback,\n\ttryAgain,\n} ) => {\n\treturn (\n\t\t<Placeholder\n\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\tlabel={ label }\n\t\t\tclassName=\"wp-block-embed\"\n\t\t\tinstructions={ __(\n\t\t\t\t'Paste a link to the content you want to display on your site.'\n\t\t\t) }\n\t\t>\n\t\t\t<form onSubmit={ onSubmit }>\n\t\t\t\t<InputControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\ttype=\"url\"\n\t\t\t\t\tvalue={ value || '' }\n\t\t\t\t\tclassName=\"wp-block-embed__placeholder-input\"\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tplaceholder={ __( 'Enter URL to embed here\u2026' ) }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t\t<Button __next40pxDefaultSize variant=\"primary\" type=\"submit\">\n\t\t\t\t\t{ _x( 'Embed', 'button label' ) }\n\t\t\t\t</Button>\n\t\t\t</form>\n\t\t\t<div className=\"wp-block-embed__learn-more\">\n\t\t\t\t<ExternalLink\n\t\t\t\t\thref={ __(\n\t\t\t\t\t\t'https://wordpress.org/documentation/article/embeds/'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Learn more about embeds' ) }\n\t\t\t\t</ExternalLink>\n\t\t\t</div>\n\t\t\t{ cannotEmbed && (\n\t\t\t\t<VStack spacing={ 3 } className=\"components-placeholder__error\">\n\t\t\t\t\t<div className=\"components-placeholder__instructions\">\n\t\t\t\t\t\t{ __( 'Sorry, this content could not be embedded.' ) }\n\t\t\t\t\t</div>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ tryAgain }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ _x( 'Try again', 'button label' ) }\n\t\t\t\t\t\t</Button>{ ' ' }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ fallback }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ _x( 'Convert to link', 'button label' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</Placeholder>\n\t);\n};\n\nexport default EmbedPlaceholder;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAuB;AACvB,wBAOO;AACP,0BAA0B;AAchB;AAZV,IAAM,mBAAmB,CAAE;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAO;AACN,SACC;AAAA,IAAC;AAAA;AAAA,MACA,MAAO,4CAAC,iCAAU,MAAc,YAAU,MAAC;AAAA,MAC3C;AAAA,MACA,WAAU;AAAA,MACV,kBAAe;AAAA,QACd;AAAA,MACD;AAAA,MAEA;AAAA,qDAAC,UAAK,UACL;AAAA;AAAA,YAAC,kBAAAA;AAAA,YAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,MAAK;AAAA,cACL,OAAQ,SAAS;AAAA,cACjB,WAAU;AAAA,cACV;AAAA,cACA,qBAAmB;AAAA,cACnB,iBAAc,gBAAI,+BAA2B;AAAA,cAC7C;AAAA;AAAA,UACD;AAAA,UACA,4CAAC,4BAAO,uBAAqB,MAAC,SAAQ,WAAU,MAAK,UAClD,8BAAI,SAAS,cAAe,GAC/B;AAAA,WACD;AAAA,QACA,4CAAC,SAAI,WAAU,8BACd;AAAA,UAAC;AAAA;AAAA,YACA,UAAO;AAAA,cACN;AAAA,YACD;AAAA,YAEE,8BAAI,yBAA0B;AAAA;AAAA,QACjC,GACD;AAAA,QACE,eACD,6CAAC,kBAAAC,sBAAA,EAAO,SAAU,GAAI,WAAU,iCAC/B;AAAA,sDAAC,SAAI,WAAU,wCACZ,8BAAI,4CAA6C,GACpD;AAAA,UACA;AAAA,YAAC,kBAAAC;AAAA,YAAA;AAAA,cACA,UAAW;AAAA,cACX,SAAU;AAAA,cACV,SAAQ;AAAA,cAER;AAAA;AAAA,kBAAC;AAAA;AAAA,oBACA,uBAAqB;AAAA,oBACrB,SAAQ;AAAA,oBACR,SAAU;AAAA,oBAER,8BAAI,aAAa,cAAe;AAAA;AAAA,gBACnC;AAAA,gBAAW;AAAA,gBACX;AAAA,kBAAC;AAAA;AAAA,oBACA,uBAAqB;AAAA,oBACrB,SAAQ;AAAA,oBACR,SAAU;AAAA,oBAER,8BAAI,mBAAmB,cAAe;AAAA;AAAA,gBACzC;AAAA;AAAA;AAAA,UACD;AAAA,WACD;AAAA;AAAA;AAAA,EAEF;AAEF;AAEA,IAAO,4BAAQ;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tButton,\n\tPlaceholder,\n\tExternalLink,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalInputControl as InputControl,\n} from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\n\nconst EmbedPlaceholder = ( {\n\ticon,\n\tlabel,\n\tvalue,\n\tonSubmit,\n\tonChange,\n\tcannotEmbed,\n\tfallback,\n\ttryAgain,\n} ) => {\n\treturn (\n\t\t<Placeholder\n\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\tlabel={ label }\n\t\t\tclassName=\"wp-block-embed\"\n\t\t\tinstructions={ __(\n\t\t\t\t'Paste a link to the content you want to display on your site.'\n\t\t\t) }\n\t\t>\n\t\t\t<form onSubmit={ onSubmit }>\n\t\t\t\t<InputControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\ttype=\"url\"\n\t\t\t\t\tvalue={ value || '' }\n\t\t\t\t\tclassName=\"wp-block-embed__placeholder-input\"\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tplaceholder={ __( 'Enter URL to embed here' ) }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t\t<Button __next40pxDefaultSize variant=\"primary\" type=\"submit\">\n\t\t\t\t\t{ _x( 'Embed', 'button label' ) }\n\t\t\t\t</Button>\n\t\t\t</form>\n\t\t\t<div className=\"wp-block-embed__learn-more\">\n\t\t\t\t<ExternalLink\n\t\t\t\t\thref={ __(\n\t\t\t\t\t\t'https://wordpress.org/documentation/article/embeds/'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Learn more about embeds' ) }\n\t\t\t\t</ExternalLink>\n\t\t\t</div>\n\t\t\t{ cannotEmbed && (\n\t\t\t\t<VStack spacing={ 3 } className=\"components-placeholder__error\">\n\t\t\t\t\t<div className=\"components-placeholder__instructions\">\n\t\t\t\t\t\t{ __( 'Sorry, this content could not be embedded.' ) }\n\t\t\t\t\t</div>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ tryAgain }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ _x( 'Try again', 'button label' ) }\n\t\t\t\t\t\t</Button>{ ' ' }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ fallback }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ _x( 'Convert to link', 'button label' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</Placeholder>\n\t);\n};\n\nexport default EmbedPlaceholder;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAuB;AACvB,wBAOO;AACP,0BAA0B;AAchB;AAZV,IAAM,mBAAmB,CAAE;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAO;AACN,SACC;AAAA,IAAC;AAAA;AAAA,MACA,MAAO,4CAAC,iCAAU,MAAc,YAAU,MAAC;AAAA,MAC3C;AAAA,MACA,WAAU;AAAA,MACV,kBAAe;AAAA,QACd;AAAA,MACD;AAAA,MAEA;AAAA,qDAAC,UAAK,UACL;AAAA;AAAA,YAAC,kBAAAA;AAAA,YAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,MAAK;AAAA,cACL,OAAQ,SAAS;AAAA,cACjB,WAAU;AAAA,cACV;AAAA,cACA,qBAAmB;AAAA,cACnB,iBAAc,gBAAI,0BAA2B;AAAA,cAC7C;AAAA;AAAA,UACD;AAAA,UACA,4CAAC,4BAAO,uBAAqB,MAAC,SAAQ,WAAU,MAAK,UAClD,8BAAI,SAAS,cAAe,GAC/B;AAAA,WACD;AAAA,QACA,4CAAC,SAAI,WAAU,8BACd;AAAA,UAAC;AAAA;AAAA,YACA,UAAO;AAAA,cACN;AAAA,YACD;AAAA,YAEE,8BAAI,yBAA0B;AAAA;AAAA,QACjC,GACD;AAAA,QACE,eACD,6CAAC,kBAAAC,sBAAA,EAAO,SAAU,GAAI,WAAU,iCAC/B;AAAA,sDAAC,SAAI,WAAU,wCACZ,8BAAI,4CAA6C,GACpD;AAAA,UACA;AAAA,YAAC,kBAAAC;AAAA,YAAA;AAAA,cACA,UAAW;AAAA,cACX,SAAU;AAAA,cACV,SAAQ;AAAA,cAER;AAAA;AAAA,kBAAC;AAAA;AAAA,oBACA,uBAAqB;AAAA,oBACrB,SAAQ;AAAA,oBACR,SAAU;AAAA,oBAER,8BAAI,aAAa,cAAe;AAAA;AAAA,gBACnC;AAAA,gBAAW;AAAA,gBACX;AAAA,kBAAC;AAAA;AAAA,oBACA,uBAAqB;AAAA,oBACrB,SAAQ;AAAA,oBACR,SAAU;AAAA,oBAER,8BAAI,mBAAmB,cAAe;AAAA;AAAA,gBACzC;AAAA;AAAA;AAAA,UACD;AAAA,WACD;AAAA;AAAA;AAAA,EAEF;AAEF;AAEA,IAAO,4BAAQ;",
6
6
  "names": ["InputControl", "VStack", "HStack"]
7
7
  }
@@ -96,20 +96,12 @@ function FileEdit({ attributes, isSelected, setAttributes, clientId }) {
96
96
  [id]
97
97
  );
98
98
  const { createErrorNotice } = (0, import_data.useDispatch)(import_notices.store);
99
- const { toggleSelection, __unstableMarkNextChangeAsNotPersistent } = (0, import_data.useDispatch)(import_block_editor.store);
99
+ const { toggleSelection } = (0, import_data.useDispatch)(import_block_editor.store);
100
100
  (0, import_hooks.useUploadMediaFromBlobURL)({
101
101
  url: temporaryURL,
102
102
  onChange: onSelectFile,
103
103
  onError: onUploadError
104
104
  });
105
- (0, import_element.useEffect)(() => {
106
- if (import_block_editor.RichText.isEmpty(downloadButtonText)) {
107
- __unstableMarkNextChangeAsNotPersistent();
108
- setAttributes({
109
- downloadButtonText: (0, import_i18n._x)("Download", "button label")
110
- });
111
- }
112
- }, []);
113
105
  function onSelectFile(newMedia) {
114
106
  if (!newMedia || !newMedia.url) {
115
107
  setAttributes({
@@ -290,7 +282,7 @@ function FileEdit({ attributes, isSelected, setAttributes, clientId }) {
290
282
  identifier: "fileName",
291
283
  tagName: "a",
292
284
  value: fileName,
293
- placeholder: (0, import_i18n.__)("Write file name\u2026"),
285
+ placeholder: (0, import_i18n.__)("Write file name"),
294
286
  withoutInteractiveFormatting: true,
295
287
  onChange: (text) => setAttributes({
296
288
  fileName: (0, import_remove_anchor_tag.default)(text)
@@ -312,7 +304,7 @@ function FileEdit({ attributes, isSelected, setAttributes, clientId }) {
312
304
  ),
313
305
  value: downloadButtonText,
314
306
  withoutInteractiveFormatting: true,
315
- placeholder: (0, import_i18n.__)("Add text\u2026"),
307
+ placeholder: (0, import_i18n.__)("Add text"),
316
308
  onChange: (text) => setAttributes({
317
309
  downloadButtonText: (0, import_remove_anchor_tag.default)(text)
318
310
  })
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/file/edit.js"],
4
- "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';\nimport { getFilename } from '@wordpress/url';\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 ).getEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\t\tid\n\t\t\t\t\t ),\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// This effect should only run on mount.\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 =\n\t\t\t// Media Library and REST API use different properties for mime type.\n\t\t\t( newMedia.mime || newMedia.mime_type ) === 'application/pdf' ||\n\t\t\tgetFilename( newMedia.url ).toLowerCase().endsWith( '.pdf' );\n\t\tconst pdfAttributes = {\n\t\t\tdisplayPreview: isPdf\n\t\t\t\t? attributes.displayPreview ?? true\n\t\t\t\t: undefined,\n\t\t\tpreviewHeight: isPdf ? attributes.previewHeight ?? 600 : undefined,\n\t\t};\n\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\tfileId: `wp-block-file--media-${ clientId }`,\n\t\t\tblob: undefined,\n\t\t\t...pdfAttributes,\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'Drag and drop a file, upload, or choose from your 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, width: '100%' } }\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\t// The horizontal grid value must be 1 or else the width may snap during a\n\t\t\t\t\t\t// resize even though only vertical resizing is enabled.\n\t\t\t\t\t\tgrid={ [ 1, 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\u2026' ) }\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\u2026' ) }\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"],
5
- "mappings": "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",
4
+ "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 { useState } from '@wordpress/element';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { __ } 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';\nimport { getFilename } from '@wordpress/url';\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 ).getEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\t\tid\n\t\t\t\t\t ),\n\t\t} ),\n\t\t[ id ]\n\t);\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tonChange: onSelectFile,\n\t\tonError: onUploadError,\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 =\n\t\t\t// Media Library and REST API use different properties for mime type.\n\t\t\t( newMedia.mime || newMedia.mime_type ) === 'application/pdf' ||\n\t\t\tgetFilename( newMedia.url ).toLowerCase().endsWith( '.pdf' );\n\t\tconst pdfAttributes = {\n\t\t\tdisplayPreview: isPdf\n\t\t\t\t? attributes.displayPreview ?? true\n\t\t\t\t: undefined,\n\t\t\tpreviewHeight: isPdf ? attributes.previewHeight ?? 600 : undefined,\n\t\t};\n\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\tfileId: `wp-block-file--media-${ clientId }`,\n\t\t\tblob: undefined,\n\t\t\t...pdfAttributes,\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'Drag and drop a file, upload, or choose from your 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, width: '100%' } }\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\t// The horizontal grid value must be 1 or else the width may snap during a\n\t\t\t\t\t\t// resize even though only vertical resizing is enabled.\n\t\t\t\t\t\tgrid={ [ 1, 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"],
5
+ "mappings": "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",
6
6
  "names": ["noticesStore", "coreStore", "blockEditorStore", "clsx", "getAnimateClassName", "icon", "FileBlockInspector", "removeAnchorTag"]
7
7
  }
@@ -45,6 +45,7 @@ var import_edit = __toESM(require("./edit.cjs"));
45
45
  var import_block = __toESM(require("./block.json"));
46
46
  var import_save = __toESM(require("./save.cjs"));
47
47
  var import_transforms = __toESM(require("./transforms.cjs"));
48
+ var import_variations = __toESM(require("./variations.cjs"));
48
49
  var import_lock_unlock = require("../lock-unlock.cjs");
49
50
  var { fieldsKey, formKey } = (0, import_lock_unlock.unlock)(import_blocks.privateApis);
50
51
  var { name } = import_block.default;
@@ -59,7 +60,8 @@ var settings = {
59
60
  transforms: import_transforms.default,
60
61
  deprecated: import_deprecated.default,
61
62
  edit: import_edit.default,
62
- save: import_save.default
63
+ save: import_save.default,
64
+ variations: import_variations.default
63
65
  };
64
66
  if (window.__experimentalContentOnlyInspectorFields) {
65
67
  settings[fieldsKey] = [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/file/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { _x, __ } from '@wordpress/i18n';\nimport { file as icon } from '@wordpress/icons';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\thref: 'https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg',\n\t\t\tfileName: _x( 'Armstrong_Small_Step', 'Name of the file' ),\n\t\t},\n\t},\n\ttransforms,\n\tdeprecated,\n\tedit,\n\tsave,\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'file',\n\t\t\tlabel: __( 'File' ),\n\t\t\ttype: 'media',\n\t\t\tEdit: {\n\t\t\t\tcontrol: 'media', // TODO: replace with custom component\n\t\t\t\tallowedTypes: [],\n\t\t\t\tmultiple: false,\n\t\t\t},\n\t\t\tgetValue: ( { item } ) => ( {\n\t\t\t\tid: item.id,\n\t\t\t\turl: item.href,\n\t\t\t} ),\n\t\t\tsetValue: ( { value } ) => ( {\n\t\t\t\tid: value.id,\n\t\t\t\thref: value.url,\n\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\tid: 'fileName',\n\t\t\tlabel: __( 'Filename' ),\n\t\t\ttype: 'text',\n\t\t\tEdit: 'rich-text', // TODO: replace with custom component\n\t\t},\n\t\t{\n\t\t\tid: 'downloadButtonText',\n\t\t\tlabel: __( 'Button Text' ),\n\t\t\ttype: 'text',\n\t\t\tEdit: 'rich-text', // TODO: replace with custom component\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'file', 'fileName', 'downloadButtonText' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAuB;AACvB,mBAA6B;AAC7B,oBAAiD;AAKjD,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AACvB,yBAAuB;AAEvB,IAAM,EAAE,WAAW,QAAQ,QAAI,2BAAQ,cAAAC,WAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI,aAAAD;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAE;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,MAAM;AAAA,MACN,cAAU,gBAAI,wBAAwB,kBAAmB;AAAA,IAC1D;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AACD;AAEA,IAAK,OAAO,0CAA2C;AACtD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,MAAO;AAAA,MAClB,MAAM;AAAA,MACN,MAAM;AAAA,QACL,SAAS;AAAA;AAAA,QACT,cAAc,CAAC;AAAA,QACf,UAAU;AAAA,MACX;AAAA,MACA,UAAU,CAAE,EAAE,KAAK,OAAS;AAAA,QAC3B,IAAI,KAAK;AAAA,QACT,KAAK,KAAK;AAAA,MACX;AAAA,MACA,UAAU,CAAE,EAAE,MAAM,OAAS;AAAA,QAC5B,IAAI,MAAM;AAAA,QACV,MAAM,MAAM;AAAA,MACb;AAAA,IACD;AAAA,IACA;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,UAAW;AAAA,MACtB,MAAM;AAAA,MACN,MAAM;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,aAAc;AAAA,MACzB,MAAM;AAAA,MACN,MAAM;AAAA;AAAA,IACP;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,QAAQ,YAAY,oBAAqB;AAAA,EACpD;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
- "names": ["metadata", "blocksPrivateApis", "icon", "transforms", "deprecated", "edit", "save", "initBlock", "metadata"]
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { _x, __ } from '@wordpress/i18n';\nimport { file as icon } from '@wordpress/icons';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\thref: 'https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg',\n\t\t\tfileName: _x( 'Armstrong_Small_Step', 'Name of the file' ),\n\t\t},\n\t},\n\ttransforms,\n\tdeprecated,\n\tedit,\n\tsave,\n\tvariations,\n};\n\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'file',\n\t\t\tlabel: __( 'File' ),\n\t\t\ttype: 'media',\n\t\t\tEdit: {\n\t\t\t\tcontrol: 'media', // TODO: replace with custom component\n\t\t\t\tallowedTypes: [],\n\t\t\t\tmultiple: false,\n\t\t\t},\n\t\t\tgetValue: ( { item } ) => ( {\n\t\t\t\tid: item.id,\n\t\t\t\turl: item.href,\n\t\t\t} ),\n\t\t\tsetValue: ( { value } ) => ( {\n\t\t\t\tid: value.id,\n\t\t\t\thref: value.url,\n\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\tid: 'fileName',\n\t\t\tlabel: __( 'Filename' ),\n\t\t\ttype: 'text',\n\t\t\tEdit: 'rich-text', // TODO: replace with custom component\n\t\t},\n\t\t{\n\t\t\tid: 'downloadButtonText',\n\t\t\tlabel: __( 'Button Text' ),\n\t\t\ttype: 'text',\n\t\t\tEdit: 'rich-text', // TODO: replace with custom component\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'file', 'fileName', 'downloadButtonText' ],\n\t};\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAuB;AACvB,mBAA6B;AAC7B,oBAAiD;AAKjD,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AACvB,wBAAuB;AACvB,yBAAuB;AAEvB,IAAM,EAAE,WAAW,QAAQ,QAAI,2BAAQ,cAAAC,WAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI,aAAAD;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAE;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,MAAM;AAAA,MACN,cAAU,gBAAI,wBAAwB,kBAAmB;AAAA,IAC1D;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AACD;AAEA,IAAK,OAAO,0CAA2C;AACtD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,MAAO;AAAA,MAClB,MAAM;AAAA,MACN,MAAM;AAAA,QACL,SAAS;AAAA;AAAA,QACT,cAAc,CAAC;AAAA,QACf,UAAU;AAAA,MACX;AAAA,MACA,UAAU,CAAE,EAAE,KAAK,OAAS;AAAA,QAC3B,IAAI,KAAK;AAAA,QACT,KAAK,KAAK;AAAA,MACX;AAAA,MACA,UAAU,CAAE,EAAE,MAAM,OAAS;AAAA,QAC5B,IAAI,MAAM;AAAA,QACV,MAAM,MAAM;AAAA,MACb;AAAA,IACD;AAAA,IACA;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,UAAW;AAAA,MACtB,MAAM;AAAA,MACN,MAAM;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MACC,IAAI;AAAA,MACJ,WAAO,gBAAI,aAAc;AAAA,MACzB,MAAM;AAAA,MACN,MAAM;AAAA;AAAA,IACP;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,QAAQ,YAAY,oBAAqB;AAAA,EACpD;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
+ "names": ["metadata", "blocksPrivateApis", "icon", "transforms", "deprecated", "edit", "save", "variations", "initBlock", "metadata"]
7
7
  }
@@ -27,7 +27,9 @@ var import_blob = require("@wordpress/blob");
27
27
  var import_blocks = require("@wordpress/blocks");
28
28
  var import_data = require("@wordpress/data");
29
29
  var import_core_data = require("@wordpress/core-data");
30
+ var import_i18n = require("@wordpress/i18n");
30
31
  var import_url = require("@wordpress/url");
32
+ var downloadButtonText = (0, import_i18n._x)("Download", "button label");
31
33
  var transforms = {
32
34
  from: [
33
35
  {
@@ -64,7 +66,8 @@ var transforms = {
64
66
  blocks.push(
65
67
  (0, import_blocks.createBlock)("core/file", {
66
68
  blob: blobURL,
67
- fileName: file.name
69
+ fileName: file.name,
70
+ downloadButtonText
68
71
  })
69
72
  );
70
73
  }
@@ -74,40 +77,16 @@ var transforms = {
74
77
  },
75
78
  {
76
79
  type: "block",
77
- blocks: ["core/audio"],
78
- transform: (attributes) => {
79
- return (0, import_blocks.createBlock)("core/file", {
80
- href: attributes.src,
81
- fileName: attributes.caption,
82
- textLinkHref: attributes.src,
83
- id: attributes.id,
84
- anchor: attributes.anchor
85
- });
86
- }
87
- },
88
- {
89
- type: "block",
90
- blocks: ["core/video"],
80
+ blocks: ["core/audio", "core/video", "core/image"],
91
81
  transform: (attributes) => {
82
+ const href = attributes.src ?? attributes.url;
92
83
  return (0, import_blocks.createBlock)("core/file", {
93
- href: attributes.src,
94
- fileName: attributes.caption,
95
- textLinkHref: attributes.src,
84
+ href,
85
+ fileName: attributes.caption || (0, import_url.getFilename)(href),
86
+ textLinkHref: href,
96
87
  id: attributes.id,
97
- anchor: attributes.anchor
98
- });
99
- }
100
- },
101
- {
102
- type: "block",
103
- blocks: ["core/image"],
104
- transform: (attributes) => {
105
- return (0, import_blocks.createBlock)("core/file", {
106
- href: attributes.url,
107
- fileName: attributes.caption || (0, import_url.getFilename)(attributes.url),
108
- textLinkHref: attributes.url,
109
- id: attributes.id,
110
- anchor: attributes.anchor
88
+ anchor: attributes.anchor,
89
+ downloadButtonText
111
90
  });
112
91
  }
113
92
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/file/transforms.js"],
4
- "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 priority (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 { getEntityRecord } = select( coreStore );\n\t\t\t\tconst media = getEntityRecord( 'postType', 'attachment', 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 { getEntityRecord } = select( coreStore );\n\t\t\t\tconst media = getEntityRecord( 'postType', 'attachment', 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 { getEntityRecord } = select( coreStore );\n\t\t\t\tconst media = getEntityRecord( 'postType', 'attachment', 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"],
5
- "mappings": "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",
4
+ "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 { _x } from '@wordpress/i18n';\nimport { getFilename } from '@wordpress/url';\n\n// Transforms bypass the default variation, so set the localized default here.\nconst downloadButtonText = _x( 'Download', 'button label' );\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 priority (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\tdownloadButtonText,\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', 'core/video', 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\t// Audio/Video use `src`, Image uses `url`.\n\t\t\t\tconst href = attributes.src ?? attributes.url;\n\t\t\t\treturn createBlock( 'core/file', {\n\t\t\t\t\thref,\n\t\t\t\t\tfileName: attributes.caption || getFilename( href ),\n\t\t\t\t\ttextLinkHref: href,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t\tdownloadButtonText,\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 { getEntityRecord } = select( coreStore );\n\t\t\t\tconst media = getEntityRecord( 'postType', 'attachment', 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 { getEntityRecord } = select( coreStore );\n\t\t\t\tconst media = getEntityRecord( 'postType', 'attachment', 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 { getEntityRecord } = select( coreStore );\n\t\t\t\tconst media = getEntityRecord( 'postType', 'attachment', 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"],
5
+ "mappings": "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",
6
6
  "names": ["coreStore"]
7
7
  }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // packages/block-library/src/file/variations.js
21
+ var variations_exports = {};
22
+ __export(variations_exports, {
23
+ default: () => variations_default
24
+ });
25
+ module.exports = __toCommonJS(variations_exports);
26
+ var import_i18n = require("@wordpress/i18n");
27
+ var variations = [
28
+ {
29
+ name: "default",
30
+ isDefault: true,
31
+ // Translatable defaults can't live in `block.json`, so set it here.
32
+ attributes: {
33
+ downloadButtonText: (0, import_i18n._x)("Download", "button label")
34
+ }
35
+ }
36
+ ];
37
+ var variations_default = variations;
38
+ //# sourceMappingURL=variations.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/file/variations.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\n\nconst variations = [\n\t{\n\t\tname: 'default',\n\t\tisDefault: true,\n\t\t// Translatable defaults can't live in `block.json`, so set it here.\n\t\tattributes: {\n\t\t\tdownloadButtonText: _x( 'Download', 'button label' ),\n\t\t},\n\t},\n];\n\nexport default variations;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AAEnB,IAAM,aAAa;AAAA,EAClB;AAAA,IACC,MAAM;AAAA,IACN,WAAW;AAAA;AAAA,IAEX,YAAY;AAAA,MACX,wBAAoB,gBAAI,YAAY,cAAe;AAAA,IACpD;AAAA,EACD;AACD;AAEA,IAAO,qBAAQ;",
6
+ "names": []
7
+ }
@@ -103,7 +103,7 @@ function FootnotesEdit({ context: { postType, postId } }) {
103
103
  }
104
104
  ),
105
105
  " ",
106
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href: `#${id}-link`, children: "\u21A9\uFE0E" })
106
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href: `#${id}-link`, children: "↩︎" })
107
107
  ]
108
108
  },
109
109
  id
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/footnotes/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { BlockIcon, RichText, useBlockProps } from '@wordpress/block-editor';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { Placeholder } from '@wordpress/components';\nimport { formatListNumbered as icon } from '@wordpress/icons';\n\nexport default function FootnotesEdit( { context: { postType, postId } } ) {\n\tconst [ meta, updateMeta ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'meta',\n\t\tpostId\n\t);\n\tconst footnotesSupported = 'string' === typeof meta?.footnotes;\n\tconst footnotes = meta?.footnotes ? JSON.parse( meta.footnotes ) : [];\n\tconst blockProps = useBlockProps();\n\n\tif ( ! footnotesSupported ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabel={ __( 'Footnotes' ) }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Footnotes are not supported here. Add this block to post or page content.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( ! footnotes.length ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabel={ __( 'Footnotes' ) }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Footnotes found in blocks within this document will be displayed here.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ol { ...blockProps }>\n\t\t\t{ footnotes.map( ( { id, content } ) => (\n\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t\t<li\n\t\t\t\t\tkey={ id }\n\t\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\t\t// When clicking on the list item (not on descendants),\n\t\t\t\t\t\t// focus the rich text element since it's only 1px wide when\n\t\t\t\t\t\t// empty.\n\t\t\t\t\t\tif ( event.target === event.currentTarget ) {\n\t\t\t\t\t\t\tevent.target.firstElementChild.focus();\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\tidentifier={ id }\n\t\t\t\t\t\t// To do: figure out why the browser is not scrolling\n\t\t\t\t\t\t// into view when it receives focus.\n\t\t\t\t\t\tonFocus={ ( event ) => {\n\t\t\t\t\t\t\tif ( ! event.target.textContent.trim() ) {\n\t\t\t\t\t\t\t\tevent.target.scrollIntoView();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( nextFootnote ) => {\n\t\t\t\t\t\t\tupdateMeta( {\n\t\t\t\t\t\t\t\t...meta,\n\t\t\t\t\t\t\t\tfootnotes: JSON.stringify(\n\t\t\t\t\t\t\t\t\tfootnotes.map( ( footnote ) => {\n\t\t\t\t\t\t\t\t\t\treturn footnote.id === id\n\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: nextFootnote,\n\t\t\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t: footnote;\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/>{ ' ' }\n\t\t\t\t\t<a href={ `#${ id }-link` }>\u21A9\uFE0E</a>\n\t\t\t\t</li>\n\t\t\t) ) }\n\t\t</ol>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAAmD;AACnD,uBAA8B;AAC9B,kBAAmB;AACnB,wBAA4B;AAC5B,mBAA2C;AAiB/B;AAfG,SAAR,cAAgC,EAAE,SAAS,EAAE,UAAU,OAAO,EAAE,GAAI;AAC1E,QAAM,CAAE,MAAM,UAAW,QAAI;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,QAAM,qBAAqB,aAAa,OAAO,MAAM;AACrD,QAAM,YAAY,MAAM,YAAY,KAAK,MAAO,KAAK,SAAU,IAAI,CAAC;AACpE,QAAM,iBAAa,mCAAc;AAEjC,MAAK,CAAE,oBAAqB;AAC3B,WACC,4CAAC,SAAM,GAAG,YACT;AAAA,MAAC;AAAA;AAAA,QACA,MAAO,4CAAC,iCAAU,MAAO,aAAAA,oBAAO;AAAA,QAChC,WAAQ,gBAAI,WAAY;AAAA,QACxB,kBAAe;AAAA,UACd;AAAA,QACD;AAAA;AAAA,IACD,GACD;AAAA,EAEF;AAEA,MAAK,CAAE,UAAU,QAAS;AACzB,WACC,4CAAC,SAAM,GAAG,YACT;AAAA,MAAC;AAAA;AAAA,QACA,MAAO,4CAAC,iCAAU,MAAO,aAAAA,oBAAO;AAAA,QAChC,WAAQ,gBAAI,WAAY;AAAA,QACxB,kBAAe;AAAA,UACd;AAAA,QACD;AAAA;AAAA,IACD,GACD;AAAA,EAEF;AAEA,SACC,4CAAC,QAAK,GAAG,YACN,oBAAU,IAAK,CAAE,EAAE,IAAI,QAAQ;AAAA;AAAA,IAEhC;AAAA,MAAC;AAAA;AAAA,QAEA,aAAc,CAAE,UAAW;AAI1B,cAAK,MAAM,WAAW,MAAM,eAAgB;AAC3C,kBAAM,OAAO,kBAAkB,MAAM;AACrC,kBAAM,eAAe;AAAA,UACtB;AAAA,QACD;AAAA,QAEA;AAAA;AAAA,YAAC;AAAA;AAAA,cACA;AAAA,cACA,SAAQ;AAAA,cACR,OAAQ;AAAA,cACR,YAAa;AAAA,cAGb,SAAU,CAAE,UAAW;AACtB,oBAAK,CAAE,MAAM,OAAO,YAAY,KAAK,GAAI;AACxC,wBAAM,OAAO,eAAe;AAAA,gBAC7B;AAAA,cACD;AAAA,cACA,UAAW,CAAE,iBAAkB;AAC9B,2BAAY;AAAA,kBACX,GAAG;AAAA,kBACH,WAAW,KAAK;AAAA,oBACf,UAAU,IAAK,CAAE,aAAc;AAC9B,6BAAO,SAAS,OAAO,KACpB;AAAA,wBACA,SAAS;AAAA,wBACT;AAAA,sBACA,IACA;AAAA,oBACJ,CAAE;AAAA,kBACH;AAAA,gBACD,CAAE;AAAA,cACH;AAAA;AAAA,UACD;AAAA,UAAI;AAAA,UACJ,4CAAC,OAAE,MAAO,IAAK,EAAG,SAAU,0BAAE;AAAA;AAAA;AAAA,MAvCxB;AAAA,IAwCP;AAAA,GACC,GACH;AAEF;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { BlockIcon, RichText, useBlockProps } from '@wordpress/block-editor';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { Placeholder } from '@wordpress/components';\nimport { formatListNumbered as icon } from '@wordpress/icons';\n\nexport default function FootnotesEdit( { context: { postType, postId } } ) {\n\tconst [ meta, updateMeta ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'meta',\n\t\tpostId\n\t);\n\tconst footnotesSupported = 'string' === typeof meta?.footnotes;\n\tconst footnotes = meta?.footnotes ? JSON.parse( meta.footnotes ) : [];\n\tconst blockProps = useBlockProps();\n\n\tif ( ! footnotesSupported ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabel={ __( 'Footnotes' ) }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Footnotes are not supported here. Add this block to post or page content.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( ! footnotes.length ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabel={ __( 'Footnotes' ) }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Footnotes found in blocks within this document will be displayed here.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ol { ...blockProps }>\n\t\t\t{ footnotes.map( ( { id, content } ) => (\n\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t\t<li\n\t\t\t\t\tkey={ id }\n\t\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\t\t// When clicking on the list item (not on descendants),\n\t\t\t\t\t\t// focus the rich text element since it's only 1px wide when\n\t\t\t\t\t\t// empty.\n\t\t\t\t\t\tif ( event.target === event.currentTarget ) {\n\t\t\t\t\t\t\tevent.target.firstElementChild.focus();\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\tidentifier={ id }\n\t\t\t\t\t\t// To do: figure out why the browser is not scrolling\n\t\t\t\t\t\t// into view when it receives focus.\n\t\t\t\t\t\tonFocus={ ( event ) => {\n\t\t\t\t\t\t\tif ( ! event.target.textContent.trim() ) {\n\t\t\t\t\t\t\t\tevent.target.scrollIntoView();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( nextFootnote ) => {\n\t\t\t\t\t\t\tupdateMeta( {\n\t\t\t\t\t\t\t\t...meta,\n\t\t\t\t\t\t\t\tfootnotes: JSON.stringify(\n\t\t\t\t\t\t\t\t\tfootnotes.map( ( footnote ) => {\n\t\t\t\t\t\t\t\t\t\treturn footnote.id === id\n\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: nextFootnote,\n\t\t\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t: footnote;\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/>{ ' ' }\n\t\t\t\t\t<a href={ `#${ id }-link` }>↩︎</a>\n\t\t\t\t</li>\n\t\t\t) ) }\n\t\t</ol>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAAmD;AACnD,uBAA8B;AAC9B,kBAAmB;AACnB,wBAA4B;AAC5B,mBAA2C;AAiB/B;AAfG,SAAR,cAAgC,EAAE,SAAS,EAAE,UAAU,OAAO,EAAE,GAAI;AAC1E,QAAM,CAAE,MAAM,UAAW,QAAI;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,QAAM,qBAAqB,aAAa,OAAO,MAAM;AACrD,QAAM,YAAY,MAAM,YAAY,KAAK,MAAO,KAAK,SAAU,IAAI,CAAC;AACpE,QAAM,iBAAa,mCAAc;AAEjC,MAAK,CAAE,oBAAqB;AAC3B,WACC,4CAAC,SAAM,GAAG,YACT;AAAA,MAAC;AAAA;AAAA,QACA,MAAO,4CAAC,iCAAU,MAAO,aAAAA,oBAAO;AAAA,QAChC,WAAQ,gBAAI,WAAY;AAAA,QACxB,kBAAe;AAAA,UACd;AAAA,QACD;AAAA;AAAA,IACD,GACD;AAAA,EAEF;AAEA,MAAK,CAAE,UAAU,QAAS;AACzB,WACC,4CAAC,SAAM,GAAG,YACT;AAAA,MAAC;AAAA;AAAA,QACA,MAAO,4CAAC,iCAAU,MAAO,aAAAA,oBAAO;AAAA,QAChC,WAAQ,gBAAI,WAAY;AAAA,QACxB,kBAAe;AAAA,UACd;AAAA,QACD;AAAA;AAAA,IACD,GACD;AAAA,EAEF;AAEA,SACC,4CAAC,QAAK,GAAG,YACN,oBAAU,IAAK,CAAE,EAAE,IAAI,QAAQ;AAAA;AAAA,IAEhC;AAAA,MAAC;AAAA;AAAA,QAEA,aAAc,CAAE,UAAW;AAI1B,cAAK,MAAM,WAAW,MAAM,eAAgB;AAC3C,kBAAM,OAAO,kBAAkB,MAAM;AACrC,kBAAM,eAAe;AAAA,UACtB;AAAA,QACD;AAAA,QAEA;AAAA;AAAA,YAAC;AAAA;AAAA,cACA;AAAA,cACA,SAAQ;AAAA,cACR,OAAQ;AAAA,cACR,YAAa;AAAA,cAGb,SAAU,CAAE,UAAW;AACtB,oBAAK,CAAE,MAAM,OAAO,YAAY,KAAK,GAAI;AACxC,wBAAM,OAAO,eAAe;AAAA,gBAC7B;AAAA,cACD;AAAA,cACA,UAAW,CAAE,iBAAkB;AAC9B,2BAAY;AAAA,kBACX,GAAG;AAAA,kBACH,WAAW,KAAK;AAAA,oBACf,UAAU,IAAK,CAAE,aAAc;AAC9B,6BAAO,SAAS,OAAO,KACpB;AAAA,wBACA,SAAS;AAAA,wBACT;AAAA,sBACA,IACA;AAAA,oBACJ,CAAE;AAAA,kBACH;AAAA,gBACD,CAAE;AAAA,cACH;AAAA;AAAA,UACD;AAAA,UAAI;AAAA,UACJ,4CAAC,OAAE,MAAO,IAAK,EAAG,SAAU,gBAAE;AAAA;AAAA;AAAA,MAvCxB;AAAA,IAwCP;AAAA,GACC,GACH;AAEF;",
6
6
  "names": ["icon"]
7
7
  }
@@ -188,7 +188,7 @@ function InputFieldBlock({ attributes, setAttributes, className }) {
188
188
  borderProps.className
189
189
  ),
190
190
  "aria-label": (0, import_i18n.__)("Optional placeholder text"),
191
- placeholder: placeholder ? void 0 : (0, import_i18n.__)("Optional placeholder\u2026"),
191
+ placeholder: placeholder ? void 0 : (0, import_i18n.__)("Optional placeholder"),
192
192
  value: placeholder,
193
193
  onChange: (event) => setAttributes({ placeholder: event.target.value }),
194
194
  "aria-required": required,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/form-input/edit.js"],
4
- "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 {\n\tTextControl,\n\tCheckboxControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nfunction InputFieldBlock( { attributes, setAttributes, className } ) {\n\tconst { type, name, label, inlineLabel, required, placeholder, value } =\n\t\tattributes;\n\tconst blockProps = useBlockProps();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\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<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tinlineLabel: false,\n\t\t\t\t\t\t\t\trequired: false,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ 'checkbox' !== type && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Inline label' ) }\n\t\t\t\t\t\t\t\thasValue={ () => !! inlineLabel }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { inlineLabel: false } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Inline label' ) }\n\t\t\t\t\t\t\t\t\tchecked={ inlineLabel }\n\t\t\t\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tinlineLabel: newVal,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Required' ) }\n\t\t\t\t\t\t\thasValue={ () => !! required }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { required: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Required' ) }\n\t\t\t\t\t\t\t\tchecked={ required }\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\trequired: 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</ToolsPanelItem>\n\t\t\t\t\t</ToolsPanel>\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\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\" attribute 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\t{ 'hidden' === type && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tlabel={ __( 'Value' ) }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ ( newVal ) =>\n\t\t\t\t\t\t\tsetAttributes( { value: newVal } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Sets the stored value for this hidden field.'\n\t\t\t\t\t\t) }\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<div { ...blockProps }>\n\t\t\t\t{ controls }\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"wp-block-form-input__label is-input-hidden\"\n\t\t\t\t\tdata-message={ __( 'Hidden field' ) }\n\t\t\t\t/>\n\t\t\t</div>\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\u2026' )\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"],
5
- "mappings": "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",
4
+ "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 {\n\tTextControl,\n\tCheckboxControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nfunction InputFieldBlock( { attributes, setAttributes, className } ) {\n\tconst { type, name, label, inlineLabel, required, placeholder, value } =\n\t\tattributes;\n\tconst blockProps = useBlockProps();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\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<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tinlineLabel: false,\n\t\t\t\t\t\t\t\trequired: false,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ 'checkbox' !== type && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Inline label' ) }\n\t\t\t\t\t\t\t\thasValue={ () => !! inlineLabel }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { inlineLabel: false } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Inline label' ) }\n\t\t\t\t\t\t\t\t\tchecked={ inlineLabel }\n\t\t\t\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tinlineLabel: newVal,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Required' ) }\n\t\t\t\t\t\t\thasValue={ () => !! required }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { required: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Required' ) }\n\t\t\t\t\t\t\t\tchecked={ required }\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\trequired: 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</ToolsPanelItem>\n\t\t\t\t\t</ToolsPanel>\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\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\" attribute 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\t{ 'hidden' === type && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tlabel={ __( 'Value' ) }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ ( newVal ) =>\n\t\t\t\t\t\t\tsetAttributes( { value: newVal } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Sets the stored value for this hidden field.'\n\t\t\t\t\t\t) }\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<div { ...blockProps }>\n\t\t\t\t{ controls }\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"wp-block-form-input__label is-input-hidden\"\n\t\t\t\t\tdata-message={ __( 'Hidden field' ) }\n\t\t\t\t/>\n\t\t\t</div>\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"],
5
+ "mappings": "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",
6
6
  "names": ["useBorderProps", "useColorProps", "ToolsPanel", "ToolsPanelItem", "clsx"]
7
7
  }
@@ -88,7 +88,7 @@ function FreeformEdit({
88
88
  icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.BlockIcon, { icon: import_icons.classic }),
89
89
  label: (0, import_i18n.__)("Classic"),
90
90
  instructions: isDeprecationMode ? (0, import_i18n.__)(
91
- "The Classic block is being phased out. It\u2019s recommended to use other blocks for the best editing experience."
91
+ "The Classic block is being phased out. It’s recommended to use other blocks for the best editing experience."
92
92
  ) : (0, import_i18n.__)("Use the classic editor to add content."),
93
93
  children: [
94
94
  isDeprecationMode && canRemove && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/freeform/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tButton,\n\tPlaceholder,\n\tToolbarGroup,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useState, useRef, RawHTML } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { classic } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ConvertToBlocksButton from './convert-to-blocks-button';\nimport MigrationNotice from './migration-notice';\nimport ModalEdit from './modal';\n\nexport default function FreeformEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tonReplace,\n} ) {\n\tconst { content } = attributes;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst editButtonRef = useRef( null );\n\n\tconst canRemove = useSelect(\n\t\t( select ) => select( blockEditorStore ).canRemoveBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\n\t// Gated by an experiment so authors can opt into a stronger nudge to\n\t// migrate Classic block content ahead of its planned deprecation.\n\tconst isDeprecationMode = window.__experimentalClassicBlockDeprecation;\n\n\treturn (\n\t\t<>\n\t\t\t{ canRemove && ! isDeprecationMode && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ConvertToBlocksButton\n\t\t\t\t\t\t\tcontent={ content }\n\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tref={ editButtonRef }\n\t\t\t\t\t\tonClick={ () => setOpen( true ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t{ isDeprecationMode && canRemove && content && (\n\t\t\t\t\t<MigrationNotice\n\t\t\t\t\t\tcontent={ content }\n\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ content ? (\n\t\t\t\t\t<RawHTML>{ content }</RawHTML>\n\t\t\t\t) : (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ classic } /> }\n\t\t\t\t\t\tlabel={ __( 'Classic' ) }\n\t\t\t\t\t\tinstructions={\n\t\t\t\t\t\t\tisDeprecationMode\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'The Classic block is being phased out. It\u2019s recommended to use other blocks for the best editing experience.'\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Use the classic editor to add content.' )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isDeprecationMode && canRemove && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ () => removeBlock( clientId ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Remove block' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\tisDeprecationMode && canRemove\n\t\t\t\t\t\t\t\t\t? 'secondary'\n\t\t\t\t\t\t\t\t\t: 'primary'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => setOpen( true ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit contents' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Placeholder>\n\t\t\t\t) }\n\t\t\t\t{ isOpen && (\n\t\t\t\t\t<ModalEdit\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tcontent={ content }\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetOpen( false );\n\t\t\t\t\t\t\tif ( editButtonRef.current ) {\n\t\t\t\t\t\t\t\teditButtonRef.current.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( newContent ) =>\n\t\t\t\t\t\t\tsetAttributes( { content: newContent } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tButton,\n\tPlaceholder,\n\tToolbarGroup,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useState, useRef, RawHTML } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { classic } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ConvertToBlocksButton from './convert-to-blocks-button';\nimport MigrationNotice from './migration-notice';\nimport ModalEdit from './modal';\n\nexport default function FreeformEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tonReplace,\n} ) {\n\tconst { content } = attributes;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst editButtonRef = useRef( null );\n\n\tconst canRemove = useSelect(\n\t\t( select ) => select( blockEditorStore ).canRemoveBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\n\t// Gated by an experiment so authors can opt into a stronger nudge to\n\t// migrate Classic block content ahead of its planned deprecation.\n\tconst isDeprecationMode = window.__experimentalClassicBlockDeprecation;\n\n\treturn (\n\t\t<>\n\t\t\t{ canRemove && ! isDeprecationMode && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ConvertToBlocksButton\n\t\t\t\t\t\t\tcontent={ content }\n\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tref={ editButtonRef }\n\t\t\t\t\t\tonClick={ () => setOpen( true ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t{ isDeprecationMode && canRemove && content && (\n\t\t\t\t\t<MigrationNotice\n\t\t\t\t\t\tcontent={ content }\n\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ content ? (\n\t\t\t\t\t<RawHTML>{ content }</RawHTML>\n\t\t\t\t) : (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ classic } /> }\n\t\t\t\t\t\tlabel={ __( 'Classic' ) }\n\t\t\t\t\t\tinstructions={\n\t\t\t\t\t\t\tisDeprecationMode\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'The Classic block is being phased out. It’s recommended to use other blocks for the best editing experience.'\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Use the classic editor to add content.' )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isDeprecationMode && canRemove && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ () => removeBlock( clientId ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Remove block' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\tisDeprecationMode && canRemove\n\t\t\t\t\t\t\t\t\t? 'secondary'\n\t\t\t\t\t\t\t\t\t: 'primary'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => setOpen( true ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit contents' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Placeholder>\n\t\t\t\t) }\n\t\t\t\t{ isOpen && (\n\t\t\t\t\t<ModalEdit\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tcontent={ content }\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetOpen( false );\n\t\t\t\t\t\t\tif ( editButtonRef.current ) {\n\t\t\t\t\t\t\t\teditButtonRef.current.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( newContent ) =>\n\t\t\t\t\t\t\tsetAttributes( { content: newContent } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAKO;AACP,kBAAuC;AACvC,wBAKO;AACP,qBAA0C;AAC1C,kBAAmB;AACnB,mBAAwB;AAKxB,sCAAkC;AAClC,8BAA4B;AAC5B,mBAAsB;AAuBpB;AArBa,SAAR,aAA+B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,QAAQ,IAAI;AACpB,QAAM,CAAE,QAAQ,OAAQ,QAAI,yBAAU,KAAM;AAC5C,QAAM,oBAAgB,uBAAQ,IAAK;AAEnC,QAAM,gBAAY;AAAA,IACjB,CAAE,WAAY,OAAQ,oBAAAA,KAAiB,EAAE,eAAgB,QAAS;AAAA,IAClE,CAAE,QAAS;AAAA,EACZ;AACA,QAAM,EAAE,YAAY,QAAI,yBAAa,oBAAAA,KAAiB;AAItD,QAAM,oBAAoB,OAAO;AAEjC,SACC,4EACG;AAAA,iBAAa,CAAE,qBAChB,4CAAC,qCACA,sDAAC,kCACA;AAAA,MAAC,gCAAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACD,GACD,GACD;AAAA,IAED,4CAAC,qCACA,sDAAC,kCACA;AAAA,MAAC;AAAA;AAAA,QACA,KAAM;AAAA,QACN,SAAU,MAAM,QAAS,IAAK;AAAA,QAE5B,8BAAI,MAAO;AAAA;AAAA,IACd,GACD,GACD;AAAA,IACA,6CAAC,SAAM,OAAG,mCAAc,GACrB;AAAA,2BAAqB,aAAa,WACnC;AAAA,QAAC,wBAAAC;AAAA,QAAA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACD;AAAA,MAEC,UACD,4CAAC,0BAAU,mBAAS,IAEpB;AAAA,QAAC;AAAA;AAAA,UACA,MAAO,4CAAC,iCAAU,MAAO,sBAAU;AAAA,UACnC,WAAQ,gBAAI,SAAU;AAAA,UACtB,cACC,wBACG;AAAA,YACA;AAAA,UACA,QACA,gBAAI,wCAAyC;AAAA,UAG/C;AAAA,iCAAqB,aACtB;AAAA,cAAC;AAAA;AAAA,gBACA,uBAAqB;AAAA,gBACrB,SAAQ;AAAA,gBACR,SAAU,MAAM,YAAa,QAAS;AAAA,gBAEpC,8BAAI,cAAe;AAAA;AAAA,YACtB;AAAA,YAED;AAAA,cAAC;AAAA;AAAA,gBACA,uBAAqB;AAAA,gBACrB,SACC,qBAAqB,YAClB,cACA;AAAA,gBAEJ,SAAU,MAAM,QAAS,IAAK;AAAA,gBAE5B,8BAAI,eAAgB;AAAA;AAAA,YACvB;AAAA;AAAA;AAAA,MACD;AAAA,MAEC,UACD;AAAA,QAAC,aAAAC;AAAA,QAAA;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAU,MAAM;AACf,oBAAS,KAAM;AACf,gBAAK,cAAc,SAAU;AAC5B,4BAAc,QAAQ,MAAM;AAAA,YAC7B;AAAA,UACD;AAAA,UACA,UAAW,CAAE,eACZ,cAAe,EAAE,SAAS,WAAW,CAAE;AAAA;AAAA,MAEzC;AAAA,OAEF;AAAA,KACD;AAEF;",
6
6
  "names": ["blockEditorStore", "ConvertToBlocksButton", "MigrationNotice", "ModalEdit"]
7
7
  }