@wordpress/block-editor 14.9.0 → 14.10.1

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 (370) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +40 -0
  4. package/build/components/audio-player/index.native.js +1 -1
  5. package/build/components/audio-player/index.native.js.map +1 -1
  6. package/build/components/background-image-control/index.js +4 -0
  7. package/build/components/background-image-control/index.js.map +1 -1
  8. package/build/components/block-alignment-matrix-control/index.js +32 -0
  9. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  10. package/build/components/block-card/index.js +45 -8
  11. package/build/components/block-card/index.js.map +1 -1
  12. package/build/components/block-edit/edit.js +147 -10
  13. package/build/components/block-edit/edit.js.map +1 -1
  14. package/build/components/block-list/index.js +1 -2
  15. package/build/components/block-list/index.js.map +1 -1
  16. package/build/components/block-list/use-block-props/index.js +2 -2
  17. package/build/components/block-list/use-block-props/index.js.map +1 -1
  18. package/build/components/block-list/zoom-out-separator.js +20 -3
  19. package/build/components/block-list/zoom-out-separator.js.map +1 -1
  20. package/build/components/block-settings-menu/block-settings-dropdown.js +5 -8
  21. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  22. package/build/components/block-styles/utils.js +3 -3
  23. package/build/components/block-styles/utils.js.map +1 -1
  24. package/build/components/block-tools/zoom-out-mode-inserters.js +19 -6
  25. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  26. package/build/components/button-block-appender/index.js +1 -5
  27. package/build/components/button-block-appender/index.js.map +1 -1
  28. package/build/components/child-layout-control/index.js +6 -0
  29. package/build/components/child-layout-control/index.js.map +1 -1
  30. package/build/components/colors-gradients/dropdown.js +51 -11
  31. package/build/components/colors-gradients/dropdown.js.map +1 -1
  32. package/build/components/contrast-checker/index.native.js +1 -1
  33. package/build/components/contrast-checker/index.native.js.map +1 -1
  34. package/build/components/date-format-picker/index.js +7 -16
  35. package/build/components/date-format-picker/index.js.map +1 -1
  36. package/build/components/font-appearance-control/index.js +9 -0
  37. package/build/components/font-appearance-control/index.js.map +1 -1
  38. package/build/components/font-family/index.js +10 -1
  39. package/build/components/font-family/index.js.map +1 -1
  40. package/build/components/global-styles/color-panel.js +3 -0
  41. package/build/components/global-styles/color-panel.js.map +1 -1
  42. package/build/components/global-styles/typography-utils.js +1 -1
  43. package/build/components/global-styles/typography-utils.js.map +1 -1
  44. package/build/components/global-styles/use-global-styles-output.js +2 -2
  45. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  46. package/build/components/grid/grid-visualizer.js +9 -0
  47. package/build/components/grid/grid-visualizer.js.map +1 -1
  48. package/build/components/grid/utils.js +12 -1
  49. package/build/components/grid/utils.js.map +1 -1
  50. package/build/components/iframe/index.js +1 -1
  51. package/build/components/iframe/index.js.map +1 -1
  52. package/build/components/inner-blocks/use-inner-block-template-sync.js +11 -11
  53. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  54. package/build/components/inserter/block-patterns-explorer/index.js +1 -1
  55. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  56. package/build/components/inserter/block-patterns-tab/index.js +1 -1
  57. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  58. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +4 -4
  59. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  60. package/build/components/inserter/block-patterns-tab/patterns-filter.js +2 -2
  61. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  62. package/build/components/inserter/category-tabs/index.js +1 -2
  63. package/build/components/inserter/category-tabs/index.js.map +1 -1
  64. package/build/components/inserter/index.js +6 -15
  65. package/build/components/inserter/index.js.map +1 -1
  66. package/build/components/inserter/quick-inserter.js +2 -13
  67. package/build/components/inserter/quick-inserter.js.map +1 -1
  68. package/build/components/keyboard-shortcuts/index.js +2 -2
  69. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  70. package/build/components/line-height-control/index.js +9 -0
  71. package/build/components/line-height-control/index.js.map +1 -1
  72. package/build/components/media-placeholder/index.js +2 -2
  73. package/build/components/media-placeholder/index.js.map +1 -1
  74. package/build/components/media-replace-flow/index.js +26 -26
  75. package/build/components/media-replace-flow/index.js.map +1 -1
  76. package/build/components/plain-text/index.js +34 -0
  77. package/build/components/plain-text/index.js.map +1 -1
  78. package/build/components/provider/index.js +61 -5
  79. package/build/components/provider/index.js.map +1 -1
  80. package/build/components/provider/use-media-upload-settings.js +28 -0
  81. package/build/components/provider/use-media-upload-settings.js.map +1 -0
  82. package/build/components/resolution-tool/index.js +3 -1
  83. package/build/components/resolution-tool/index.js.map +1 -1
  84. package/build/components/responsive-block-control/index.js +1 -1
  85. package/build/components/responsive-block-control/index.js.map +1 -1
  86. package/build/components/rich-text/event-listeners/delete.js +7 -1
  87. package/build/components/rich-text/event-listeners/delete.js.map +1 -1
  88. package/build/components/rich-text/index.js +2 -2
  89. package/build/components/rich-text/index.js.map +1 -1
  90. package/build/components/use-block-drop-zone/index.js +2 -1
  91. package/build/components/use-block-drop-zone/index.js.map +1 -1
  92. package/build/hooks/background.js +2 -0
  93. package/build/hooks/background.js.map +1 -1
  94. package/build/hooks/block-bindings.js +15 -14
  95. package/build/hooks/block-bindings.js.map +1 -1
  96. package/build/hooks/border.js +3 -3
  97. package/build/hooks/border.js.map +1 -1
  98. package/build/hooks/color.js +1 -1
  99. package/build/hooks/color.js.map +1 -1
  100. package/build/hooks/dimensions.js +2 -2
  101. package/build/hooks/dimensions.js.map +1 -1
  102. package/build/hooks/font-family.js +1 -1
  103. package/build/hooks/font-family.js.map +1 -1
  104. package/build/hooks/gap.js +2 -2
  105. package/build/hooks/gap.js.map +1 -1
  106. package/build/hooks/index.js +0 -1
  107. package/build/hooks/index.js.map +1 -1
  108. package/build/hooks/index.native.js +7 -0
  109. package/build/hooks/index.native.js.map +1 -1
  110. package/build/hooks/style.js +7 -7
  111. package/build/hooks/style.js.map +1 -1
  112. package/build/hooks/supports.js +7 -7
  113. package/build/hooks/supports.js.map +1 -1
  114. package/build/hooks/typography.js +6 -6
  115. package/build/hooks/typography.js.map +1 -1
  116. package/build/hooks/use-zoom-out.js +12 -1
  117. package/build/hooks/use-zoom-out.js.map +1 -1
  118. package/build/hooks/utils.js +1 -1
  119. package/build/hooks/utils.js.map +1 -1
  120. package/build/store/private-actions.js +1 -1
  121. package/build/store/private-actions.js.map +1 -1
  122. package/build/store/private-selectors.js +11 -1
  123. package/build/store/private-selectors.js.map +1 -1
  124. package/build/store/reducer.js +93 -12
  125. package/build/store/reducer.js.map +1 -1
  126. package/build/store/selectors.js +6 -8
  127. package/build/store/selectors.js.map +1 -1
  128. package/build/utils/block-bindings.js +95 -0
  129. package/build/utils/block-bindings.js.map +1 -1
  130. package/build-module/components/audio-player/index.native.js +2 -2
  131. package/build-module/components/audio-player/index.native.js.map +1 -1
  132. package/build-module/components/background-image-control/index.js +5 -1
  133. package/build-module/components/background-image-control/index.js.map +1 -1
  134. package/build-module/components/block-alignment-matrix-control/index.js +32 -0
  135. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  136. package/build-module/components/block-card/index.js +45 -8
  137. package/build-module/components/block-card/index.js.map +1 -1
  138. package/build-module/components/block-edit/edit.js +148 -11
  139. package/build-module/components/block-edit/edit.js.map +1 -1
  140. package/build-module/components/block-list/index.js +2 -3
  141. package/build-module/components/block-list/index.js.map +1 -1
  142. package/build-module/components/block-list/use-block-props/index.js +1 -1
  143. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  144. package/build-module/components/block-list/zoom-out-separator.js +20 -3
  145. package/build-module/components/block-list/zoom-out-separator.js.map +1 -1
  146. package/build-module/components/block-settings-menu/block-settings-dropdown.js +5 -8
  147. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  148. package/build-module/components/block-styles/utils.js +3 -3
  149. package/build-module/components/block-styles/utils.js.map +1 -1
  150. package/build-module/components/block-tools/zoom-out-mode-inserters.js +19 -6
  151. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  152. package/build-module/components/button-block-appender/index.js +2 -6
  153. package/build-module/components/button-block-appender/index.js.map +1 -1
  154. package/build-module/components/child-layout-control/index.js +7 -1
  155. package/build-module/components/child-layout-control/index.js.map +1 -1
  156. package/build-module/components/colors-gradients/dropdown.js +51 -11
  157. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  158. package/build-module/components/contrast-checker/index.native.js +2 -2
  159. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  160. package/build-module/components/date-format-picker/index.js +7 -16
  161. package/build-module/components/date-format-picker/index.js.map +1 -1
  162. package/build-module/components/font-appearance-control/index.js +8 -0
  163. package/build-module/components/font-appearance-control/index.js.map +1 -1
  164. package/build-module/components/font-family/index.js +10 -1
  165. package/build-module/components/font-family/index.js.map +1 -1
  166. package/build-module/components/global-styles/color-panel.js +3 -0
  167. package/build-module/components/global-styles/color-panel.js.map +1 -1
  168. package/build-module/components/global-styles/typography-utils.js +1 -1
  169. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  170. package/build-module/components/global-styles/use-global-styles-output.js +2 -2
  171. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  172. package/build-module/components/grid/grid-visualizer.js +9 -0
  173. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  174. package/build-module/components/grid/utils.js +12 -1
  175. package/build-module/components/grid/utils.js.map +1 -1
  176. package/build-module/components/iframe/index.js +1 -1
  177. package/build-module/components/iframe/index.js.map +1 -1
  178. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +12 -12
  179. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  180. package/build-module/components/inserter/block-patterns-explorer/index.js +1 -1
  181. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  182. package/build-module/components/inserter/block-patterns-tab/index.js +1 -1
  183. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  184. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +4 -4
  185. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  186. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +2 -2
  187. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  188. package/build-module/components/inserter/category-tabs/index.js +1 -2
  189. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  190. package/build-module/components/inserter/index.js +6 -15
  191. package/build-module/components/inserter/index.js.map +1 -1
  192. package/build-module/components/inserter/quick-inserter.js +2 -13
  193. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  194. package/build-module/components/keyboard-shortcuts/index.js +2 -2
  195. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  196. package/build-module/components/line-height-control/index.js +8 -0
  197. package/build-module/components/line-height-control/index.js.map +1 -1
  198. package/build-module/components/media-placeholder/index.js +3 -3
  199. package/build-module/components/media-placeholder/index.js.map +1 -1
  200. package/build-module/components/media-replace-flow/index.js +28 -28
  201. package/build-module/components/media-replace-flow/index.js.map +1 -1
  202. package/build-module/components/plain-text/index.js +34 -0
  203. package/build-module/components/plain-text/index.js.map +1 -1
  204. package/build-module/components/provider/index.js +62 -5
  205. package/build-module/components/provider/index.js.map +1 -1
  206. package/build-module/components/provider/use-media-upload-settings.js +22 -0
  207. package/build-module/components/provider/use-media-upload-settings.js.map +1 -0
  208. package/build-module/components/resolution-tool/index.js +3 -1
  209. package/build-module/components/resolution-tool/index.js.map +1 -1
  210. package/build-module/components/responsive-block-control/index.js +1 -1
  211. package/build-module/components/responsive-block-control/index.js.map +1 -1
  212. package/build-module/components/rich-text/event-listeners/delete.js +7 -1
  213. package/build-module/components/rich-text/event-listeners/delete.js.map +1 -1
  214. package/build-module/components/rich-text/index.js +1 -1
  215. package/build-module/components/rich-text/index.js.map +1 -1
  216. package/build-module/components/use-block-drop-zone/index.js +2 -1
  217. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  218. package/build-module/hooks/background.js +2 -0
  219. package/build-module/hooks/background.js.map +1 -1
  220. package/build-module/hooks/block-bindings.js +13 -12
  221. package/build-module/hooks/block-bindings.js.map +1 -1
  222. package/build-module/hooks/border.js +3 -3
  223. package/build-module/hooks/border.js.map +1 -1
  224. package/build-module/hooks/color.js +1 -1
  225. package/build-module/hooks/color.js.map +1 -1
  226. package/build-module/hooks/dimensions.js +2 -2
  227. package/build-module/hooks/dimensions.js.map +1 -1
  228. package/build-module/hooks/font-family.js +1 -1
  229. package/build-module/hooks/font-family.js.map +1 -1
  230. package/build-module/hooks/gap.js +2 -2
  231. package/build-module/hooks/gap.js.map +1 -1
  232. package/build-module/hooks/index.js +0 -1
  233. package/build-module/hooks/index.js.map +1 -1
  234. package/build-module/hooks/index.native.js +1 -0
  235. package/build-module/hooks/index.native.js.map +1 -1
  236. package/build-module/hooks/style.js +7 -7
  237. package/build-module/hooks/style.js.map +1 -1
  238. package/build-module/hooks/supports.js +7 -7
  239. package/build-module/hooks/supports.js.map +1 -1
  240. package/build-module/hooks/typography.js +6 -6
  241. package/build-module/hooks/typography.js.map +1 -1
  242. package/build-module/hooks/use-zoom-out.js +12 -2
  243. package/build-module/hooks/use-zoom-out.js.map +1 -1
  244. package/build-module/hooks/utils.js +1 -1
  245. package/build-module/hooks/utils.js.map +1 -1
  246. package/build-module/store/private-actions.js +1 -1
  247. package/build-module/store/private-actions.js.map +1 -1
  248. package/build-module/store/private-selectors.js +11 -1
  249. package/build-module/store/private-selectors.js.map +1 -1
  250. package/build-module/store/reducer.js +93 -12
  251. package/build-module/store/reducer.js.map +1 -1
  252. package/build-module/store/selectors.js +6 -8
  253. package/build-module/store/selectors.js.map +1 -1
  254. package/build-module/utils/block-bindings.js +90 -0
  255. package/build-module/utils/block-bindings.js.map +1 -1
  256. package/build-style/style-rtl.css +27 -9
  257. package/build-style/style.css +27 -9
  258. package/package.json +33 -33
  259. package/src/components/audio-player/index.native.js +2 -2
  260. package/src/components/background-image-control/index.js +4 -0
  261. package/src/components/background-image-control/style.scss +4 -2
  262. package/src/components/block-alignment-matrix-control/README.md +29 -6
  263. package/src/components/block-alignment-matrix-control/index.js +31 -0
  264. package/src/components/block-alignment-matrix-control/stories/index.story.js +78 -0
  265. package/src/components/block-card/README.md +7 -0
  266. package/src/components/block-card/index.js +41 -12
  267. package/src/components/block-card/stories/index.story.js +79 -0
  268. package/src/components/block-card/style.scss +9 -1
  269. package/src/components/block-edit/edit.js +218 -11
  270. package/src/components/block-list/index.js +2 -7
  271. package/src/components/block-list/use-block-props/index.js +1 -1
  272. package/src/components/block-list/zoom-out-separator.js +30 -0
  273. package/src/components/block-settings-menu/block-settings-dropdown.js +17 -20
  274. package/src/components/block-styles/utils.js +3 -3
  275. package/src/components/block-title/stories/index.story.js +76 -0
  276. package/src/components/block-tools/style.scss +1 -0
  277. package/src/components/block-tools/zoom-out-mode-inserters.js +21 -3
  278. package/src/components/border-radius-control/README.md +59 -0
  279. package/src/components/border-radius-control/stories/index.story.js +58 -0
  280. package/src/components/button-block-appender/index.js +2 -7
  281. package/src/components/child-layout-control/index.js +14 -0
  282. package/src/components/colors-gradients/dropdown.js +57 -8
  283. package/src/components/colors-gradients/style.scss +5 -0
  284. package/src/components/contrast-checker/index.native.js +2 -2
  285. package/src/components/contrast-checker/stories/index.story.js +117 -0
  286. package/src/components/date-format-picker/README.md +6 -13
  287. package/src/components/date-format-picker/index.js +10 -17
  288. package/src/components/date-format-picker/stories/index.story.js +69 -0
  289. package/src/components/date-format-picker/style.scss +3 -1
  290. package/src/components/default-block-appender/content.scss +1 -0
  291. package/src/components/dimensions-tool/stories/aspect-ratio-tool.story.js +2 -1
  292. package/src/components/dimensions-tool/stories/index.story.js +2 -1
  293. package/src/components/dimensions-tool/stories/scale-tool.story.js +2 -1
  294. package/src/components/dimensions-tool/stories/width-height-tool.story.js +2 -1
  295. package/src/components/font-appearance-control/index.js +15 -0
  296. package/src/components/font-family/README.md +1 -0
  297. package/src/components/font-family/index.js +17 -1
  298. package/src/components/font-family/stories/index.story.js +1 -0
  299. package/src/components/global-styles/color-panel.js +3 -0
  300. package/src/components/global-styles/test/use-global-styles-output.js +1 -1
  301. package/src/components/global-styles/typography-utils.js +1 -1
  302. package/src/components/global-styles/use-global-styles-output.js +2 -2
  303. package/src/components/grid/grid-visualizer.js +11 -0
  304. package/src/components/grid/utils.js +19 -1
  305. package/src/components/iframe/index.js +1 -1
  306. package/src/components/inner-blocks/use-inner-block-template-sync.js +17 -10
  307. package/src/components/inserter/block-patterns-explorer/index.js +2 -3
  308. package/src/components/inserter/block-patterns-tab/index.js +3 -1
  309. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +4 -4
  310. package/src/components/inserter/block-patterns-tab/patterns-filter.js +2 -2
  311. package/src/components/inserter/category-tabs/index.js +3 -2
  312. package/src/components/inserter/index.js +1 -13
  313. package/src/components/inserter/quick-inserter.js +2 -25
  314. package/src/components/keyboard-shortcuts/index.js +2 -2
  315. package/src/components/line-height-control/README.md +1 -0
  316. package/src/components/line-height-control/index.js +12 -0
  317. package/src/components/line-height-control/stories/index.story.js +1 -0
  318. package/src/components/line-height-control/test/index.js +7 -1
  319. package/src/components/list-view/style.scss +10 -5
  320. package/src/components/media-placeholder/index.js +3 -3
  321. package/src/components/media-replace-flow/README.md +7 -0
  322. package/src/components/media-replace-flow/index.js +28 -36
  323. package/src/components/media-replace-flow/style.scss +6 -6
  324. package/src/components/plain-text/README.md +2 -2
  325. package/src/components/plain-text/index.js +34 -0
  326. package/src/components/plain-text/stories/index.story.js +75 -0
  327. package/src/components/provider/index.js +81 -4
  328. package/src/components/provider/use-media-upload-settings.js +25 -0
  329. package/src/components/resolution-tool/index.js +2 -0
  330. package/src/components/resolution-tool/stories/index.story.js +36 -8
  331. package/src/components/responsive-block-control/index.js +1 -1
  332. package/src/components/rich-text/event-listeners/delete.js +6 -1
  333. package/src/components/rich-text/index.js +1 -1
  334. package/src/components/text-alignment-control/README.md +49 -0
  335. package/src/components/text-alignment-control/stories/index.story.js +56 -18
  336. package/src/components/text-decoration-control/README.md +0 -1
  337. package/src/components/text-decoration-control/stories/index.story.js +51 -16
  338. package/src/components/text-transform-control/README.md +3 -4
  339. package/src/components/text-transform-control/stories/index.story.js +53 -16
  340. package/src/components/use-block-drop-zone/index.js +8 -1
  341. package/src/components/warning/stories/index.story.js +86 -0
  342. package/src/hooks/background.js +6 -0
  343. package/src/hooks/block-bindings.js +17 -18
  344. package/src/hooks/border.js +9 -3
  345. package/src/hooks/color.js +1 -1
  346. package/src/hooks/dimensions.js +2 -2
  347. package/src/hooks/font-family.js +1 -1
  348. package/src/hooks/gap.js +2 -2
  349. package/src/hooks/index.js +0 -1
  350. package/src/hooks/index.native.js +1 -0
  351. package/src/hooks/style.js +13 -7
  352. package/src/hooks/supports.js +7 -7
  353. package/src/hooks/test/style.js +2 -1
  354. package/src/hooks/typography.js +6 -6
  355. package/src/hooks/use-zoom-out.js +10 -2
  356. package/src/hooks/utils.js +1 -1
  357. package/src/store/private-actions.js +1 -0
  358. package/src/store/private-selectors.js +15 -5
  359. package/src/store/reducer.js +112 -19
  360. package/src/store/selectors.js +6 -8
  361. package/src/store/test/private-selectors.js +53 -9
  362. package/src/store/test/reducer.js +172 -166
  363. package/src/store/test/selectors.js +23 -0
  364. package/src/utils/block-bindings.js +95 -0
  365. package/tsconfig.json +2 -5
  366. package/build/hooks/use-bindings-attributes.js +0 -262
  367. package/build/hooks/use-bindings-attributes.js.map +0 -1
  368. package/build-module/hooks/use-bindings-attributes.js +0 -253
  369. package/build-module/hooks/use-bindings-attributes.js.map +0 -1
  370. package/src/hooks/use-bindings-attributes.js +0 -322
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_data","_icons","_deprecated","_mediaUpload","_check","_urlPopover","_store","_useOnBlockDrop","_jsxRuntime","noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","popoverAnchor","jsx","default","anchor","children","className","__experimentalInputControl","__next40pxDefaultSize","label","__","hideLabelFromVision","placeholder","value","suffix","__experimentalInputControlSuffixWrapper","variant","Button","size","icon","keyboardReturn","type","URLSelectionUI","onChangeSrc","onSelectURL","setPopoverAnchor","useState","isURLInputVisible","setIsURLInputVisible","openURLInput","closeURLInput","focus","onSubmitSrc","event","preventDefault","jsxs","onClick","isPressed","ref","MediaPlaceholder","allowedTypes","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onToggleFeaturedImage","onDoubleClick","onFilesPreUpload","onHTMLDrop","deprecatedOnHTMLDrop","mediaLibraryButton","style","deprecated","since","version","mediaUpload","useSelect","select","getSettings","blockEditorStore","setSrc","useEffect","_value$src","onlyAllowsImages","length","every","allowedType","startsWith","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","handleBlocksDrop","blocks","parseDropEvent","uploadedMediaList","Promise","all","block","blockType","name","split","attributes","resolve","reject","window","fetch","then","response","blob","additionalData","title","alt_text","alt","caption","catch","err","onUpload","target","defaultRenderPlaceholder","content","instructions","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","clsx","Placeholder","preview","renderPlaceholder","renderDropZone","DropZone","onFilesDrop","onDrop","isEligible","dataTransfer","prefix","types","push","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","gallery","mode","Array","isArray","render","Fragment","FormFileUpload","openFileDialog","fallback","_default","exports","withFilters"],"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\t__experimentalInputControl as InputControl,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\twithFilters,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { keyboardReturn } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport URLPopover from '../url-popover';\nimport { store as blockEditorStore } from '../../store';\nimport { parseDropEvent } from '../use-on-block-drop';\n\nconst noop = () => {};\n\nconst InsertFromURLPopover = ( {\n\tsrc,\n\tonChange,\n\tonSubmit,\n\tonClose,\n\tpopoverAnchor,\n} ) => (\n\t<URLPopover anchor={ popoverAnchor } onClose={ onClose }>\n\t\t<form\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-form\"\n\t\t\tonSubmit={ onSubmit }\n\t\t>\n\t\t\t<InputControl\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'URL' ) }\n\t\t\t\thideLabelFromVision\n\t\t\t\tplaceholder={ __( 'Paste or type URL' ) }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ src }\n\t\t\t\tsuffix={\n\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t}\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nconst URLSelectionUI = ( { src, onChangeSrc, onSelectURL } ) => {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t\tpopoverAnchor?.focus();\n\t};\n\n\tconst onSubmitSrc = ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( src && onSelectURL ) {\n\t\t\tonSelectURL( src );\n\t\t\tcloseURLInput();\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\tonClick={ openURLInput }\n\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t>\n\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t</Button>\n\t\t\t{ isURLInputVisible && (\n\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport function MediaPlaceholder( {\n\tvalue = {},\n\tallowedTypes,\n\tclassName,\n\ticon,\n\tlabels = {},\n\tmediaPreview,\n\tnotices,\n\tisAppender,\n\taccept,\n\taddToGallery,\n\tmultiple = false,\n\thandleUpload = true,\n\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonToggleFeaturedImage,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop: deprecatedOnHTMLDrop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tif ( deprecatedOnHTMLDrop ) {\n\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t} );\n\t}\n\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\tconst [ src, setSrc ] = useState( '' );\n\n\tuseEffect( () => {\n\t\tsetSrc( value?.src ?? '' );\n\t}, [ value?.src ] );\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst onFilesUpload = ( files ) => {\n\t\tif (\n\t\t\t! handleUpload ||\n\t\t\t( typeof handleUpload === 'function' && ! handleUpload( files ) )\n\t\t) {\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesPreUpload( files );\n\t\tlet setMedia;\n\t\tif ( multiple ) {\n\t\t\tif ( addToGallery ) {\n\t\t\t\t// Since the setMedia function runs multiple times per upload group\n\t\t\t\t// and is passed newMedia containing every item in its group each time, we must\n\t\t\t\t// filter out whatever this upload group had previously returned to the\n\t\t\t\t// gallery before adding and returning the image array with replacement newMedia\n\t\t\t\t// values.\n\n\t\t\t\t// Define an array to store urls from newMedia between subsequent function calls.\n\t\t\t\tlet lastMediaPassed = [];\n\t\t\t\tsetMedia = ( newMedia ) => {\n\t\t\t\t\t// Remove any images this upload group is responsible for (lastMediaPassed).\n\t\t\t\t\t// Their replacements are contained in newMedia.\n\t\t\t\t\tconst filteredMedia = ( value ?? [] ).filter( ( item ) => {\n\t\t\t\t\t\t// If Item has id, only remove it if lastMediaPassed has an item with that id.\n\t\t\t\t\t\tif ( item.id ) {\n\t\t\t\t\t\t\treturn ! lastMediaPassed.some(\n\t\t\t\t\t\t\t\t// Be sure to convert to number for comparison.\n\t\t\t\t\t\t\t\t( { id } ) => Number( id ) === Number( item.id )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Compare transient images via .includes since gallery may append extra info onto the url.\n\t\t\t\t\t\treturn ! lastMediaPassed.some( ( { urlSlug } ) =>\n\t\t\t\t\t\t\titem.url.includes( urlSlug )\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t\t// Return the filtered media array along with newMedia.\n\t\t\t\t\tonSelect( filteredMedia.concat( newMedia ) );\n\t\t\t\t\t// Reset lastMediaPassed and set it with ids and urls from newMedia.\n\t\t\t\t\tlastMediaPassed = newMedia.map( ( media ) => {\n\t\t\t\t\t\t// Add everything up to '.fileType' to compare via .includes.\n\t\t\t\t\t\tconst cutOffIndex = media.url.lastIndexOf( '.' );\n\t\t\t\t\t\tconst urlSlug = media.url.slice( 0, cutOffIndex );\n\t\t\t\t\t\treturn { id: media.id, urlSlug };\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tsetMedia = onSelect;\n\t\t\t}\n\t\t} else {\n\t\t\tsetMedia = ( [ media ] ) => onSelect( media );\n\t\t}\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t} );\n\t};\n\n\tasync function handleBlocksDrop( event ) {\n\t\tconst { blocks } = parseDropEvent( event );\n\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tblocks.map( ( block ) => {\n\t\t\t\tconst blockType = block.name.split( '/' )[ 1 ];\n\t\t\t\tif ( block.attributes.id ) {\n\t\t\t\t\tblock.attributes.type = blockType;\n\t\t\t\t\treturn block.attributes;\n\t\t\t\t}\n\t\t\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\t\t\twindow\n\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\ttype: blockType,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\tresolve( media );\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\tallowedTypes,\n\t\t\t\t\t\t\t\tonError: reject,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.catch( () => resolve( block.attributes.url ) );\n\t\t\t\t} );\n\t\t\t} )\n\t\t).catch( ( err ) => onError( err ) );\n\n\t\tif ( multiple ) {\n\t\t\tonSelect( uploadedMediaList );\n\t\t} else {\n\t\t\tonSelect( uploadedMediaList[ 0 ] );\n\t\t}\n\t}\n\n\tconst onUpload = ( event ) => {\n\t\tonFilesUpload( event.target.files );\n\t};\n\n\tconst defaultRenderPlaceholder = ( content ) => {\n\t\tlet { instructions, title } = labels;\n\n\t\tif ( ! mediaUpload && ! onSelectURL ) {\n\t\t\tinstructions = __(\n\t\t\t\t'To edit this block, you need permission to upload media.'\n\t\t\t);\n\t\t}\n\n\t\tif ( instructions === undefined || title === undefined ) {\n\t\t\tconst typesAllowed = allowedTypes ?? [];\n\n\t\t\tconst [ firstAllowedType ] = typesAllowed;\n\t\t\tconst isOneType = 1 === typesAllowed.length;\n\t\t\tconst isAudio = isOneType && 'audio' === firstAllowedType;\n\t\t\tconst isImage = isOneType && 'image' === firstAllowedType;\n\t\t\tconst isVideo = isOneType && 'video' === firstAllowedType;\n\n\t\t\tif ( instructions === undefined && mediaUpload ) {\n\t\t\t\tinstructions = __(\n\t\t\t\t\t'Drag and drop an image or video, upload, or choose from your library.'\n\t\t\t\t);\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop an audio file, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop an image, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop a video, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( title === undefined ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'is-appender': isAppender,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tinstructions={ instructions }\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tnotices={ notices }\n\t\t\t\tonDoubleClick={ onDoubleClick }\n\t\t\t\tpreview={ mediaPreview }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t\t{ children }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\tconst renderPlaceholder = placeholder ?? defaultRenderPlaceholder;\n\n\tconst renderDropZone = () => {\n\t\tif ( disableDropZone ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<DropZone\n\t\t\t\tonFilesDrop={ onFilesUpload }\n\t\t\t\tonDrop={ handleBlocksDrop }\n\t\t\t\tisEligible={ ( dataTransfer ) => {\n\t\t\t\t\tconst prefix = 'wp-block:core/';\n\t\t\t\t\tconst types = [];\n\t\t\t\t\tfor ( const type of dataTransfer.types ) {\n\t\t\t\t\t\tif ( type.startsWith( prefix ) ) {\n\t\t\t\t\t\t\ttypes.push( type.slice( prefix.length ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypes.every( ( type ) =>\n\t\t\t\t\t\t\tallowedTypes.includes( type )\n\t\t\t\t\t\t) && ( multiple ? true : types.length === 1 )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderCancelLink = () => {\n\t\treturn (\n\t\t\tonCancel && (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tclassName=\"block-editor-media-placeholder__cancel-button\"\n\t\t\t\t\ttitle={ __( 'Cancel' ) }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderUrlSelectionUI = () => {\n\t\treturn (\n\t\t\tonSelectURL && (\n\t\t\t\t<URLSelectionUI\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChangeSrc={ setSrc }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderFeaturedImageToggle = () => {\n\t\treturn (\n\t\t\tonToggleFeaturedImage && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderMediaUploadChecked = () => {\n\t\tconst defaultButton = ( { open } ) => {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t</Button>\n\t\t\t);\n\t\t};\n\t\tconst libraryButton = mediaLibraryButton ?? defaultButton;\n\t\tconst uploadMediaLibraryButton = (\n\t\t\t<MediaUpload\n\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\tgallery={ multiple && onlyAllowsImages() }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tmode=\"browse\"\n\t\t\t\tvalue={\n\t\t\t\t\tArray.isArray( value )\n\t\t\t\t\t\t? value.map( ( { id } ) => id )\n\t\t\t\t\t\t: value.id\n\t\t\t\t}\n\t\t\t\trender={ libraryButton }\n\t\t\t/>\n\t\t);\n\n\t\tif ( mediaUpload && isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn renderPlaceholder( content );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tif ( mediaUpload ) {\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => (\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\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t/>\n\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t</>\n\t\t\t);\n\t\t\treturn renderPlaceholder( content );\n\t\t}\n\n\t\treturn renderPlaceholder( uploadMediaLibraryButton );\n\t};\n\n\tif ( disableMediaButtons ) {\n\t\treturn <MediaUploadCheck>{ renderDropZone() }</MediaUploadCheck>;\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck\n\t\t\tfallback={ renderPlaceholder( renderUrlSelectionUI() ) }\n\t\t>\n\t\t\t{ renderMediaUploadChecked() }\n\t\t</MediaUploadCheck>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md\n */\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_data","_icons","_deprecated","_mediaUpload","_check","_urlPopover","_store","_useOnBlockDrop","_jsxRuntime","noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","popoverAnchor","jsx","default","anchor","children","className","__experimentalInputControl","__next40pxDefaultSize","label","__","hideLabelFromVision","placeholder","value","suffix","__experimentalInputControlSuffixWrapper","variant","Button","size","icon","keyboardReturn","type","URLSelectionUI","onChangeSrc","onSelectURL","setPopoverAnchor","useState","isURLInputVisible","setIsURLInputVisible","openURLInput","closeURLInput","focus","onSubmitSrc","event","preventDefault","jsxs","onClick","isPressed","ref","MediaPlaceholder","allowedTypes","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onToggleFeaturedImage","onDoubleClick","onFilesPreUpload","onHTMLDrop","deprecatedOnHTMLDrop","mediaLibraryButton","style","deprecated","since","version","mediaUpload","useSelect","select","getSettings","blockEditorStore","setSrc","useEffect","_value$src","onlyAllowsImages","length","every","allowedType","startsWith","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","handleBlocksDrop","blocks","parseDropEvent","uploadedMediaList","Promise","all","block","blockType","name","split","attributes","resolve","reject","window","fetch","then","response","blob","additionalData","title","alt_text","alt","caption","catch","err","onUpload","target","defaultRenderPlaceholder","content","instructions","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","clsx","Placeholder","preview","renderPlaceholder","renderDropZone","DropZone","onFilesDrop","onDrop","isEligible","dataTransfer","prefix","types","push","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","gallery","mode","Array","isArray","render","Fragment","FormFileUpload","openFileDialog","_x","fallback","_default","exports","withFilters"],"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\t__experimentalInputControl as InputControl,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\twithFilters,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { keyboardReturn } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport URLPopover from '../url-popover';\nimport { store as blockEditorStore } from '../../store';\nimport { parseDropEvent } from '../use-on-block-drop';\n\nconst noop = () => {};\n\nconst InsertFromURLPopover = ( {\n\tsrc,\n\tonChange,\n\tonSubmit,\n\tonClose,\n\tpopoverAnchor,\n} ) => (\n\t<URLPopover anchor={ popoverAnchor } onClose={ onClose }>\n\t\t<form\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-form\"\n\t\t\tonSubmit={ onSubmit }\n\t\t>\n\t\t\t<InputControl\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'URL' ) }\n\t\t\t\thideLabelFromVision\n\t\t\t\tplaceholder={ __( 'Paste or type URL' ) }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ src }\n\t\t\t\tsuffix={\n\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t}\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nconst URLSelectionUI = ( { src, onChangeSrc, onSelectURL } ) => {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t\tpopoverAnchor?.focus();\n\t};\n\n\tconst onSubmitSrc = ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( src && onSelectURL ) {\n\t\t\tonSelectURL( src );\n\t\t\tcloseURLInput();\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\tonClick={ openURLInput }\n\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t>\n\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t</Button>\n\t\t\t{ isURLInputVisible && (\n\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport function MediaPlaceholder( {\n\tvalue = {},\n\tallowedTypes,\n\tclassName,\n\ticon,\n\tlabels = {},\n\tmediaPreview,\n\tnotices,\n\tisAppender,\n\taccept,\n\taddToGallery,\n\tmultiple = false,\n\thandleUpload = true,\n\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonToggleFeaturedImage,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop: deprecatedOnHTMLDrop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tif ( deprecatedOnHTMLDrop ) {\n\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t} );\n\t}\n\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\tconst [ src, setSrc ] = useState( '' );\n\n\tuseEffect( () => {\n\t\tsetSrc( value?.src ?? '' );\n\t}, [ value?.src ] );\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst onFilesUpload = ( files ) => {\n\t\tif (\n\t\t\t! handleUpload ||\n\t\t\t( typeof handleUpload === 'function' && ! handleUpload( files ) )\n\t\t) {\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesPreUpload( files );\n\t\tlet setMedia;\n\t\tif ( multiple ) {\n\t\t\tif ( addToGallery ) {\n\t\t\t\t// Since the setMedia function runs multiple times per upload group\n\t\t\t\t// and is passed newMedia containing every item in its group each time, we must\n\t\t\t\t// filter out whatever this upload group had previously returned to the\n\t\t\t\t// gallery before adding and returning the image array with replacement newMedia\n\t\t\t\t// values.\n\n\t\t\t\t// Define an array to store urls from newMedia between subsequent function calls.\n\t\t\t\tlet lastMediaPassed = [];\n\t\t\t\tsetMedia = ( newMedia ) => {\n\t\t\t\t\t// Remove any images this upload group is responsible for (lastMediaPassed).\n\t\t\t\t\t// Their replacements are contained in newMedia.\n\t\t\t\t\tconst filteredMedia = ( value ?? [] ).filter( ( item ) => {\n\t\t\t\t\t\t// If Item has id, only remove it if lastMediaPassed has an item with that id.\n\t\t\t\t\t\tif ( item.id ) {\n\t\t\t\t\t\t\treturn ! lastMediaPassed.some(\n\t\t\t\t\t\t\t\t// Be sure to convert to number for comparison.\n\t\t\t\t\t\t\t\t( { id } ) => Number( id ) === Number( item.id )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Compare transient images via .includes since gallery may append extra info onto the url.\n\t\t\t\t\t\treturn ! lastMediaPassed.some( ( { urlSlug } ) =>\n\t\t\t\t\t\t\titem.url.includes( urlSlug )\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t\t// Return the filtered media array along with newMedia.\n\t\t\t\t\tonSelect( filteredMedia.concat( newMedia ) );\n\t\t\t\t\t// Reset lastMediaPassed and set it with ids and urls from newMedia.\n\t\t\t\t\tlastMediaPassed = newMedia.map( ( media ) => {\n\t\t\t\t\t\t// Add everything up to '.fileType' to compare via .includes.\n\t\t\t\t\t\tconst cutOffIndex = media.url.lastIndexOf( '.' );\n\t\t\t\t\t\tconst urlSlug = media.url.slice( 0, cutOffIndex );\n\t\t\t\t\t\treturn { id: media.id, urlSlug };\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tsetMedia = onSelect;\n\t\t\t}\n\t\t} else {\n\t\t\tsetMedia = ( [ media ] ) => onSelect( media );\n\t\t}\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t} );\n\t};\n\n\tasync function handleBlocksDrop( event ) {\n\t\tconst { blocks } = parseDropEvent( event );\n\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tblocks.map( ( block ) => {\n\t\t\t\tconst blockType = block.name.split( '/' )[ 1 ];\n\t\t\t\tif ( block.attributes.id ) {\n\t\t\t\t\tblock.attributes.type = blockType;\n\t\t\t\t\treturn block.attributes;\n\t\t\t\t}\n\t\t\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\t\t\twindow\n\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\ttype: blockType,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\tresolve( media );\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\tallowedTypes,\n\t\t\t\t\t\t\t\tonError: reject,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.catch( () => resolve( block.attributes.url ) );\n\t\t\t\t} );\n\t\t\t} )\n\t\t).catch( ( err ) => onError( err ) );\n\n\t\tif ( multiple ) {\n\t\t\tonSelect( uploadedMediaList );\n\t\t} else {\n\t\t\tonSelect( uploadedMediaList[ 0 ] );\n\t\t}\n\t}\n\n\tconst onUpload = ( event ) => {\n\t\tonFilesUpload( event.target.files );\n\t};\n\n\tconst defaultRenderPlaceholder = ( content ) => {\n\t\tlet { instructions, title } = labels;\n\n\t\tif ( ! mediaUpload && ! onSelectURL ) {\n\t\t\tinstructions = __(\n\t\t\t\t'To edit this block, you need permission to upload media.'\n\t\t\t);\n\t\t}\n\n\t\tif ( instructions === undefined || title === undefined ) {\n\t\t\tconst typesAllowed = allowedTypes ?? [];\n\n\t\t\tconst [ firstAllowedType ] = typesAllowed;\n\t\t\tconst isOneType = 1 === typesAllowed.length;\n\t\t\tconst isAudio = isOneType && 'audio' === firstAllowedType;\n\t\t\tconst isImage = isOneType && 'image' === firstAllowedType;\n\t\t\tconst isVideo = isOneType && 'video' === firstAllowedType;\n\n\t\t\tif ( instructions === undefined && mediaUpload ) {\n\t\t\t\tinstructions = __(\n\t\t\t\t\t'Drag and drop an image or video, upload, or choose from your library.'\n\t\t\t\t);\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop an audio file, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop an image, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop a video, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( title === undefined ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'is-appender': isAppender,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tinstructions={ instructions }\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tnotices={ notices }\n\t\t\t\tonDoubleClick={ onDoubleClick }\n\t\t\t\tpreview={ mediaPreview }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t\t{ children }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\tconst renderPlaceholder = placeholder ?? defaultRenderPlaceholder;\n\n\tconst renderDropZone = () => {\n\t\tif ( disableDropZone ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<DropZone\n\t\t\t\tonFilesDrop={ onFilesUpload }\n\t\t\t\tonDrop={ handleBlocksDrop }\n\t\t\t\tisEligible={ ( dataTransfer ) => {\n\t\t\t\t\tconst prefix = 'wp-block:core/';\n\t\t\t\t\tconst types = [];\n\t\t\t\t\tfor ( const type of dataTransfer.types ) {\n\t\t\t\t\t\tif ( type.startsWith( prefix ) ) {\n\t\t\t\t\t\t\ttypes.push( type.slice( prefix.length ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypes.every( ( type ) =>\n\t\t\t\t\t\t\tallowedTypes.includes( type )\n\t\t\t\t\t\t) && ( multiple ? true : types.length === 1 )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderCancelLink = () => {\n\t\treturn (\n\t\t\tonCancel && (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tclassName=\"block-editor-media-placeholder__cancel-button\"\n\t\t\t\t\ttitle={ __( 'Cancel' ) }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderUrlSelectionUI = () => {\n\t\treturn (\n\t\t\tonSelectURL && (\n\t\t\t\t<URLSelectionUI\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChangeSrc={ setSrc }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderFeaturedImageToggle = () => {\n\t\treturn (\n\t\t\tonToggleFeaturedImage && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderMediaUploadChecked = () => {\n\t\tconst defaultButton = ( { open } ) => {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t</Button>\n\t\t\t);\n\t\t};\n\t\tconst libraryButton = mediaLibraryButton ?? defaultButton;\n\t\tconst uploadMediaLibraryButton = (\n\t\t\t<MediaUpload\n\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\tgallery={ multiple && onlyAllowsImages() }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tmode=\"browse\"\n\t\t\t\tvalue={\n\t\t\t\t\tArray.isArray( value )\n\t\t\t\t\t\t? value.map( ( { id } ) => id )\n\t\t\t\t\t\t: value.id\n\t\t\t\t}\n\t\t\t\trender={ libraryButton }\n\t\t\t/>\n\t\t);\n\n\t\tif ( mediaUpload && isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn renderPlaceholder( content );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tif ( mediaUpload ) {\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => (\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\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t/>\n\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t</>\n\t\t\t);\n\t\t\treturn renderPlaceholder( content );\n\t\t}\n\n\t\treturn renderPlaceholder( uploadMediaLibraryButton );\n\t};\n\n\tif ( disableMediaButtons ) {\n\t\treturn <MediaUploadCheck>{ renderDropZone() }</MediaUploadCheck>;\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck\n\t\t\tfallback={ renderPlaceholder( renderUrlSelectionUI() ) }\n\t\t>\n\t\t\t{ renderMediaUploadChecked() }\n\t\t</MediaUploadCheck>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md\n */\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n"],"mappings":"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","ignoreList":[]}
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
- var _clsx = _interopRequireDefault(require("clsx"));
10
- var _element = require("@wordpress/element");
11
9
  var _i18n = require("@wordpress/i18n");
12
10
  var _a11y = require("@wordpress/a11y");
13
11
  var _components = require("@wordpress/components");
@@ -22,10 +20,6 @@ var _check = _interopRequireDefault(require("../media-upload/check"));
22
20
  var _linkControl = _interopRequireDefault(require("../link-control"));
23
21
  var _store = require("../../store");
24
22
  var _jsxRuntime = require("react/jsx-runtime");
25
- /**
26
- * External dependencies
27
- */
28
-
29
23
  /**
30
24
  * WordPress dependencies
31
25
  */
@@ -56,13 +50,12 @@ const MediaReplaceFlow = ({
56
50
  multiple = false,
57
51
  addToGallery,
58
52
  handleUpload = true,
59
- popoverProps
53
+ popoverProps,
54
+ renderToggle
60
55
  }) => {
61
- const mediaUpload = (0, _data.useSelect)(select => {
62
- return select(_store.store).getSettings().mediaUpload;
63
- }, []);
64
- const canUpload = !!mediaUpload;
65
- const editMediaButtonRef = (0, _element.useRef)();
56
+ const {
57
+ getSettings
58
+ } = (0, _data.useSelect)(_store.store);
66
59
  const errorNoticeID = `block-editor/media-replace-flow/error-notice/${++uniqueId}`;
67
60
  const onUploadError = message => {
68
61
  const safeMessage = (0, _dom.__unstableStripHTML)(message);
@@ -101,7 +94,7 @@ const MediaReplaceFlow = ({
101
94
  return onSelect(files);
102
95
  }
103
96
  onFilesUpload(files);
104
- mediaUpload({
97
+ getSettings().mediaUpload({
105
98
  allowedTypes,
106
99
  filesList: files,
107
100
  onFileChange: ([media]) => {
@@ -129,14 +122,24 @@ const MediaReplaceFlow = ({
129
122
  renderToggle: ({
130
123
  isOpen,
131
124
  onToggle
132
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
133
- ref: editMediaButtonRef,
134
- "aria-expanded": isOpen,
135
- "aria-haspopup": "true",
136
- onClick: onToggle,
137
- onKeyDown: openOnArrowDown,
138
- children: name
139
- }),
125
+ }) => {
126
+ if (renderToggle) {
127
+ return renderToggle({
128
+ 'aria-expanded': isOpen,
129
+ 'aria-haspopup': 'true',
130
+ onClick: onToggle,
131
+ onKeyDown: openOnArrowDown,
132
+ children: name
133
+ });
134
+ }
135
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
136
+ "aria-expanded": isOpen,
137
+ "aria-haspopup": "true",
138
+ onClick: onToggle,
139
+ onKeyDown: openOnArrowDown,
140
+ children: name
141
+ });
142
+ },
140
143
  renderContent: ({
141
144
  onClose
142
145
  }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
@@ -171,7 +174,7 @@ const MediaReplaceFlow = ({
171
174
  onClick: () => {
172
175
  openFileDialog();
173
176
  },
174
- children: (0, _i18n.__)('Upload')
177
+ children: (0, _i18n._x)('Upload', 'verb')
175
178
  });
176
179
  }
177
180
  })]
@@ -193,9 +196,7 @@ const MediaReplaceFlow = ({
193
196
  /*#__PURE__*/
194
197
  // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
195
198
  (0, _jsxRuntime.jsxs)("form", {
196
- className: (0, _clsx.default)('block-editor-media-flow__url-input', {
197
- 'has-siblings': canUpload || onToggleFeaturedImage
198
- }),
199
+ className: "block-editor-media-flow__url-input",
199
200
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
200
201
  className: "block-editor-media-replace-flow__image-url-label",
201
202
  children: (0, _i18n.__)('Current media URL:')
@@ -209,7 +210,6 @@ const MediaReplaceFlow = ({
209
210
  url
210
211
  }) => {
211
212
  onSelectURL(url);
212
- editMediaButtonRef.current.focus();
213
213
  }
214
214
  })]
215
215
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_i18n","_a11y","_components","_data","_keycodes","_icons","_compose","_dom","_notices","_mediaUpload","_check","_linkControl","_store","_jsxRuntime","noop","uniqueId","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onError","onSelect","onSelectURL","onReset","onToggleFeaturedImage","useFeaturedImage","onFilesUpload","name","__","createNotice","removeNotice","children","multiple","addToGallery","handleUpload","popoverProps","mediaUpload","useSelect","select","blockEditorStore","getSettings","canUpload","editMediaButtonRef","useRef","errorNoticeID","onUploadError","message","safeMessage","stripHTML","setTimeout","speak","id","isDismissible","selectMedia","media","closeMenu","uploadFiles","event","files","target","filesList","onFileChange","openOnArrowDown","keyCode","DOWN","preventDefault","click","onlyAllowsImages","length","every","allowedType","startsWith","gallery","jsx","Dropdown","contentClassName","renderToggle","isOpen","onToggle","ToolbarButton","ref","onClick","onKeyDown","renderContent","onClose","jsxs","Fragment","NavigableMenu","className","default","value","render","open","MenuItem","icon","mediaIcon","FormFileUpload","onChange","openFileDialog","upload","postFeaturedImage","isPressed","clsx","url","settings","showSuggestions","current","focus","_default","exports","compose","withDispatch","dispatch","noticesStore","withFilters"],"sources":["@wordpress/block-editor/src/components/media-replace-flow/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tFormFileUpload,\n\tNavigableMenu,\n\tMenuItem,\n\tToolbarButton,\n\tDropdown,\n\twithFilters,\n} from '@wordpress/components';\nimport { useSelect, withDispatch } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tpostFeaturedImage,\n\tupload,\n\tmedia as mediaIcon,\n} from '@wordpress/icons';\nimport { compose } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport LinkControl from '../link-control';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\nlet uniqueId = 0;\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tmediaIds,\n\tallowedTypes,\n\taccept,\n\tonError,\n\tonSelect,\n\tonSelectURL,\n\tonReset,\n\tonToggleFeaturedImage,\n\tuseFeaturedImage,\n\tonFilesUpload = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n\tmultiple = false,\n\taddToGallery,\n\thandleUpload = true,\n\tpopoverProps,\n} ) => {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst canUpload = !! mediaUpload;\n\tconst editMediaButtonRef = useRef();\n\tconst errorNoticeID = `block-editor/media-replace-flow/error-notice/${ ++uniqueId }`;\n\n\tconst onUploadError = ( message ) => {\n\t\tconst safeMessage = stripHTML( message );\n\t\tif ( onError ) {\n\t\t\tonError( safeMessage );\n\t\t\treturn;\n\t\t}\n\t\t// We need to set a timeout for showing the notice\n\t\t// so that VoiceOver and possibly other screen readers\n\t\t// can announce the error after the toolbar button\n\t\t// regains focus once the upload dialog closes.\n\t\t// Otherwise VO simply skips over the notice and announces\n\t\t// the focused element and the open menu.\n\t\tsetTimeout( () => {\n\t\t\tcreateNotice( 'error', safeMessage, {\n\t\t\t\tspeak: true,\n\t\t\t\tid: errorNoticeID,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}, 1000 );\n\t};\n\n\tconst selectMedia = ( media, closeMenu ) => {\n\t\tif ( useFeaturedImage && onToggleFeaturedImage ) {\n\t\t\tonToggleFeaturedImage();\n\t\t}\n\t\tcloseMenu();\n\t\t// Calling `onSelect` after the state update since it might unmount the component.\n\t\tonSelect( media );\n\t\tspeak( __( 'The media file has been replaced' ) );\n\t\tremoveNotice( errorNoticeID );\n\t};\n\n\tconst uploadFiles = ( event, closeMenu ) => {\n\t\tconst files = event.target.files;\n\t\tif ( ! handleUpload ) {\n\t\t\tcloseMenu();\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesUpload( files );\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tselectMedia( media, closeMenu );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst openOnArrowDown = ( event ) => {\n\t\tif ( event.keyCode === DOWN ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.target.click();\n\t\t}\n\t};\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst gallery = multiple && onlyAllowsImages();\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tcontentClassName=\"block-editor-media-replace-flow__options\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tref={ editMediaButtonRef }\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t>\n\t\t\t\t\t{ name }\n\t\t\t\t</ToolbarButton>\n\t\t\t) }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<NavigableMenu className=\"block-editor-media-replace-flow__media-upload-menu\">\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tgallery={ gallery }\n\t\t\t\t\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\t\tvalue={ multiple ? mediaIds : mediaId }\n\t\t\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\t\t\tselectMedia( media, onClose )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={ mediaIcon }\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\tuploadFiles( event, onClose );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\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</MediaUploadCheck>\n\t\t\t\t\t\t{ onToggleFeaturedImage && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ mediaURL && onReset && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t: children }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t{ onSelectURL && (\n\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t\t\t\t\t<form\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'block-editor-media-flow__url-input',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-siblings':\n\t\t\t\t\t\t\t\t\t\tcanUpload || onToggleFeaturedImage,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"block-editor-media-replace-flow__image-url-label\">\n\t\t\t\t\t\t\t\t{ __( 'Current media URL:' ) }\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\n\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\tonSelectURL( url );\n\t\t\t\t\t\t\t\t\teditMediaButtonRef.current.focus();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md\n */\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createNotice, removeNotice } = dispatch( noticesStore );\n\t\treturn {\n\t\t\tcreateNotice,\n\t\t\tremoveNotice,\n\t\t};\n\t} ),\n\twithFilters( 'editor.MediaReplaceFlow' ),\n] )( MediaReplaceFlow );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_a11y","_components","_data","_keycodes","_icons","_compose","_dom","_notices","_mediaUpload","_interopRequireDefault","_check","_linkControl","_store","_jsxRuntime","noop","uniqueId","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onError","onSelect","onSelectURL","onReset","onToggleFeaturedImage","useFeaturedImage","onFilesUpload","name","__","createNotice","removeNotice","children","multiple","addToGallery","handleUpload","popoverProps","renderToggle","getSettings","useSelect","blockEditorStore","errorNoticeID","onUploadError","message","safeMessage","stripHTML","setTimeout","speak","id","isDismissible","selectMedia","media","closeMenu","uploadFiles","event","files","target","mediaUpload","filesList","onFileChange","openOnArrowDown","keyCode","DOWN","preventDefault","click","onlyAllowsImages","length","every","allowedType","startsWith","gallery","jsx","Dropdown","contentClassName","isOpen","onToggle","onClick","onKeyDown","ToolbarButton","renderContent","onClose","jsxs","Fragment","NavigableMenu","className","default","value","render","open","MenuItem","icon","mediaIcon","FormFileUpload","onChange","openFileDialog","upload","_x","postFeaturedImage","isPressed","url","settings","showSuggestions","_default","exports","compose","withDispatch","dispatch","noticesStore","withFilters"],"sources":["@wordpress/block-editor/src/components/media-replace-flow/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tFormFileUpload,\n\tNavigableMenu,\n\tMenuItem,\n\tDropdown,\n\twithFilters,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, withDispatch } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tpostFeaturedImage,\n\tupload,\n\tmedia as mediaIcon,\n} from '@wordpress/icons';\nimport { compose } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport LinkControl from '../link-control';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\nlet uniqueId = 0;\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tmediaIds,\n\tallowedTypes,\n\taccept,\n\tonError,\n\tonSelect,\n\tonSelectURL,\n\tonReset,\n\tonToggleFeaturedImage,\n\tuseFeaturedImage,\n\tonFilesUpload = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n\tmultiple = false,\n\taddToGallery,\n\thandleUpload = true,\n\tpopoverProps,\n\trenderToggle,\n} ) => {\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst errorNoticeID = `block-editor/media-replace-flow/error-notice/${ ++uniqueId }`;\n\n\tconst onUploadError = ( message ) => {\n\t\tconst safeMessage = stripHTML( message );\n\t\tif ( onError ) {\n\t\t\tonError( safeMessage );\n\t\t\treturn;\n\t\t}\n\t\t// We need to set a timeout for showing the notice\n\t\t// so that VoiceOver and possibly other screen readers\n\t\t// can announce the error after the toolbar button\n\t\t// regains focus once the upload dialog closes.\n\t\t// Otherwise VO simply skips over the notice and announces\n\t\t// the focused element and the open menu.\n\t\tsetTimeout( () => {\n\t\t\tcreateNotice( 'error', safeMessage, {\n\t\t\t\tspeak: true,\n\t\t\t\tid: errorNoticeID,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}, 1000 );\n\t};\n\n\tconst selectMedia = ( media, closeMenu ) => {\n\t\tif ( useFeaturedImage && onToggleFeaturedImage ) {\n\t\t\tonToggleFeaturedImage();\n\t\t}\n\t\tcloseMenu();\n\t\t// Calling `onSelect` after the state update since it might unmount the component.\n\t\tonSelect( media );\n\t\tspeak( __( 'The media file has been replaced' ) );\n\t\tremoveNotice( errorNoticeID );\n\t};\n\n\tconst uploadFiles = ( event, closeMenu ) => {\n\t\tconst files = event.target.files;\n\t\tif ( ! handleUpload ) {\n\t\t\tcloseMenu();\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesUpload( files );\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tselectMedia( media, closeMenu );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst openOnArrowDown = ( event ) => {\n\t\tif ( event.keyCode === DOWN ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.target.click();\n\t\t}\n\t};\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst gallery = multiple && onlyAllowsImages();\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tcontentClassName=\"block-editor-media-replace-flow__options\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tif ( renderToggle ) {\n\t\t\t\t\treturn renderToggle( {\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t'aria-haspopup': 'true',\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tonKeyDown: openOnArrowDown,\n\t\t\t\t\t\tchildren: name,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ name }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<NavigableMenu className=\"block-editor-media-replace-flow__media-upload-menu\">\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tgallery={ gallery }\n\t\t\t\t\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\t\tvalue={ multiple ? mediaIds : mediaId }\n\t\t\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\t\t\tselectMedia( media, onClose )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={ mediaIcon }\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\tuploadFiles( event, onClose );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\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</MediaUploadCheck>\n\t\t\t\t\t\t{ onToggleFeaturedImage && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ mediaURL && onReset && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t: children }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t{ onSelectURL && (\n\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t\t\t\t\t<form className=\"block-editor-media-flow__url-input\">\n\t\t\t\t\t\t\t<span className=\"block-editor-media-replace-flow__image-url-label\">\n\t\t\t\t\t\t\t\t{ __( 'Current media URL:' ) }\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\n\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\tonSelectURL( url );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md\n */\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createNotice, removeNotice } = dispatch( noticesStore );\n\t\treturn {\n\t\t\tcreateNotice,\n\t\t\tremoveNotice,\n\t\t};\n\t} ),\n\twithFilters( 'editor.MediaReplaceFlow' ),\n] )( MediaReplaceFlow );\n"],"mappings":"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","ignoreList":[]}
@@ -23,7 +23,41 @@ var _jsxRuntime = require("react/jsx-runtime");
23
23
  */
24
24
 
25
25
  /**
26
+ * Render an auto-growing textarea allow users to fill any textual content.
27
+ *
26
28
  * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/plain-text/README.md
29
+ *
30
+ * @example
31
+ * ```jsx
32
+ * import { registerBlockType } from '@wordpress/blocks';
33
+ * import { PlainText } from '@wordpress/block-editor';
34
+ *
35
+ * registerBlockType( 'my-plugin/example-block', {
36
+ * // ...
37
+ *
38
+ * attributes: {
39
+ * content: {
40
+ * type: 'string',
41
+ * },
42
+ * },
43
+ *
44
+ * edit( { className, attributes, setAttributes } ) {
45
+ * return (
46
+ * <PlainText
47
+ * className={ className }
48
+ * value={ attributes.content }
49
+ * onChange={ ( content ) => setAttributes( { content } ) }
50
+ * />
51
+ * );
52
+ * },
53
+ * } );
54
+ * ````
55
+ *
56
+ * @param {Object} props Component props.
57
+ * @param {string} props.value String value of the textarea.
58
+ * @param {Function} props.onChange Function called when the text value changes.
59
+ * @param {Object} [props.ref] The component forwards the `ref` property to the `TextareaAutosize` component.
60
+ * @return {Element} Plain text component
27
61
  */const PlainText = (0, _element.forwardRef)(({
28
62
  __experimentalVersion,
29
63
  ...props
@@ -1 +1 @@
1
- {"version":3,"names":["_reactAutosizeTextarea","_interopRequireDefault","require","_clsx","_element","_editableText","_jsxRuntime","PlainText","forwardRef","__experimentalVersion","props","ref","jsx","default","className","onChange","remainingProps","clsx","event","target","value","_default","exports"],"sources":["@wordpress/block-editor/src/components/plain-text/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport TextareaAutosize from 'react-autosize-textarea';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport EditableText from '../editable-text';\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/plain-text/README.md\n */\nconst PlainText = forwardRef( ( { __experimentalVersion, ...props }, ref ) => {\n\tif ( __experimentalVersion === 2 ) {\n\t\treturn <EditableText ref={ ref } { ...props } />;\n\t}\n\n\tconst { className, onChange, ...remainingProps } = props;\n\n\treturn (\n\t\t<TextareaAutosize\n\t\t\tref={ ref }\n\t\t\tclassName={ clsx( 'block-editor-plain-text', className ) }\n\t\t\tonChange={ ( event ) => onChange( event.target.value ) }\n\t\t\t{ ...remainingProps }\n\t\t/>\n\t);\n} );\n\nexport default PlainText;\n"],"mappings":";;;;;;;AAGA,IAAAA,sBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AAKA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAA4C,IAAAI,WAAA,GAAAJ,OAAA;AAd5C;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA,GACA,MAAMK,SAAS,GAAG,IAAAC,mBAAU,EAAE,CAAE;EAAEC,qBAAqB;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAM;EAC7E,IAAKF,qBAAqB,KAAK,CAAC,EAAG;IAClC,oBAAO,IAAAH,WAAA,CAAAM,GAAA,EAACP,aAAA,CAAAQ,OAAY;MAACF,GAAG,EAAGA,GAAK;MAAA,GAAMD;IAAK,CAAI,CAAC;EACjD;EAEA,MAAM;IAAEI,SAAS;IAAEC,QAAQ;IAAE,GAAGC;EAAe,CAAC,GAAGN,KAAK;EAExD,oBACC,IAAAJ,WAAA,CAAAM,GAAA,EAACZ,sBAAA,CAAAa,OAAgB;IAChBF,GAAG,EAAGA,GAAK;IACXG,SAAS,EAAG,IAAAG,aAAI,EAAE,yBAAyB,EAAEH,SAAU,CAAG;IAC1DC,QAAQ,EAAKG,KAAK,IAAMH,QAAQ,CAAEG,KAAK,CAACC,MAAM,CAACC,KAAM,CAAG;IAAA,GACnDJ;EAAc,CACnB,CAAC;AAEJ,CAAE,CAAC;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAT,OAAA,GAEWN,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["_reactAutosizeTextarea","_interopRequireDefault","require","_clsx","_element","_editableText","_jsxRuntime","PlainText","forwardRef","__experimentalVersion","props","ref","jsx","default","className","onChange","remainingProps","clsx","event","target","value","_default","exports"],"sources":["@wordpress/block-editor/src/components/plain-text/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport TextareaAutosize from 'react-autosize-textarea';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport EditableText from '../editable-text';\n\n/**\n * Render an auto-growing textarea allow users to fill any textual content.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/plain-text/README.md\n *\n * @example\n * ```jsx\n * import { registerBlockType } from '@wordpress/blocks';\n * import { PlainText } from '@wordpress/block-editor';\n *\n * registerBlockType( 'my-plugin/example-block', {\n * // ...\n *\n * attributes: {\n * content: {\n * type: 'string',\n * },\n * },\n *\n * edit( { className, attributes, setAttributes } ) {\n * return (\n * <PlainText\n * className={ className }\n * value={ attributes.content }\n * onChange={ ( content ) => setAttributes( { content } ) }\n * />\n * );\n * },\n * } );\n * ````\n *\n * @param {Object} props Component props.\n * @param {string} props.value String value of the textarea.\n * @param {Function} props.onChange Function called when the text value changes.\n * @param {Object} [props.ref] The component forwards the `ref` property to the `TextareaAutosize` component.\n * @return {Element} Plain text component\n */\nconst PlainText = forwardRef( ( { __experimentalVersion, ...props }, ref ) => {\n\tif ( __experimentalVersion === 2 ) {\n\t\treturn <EditableText ref={ ref } { ...props } />;\n\t}\n\n\tconst { className, onChange, ...remainingProps } = props;\n\n\treturn (\n\t\t<TextareaAutosize\n\t\t\tref={ ref }\n\t\t\tclassName={ clsx( 'block-editor-plain-text', className ) }\n\t\t\tonChange={ ( event ) => onChange( event.target.value ) }\n\t\t\t{ ...remainingProps }\n\t\t/>\n\t);\n} );\n\nexport default PlainText;\n"],"mappings":";;;;;;;AAGA,IAAAA,sBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AAKA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAA4C,IAAAI,WAAA,GAAAJ,OAAA;AAd5C;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,MAAMK,SAAS,GAAG,IAAAC,mBAAU,EAAE,CAAE;EAAEC,qBAAqB;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAM;EAC7E,IAAKF,qBAAqB,KAAK,CAAC,EAAG;IAClC,oBAAO,IAAAH,WAAA,CAAAM,GAAA,EAACP,aAAA,CAAAQ,OAAY;MAACF,GAAG,EAAGA,GAAK;MAAA,GAAMD;IAAK,CAAI,CAAC;EACjD;EAEA,MAAM;IAAEI,SAAS;IAAEC,QAAQ;IAAE,GAAGC;EAAe,CAAC,GAAGN,KAAK;EAExD,oBACC,IAAAJ,WAAA,CAAAM,GAAA,EAACZ,sBAAA,CAAAa,OAAgB;IAChBF,GAAG,EAAGA,GAAK;IACXG,SAAS,EAAG,IAAAG,aAAI,EAAE,yBAAyB,EAAEH,SAAU,CAAG;IAC1DC,QAAQ,EAAKG,KAAK,IAAMH,QAAQ,CAAEG,KAAK,CAACC,MAAM,CAACC,KAAM,CAAG;IAAA,GACnDJ;EAAc,CACnB,CAAC;AAEJ,CAAE,CAAC;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAT,OAAA,GAEWN,SAAS","ignoreList":[]}
@@ -8,29 +8,77 @@ exports.default = exports.ExperimentalBlockEditorProvider = exports.BlockEditorP
8
8
  var _data = require("@wordpress/data");
9
9
  var _element = require("@wordpress/element");
10
10
  var _components = require("@wordpress/components");
11
+ var _uploadMedia = require("@wordpress/upload-media");
11
12
  var _withRegistryProvider = _interopRequireDefault(require("./with-registry-provider"));
12
13
  var _useBlockSync = _interopRequireDefault(require("./use-block-sync"));
13
14
  var _store = require("../../store");
14
15
  var _blockRefsProvider = require("./block-refs-provider");
15
16
  var _lockUnlock = require("../../lock-unlock");
16
17
  var _keyboardShortcuts = _interopRequireDefault(require("../keyboard-shortcuts"));
18
+ var _useMediaUploadSettings = _interopRequireDefault(require("./use-media-upload-settings"));
17
19
  var _jsxRuntime = require("react/jsx-runtime");
18
20
  /**
19
21
  * WordPress dependencies
20
22
  */
21
23
 
24
+ //eslint-disable-next-line import/no-extraneous-dependencies -- Experimental package, not published.
25
+
22
26
  /**
23
27
  * Internal dependencies
24
28
  */
25
29
 
26
- /** @typedef {import('@wordpress/data').WPDataRegistry} WPDataRegistry */
30
+ /** @typedef {import('@wordpress/data').WPDataRegistry} WPDataRegistry */const noop = () => {};
27
31
 
32
+ /**
33
+ * Upload a media file when the file upload button is activated
34
+ * or when adding a file to the editor via drag & drop.
35
+ *
36
+ * @param {WPDataRegistry} registry
37
+ * @param {Object} $3 Parameters object passed to the function.
38
+ * @param {Array} $3.allowedTypes Array with the types of media that can be uploaded, if unset all types are allowed.
39
+ * @param {Object} $3.additionalData Additional data to include in the request.
40
+ * @param {Array<File>} $3.filesList List of files.
41
+ * @param {Function} $3.onError Function called when an error happens.
42
+ * @param {Function} $3.onFileChange Function called each time a file or a temporary representation of the file is available.
43
+ * @param {Function} $3.onSuccess Function called once a file has completely finished uploading, including thumbnails.
44
+ * @param {Function} $3.onBatchSuccess Function called once all files in a group have completely finished uploading, including thumbnails.
45
+ */
46
+ function mediaUpload(registry, {
47
+ allowedTypes,
48
+ additionalData = {},
49
+ filesList,
50
+ onError = noop,
51
+ onFileChange,
52
+ onSuccess,
53
+ onBatchSuccess
54
+ }) {
55
+ void registry.dispatch(_uploadMedia.store).addItems({
56
+ files: filesList,
57
+ onChange: onFileChange,
58
+ onSuccess,
59
+ onBatchSuccess,
60
+ onError: ({
61
+ message
62
+ }) => onError(message),
63
+ additionalData,
64
+ allowedTypes
65
+ });
66
+ }
28
67
  const ExperimentalBlockEditorProvider = exports.ExperimentalBlockEditorProvider = (0, _withRegistryProvider.default)(props => {
29
68
  const {
30
- children,
31
- settings,
69
+ settings: _settings,
70
+ registry,
32
71
  stripExperimentalSettings = false
33
72
  } = props;
73
+ const mediaUploadSettings = (0, _useMediaUploadSettings.default)(_settings);
74
+ let settings = _settings;
75
+ if (window.__experimentalMediaProcessing && _settings.mediaUpload) {
76
+ // Create a new variable so that the original props.settings.mediaUpload is not modified.
77
+ settings = (0, _element.useMemo)(() => ({
78
+ ..._settings,
79
+ mediaUpload: mediaUpload.bind(null, registry)
80
+ }), [_settings, registry]);
81
+ }
34
82
  const {
35
83
  __experimentalUpdateSettings
36
84
  } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
@@ -46,12 +94,20 @@ const ExperimentalBlockEditorProvider = exports.ExperimentalBlockEditorProvider
46
94
 
47
95
  // Syncs the entity provider with changes in the block-editor store.
48
96
  (0, _useBlockSync.default)(props);
49
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.SlotFillProvider, {
97
+ const children = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.SlotFillProvider, {
50
98
  passthrough: true,
51
99
  children: [!settings?.isPreviewMode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_keyboardShortcuts.default.Register, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockRefsProvider.BlockRefsProvider, {
52
- children: children
100
+ children: props.children
53
101
  })]
54
102
  });
103
+ if (window.__experimentalMediaProcessing) {
104
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_uploadMedia.MediaUploadProvider, {
105
+ settings: mediaUploadSettings,
106
+ useSubRegistry: false,
107
+ children: children
108
+ });
109
+ }
110
+ return children;
55
111
  });
56
112
  const BlockEditorProvider = props => {
57
113
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(ExperimentalBlockEditorProvider, {
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_element","_components","_withRegistryProvider","_interopRequireDefault","_useBlockSync","_store","_blockRefsProvider","_lockUnlock","_keyboardShortcuts","_jsxRuntime","ExperimentalBlockEditorProvider","exports","withRegistryProvider","props","children","settings","stripExperimentalSettings","__experimentalUpdateSettings","unlock","useDispatch","blockEditorStore","useEffect","__internalIsInitialized","reset","useBlockSync","jsxs","SlotFillProvider","passthrough","isPreviewMode","jsx","default","Register","BlockRefsProvider","BlockEditorProvider","_default"],"sources":["@wordpress/block-editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport { SlotFillProvider } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport useBlockSync from './use-block-sync';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockRefsProvider } from './block-refs-provider';\nimport { unlock } from '../../lock-unlock';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\n\n/** @typedef {import('@wordpress/data').WPDataRegistry} WPDataRegistry */\n\nexport const ExperimentalBlockEditorProvider = withRegistryProvider(\n\t( props ) => {\n\t\tconst { children, settings, stripExperimentalSettings = false } = props;\n\n\t\tconst { __experimentalUpdateSettings } = unlock(\n\t\t\tuseDispatch( blockEditorStore )\n\t\t);\n\t\tuseEffect( () => {\n\t\t\t__experimentalUpdateSettings(\n\t\t\t\t{\n\t\t\t\t\t...settings,\n\t\t\t\t\t__internalIsInitialized: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tstripExperimentalSettings,\n\t\t\t\t\treset: true,\n\t\t\t\t}\n\t\t\t);\n\t\t}, [\n\t\t\tsettings,\n\t\t\tstripExperimentalSettings,\n\t\t\t__experimentalUpdateSettings,\n\t\t] );\n\n\t\t// Syncs the entity provider with changes in the block-editor store.\n\t\tuseBlockSync( props );\n\n\t\treturn (\n\t\t\t<SlotFillProvider passthrough>\n\t\t\t\t{ ! settings?.isPreviewMode && <KeyboardShortcuts.Register /> }\n\t\t\t\t<BlockRefsProvider>{ children }</BlockRefsProvider>\n\t\t\t</SlotFillProvider>\n\t\t);\n\t}\n);\n\nexport const BlockEditorProvider = ( props ) => {\n\treturn (\n\t\t<ExperimentalBlockEditorProvider { ...props } stripExperimentalSettings>\n\t\t\t{ props.children }\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n};\n\nexport default BlockEditorProvider;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,qBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,kBAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,kBAAA,GAAAL,sBAAA,CAAAJ,OAAA;AAAsD,IAAAU,WAAA,GAAAV,OAAA;AAftD;AACA;AACA;;AAKA;AACA;AACA;;AAQA;;AAEO,MAAMW,+BAA+B,GAAAC,OAAA,CAAAD,+BAAA,GAAG,IAAAE,6BAAoB,EAChEC,KAAK,IAAM;EACZ,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,yBAAyB,GAAG;EAAM,CAAC,GAAGH,KAAK;EAEvE,MAAM;IAAEI;EAA6B,CAAC,GAAG,IAAAC,kBAAM,EAC9C,IAAAC,iBAAW,EAAEC,YAAiB,CAC/B,CAAC;EACD,IAAAC,kBAAS,EAAE,MAAM;IAChBJ,4BAA4B,CAC3B;MACC,GAAGF,QAAQ;MACXO,uBAAuB,EAAE;IAC1B,CAAC,EACD;MACCN,yBAAyB;MACzBO,KAAK,EAAE;IACR,CACD,CAAC;EACF,CAAC,EAAE,CACFR,QAAQ,EACRC,yBAAyB,EACzBC,4BAA4B,CAC3B,CAAC;;EAEH;EACA,IAAAO,qBAAY,EAAEX,KAAM,CAAC;EAErB,oBACC,IAAAJ,WAAA,CAAAgB,IAAA,EAACxB,WAAA,CAAAyB,gBAAgB;IAACC,WAAW;IAAAb,QAAA,GAC1B,CAAEC,QAAQ,EAAEa,aAAa,iBAAI,IAAAnB,WAAA,CAAAoB,GAAA,EAACrB,kBAAA,CAAAsB,OAAiB,CAACC,QAAQ,IAAE,CAAC,eAC7D,IAAAtB,WAAA,CAAAoB,GAAA,EAACvB,kBAAA,CAAA0B,iBAAiB;MAAAlB,QAAA,EAAGA;IAAQ,CAAqB,CAAC;EAAA,CAClC,CAAC;AAErB,CACD,CAAC;AAEM,MAAMmB,mBAAmB,GAAKpB,KAAK,IAAM;EAC/C,oBACC,IAAAJ,WAAA,CAAAoB,GAAA,EAACnB,+BAA+B;IAAA,GAAMG,KAAK;IAAGG,yBAAyB;IAAAF,QAAA,EACpED,KAAK,CAACC;EAAQ,CACgB,CAAC;AAEpC,CAAC;AAACH,OAAA,CAAAsB,mBAAA,GAAAA,mBAAA;AAAA,IAAAC,QAAA,GAAAvB,OAAA,CAAAmB,OAAA,GAEaG,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_element","_components","_uploadMedia","_withRegistryProvider","_interopRequireDefault","_useBlockSync","_store","_blockRefsProvider","_lockUnlock","_keyboardShortcuts","_useMediaUploadSettings","_jsxRuntime","noop","mediaUpload","registry","allowedTypes","additionalData","filesList","onError","onFileChange","onSuccess","onBatchSuccess","dispatch","uploadStore","addItems","files","onChange","message","ExperimentalBlockEditorProvider","exports","withRegistryProvider","props","settings","_settings","stripExperimentalSettings","mediaUploadSettings","useMediaUploadSettings","window","__experimentalMediaProcessing","useMemo","bind","__experimentalUpdateSettings","unlock","useDispatch","blockEditorStore","useEffect","__internalIsInitialized","reset","useBlockSync","children","jsxs","SlotFillProvider","passthrough","isPreviewMode","jsx","default","Register","BlockRefsProvider","MediaUploadProvider","useSubRegistry","BlockEditorProvider","_default"],"sources":["@wordpress/block-editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { SlotFillProvider } from '@wordpress/components';\n//eslint-disable-next-line import/no-extraneous-dependencies -- Experimental package, not published.\nimport {\n\tMediaUploadProvider,\n\tstore as uploadStore,\n} from '@wordpress/upload-media';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport useBlockSync from './use-block-sync';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockRefsProvider } from './block-refs-provider';\nimport { unlock } from '../../lock-unlock';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport useMediaUploadSettings from './use-media-upload-settings';\n\n/** @typedef {import('@wordpress/data').WPDataRegistry} WPDataRegistry */\n\nconst noop = () => {};\n\n/**\n * Upload a media file when the file upload button is activated\n * or when adding a file to the editor via drag & drop.\n *\n * @param {WPDataRegistry} registry\n * @param {Object} $3 Parameters object passed to the function.\n * @param {Array} $3.allowedTypes Array with the types of media that can be uploaded, if unset all types are allowed.\n * @param {Object} $3.additionalData Additional data to include in the request.\n * @param {Array<File>} $3.filesList List of files.\n * @param {Function} $3.onError Function called when an error happens.\n * @param {Function} $3.onFileChange Function called each time a file or a temporary representation of the file is available.\n * @param {Function} $3.onSuccess Function called once a file has completely finished uploading, including thumbnails.\n * @param {Function} $3.onBatchSuccess Function called once all files in a group have completely finished uploading, including thumbnails.\n */\nfunction mediaUpload(\n\tregistry,\n\t{\n\t\tallowedTypes,\n\t\tadditionalData = {},\n\t\tfilesList,\n\t\tonError = noop,\n\t\tonFileChange,\n\t\tonSuccess,\n\t\tonBatchSuccess,\n\t}\n) {\n\tvoid registry.dispatch( uploadStore ).addItems( {\n\t\tfiles: filesList,\n\t\tonChange: onFileChange,\n\t\tonSuccess,\n\t\tonBatchSuccess,\n\t\tonError: ( { message } ) => onError( message ),\n\t\tadditionalData,\n\t\tallowedTypes,\n\t} );\n}\n\nexport const ExperimentalBlockEditorProvider = withRegistryProvider(\n\t( props ) => {\n\t\tconst {\n\t\t\tsettings: _settings,\n\t\t\tregistry,\n\t\t\tstripExperimentalSettings = false,\n\t\t} = props;\n\n\t\tconst mediaUploadSettings = useMediaUploadSettings( _settings );\n\n\t\tlet settings = _settings;\n\n\t\tif ( window.__experimentalMediaProcessing && _settings.mediaUpload ) {\n\t\t\t// Create a new variable so that the original props.settings.mediaUpload is not modified.\n\t\t\tsettings = useMemo(\n\t\t\t\t() => ( {\n\t\t\t\t\t..._settings,\n\t\t\t\t\tmediaUpload: mediaUpload.bind( null, registry ),\n\t\t\t\t} ),\n\t\t\t\t[ _settings, registry ]\n\t\t\t);\n\t\t}\n\n\t\tconst { __experimentalUpdateSettings } = unlock(\n\t\t\tuseDispatch( blockEditorStore )\n\t\t);\n\t\tuseEffect( () => {\n\t\t\t__experimentalUpdateSettings(\n\t\t\t\t{\n\t\t\t\t\t...settings,\n\t\t\t\t\t__internalIsInitialized: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tstripExperimentalSettings,\n\t\t\t\t\treset: true,\n\t\t\t\t}\n\t\t\t);\n\t\t}, [\n\t\t\tsettings,\n\t\t\tstripExperimentalSettings,\n\t\t\t__experimentalUpdateSettings,\n\t\t] );\n\n\t\t// Syncs the entity provider with changes in the block-editor store.\n\t\tuseBlockSync( props );\n\n\t\tconst children = (\n\t\t\t<SlotFillProvider passthrough>\n\t\t\t\t{ ! settings?.isPreviewMode && <KeyboardShortcuts.Register /> }\n\t\t\t\t<BlockRefsProvider>{ props.children }</BlockRefsProvider>\n\t\t\t</SlotFillProvider>\n\t\t);\n\n\t\tif ( window.__experimentalMediaProcessing ) {\n\t\t\treturn (\n\t\t\t\t<MediaUploadProvider\n\t\t\t\t\tsettings={ mediaUploadSettings }\n\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</MediaUploadProvider>\n\t\t\t);\n\t\t}\n\n\t\treturn children;\n\t}\n);\n\nexport const BlockEditorProvider = ( props ) => {\n\treturn (\n\t\t<ExperimentalBlockEditorProvider { ...props } stripExperimentalSettings>\n\t\t\t{ props.children }\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n};\n\nexport default BlockEditorProvider;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _element = require("@wordpress/element");
8
+ /**
9
+ * WordPress dependencies
10
+ */
11
+
12
+ /**
13
+ * React hook used to compute the media upload settings to use in the post editor.
14
+ *
15
+ * @param {Object} settings Media upload settings prop.
16
+ *
17
+ * @return {Object} Media upload settings.
18
+ */
19
+ function useMediaUploadSettings(settings = {}) {
20
+ return (0, _element.useMemo)(() => ({
21
+ mediaUpload: settings.mediaUpload,
22
+ mediaSideload: settings.mediaSideload,
23
+ maxUploadFileSize: settings.maxUploadFileSize,
24
+ allowedMimeTypes: settings.allowedMimeTypes
25
+ }), [settings]);
26
+ }
27
+ var _default = exports.default = useMediaUploadSettings;
28
+ //# sourceMappingURL=use-media-upload-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","require","useMediaUploadSettings","settings","useMemo","mediaUpload","mediaSideload","maxUploadFileSize","allowedMimeTypes","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/provider/use-media-upload-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * React hook used to compute the media upload settings to use in the post editor.\n *\n * @param {Object} settings Media upload settings prop.\n *\n * @return {Object} Media upload settings.\n */\nfunction useMediaUploadSettings( settings = {} ) {\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\tmediaSideload: settings.mediaSideload,\n\t\t\tmaxUploadFileSize: settings.maxUploadFileSize,\n\t\t\tallowedMimeTypes: settings.allowedMimeTypes,\n\t\t} ),\n\t\t[ settings ]\n\t);\n}\n\nexport default useMediaUploadSettings;\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,sBAAsBA,CAAEC,QAAQ,GAAG,CAAC,CAAC,EAAG;EAChD,OAAO,IAAAC,gBAAO,EACb,OAAQ;IACPC,WAAW,EAAEF,QAAQ,CAACE,WAAW;IACjCC,aAAa,EAAEH,QAAQ,CAACG,aAAa;IACrCC,iBAAiB,EAAEJ,QAAQ,CAACI,iBAAiB;IAC7CC,gBAAgB,EAAEL,QAAQ,CAACK;EAC5B,CAAC,CAAE,EACH,CAAEL,QAAQ,CACX,CAAC;AACF;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcT,sBAAsB","ignoreList":[]}
@@ -30,7 +30,8 @@ function ResolutionTool({
30
30
  onChange,
31
31
  options = DEFAULT_SIZE_OPTIONS,
32
32
  defaultValue = DEFAULT_SIZE_OPTIONS[0].value,
33
- isShownByDefault = true
33
+ isShownByDefault = true,
34
+ resetAllFilter
34
35
  }) {
35
36
  const displayValue = value !== null && value !== void 0 ? value : defaultValue;
36
37
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
@@ -39,6 +40,7 @@ function ResolutionTool({
39
40
  onDeselect: () => onChange(defaultValue),
40
41
  isShownByDefault: isShownByDefault,
41
42
  panelId: panelId,
43
+ resetAllFilter: resetAllFilter,
42
44
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
43
45
  __nextHasNoMarginBottom: true,
44
46
  label: (0, _i18n.__)('Resolution'),
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_jsxRuntime","DEFAULT_SIZE_OPTIONS","label","_x","value","ResolutionTool","panelId","onChange","options","defaultValue","isShownByDefault","displayValue","jsx","__experimentalToolsPanelItem","hasValue","__","onDeselect","children","SelectControl","__nextHasNoMarginBottom","help","size"],"sources":["@wordpress/block-editor/src/components/resolution-tool/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tSelectControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\nconst DEFAULT_SIZE_OPTIONS = [\n\t{\n\t\tlabel: _x( 'Thumbnail', 'Image size option for resolution control' ),\n\t\tvalue: 'thumbnail',\n\t},\n\t{\n\t\tlabel: _x( 'Medium', 'Image size option for resolution control' ),\n\t\tvalue: 'medium',\n\t},\n\t{\n\t\tlabel: _x( 'Large', 'Image size option for resolution control' ),\n\t\tvalue: 'large',\n\t},\n\t{\n\t\tlabel: _x( 'Full Size', 'Image size option for resolution control' ),\n\t\tvalue: 'full',\n\t},\n];\n\nexport default function ResolutionTool( {\n\tpanelId,\n\tvalue,\n\tonChange,\n\toptions = DEFAULT_SIZE_OPTIONS,\n\tdefaultValue = DEFAULT_SIZE_OPTIONS[ 0 ].value,\n\tisShownByDefault = true,\n} ) {\n\tconst displayValue = value ?? defaultValue;\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={ () => displayValue !== defaultValue }\n\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\tonDeselect={ () => onChange( defaultValue ) }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\tvalue={ displayValue }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onChange }\n\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\tsize=\"__unstable-large\"\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AAAyC,IAAAE,WAAA,GAAAF,OAAA;AAPzC;AACA;AACA;;AAOA,MAAMG,oBAAoB,GAAG,CAC5B;EACCC,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAQ,EAAE,0CAA2C,CAAC;EACjEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAO,EAAE,0CAA2C,CAAC;EAChEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEC,KAAK,EAAE;AACR,CAAC,CACD;AAEc,SAASC,cAAcA,CAAE;EACvCC,OAAO;EACPF,KAAK;EACLG,QAAQ;EACRC,OAAO,GAAGP,oBAAoB;EAC9BQ,YAAY,GAAGR,oBAAoB,CAAE,CAAC,CAAE,CAACG,KAAK;EAC9CM,gBAAgB,GAAG;AACpB,CAAC,EAAG;EACH,MAAMC,YAAY,GAAGP,KAAK,aAALA,KAAK,cAALA,KAAK,GAAIK,YAAY;EAC1C,oBACC,IAAAT,WAAA,CAAAY,GAAA,EAACf,WAAA,CAAAgB,4BAAc;IACdC,QAAQ,EAAGA,CAAA,KAAMH,YAAY,KAAKF,YAAc;IAChDP,KAAK,EAAG,IAAAa,QAAE,EAAE,YAAa,CAAG;IAC5BC,UAAU,EAAGA,CAAA,KAAMT,QAAQ,CAAEE,YAAa,CAAG;IAC7CC,gBAAgB,EAAGA,gBAAkB;IACrCJ,OAAO,EAAGA,OAAS;IAAAW,QAAA,eAEnB,IAAAjB,WAAA,CAAAY,GAAA,EAACf,WAAA,CAAAqB,aAAa;MACbC,uBAAuB;MACvBjB,KAAK,EAAG,IAAAa,QAAE,EAAE,YAAa,CAAG;MAC5BX,KAAK,EAAGO,YAAc;MACtBH,OAAO,EAAGA,OAAS;MACnBD,QAAQ,EAAGA,QAAU;MACrBa,IAAI,EAAG,IAAAL,QAAE,EAAE,sCAAuC,CAAG;MACrDM,IAAI,EAAC;IAAkB,CACvB;EAAC,CACa,CAAC;AAEnB","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_jsxRuntime","DEFAULT_SIZE_OPTIONS","label","_x","value","ResolutionTool","panelId","onChange","options","defaultValue","isShownByDefault","resetAllFilter","displayValue","jsx","__experimentalToolsPanelItem","hasValue","__","onDeselect","children","SelectControl","__nextHasNoMarginBottom","help","size"],"sources":["@wordpress/block-editor/src/components/resolution-tool/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tSelectControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\nconst DEFAULT_SIZE_OPTIONS = [\n\t{\n\t\tlabel: _x( 'Thumbnail', 'Image size option for resolution control' ),\n\t\tvalue: 'thumbnail',\n\t},\n\t{\n\t\tlabel: _x( 'Medium', 'Image size option for resolution control' ),\n\t\tvalue: 'medium',\n\t},\n\t{\n\t\tlabel: _x( 'Large', 'Image size option for resolution control' ),\n\t\tvalue: 'large',\n\t},\n\t{\n\t\tlabel: _x( 'Full Size', 'Image size option for resolution control' ),\n\t\tvalue: 'full',\n\t},\n];\n\nexport default function ResolutionTool( {\n\tpanelId,\n\tvalue,\n\tonChange,\n\toptions = DEFAULT_SIZE_OPTIONS,\n\tdefaultValue = DEFAULT_SIZE_OPTIONS[ 0 ].value,\n\tisShownByDefault = true,\n\tresetAllFilter,\n} ) {\n\tconst displayValue = value ?? defaultValue;\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={ () => displayValue !== defaultValue }\n\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\tonDeselect={ () => onChange( defaultValue ) }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t>\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\tvalue={ displayValue }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onChange }\n\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\tsize=\"__unstable-large\"\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AAAyC,IAAAE,WAAA,GAAAF,OAAA;AAPzC;AACA;AACA;;AAOA,MAAMG,oBAAoB,GAAG,CAC5B;EACCC,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAQ,EAAE,0CAA2C,CAAC;EACjEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAO,EAAE,0CAA2C,CAAC;EAChEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEC,KAAK,EAAE;AACR,CAAC,CACD;AAEc,SAASC,cAAcA,CAAE;EACvCC,OAAO;EACPF,KAAK;EACLG,QAAQ;EACRC,OAAO,GAAGP,oBAAoB;EAC9BQ,YAAY,GAAGR,oBAAoB,CAAE,CAAC,CAAE,CAACG,KAAK;EAC9CM,gBAAgB,GAAG,IAAI;EACvBC;AACD,CAAC,EAAG;EACH,MAAMC,YAAY,GAAGR,KAAK,aAALA,KAAK,cAALA,KAAK,GAAIK,YAAY;EAC1C,oBACC,IAAAT,WAAA,CAAAa,GAAA,EAAChB,WAAA,CAAAiB,4BAAc;IACdC,QAAQ,EAAGA,CAAA,KAAMH,YAAY,KAAKH,YAAc;IAChDP,KAAK,EAAG,IAAAc,QAAE,EAAE,YAAa,CAAG;IAC5BC,UAAU,EAAGA,CAAA,KAAMV,QAAQ,CAAEE,YAAa,CAAG;IAC7CC,gBAAgB,EAAGA,gBAAkB;IACrCJ,OAAO,EAAGA,OAAS;IACnBK,cAAc,EAAGA,cAAgB;IAAAO,QAAA,eAEjC,IAAAlB,WAAA,CAAAa,GAAA,EAAChB,WAAA,CAAAsB,aAAa;MACbC,uBAAuB;MACvBlB,KAAK,EAAG,IAAAc,QAAE,EAAE,YAAa,CAAG;MAC5BZ,KAAK,EAAGQ,YAAc;MACtBJ,OAAO,EAAGA,OAAS;MACnBD,QAAQ,EAAGA,QAAU;MACrBc,IAAI,EAAG,IAAAL,QAAE,EAAE,sCAAuC,CAAG;MACrDM,IAAI,EAAC;IAAkB,CACvB;EAAC,CACa,CAAC;AAEnB","ignoreList":[]}