@wordpress/block-editor 12.9.1-next.5a1d1283.0 → 12.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 (448) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +33 -3
  3. package/build/components/block-canvas/index.js +107 -0
  4. package/build/components/block-canvas/index.js.map +1 -0
  5. package/build/components/block-inspector/index.js +4 -1
  6. package/build/components/block-inspector/index.js.map +1 -1
  7. package/build/components/block-patterns-list/index.js +28 -8
  8. package/build/components/block-patterns-list/index.js.map +1 -1
  9. package/build/components/block-patterns-paging/index.js +68 -0
  10. package/build/components/block-patterns-paging/index.js.map +1 -0
  11. package/build/components/block-settings-menu/block-settings-dropdown.js +28 -0
  12. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  13. package/build/components/block-settings-menu-controls/index.js +4 -7
  14. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  15. package/build/components/block-styles/index.js +1 -0
  16. package/build/components/block-styles/index.js.map +1 -1
  17. package/build/components/block-toolbar/block-toolbar-menu.native.js +3 -7
  18. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  19. package/build/components/block-tools/block-contextual-toolbar.js +18 -7
  20. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  21. package/build/components/block-tools/block-selection-button.js +5 -1
  22. package/build/components/block-tools/block-selection-button.js.map +1 -1
  23. package/build/components/border-radius-control/input-controls.js +1 -1
  24. package/build/components/border-radius-control/input-controls.js.map +1 -1
  25. package/build/components/border-radius-control/linked-button.js +2 -4
  26. package/build/components/border-radius-control/linked-button.js.map +1 -1
  27. package/build/components/colors/with-colors.js.map +1 -1
  28. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -21
  29. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  30. package/build/components/default-block-appender/index.native.js +20 -1
  31. package/build/components/default-block-appender/index.native.js.map +1 -1
  32. package/build/components/duotone/utils.js +68 -0
  33. package/build/components/duotone/utils.js.map +1 -1
  34. package/build/components/editor-styles/index.js +28 -9
  35. package/build/components/editor-styles/index.js.map +1 -1
  36. package/build/components/global-styles/hooks.js +2 -101
  37. package/build/components/global-styles/hooks.js.map +1 -1
  38. package/build/components/global-styles/image-settings-panel.js +61 -0
  39. package/build/components/global-styles/image-settings-panel.js.map +1 -0
  40. package/build/components/global-styles/index.js +11 -17
  41. package/build/components/global-styles/index.js.map +1 -1
  42. package/build/components/global-styles/use-global-styles-output.js +19 -15
  43. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  44. package/build/components/global-styles/utils.js +1 -1
  45. package/build/components/global-styles/utils.js.map +1 -1
  46. package/build/components/iframe/index.js +67 -33
  47. package/build/components/iframe/index.js.map +1 -1
  48. package/build/components/image-editor/use-save-image.js +2 -5
  49. package/build/components/image-editor/use-save-image.js.map +1 -1
  50. package/build/components/image-editor/use-transform-image.js +9 -9
  51. package/build/components/image-editor/use-transform-image.js.map +1 -1
  52. package/build/components/index.js +8 -12
  53. package/build/components/index.js.map +1 -1
  54. package/build/components/index.native.js +6 -5
  55. package/build/components/index.native.js.map +1 -1
  56. package/build/components/inner-blocks/use-nested-settings-update.js +13 -7
  57. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  58. package/build/components/inserter/block-patterns-explorer/explorer.js +12 -6
  59. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  60. package/build/components/inserter/block-patterns-explorer/patterns-list.js +45 -22
  61. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  62. package/build/components/inserter/block-patterns-explorer/sidebar.js +9 -9
  63. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  64. package/build/components/inserter/block-patterns-filter.js +137 -0
  65. package/build/components/inserter/block-patterns-filter.js.map +1 -0
  66. package/build/components/inserter/block-patterns-tab.js +128 -42
  67. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  68. package/build/components/inserter/hooks/use-patterns-paging.js +61 -0
  69. package/build/components/inserter/hooks/use-patterns-paging.js.map +1 -0
  70. package/build/components/inserter/hooks/use-patterns-state.js +21 -10
  71. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  72. package/build/components/inserter/menu.js +13 -11
  73. package/build/components/inserter/menu.js.map +1 -1
  74. package/build/components/inserter/search-results.js +4 -3
  75. package/build/components/inserter/search-results.js.map +1 -1
  76. package/build/components/inserter/tabs.js +1 -12
  77. package/build/components/inserter/tabs.js.map +1 -1
  78. package/build/components/inspector-controls/block-support-slot-container.js +12 -1
  79. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  80. package/build/components/inspector-controls/fill.js +24 -13
  81. package/build/components/inspector-controls/fill.js.map +1 -1
  82. package/build/components/inspector-controls/groups.js +5 -3
  83. package/build/components/inspector-controls/groups.js.map +1 -1
  84. package/build/components/inspector-controls/slot.js +13 -0
  85. package/build/components/inspector-controls/slot.js.map +1 -1
  86. package/build/components/inspector-controls-tabs/styles-tab.js +3 -0
  87. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  88. package/build/components/link-control/index.js +12 -2
  89. package/build/components/link-control/index.js.map +1 -1
  90. package/build/components/list-view/block-select-button.js +1 -3
  91. package/build/components/list-view/block-select-button.js.map +1 -1
  92. package/build/components/list-view/block.js +13 -1
  93. package/build/components/list-view/block.js.map +1 -1
  94. package/build/components/list-view/use-block-selection.js +29 -24
  95. package/build/components/list-view/use-block-selection.js.map +1 -1
  96. package/build/components/media-placeholder/index.js +2 -2
  97. package/build/components/media-placeholder/index.js.map +1 -1
  98. package/build/components/media-placeholder/index.native.js +11 -11
  99. package/build/components/media-placeholder/index.native.js.map +1 -1
  100. package/build/components/media-replace-flow/index.js +2 -3
  101. package/build/components/media-replace-flow/index.js.map +1 -1
  102. package/build/components/media-upload/constants.js +30 -0
  103. package/build/components/media-upload/constants.js.map +1 -0
  104. package/build/components/media-upload/index.native.js +63 -53
  105. package/build/components/media-upload/index.native.js.map +1 -1
  106. package/build/components/preview-options/index.js +1 -1
  107. package/build/components/preview-options/index.js.map +1 -1
  108. package/build/components/rich-text/index.js +34 -35
  109. package/build/components/rich-text/index.js.map +1 -1
  110. package/build/components/rich-text/index.native.js +14 -32
  111. package/build/components/rich-text/index.native.js.map +1 -1
  112. package/build/components/rich-text/multiline.js +95 -0
  113. package/build/components/rich-text/multiline.js.map +1 -0
  114. package/build/components/rich-text/split-value.js +10 -16
  115. package/build/components/rich-text/split-value.js.map +1 -1
  116. package/build/components/rich-text/use-enter.js +31 -40
  117. package/build/components/rich-text/use-enter.js.map +1 -1
  118. package/build/components/rich-text/use-paste-handler.js +18 -33
  119. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  120. package/build/components/spacing-sizes-control/utils.js +1 -1
  121. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  122. package/build/components/use-block-commands/index.js +30 -18
  123. package/build/components/use-block-commands/index.js.map +1 -1
  124. package/build/components/use-block-display-information/index.js +5 -2
  125. package/build/components/use-block-display-information/index.js.map +1 -1
  126. package/build/hooks/background.js +263 -0
  127. package/build/hooks/background.js.map +1 -0
  128. package/build/hooks/block-hooks.js +188 -0
  129. package/build/hooks/block-hooks.js.map +1 -0
  130. package/build/hooks/block-rename-ui.js +161 -0
  131. package/build/hooks/block-rename-ui.js.map +1 -0
  132. package/build/hooks/duotone.js +29 -42
  133. package/build/hooks/duotone.js.map +1 -1
  134. package/build/hooks/index.js +2 -2
  135. package/build/hooks/index.js.map +1 -1
  136. package/build/hooks/layout.js +31 -14
  137. package/build/hooks/layout.js.map +1 -1
  138. package/build/hooks/position.js +4 -2
  139. package/build/hooks/position.js.map +1 -1
  140. package/build/hooks/style.js +10 -3
  141. package/build/hooks/style.js.map +1 -1
  142. package/build/private-apis.js +2 -0
  143. package/build/private-apis.js.map +1 -1
  144. package/build/store/actions.js +33 -10
  145. package/build/store/actions.js.map +1 -1
  146. package/build/store/private-actions.js +42 -8
  147. package/build/store/private-actions.js.map +1 -1
  148. package/build/store/private-selectors.js +25 -3
  149. package/build/store/private-selectors.js.map +1 -1
  150. package/build/store/reducer.js +43 -1
  151. package/build/store/reducer.js.map +1 -1
  152. package/build/store/selectors.js +84 -23
  153. package/build/store/selectors.js.map +1 -1
  154. package/build/store/utils.js +0 -4
  155. package/build/store/utils.js.map +1 -1
  156. package/build-module/components/block-canvas/index.js +97 -0
  157. package/build-module/components/block-canvas/index.js.map +1 -0
  158. package/build-module/components/block-inspector/index.js +4 -1
  159. package/build-module/components/block-inspector/index.js.map +1 -1
  160. package/build-module/components/block-patterns-list/index.js +30 -10
  161. package/build-module/components/block-patterns-list/index.js.map +1 -1
  162. package/build-module/components/block-patterns-paging/index.js +61 -0
  163. package/build-module/components/block-patterns-paging/index.js.map +1 -0
  164. package/build-module/components/block-settings-menu/block-settings-dropdown.js +28 -0
  165. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  166. package/build-module/components/block-settings-menu-controls/index.js +4 -7
  167. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  168. package/build-module/components/block-styles/index.js +1 -0
  169. package/build-module/components/block-styles/index.js.map +1 -1
  170. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +3 -7
  171. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  172. package/build-module/components/block-tools/block-contextual-toolbar.js +18 -7
  173. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  174. package/build-module/components/block-tools/block-selection-button.js +5 -1
  175. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  176. package/build-module/components/border-radius-control/input-controls.js +1 -1
  177. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  178. package/build-module/components/border-radius-control/linked-button.js +2 -4
  179. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  180. package/build-module/components/colors/with-colors.js.map +1 -1
  181. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -21
  182. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  183. package/build-module/components/default-block-appender/index.native.js +20 -1
  184. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  185. package/build-module/components/duotone/utils.js +65 -0
  186. package/build-module/components/duotone/utils.js.map +1 -1
  187. package/build-module/components/editor-styles/index.js +28 -9
  188. package/build-module/components/editor-styles/index.js.map +1 -1
  189. package/build-module/components/global-styles/hooks.js +3 -100
  190. package/build-module/components/global-styles/hooks.js.map +1 -1
  191. package/build-module/components/global-styles/image-settings-panel.js +53 -0
  192. package/build-module/components/global-styles/image-settings-panel.js.map +1 -0
  193. package/build-module/components/global-styles/index.js +2 -2
  194. package/build-module/components/global-styles/index.js.map +1 -1
  195. package/build-module/components/global-styles/use-global-styles-output.js +18 -16
  196. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  197. package/build-module/components/global-styles/utils.js +1 -1
  198. package/build-module/components/global-styles/utils.js.map +1 -1
  199. package/build-module/components/iframe/index.js +66 -33
  200. package/build-module/components/iframe/index.js.map +1 -1
  201. package/build-module/components/image-editor/use-save-image.js +2 -5
  202. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  203. package/build-module/components/image-editor/use-transform-image.js +9 -9
  204. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  205. package/build-module/components/index.js +1 -1
  206. package/build-module/components/index.js.map +1 -1
  207. package/build-module/components/index.native.js +2 -1
  208. package/build-module/components/index.native.js.map +1 -1
  209. package/build-module/components/inner-blocks/use-nested-settings-update.js +14 -8
  210. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  211. package/build-module/components/inserter/block-patterns-explorer/explorer.js +12 -6
  212. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  213. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +47 -24
  214. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  215. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +9 -9
  216. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  217. package/build-module/components/inserter/block-patterns-filter.js +128 -0
  218. package/build-module/components/inserter/block-patterns-filter.js.map +1 -0
  219. package/build-module/components/inserter/block-patterns-tab.js +125 -44
  220. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  221. package/build-module/components/inserter/hooks/use-patterns-paging.js +54 -0
  222. package/build-module/components/inserter/hooks/use-patterns-paging.js.map +1 -0
  223. package/build-module/components/inserter/hooks/use-patterns-state.js +22 -10
  224. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  225. package/build-module/components/inserter/menu.js +13 -11
  226. package/build-module/components/inserter/menu.js.map +1 -1
  227. package/build-module/components/inserter/search-results.js +4 -3
  228. package/build-module/components/inserter/search-results.js.map +1 -1
  229. package/build-module/components/inserter/tabs.js +1 -12
  230. package/build-module/components/inserter/tabs.js.map +1 -1
  231. package/build-module/components/inspector-controls/block-support-slot-container.js +13 -2
  232. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  233. package/build-module/components/inspector-controls/fill.js +25 -14
  234. package/build-module/components/inspector-controls/fill.js.map +1 -1
  235. package/build-module/components/inspector-controls/groups.js +5 -3
  236. package/build-module/components/inspector-controls/groups.js.map +1 -1
  237. package/build-module/components/inspector-controls/slot.js +15 -1
  238. package/build-module/components/inspector-controls/slot.js.map +1 -1
  239. package/build-module/components/inspector-controls-tabs/styles-tab.js +3 -0
  240. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  241. package/build-module/components/link-control/index.js +12 -2
  242. package/build-module/components/link-control/index.js.map +1 -1
  243. package/build-module/components/list-view/block-select-button.js +1 -3
  244. package/build-module/components/list-view/block-select-button.js.map +1 -1
  245. package/build-module/components/list-view/block.js +13 -1
  246. package/build-module/components/list-view/block.js.map +1 -1
  247. package/build-module/components/list-view/use-block-selection.js +30 -25
  248. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  249. package/build-module/components/media-placeholder/index.js +2 -2
  250. package/build-module/components/media-placeholder/index.js.map +1 -1
  251. package/build-module/components/media-placeholder/index.native.js +7 -7
  252. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  253. package/build-module/components/media-replace-flow/index.js +2 -3
  254. package/build-module/components/media-replace-flow/index.js.map +1 -1
  255. package/build-module/components/media-upload/constants.js +14 -0
  256. package/build-module/components/media-upload/constants.js.map +1 -0
  257. package/build-module/components/media-upload/index.native.js +53 -34
  258. package/build-module/components/media-upload/index.native.js.map +1 -1
  259. package/build-module/components/preview-options/index.js +1 -1
  260. package/build-module/components/preview-options/index.js.map +1 -1
  261. package/build-module/components/rich-text/index.js +35 -37
  262. package/build-module/components/rich-text/index.js.map +1 -1
  263. package/build-module/components/rich-text/index.native.js +15 -33
  264. package/build-module/components/rich-text/index.native.js.map +1 -1
  265. package/build-module/components/rich-text/multiline.js +87 -0
  266. package/build-module/components/rich-text/multiline.js.map +1 -0
  267. package/build-module/components/rich-text/split-value.js +10 -16
  268. package/build-module/components/rich-text/split-value.js.map +1 -1
  269. package/build-module/components/rich-text/use-enter.js +33 -42
  270. package/build-module/components/rich-text/use-enter.js.map +1 -1
  271. package/build-module/components/rich-text/use-paste-handler.js +19 -34
  272. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  273. package/build-module/components/spacing-sizes-control/utils.js +2 -2
  274. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  275. package/build-module/components/use-block-commands/index.js +28 -16
  276. package/build-module/components/use-block-commands/index.js.map +1 -1
  277. package/build-module/components/use-block-display-information/index.js +5 -2
  278. package/build-module/components/use-block-display-information/index.js.map +1 -1
  279. package/build-module/hooks/background.js +249 -0
  280. package/build-module/hooks/background.js.map +1 -0
  281. package/build-module/hooks/block-hooks.js +181 -0
  282. package/build-module/hooks/block-hooks.js.map +1 -0
  283. package/build-module/hooks/block-rename-ui.js +154 -0
  284. package/build-module/hooks/block-rename-ui.js.map +1 -0
  285. package/build-module/hooks/duotone.js +26 -39
  286. package/build-module/hooks/duotone.js.map +1 -1
  287. package/build-module/hooks/index.js +2 -2
  288. package/build-module/hooks/index.js.map +1 -1
  289. package/build-module/hooks/layout.js +33 -16
  290. package/build-module/hooks/layout.js.map +1 -1
  291. package/build-module/hooks/position.js +4 -2
  292. package/build-module/hooks/position.js.map +1 -1
  293. package/build-module/hooks/style.js +10 -3
  294. package/build-module/hooks/style.js.map +1 -1
  295. package/build-module/private-apis.js +2 -0
  296. package/build-module/private-apis.js.map +1 -1
  297. package/build-module/store/actions.js +33 -10
  298. package/build-module/store/actions.js.map +1 -1
  299. package/build-module/store/private-actions.js +39 -8
  300. package/build-module/store/private-actions.js.map +1 -1
  301. package/build-module/store/private-selectors.js +23 -3
  302. package/build-module/store/private-selectors.js.map +1 -1
  303. package/build-module/store/reducer.js +41 -1
  304. package/build-module/store/reducer.js.map +1 -1
  305. package/build-module/store/selectors.js +78 -22
  306. package/build-module/store/selectors.js.map +1 -1
  307. package/build-module/store/utils.js +0 -4
  308. package/build-module/store/utils.js.map +1 -1
  309. package/build-style/content-rtl.css +0 -1
  310. package/build-style/content.css +0 -1
  311. package/build-style/style-rtl.css +201 -131
  312. package/build-style/style.css +201 -131
  313. package/package.json +32 -32
  314. package/src/components/block-canvas/index.js +108 -0
  315. package/src/components/block-inspector/index.js +5 -1
  316. package/src/components/block-list/content.scss +0 -1
  317. package/src/components/block-patterns-list/index.js +53 -19
  318. package/src/components/block-patterns-list/style.scss +26 -9
  319. package/src/components/block-patterns-paging/index.js +92 -0
  320. package/src/components/block-patterns-paging/style.scss +45 -0
  321. package/src/components/block-settings-menu/block-settings-dropdown.js +44 -0
  322. package/src/components/block-settings-menu-controls/index.js +4 -9
  323. package/src/components/block-styles/index.js +1 -0
  324. package/src/components/block-styles/style.scss +3 -3
  325. package/src/components/block-toolbar/block-toolbar-menu.native.js +1 -6
  326. package/src/components/block-tools/block-contextual-toolbar.js +16 -5
  327. package/src/components/block-tools/block-selection-button.js +9 -1
  328. package/src/components/block-tools/style.scss +0 -98
  329. package/src/components/border-radius-control/input-controls.js +1 -1
  330. package/src/components/border-radius-control/linked-button.js +8 -11
  331. package/src/components/color-palette/test/__snapshots__/control.js.snap +34 -21
  332. package/src/components/colors/with-colors.js +3 -2
  333. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -35
  334. package/src/components/default-block-appender/index.native.js +26 -3
  335. package/src/components/duotone/utils.js +65 -0
  336. package/src/components/editor-styles/index.js +32 -23
  337. package/src/components/global-styles/hooks.js +4 -112
  338. package/src/components/global-styles/image-settings-panel.js +71 -0
  339. package/src/components/global-styles/index.js +4 -3
  340. package/src/components/global-styles/use-global-styles-output.js +25 -16
  341. package/src/components/global-styles/utils.js +1 -2
  342. package/src/components/iframe/index.js +72 -33
  343. package/src/components/image-editor/use-save-image.js +2 -9
  344. package/src/components/image-editor/use-transform-image.js +9 -9
  345. package/src/components/index.js +1 -1
  346. package/src/components/index.native.js +2 -2
  347. package/src/components/inner-blocks/use-nested-settings-update.js +15 -10
  348. package/src/components/inserter/block-patterns-explorer/explorer.js +17 -5
  349. package/src/components/inserter/block-patterns-explorer/patterns-list.js +68 -43
  350. package/src/components/inserter/block-patterns-explorer/sidebar.js +8 -8
  351. package/src/components/inserter/block-patterns-filter.js +183 -0
  352. package/src/components/inserter/block-patterns-tab.js +217 -58
  353. package/src/components/inserter/hooks/use-patterns-paging.js +76 -0
  354. package/src/components/inserter/hooks/use-patterns-state.js +27 -16
  355. package/src/components/inserter/menu.js +15 -17
  356. package/src/components/inserter/search-results.js +6 -4
  357. package/src/components/inserter/style.scss +36 -7
  358. package/src/components/inserter/tabs.js +2 -12
  359. package/src/components/inserter/test/index.native.js +8 -12
  360. package/src/components/inspector-controls/block-support-slot-container.js +19 -3
  361. package/src/components/inspector-controls/fill.js +28 -14
  362. package/src/components/inspector-controls/groups.js +6 -2
  363. package/src/components/inspector-controls/slot.js +28 -3
  364. package/src/components/inspector-controls-tabs/styles-tab.js +4 -0
  365. package/src/components/link-control/index.js +13 -0
  366. package/src/components/link-control/style.scss +23 -2
  367. package/src/components/link-control/test/index.js +88 -6
  368. package/src/components/list-view/block-select-button.js +1 -3
  369. package/src/components/list-view/block.js +19 -1
  370. package/src/components/list-view/style.scss +1 -2
  371. package/src/components/list-view/use-block-selection.js +38 -32
  372. package/src/components/media-placeholder/README.md +2 -2
  373. package/src/components/media-placeholder/index.js +2 -2
  374. package/src/components/media-placeholder/index.native.js +11 -12
  375. package/src/components/media-replace-flow/index.js +2 -2
  376. package/src/components/media-replace-flow/test/index.js +5 -23
  377. package/src/components/media-upload/README.md +3 -2
  378. package/src/components/media-upload/constants.js +15 -0
  379. package/src/components/media-upload/index.native.js +66 -40
  380. package/src/components/media-upload/style.native.scss +4 -0
  381. package/src/components/media-upload/test/index.native.js +2 -2
  382. package/src/components/preview-options/README.md +7 -0
  383. package/src/components/preview-options/index.js +1 -1
  384. package/src/components/rich-text/index.js +48 -44
  385. package/src/components/rich-text/index.native.js +14 -42
  386. package/src/components/rich-text/multiline.js +121 -0
  387. package/src/components/rich-text/split-value.js +10 -35
  388. package/src/components/rich-text/use-enter.js +32 -42
  389. package/src/components/rich-text/use-paste-handler.js +16 -40
  390. package/src/components/spacing-sizes-control/style.scss +5 -7
  391. package/src/components/spacing-sizes-control/utils.js +1 -2
  392. package/src/components/use-block-commands/index.js +28 -20
  393. package/src/components/use-block-display-information/index.js +3 -0
  394. package/src/hooks/background.js +299 -0
  395. package/src/hooks/background.scss +75 -0
  396. package/src/hooks/block-hooks.js +257 -0
  397. package/src/hooks/block-hooks.scss +16 -0
  398. package/src/hooks/block-rename-ui.js +231 -0
  399. package/src/hooks/block-rename-ui.scss +3 -0
  400. package/src/hooks/duotone.js +42 -43
  401. package/src/hooks/index.js +2 -2
  402. package/src/hooks/layout.js +31 -33
  403. package/src/hooks/position.js +4 -3
  404. package/src/hooks/style.js +11 -2
  405. package/src/hooks/test/align.native.js +4 -3
  406. package/src/private-apis.js +2 -0
  407. package/src/store/actions.js +52 -10
  408. package/src/store/private-actions.js +37 -6
  409. package/src/store/private-selectors.js +28 -3
  410. package/src/store/reducer.js +38 -0
  411. package/src/store/selectors.js +107 -26
  412. package/src/store/test/actions.js +19 -8
  413. package/src/store/test/private-actions.js +17 -0
  414. package/src/store/test/reducer.js +25 -0
  415. package/src/store/test/selectors.js +130 -123
  416. package/src/store/utils.js +3 -10
  417. package/src/style.scss +4 -0
  418. package/build/components/duotone/components.js +0 -135
  419. package/build/components/duotone/components.js.map +0 -1
  420. package/build/components/duotone/index.js +0 -38
  421. package/build/components/duotone/index.js.map +0 -1
  422. package/build/components/global-styles/behaviors-panel.js +0 -64
  423. package/build/components/global-styles/behaviors-panel.js.map +0 -1
  424. package/build/components/inserter/reusable-blocks-tab.js +0 -85
  425. package/build/components/inserter/reusable-blocks-tab.js.map +0 -1
  426. package/build/hooks/auto-inserting-blocks.js +0 -174
  427. package/build/hooks/auto-inserting-blocks.js.map +0 -1
  428. package/build/hooks/behaviors.js +0 -173
  429. package/build/hooks/behaviors.js.map +0 -1
  430. package/build-module/components/duotone/components.js +0 -126
  431. package/build-module/components/duotone/components.js.map +0 -1
  432. package/build-module/components/duotone/index.js +0 -3
  433. package/build-module/components/duotone/index.js.map +0 -1
  434. package/build-module/components/global-styles/behaviors-panel.js +0 -57
  435. package/build-module/components/global-styles/behaviors-panel.js.map +0 -1
  436. package/build-module/components/inserter/reusable-blocks-tab.js +0 -76
  437. package/build-module/components/inserter/reusable-blocks-tab.js.map +0 -1
  438. package/build-module/hooks/auto-inserting-blocks.js +0 -167
  439. package/build-module/hooks/auto-inserting-blocks.js.map +0 -1
  440. package/build-module/hooks/behaviors.js +0 -166
  441. package/build-module/hooks/behaviors.js.map +0 -1
  442. package/src/components/duotone/components.js +0 -133
  443. package/src/components/duotone/index.js +0 -7
  444. package/src/components/global-styles/behaviors-panel.js +0 -71
  445. package/src/components/inserter/reusable-blocks-tab.js +0 -84
  446. package/src/components/inserter/test/reusable-blocks-tab.js +0 -73
  447. package/src/hooks/auto-inserting-blocks.js +0 -232
  448. package/src/hooks/behaviors.js +0 -206
@@ -1 +1 @@
1
- {"version":3,"names":["_a11y","require","_i18n","_data","_element","_keycodes","_blocks","_store","_utils","useBlockSelection","clearSelectedBlock","multiSelect","selectBlock","useDispatch","blockEditorStore","getBlockName","getBlockParents","getBlockSelectionStart","getSelectedBlockClientIds","hasMultiSelection","hasSelectedBlock","useSelect","getBlockType","blocksStore","updateBlockSelection","useCallback","event","clientId","destinationClientId","focusPosition","shiftKey","preventDefault","isKeyPress","type","keyCode","UP","DOWN","HOME","END","selectedBlocks","clientIdWithParents","some","blockId","includes","startTarget","endTarget","startParents","endParents","start","end","getCommonDepthClientIds","updatedSelectedBlocks","length","selectionDiff","filter","label","title","sprintf","__","speak"],"sources":["@wordpress/block-editor/src/components/list-view/use-block-selection.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\nimport { UP, DOWN, HOME, END } from '@wordpress/keycodes';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { getCommonDepthClientIds } from './utils';\n\nexport default function useBlockSelection() {\n\tconst { clearSelectedBlock, multiSelect, selectBlock } =\n\t\tuseDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockName,\n\t\tgetBlockParents,\n\t\tgetBlockSelectionStart,\n\t\tgetSelectedBlockClientIds,\n\t\thasMultiSelection,\n\t\thasSelectedBlock,\n\t} = useSelect( blockEditorStore );\n\n\tconst { getBlockType } = useSelect( blocksStore );\n\n\tconst updateBlockSelection = useCallback(\n\t\tasync ( event, clientId, destinationClientId, focusPosition ) => {\n\t\t\tif ( ! event?.shiftKey ) {\n\t\t\t\tselectBlock( clientId, focusPosition );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// To handle multiple block selection via the `SHIFT` key, prevent\n\t\t\t// the browser default behavior of opening the link in a new window.\n\t\t\tevent.preventDefault();\n\n\t\t\tconst isKeyPress =\n\t\t\t\tevent.type === 'keydown' &&\n\t\t\t\t( event.keyCode === UP ||\n\t\t\t\t\tevent.keyCode === DOWN ||\n\t\t\t\t\tevent.keyCode === HOME ||\n\t\t\t\t\tevent.keyCode === END );\n\n\t\t\t// Handle clicking on a block when no blocks are selected, and return early.\n\t\t\tif (\n\t\t\t\t! isKeyPress &&\n\t\t\t\t! hasSelectedBlock() &&\n\t\t\t\t! hasMultiSelection()\n\t\t\t) {\n\t\t\t\tselectBlock( clientId, null );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectedBlocks = getSelectedBlockClientIds();\n\t\t\tconst clientIdWithParents = [\n\t\t\t\t...getBlockParents( clientId ),\n\t\t\t\tclientId,\n\t\t\t];\n\n\t\t\tif (\n\t\t\t\tisKeyPress &&\n\t\t\t\t! selectedBlocks.some( ( blockId ) =>\n\t\t\t\t\tclientIdWithParents.includes( blockId )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// Ensure that shift-selecting blocks via the keyboard only\n\t\t\t\t// expands the current selection if focusing over already\n\t\t\t\t// selected blocks. Otherwise, clear the selection so that\n\t\t\t\t// a user can create a new selection entirely by keyboard.\n\t\t\t\tawait clearSelectedBlock();\n\t\t\t}\n\n\t\t\tlet startTarget = getBlockSelectionStart();\n\t\t\tlet endTarget = clientId;\n\n\t\t\t// Handle keyboard behavior for selecting multiple blocks.\n\t\t\tif ( isKeyPress ) {\n\t\t\t\tif ( ! hasSelectedBlock() && ! hasMultiSelection() ) {\n\t\t\t\t\t// Set the starting point of the selection to the currently\n\t\t\t\t\t// focused block, if there are no blocks currently selected.\n\t\t\t\t\t// This ensures that as the selection is expanded or contracted,\n\t\t\t\t\t// the starting point of the selection is anchored to that block.\n\t\t\t\t\tstartTarget = clientId;\n\t\t\t\t}\n\t\t\t\tif ( destinationClientId ) {\n\t\t\t\t\t// If the user presses UP or DOWN, we want to ensure that the block they're\n\t\t\t\t\t// moving to is the target for selection, and not the currently focused one.\n\t\t\t\t\tendTarget = destinationClientId;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst startParents = getBlockParents( startTarget );\n\t\t\tconst endParents = getBlockParents( endTarget );\n\n\t\t\tconst { start, end } = getCommonDepthClientIds(\n\t\t\t\tstartTarget,\n\t\t\t\tendTarget,\n\t\t\t\tstartParents,\n\t\t\t\tendParents\n\t\t\t);\n\t\t\tawait multiSelect( start, end, null );\n\n\t\t\t// Announce deselected block, or number of deselected blocks if\n\t\t\t// the total number of blocks deselected is greater than one.\n\t\t\tconst updatedSelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// If the selection is greater than 1 and the Home or End keys\n\t\t\t// were used to generate the selection, then skip announcing the\n\t\t\t// deselected blocks.\n\t\t\tif (\n\t\t\t\t( event.keyCode === HOME || event.keyCode === END ) &&\n\t\t\t\tupdatedSelectedBlocks.length > 1\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectionDiff = selectedBlocks.filter(\n\t\t\t\t( blockId ) => ! updatedSelectedBlocks.includes( blockId )\n\t\t\t);\n\n\t\t\tlet label;\n\t\t\tif ( selectionDiff.length === 1 ) {\n\t\t\t\tconst title = getBlockType(\n\t\t\t\t\tgetBlockName( selectionDiff[ 0 ] )\n\t\t\t\t)?.title;\n\t\t\t\tif ( title ) {\n\t\t\t\t\tlabel = sprintf(\n\t\t\t\t\t\t/* translators: %s: block name */\n\t\t\t\t\t\t__( '%s deselected.' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( selectionDiff.length > 1 ) {\n\t\t\t\tlabel = sprintf(\n\t\t\t\t\t/* translators: %s: number of deselected blocks */\n\t\t\t\t\t__( '%s blocks deselected.' ),\n\t\t\t\t\tselectionDiff.length\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( label ) {\n\t\t\t\tspeak( label, 'assertive' );\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tclearSelectedBlock,\n\t\t\tgetBlockName,\n\t\t\tgetBlockType,\n\t\t\tgetBlockParents,\n\t\t\tgetBlockSelectionStart,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\thasMultiSelection,\n\t\t\thasSelectedBlock,\n\t\t\tmultiSelect,\n\t\t\tselectBlock,\n\t\t]\n\t);\n\n\treturn {\n\t\tupdateBlockSelection,\n\t};\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_a11y","require","_i18n","_data","_element","_keycodes","_blocks","_store","_utils","useBlockSelection","clearSelectedBlock","multiSelect","selectBlock","useDispatch","blockEditorStore","getBlockName","getBlockParents","getBlockSelectionStart","getSelectedBlockClientIds","hasMultiSelection","hasSelectedBlock","useSelect","getBlockType","blocksStore","updateBlockSelection","useCallback","event","clientId","destinationClientId","focusPosition","shiftKey","keyCode","ESCAPE","preventDefault","isOnlyDeselection","type","isKeyPress","UP","DOWN","HOME","END","selectedBlocks","clientIdWithParents","some","blockId","includes","startTarget","endTarget","startParents","endParents","start","end","getCommonDepthClientIds","updatedSelectedBlocks","length","selectionDiff","filter","label","title","sprintf","__","speak"],"sources":["@wordpress/block-editor/src/components/list-view/use-block-selection.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\nimport { UP, DOWN, HOME, END, ESCAPE } from '@wordpress/keycodes';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { getCommonDepthClientIds } from './utils';\n\nexport default function useBlockSelection() {\n\tconst { clearSelectedBlock, multiSelect, selectBlock } =\n\t\tuseDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockName,\n\t\tgetBlockParents,\n\t\tgetBlockSelectionStart,\n\t\tgetSelectedBlockClientIds,\n\t\thasMultiSelection,\n\t\thasSelectedBlock,\n\t} = useSelect( blockEditorStore );\n\n\tconst { getBlockType } = useSelect( blocksStore );\n\n\tconst updateBlockSelection = useCallback(\n\t\tasync ( event, clientId, destinationClientId, focusPosition ) => {\n\t\t\tif ( ! event?.shiftKey && event?.keyCode !== ESCAPE ) {\n\t\t\t\tselectBlock( clientId, focusPosition );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// To handle multiple block selection via the `SHIFT` key, prevent\n\t\t\t// the browser default behavior of opening the link in a new window.\n\t\t\tevent.preventDefault();\n\n\t\t\tconst isOnlyDeselection =\n\t\t\t\tevent.type === 'keydown' && event.keyCode === ESCAPE;\n\t\t\tconst isKeyPress =\n\t\t\t\tevent.type === 'keydown' &&\n\t\t\t\t( event.keyCode === UP ||\n\t\t\t\t\tevent.keyCode === DOWN ||\n\t\t\t\t\tevent.keyCode === HOME ||\n\t\t\t\t\tevent.keyCode === END );\n\n\t\t\t// Handle clicking on a block when no blocks are selected, and return early.\n\t\t\tif (\n\t\t\t\t! isKeyPress &&\n\t\t\t\t! hasSelectedBlock() &&\n\t\t\t\t! hasMultiSelection()\n\t\t\t) {\n\t\t\t\tselectBlock( clientId, null );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectedBlocks = getSelectedBlockClientIds();\n\t\t\tconst clientIdWithParents = [\n\t\t\t\t...getBlockParents( clientId ),\n\t\t\t\tclientId,\n\t\t\t];\n\n\t\t\tif (\n\t\t\t\tisOnlyDeselection ||\n\t\t\t\t( isKeyPress &&\n\t\t\t\t\t! selectedBlocks.some( ( blockId ) =>\n\t\t\t\t\t\tclientIdWithParents.includes( blockId )\n\t\t\t\t\t) )\n\t\t\t) {\n\t\t\t\t// Ensure that shift-selecting blocks via the keyboard only\n\t\t\t\t// expands the current selection if focusing over already\n\t\t\t\t// selected blocks. Otherwise, clear the selection so that\n\t\t\t\t// a user can create a new selection entirely by keyboard.\n\t\t\t\tawait clearSelectedBlock();\n\t\t\t}\n\n\t\t\t// Update selection, if not only clearing the selection.\n\t\t\tif ( ! isOnlyDeselection ) {\n\t\t\t\tlet startTarget = getBlockSelectionStart();\n\t\t\t\tlet endTarget = clientId;\n\n\t\t\t\t// Handle keyboard behavior for selecting multiple blocks.\n\t\t\t\tif ( isKeyPress ) {\n\t\t\t\t\tif ( ! hasSelectedBlock() && ! hasMultiSelection() ) {\n\t\t\t\t\t\t// Set the starting point of the selection to the currently\n\t\t\t\t\t\t// focused block, if there are no blocks currently selected.\n\t\t\t\t\t\t// This ensures that as the selection is expanded or contracted,\n\t\t\t\t\t\t// the starting point of the selection is anchored to that block.\n\t\t\t\t\t\tstartTarget = clientId;\n\t\t\t\t\t}\n\t\t\t\t\tif ( destinationClientId ) {\n\t\t\t\t\t\t// If the user presses UP or DOWN, we want to ensure that the block they're\n\t\t\t\t\t\t// moving to is the target for selection, and not the currently focused one.\n\t\t\t\t\t\tendTarget = destinationClientId;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst startParents = getBlockParents( startTarget );\n\t\t\t\tconst endParents = getBlockParents( endTarget );\n\n\t\t\t\tconst { start, end } = getCommonDepthClientIds(\n\t\t\t\t\tstartTarget,\n\t\t\t\t\tendTarget,\n\t\t\t\t\tstartParents,\n\t\t\t\t\tendParents\n\t\t\t\t);\n\t\t\t\tawait multiSelect( start, end, null );\n\t\t\t}\n\n\t\t\t// Announce deselected block, or number of deselected blocks if\n\t\t\t// the total number of blocks deselected is greater than one.\n\t\t\tconst updatedSelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// If the selection is greater than 1 and the Home or End keys\n\t\t\t// were used to generate the selection, then skip announcing the\n\t\t\t// deselected blocks.\n\t\t\tif (\n\t\t\t\t( event.keyCode === HOME || event.keyCode === END ) &&\n\t\t\t\tupdatedSelectedBlocks.length > 1\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectionDiff = selectedBlocks.filter(\n\t\t\t\t( blockId ) => ! updatedSelectedBlocks.includes( blockId )\n\t\t\t);\n\n\t\t\tlet label;\n\t\t\tif ( selectionDiff.length === 1 ) {\n\t\t\t\tconst title = getBlockType(\n\t\t\t\t\tgetBlockName( selectionDiff[ 0 ] )\n\t\t\t\t)?.title;\n\t\t\t\tif ( title ) {\n\t\t\t\t\tlabel = sprintf(\n\t\t\t\t\t\t/* translators: %s: block name */\n\t\t\t\t\t\t__( '%s deselected.' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( selectionDiff.length > 1 ) {\n\t\t\t\tlabel = sprintf(\n\t\t\t\t\t/* translators: %s: number of deselected blocks */\n\t\t\t\t\t__( '%s blocks deselected.' ),\n\t\t\t\t\tselectionDiff.length\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( label ) {\n\t\t\t\tspeak( label, 'assertive' );\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tclearSelectedBlock,\n\t\t\tgetBlockName,\n\t\t\tgetBlockType,\n\t\t\tgetBlockParents,\n\t\t\tgetBlockSelectionStart,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\thasMultiSelection,\n\t\t\thasSelectedBlock,\n\t\t\tmultiSelect,\n\t\t\tselectBlock,\n\t\t]\n\t);\n\n\treturn {\n\t\tupdateBlockSelection,\n\t};\n}\n"],"mappings":"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"}
@@ -368,7 +368,7 @@ function MediaPlaceholder({
368
368
  return (0, _element.createElement)(_element.Fragment, null, renderDropZone(), (0, _element.createElement)(_components.FormFileUpload, {
369
369
  onChange: onUpload,
370
370
  accept: accept,
371
- multiple: multiple,
371
+ multiple: !!multiple,
372
372
  render: ({
373
373
  openFileDialog
374
374
  }) => {
@@ -387,7 +387,7 @@ function MediaPlaceholder({
387
387
  className: (0, _classnames.default)('block-editor-media-placeholder__button', 'block-editor-media-placeholder__upload-button'),
388
388
  onChange: onUpload,
389
389
  accept: accept,
390
- multiple: multiple
390
+ multiple: !!multiple
391
391
  }, (0, _i18n.__)('Upload')), uploadMediaLibraryButton, renderUrlSelectionUI(), renderFeaturedImageToggle(), renderCancelLink());
392
392
  return renderPlaceholder(content);
393
393
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_components","_i18n","_data","_icons","_blocks2","_deprecated","_mediaUpload","_check","_urlPopover","_store","noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","popoverAnchor","createElement","default","anchor","className","type","__","placeholder","value","Button","icon","keyboardReturn","label","URLSelectionUI","isURLInputVisible","onChangeSrc","onSubmitSrc","openURLInput","closeURLInput","setPopoverAnchor","useState","ref","onClick","isPressed","variant","MediaPlaceholder","allowedTypes","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onSelectURL","onToggleFeaturedImage","onDoubleClick","onFilesPreUpload","onHTMLDrop","deprecatedOnHTMLDrop","children","mediaLibraryButton","style","deprecated","since","version","mediaUpload","useSelect","select","getSettings","blockEditorStore","setSrc","setIsURLInputVisible","useEffect","_value$src","onlyAllowsImages","length","every","allowedType","startsWith","event","target","preventDefault","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","handleBlocksDrop","blocks","Array","isArray","recursivelyFindMediaFromBlocks","_blocks","flatMap","block","name","attributes","innerBlocks","mediaBlocks","uploadedMediaList","Promise","all","resolve","reject","window","fetch","then","response","blob","additionalData","title","alt_text","alt","caption","catch","err","HTML","pasteHandler","onUpload","defaultRenderPlaceholder","content","instructions","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","classnames","Placeholder","preview","renderPlaceholder","renderDropZone","DropZone","onFilesDrop","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","gallery","mode","render","Fragment","FormFileUpload","openFileDialog","fallback","_default","withFilters","exports"],"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\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 { pasteHandler } from '@wordpress/blocks';\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';\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<input\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-field\"\n\t\t\t\ttype=\"text\"\n\t\t\t\taria-label={ __( 'URL' ) }\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/>\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-submit-button\"\n\t\t\t\ticon={ keyboardReturn }\n\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\ttype=\"submit\"\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nconst URLSelectionUI = ( {\n\tisURLInputVisible,\n\tsrc,\n\tonChangeSrc,\n\tonSubmitSrc,\n\topenURLInput,\n\tcloseURLInput,\n} ) => {\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\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-container\"\n\t\t\tref={ setPopoverAnchor }\n\t\t>\n\t\t\t<Button\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=\"tertiary\"\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\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\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 onChangeSrc = ( event ) => {\n\t\tsetSrc( event.target.value );\n\t};\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\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\tconst onFilesUpload = ( files ) => {\n\t\tif ( ! handleUpload ) {\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( blocks ) {\n\t\tif ( ! blocks || ! Array.isArray( blocks ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction recursivelyFindMediaFromBlocks( _blocks ) {\n\t\t\treturn _blocks.flatMap( ( block ) =>\n\t\t\t\t( block.name === 'core/image' ||\n\t\t\t\t\tblock.name === 'core/audio' ||\n\t\t\t\t\tblock.name === 'core/video' ) &&\n\t\t\t\tblock.attributes.url\n\t\t\t\t\t? [ block ]\n\t\t\t\t\t: recursivelyFindMediaFromBlocks( block.innerBlocks )\n\t\t\t);\n\t\t}\n\n\t\tconst mediaBlocks = recursivelyFindMediaFromBlocks( blocks );\n\n\t\tif ( ! mediaBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tmediaBlocks.map( ( block ) =>\n\t\t\t\tblock.attributes.id\n\t\t\t\t\t? block.attributes\n\t\t\t\t\t: new Promise( ( resolve, reject ) => {\n\t\t\t\t\t\t\twindow\n\t\t\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( media );\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\tallowedTypes,\n\t\t\t\t\t\t\t\t\t\tonError: reject,\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\t.catch( () => resolve( block.attributes.url ) );\n\t\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\tasync function onHTMLDrop( HTML ) {\n\t\tconst blocks = pasteHandler( { HTML } );\n\t\treturn await handleBlocksDrop( blocks );\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'Upload a media file or pick one from your media 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'Upload an audio file, pick one from your media library, or add one with a URL.'\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'Upload an image file, pick one from your media library, or add one with a URL.'\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'Upload a video file, pick one from your media library, or add one with a URL.'\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 = classnames(\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 onFilesDrop={ onFilesUpload } onHTMLDrop={ onHTMLDrop } />\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\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\tisURLInputVisible={ isURLInputVisible }\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChangeSrc={ onChangeSrc }\n\t\t\t\t\tonSubmitSrc={ onSubmitSrc }\n\t\t\t\t\topenURLInput={ openURLInput }\n\t\t\t\t\tcloseURLInput={ closeURLInput }\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\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"tertiary\"\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\tvariant=\"tertiary\"\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\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\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\tvariant=\"primary\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-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\t{ __( 'Upload' ) }\n\t\t\t\t\t</FormFileUpload>\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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"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_components","_i18n","_data","_icons","_blocks2","_deprecated","_mediaUpload","_check","_urlPopover","_store","noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","popoverAnchor","createElement","default","anchor","className","type","__","placeholder","value","Button","icon","keyboardReturn","label","URLSelectionUI","isURLInputVisible","onChangeSrc","onSubmitSrc","openURLInput","closeURLInput","setPopoverAnchor","useState","ref","onClick","isPressed","variant","MediaPlaceholder","allowedTypes","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onSelectURL","onToggleFeaturedImage","onDoubleClick","onFilesPreUpload","onHTMLDrop","deprecatedOnHTMLDrop","children","mediaLibraryButton","style","deprecated","since","version","mediaUpload","useSelect","select","getSettings","blockEditorStore","setSrc","setIsURLInputVisible","useEffect","_value$src","onlyAllowsImages","length","every","allowedType","startsWith","event","target","preventDefault","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","handleBlocksDrop","blocks","Array","isArray","recursivelyFindMediaFromBlocks","_blocks","flatMap","block","name","attributes","innerBlocks","mediaBlocks","uploadedMediaList","Promise","all","resolve","reject","window","fetch","then","response","blob","additionalData","title","alt_text","alt","caption","catch","err","HTML","pasteHandler","onUpload","defaultRenderPlaceholder","content","instructions","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","classnames","Placeholder","preview","renderPlaceholder","renderDropZone","DropZone","onFilesDrop","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","gallery","mode","render","Fragment","FormFileUpload","openFileDialog","fallback","_default","withFilters","exports"],"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\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 { pasteHandler } from '@wordpress/blocks';\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';\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<input\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-field\"\n\t\t\t\ttype=\"text\"\n\t\t\t\taria-label={ __( 'URL' ) }\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/>\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-submit-button\"\n\t\t\t\ticon={ keyboardReturn }\n\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\ttype=\"submit\"\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nconst URLSelectionUI = ( {\n\tisURLInputVisible,\n\tsrc,\n\tonChangeSrc,\n\tonSubmitSrc,\n\topenURLInput,\n\tcloseURLInput,\n} ) => {\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\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-container\"\n\t\t\tref={ setPopoverAnchor }\n\t\t>\n\t\t\t<Button\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=\"tertiary\"\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\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\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 onChangeSrc = ( event ) => {\n\t\tsetSrc( event.target.value );\n\t};\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\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\tconst onFilesUpload = ( files ) => {\n\t\tif ( ! handleUpload ) {\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( blocks ) {\n\t\tif ( ! blocks || ! Array.isArray( blocks ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction recursivelyFindMediaFromBlocks( _blocks ) {\n\t\t\treturn _blocks.flatMap( ( block ) =>\n\t\t\t\t( block.name === 'core/image' ||\n\t\t\t\t\tblock.name === 'core/audio' ||\n\t\t\t\t\tblock.name === 'core/video' ) &&\n\t\t\t\tblock.attributes.url\n\t\t\t\t\t? [ block ]\n\t\t\t\t\t: recursivelyFindMediaFromBlocks( block.innerBlocks )\n\t\t\t);\n\t\t}\n\n\t\tconst mediaBlocks = recursivelyFindMediaFromBlocks( blocks );\n\n\t\tif ( ! mediaBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tmediaBlocks.map( ( block ) =>\n\t\t\t\tblock.attributes.id\n\t\t\t\t\t? block.attributes\n\t\t\t\t\t: new Promise( ( resolve, reject ) => {\n\t\t\t\t\t\t\twindow\n\t\t\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( media );\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\tallowedTypes,\n\t\t\t\t\t\t\t\t\t\tonError: reject,\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\t.catch( () => resolve( block.attributes.url ) );\n\t\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\tasync function onHTMLDrop( HTML ) {\n\t\tconst blocks = pasteHandler( { HTML } );\n\t\treturn await handleBlocksDrop( blocks );\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'Upload a media file or pick one from your media 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'Upload an audio file, pick one from your media library, or add one with a URL.'\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'Upload an image file, pick one from your media library, or add one with a URL.'\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'Upload a video file, pick one from your media library, or add one with a URL.'\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 = classnames(\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 onFilesDrop={ onFilesUpload } onHTMLDrop={ onHTMLDrop } />\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\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\tisURLInputVisible={ isURLInputVisible }\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChangeSrc={ onChangeSrc }\n\t\t\t\t\tonSubmitSrc={ onSubmitSrc }\n\t\t\t\t\topenURLInput={ openURLInput }\n\t\t\t\t\tcloseURLInput={ closeURLInput }\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\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"tertiary\"\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\tvariant=\"tertiary\"\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\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\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\tvariant=\"primary\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-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\t{ __( 'Upload' ) }\n\t\t\t\t\t</FormFileUpload>\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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"}
@@ -7,13 +7,13 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _element = require("@wordpress/element");
9
9
  var _reactNative = require("react-native");
10
- var _changeCase = require("change-case");
11
10
  var _i18n = require("@wordpress/i18n");
12
- var _blockEditor = require("@wordpress/block-editor");
13
11
  var _compose = require("@wordpress/compose");
14
12
  var _icons = require("@wordpress/icons");
15
13
  var _styles = _interopRequireDefault(require("./styles.scss"));
16
14
  var _context = require("../block-edit/context");
15
+ var _mediaUpload = _interopRequireDefault(require("../media-upload"));
16
+ var _constants = require("../media-upload/constants");
17
17
  /**
18
18
  * External dependencies
19
19
  */
@@ -70,9 +70,9 @@ function MediaPlaceholder(props) {
70
70
  // Append and deduplicate media array for gallery use case.
71
71
  const setMedia = multiple && addToGallery ? selected => onSelect(dedupMedia([...mediaRef.current, ...selected])) : onSelect;
72
72
  const isOneType = allowedTypes.length === 1;
73
- const isImage = isOneType && allowedTypes.includes(_blockEditor.MEDIA_TYPE_IMAGE);
74
- const isVideo = isOneType && allowedTypes.includes(_blockEditor.MEDIA_TYPE_VIDEO);
75
- const isAudio = isOneType && allowedTypes.includes(_blockEditor.MEDIA_TYPE_AUDIO);
73
+ const isImage = isOneType && allowedTypes.includes(_constants.MEDIA_TYPE_IMAGE);
74
+ const isVideo = isOneType && allowedTypes.includes(_constants.MEDIA_TYPE_VIDEO);
75
+ const isAudio = isOneType && allowedTypes.includes(_constants.MEDIA_TYPE_AUDIO);
76
76
  let placeholderTitle = labels.title;
77
77
  if (placeholderTitle === undefined) {
78
78
  placeholderTitle = (0, _i18n.__)('Media');
@@ -87,13 +87,13 @@ function MediaPlaceholder(props) {
87
87
  let instructions = labels.instructions;
88
88
  if (instructions === undefined) {
89
89
  if (isImage) {
90
- instructions = (0, _i18n.__)('ADD IMAGE');
90
+ instructions = (0, _i18n.__)('Add image');
91
91
  } else if (isVideo) {
92
- instructions = (0, _i18n.__)('ADD VIDEO');
92
+ instructions = (0, _i18n.__)('Add video');
93
93
  } else if (isAudio) {
94
- instructions = (0, _i18n.__)('ADD AUDIO');
94
+ instructions = (0, _i18n.__)('Add audio');
95
95
  } else {
96
- instructions = (0, _i18n.__)('ADD IMAGE OR VIDEO');
96
+ instructions = (0, _i18n.__)('Add image or video');
97
97
  }
98
98
  }
99
99
  let accessibilityHint = (0, _i18n.__)('Double tap to select');
@@ -132,7 +132,7 @@ function MediaPlaceholder(props) {
132
132
  onPress: onButtonPress(open)
133
133
  }, (0, _element.createElement)(_reactNative.Text, {
134
134
  style: emptyStateDescriptionStyles
135
- }, (0, _changeCase.sentenceCase)(instructions))));
135
+ }, instructions)));
136
136
  } else if (isAppender && !disableMediaButtons) {
137
137
  return (0, _element.createElement)(_reactNative.TouchableOpacity, {
138
138
  activeOpacity: 0.5,
@@ -162,7 +162,7 @@ function MediaPlaceholder(props) {
162
162
  style: {
163
163
  flex: 1
164
164
  }
165
- }, (0, _element.createElement)(_blockEditor.MediaUpload, {
165
+ }, (0, _element.createElement)(_mediaUpload.default, {
166
166
  allowedTypes: allowedTypes,
167
167
  onSelect: setMedia,
168
168
  onSelectURL: onSelectURL,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_reactNative","_changeCase","_i18n","_blockEditor","_compose","_icons","_styles","_interopRequireDefault","_context","isMediaEqual","media1","media2","id","url","dedupMedia","media","reduce","dedupedMedia","mediaItem","some","item","hitSlop","top","bottom","left","right","MediaPlaceholder","props","addToGallery","allowedTypes","className","labels","icon","onSelect","onFocus","__experimentalOnlyMediaLibrary","isAppender","disableMediaButtons","multiple","value","children","height","backgroundColor","hideContent","autoOpenMediaUpload","onSelectURL","mediaRef","useRef","current","blockEditContext","useBlockEditContext","onButtonPress","useCallback","open","event","setMedia","selected","isOneType","length","isImage","includes","MEDIA_TYPE_IMAGE","isVideo","MEDIA_TYPE_VIDEO","isAudio","MEDIA_TYPE_AUDIO","placeholderTitle","title","undefined","__","instructions","accessibilityHint","titleStyles","usePreferredColorSchemeStyle","styles","addMediaButtonStyle","addMediaButton","addMediaButtonDark","buttonStyles","emptyStateDescriptionStyles","emptyStateDescription","emptyStateDescriptionDark","iconStyles","placeholderIcon","cloneElement","fill","accessibilityLabel","sprintf","renderContent","createElement","Fragment","View","style","Text","TouchableOpacity","activeOpacity","accessibilityRole","onPress","sentenceCase","testID","Icon","plusCircleFilled","color","size","appenderStyle","appender","appenderDark","containerSelectedStyle","containerStyle","isSelected","flex","MediaUpload","isReplacingMedia","autoOpen","render","getMediaOptions","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/media-placeholder/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableOpacity } from 'react-native';\nimport { sentenceCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tMediaUpload,\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n} from '@wordpress/block-editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { cloneElement, useCallback, useRef } from '@wordpress/element';\nimport { Icon, plusCircleFilled } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport { useBlockEditContext } from '../block-edit/context';\n\nconst isMediaEqual = ( media1, media2 ) =>\n\tmedia1.id === media2.id || media1.url === media2.url;\n\n// Remove duplicates after gallery append.\nconst dedupMedia = ( media ) =>\n\tmedia.reduce(\n\t\t( dedupedMedia, mediaItem ) =>\n\t\t\tdedupedMedia.some( ( item ) => isMediaEqual( item, mediaItem ) )\n\t\t\t\t? dedupedMedia\n\t\t\t\t: [ ...dedupedMedia, mediaItem ],\n\t\t[]\n\t);\n\nconst hitSlop = { top: 22, bottom: 22, left: 22, right: 22 };\n\nfunction MediaPlaceholder( props ) {\n\tconst {\n\t\taddToGallery,\n\t\tallowedTypes = [],\n\t\tclassName = '',\n\t\tlabels = {},\n\t\ticon,\n\t\tonSelect,\n\t\tonFocus,\n\t\t__experimentalOnlyMediaLibrary,\n\t\tisAppender,\n\t\tdisableMediaButtons,\n\t\tmultiple,\n\t\tvalue = [],\n\t\tchildren,\n\t\theight,\n\t\tbackgroundColor,\n\t\thideContent,\n\t\tautoOpenMediaUpload,\n\t\tonSelectURL,\n\t} = props;\n\n\t// Use ref to keep media array current for callbacks during rerenders.\n\tconst mediaRef = useRef( value );\n\tmediaRef.current = value;\n\n\tconst blockEditContext = useBlockEditContext();\n\n\tconst onButtonPress = useCallback(\n\t\t( open ) => ( event ) => {\n\t\t\tonFocus?.( event );\n\t\t\topen();\n\t\t},\n\t\t[ onFocus ]\n\t);\n\n\t// Append and deduplicate media array for gallery use case.\n\tconst setMedia =\n\t\tmultiple && addToGallery\n\t\t\t? ( selected ) =>\n\t\t\t\t\tonSelect(\n\t\t\t\t\t\tdedupMedia( [ ...mediaRef.current, ...selected ] )\n\t\t\t\t\t)\n\t\t\t: onSelect;\n\n\tconst isOneType = allowedTypes.length === 1;\n\tconst isImage = isOneType && allowedTypes.includes( MEDIA_TYPE_IMAGE );\n\tconst isVideo = isOneType && allowedTypes.includes( MEDIA_TYPE_VIDEO );\n\tconst isAudio = isOneType && allowedTypes.includes( MEDIA_TYPE_AUDIO );\n\n\tlet placeholderTitle = labels.title;\n\tif ( placeholderTitle === undefined ) {\n\t\tplaceholderTitle = __( 'Media' );\n\t\tif ( isImage ) {\n\t\t\tplaceholderTitle = __( 'Image' );\n\t\t} else if ( isVideo ) {\n\t\t\tplaceholderTitle = __( 'Video' );\n\t\t} else if ( isAudio ) {\n\t\t\tplaceholderTitle = __( 'Audio' );\n\t\t}\n\t}\n\n\tlet instructions = labels.instructions;\n\tif ( instructions === undefined ) {\n\t\tif ( isImage ) {\n\t\t\tinstructions = __( 'ADD IMAGE' );\n\t\t} else if ( isVideo ) {\n\t\t\tinstructions = __( 'ADD VIDEO' );\n\t\t} else if ( isAudio ) {\n\t\t\tinstructions = __( 'ADD AUDIO' );\n\t\t} else {\n\t\t\tinstructions = __( 'ADD IMAGE OR VIDEO' );\n\t\t}\n\t}\n\n\tlet accessibilityHint = __( 'Double tap to select' );\n\tif ( isImage ) {\n\t\taccessibilityHint = __( 'Double tap to select an image' );\n\t} else if ( isVideo ) {\n\t\taccessibilityHint = __( 'Double tap to select a video' );\n\t} else if ( isAudio ) {\n\t\taccessibilityHint = __( 'Double tap to select an audio file' );\n\t}\n\n\tconst titleStyles = usePreferredColorSchemeStyle(\n\t\tstyles[ 'media-placeholder__header-title' ],\n\t\tstyles[ 'media-placeholder__header-title--dark' ]\n\t);\n\tconst addMediaButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.addMediaButton,\n\t\tstyles.addMediaButtonDark\n\t);\n\tconst buttonStyles = usePreferredColorSchemeStyle(\n\t\tstyles[ 'media-placeholder__button' ],\n\t\tstyles[ 'media-placeholder__button--dark' ]\n\t);\n\tconst emptyStateDescriptionStyles = usePreferredColorSchemeStyle(\n\t\tstyles.emptyStateDescription,\n\t\tstyles.emptyStateDescriptionDark\n\t);\n\tconst iconStyles = usePreferredColorSchemeStyle(\n\t\tstyles[ 'media-placeholder__header-icon' ],\n\t\tstyles[ 'media-placeholder__header-icon--dark' ]\n\t);\n\tconst placeholderIcon = cloneElement( icon, {\n\t\tfill: iconStyles.fill,\n\t} );\n\tconst accessibilityLabel = sprintf(\n\t\t/* translators: accessibility text for the media block empty state. %s: media type */\n\t\t__( '%s block. Empty' ),\n\t\tplaceholderTitle\n\t);\n\n\tconst renderContent = ( open ) => {\n\t\tif ( isAppender === undefined || ! isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<View style={ styles[ 'media-placeholder__header' ] }>\n\t\t\t\t\t\t<View style={ iconStyles }>{ placeholderIcon }</View>\n\t\t\t\t\t\t<Text style={ titleStyles }>{ placeholderTitle }</Text>\n\t\t\t\t\t</View>\n\t\t\t\t\t{ children }\n\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\tactiveOpacity={ 0.5 }\n\t\t\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\t\t\t\thitSlop={ hitSlop }\n\t\t\t\t\t\tonPress={ onButtonPress( open ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text style={ emptyStateDescriptionStyles }>\n\t\t\t\t\t\t\t{ sentenceCase( instructions ) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t</>\n\t\t\t);\n\t\t} else if ( isAppender && ! disableMediaButtons ) {\n\t\t\treturn (\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tactiveOpacity={ 0.5 }\n\t\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\t\tstyle={ styles[ 'media-placeholder__appender' ] }\n\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\t\t\thitSlop={ hitSlop }\n\t\t\t\t\tonPress={ onButtonPress( open ) }\n\t\t\t\t>\n\t\t\t\t\t<View testID=\"media-placeholder-appender-icon\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ plusCircleFilled }\n\t\t\t\t\t\t\tstyle={ addMediaButtonStyle }\n\t\t\t\t\t\t\tcolor={ addMediaButtonStyle.color }\n\t\t\t\t\t\t\tsize={ addMediaButtonStyle.size }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableOpacity>\n\t\t\t);\n\t\t}\n\t};\n\n\tconst appenderStyle = usePreferredColorSchemeStyle(\n\t\tstyles.appender,\n\t\tstyles.appenderDark\n\t);\n\tconst containerSelectedStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'media-placeholder__container-selected' ],\n\t\tstyles[ 'media-placeholder__container-selected--dark' ]\n\t);\n\tconst containerStyle = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles[ 'media-placeholder__container' ],\n\t\t\tstyles[ 'media-placeholder__container--dark' ]\n\t\t),\n\t\tblockEditContext?.isSelected &&\n\t\t\t! className.includes( 'no-block-outline' ) &&\n\t\t\tcontainerSelectedStyle,\n\t];\n\n\tif ( isAppender && disableMediaButtons ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<View style={ { flex: 1 } }>\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tonSelect={ setMedia }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t__experimentalOnlyMediaLibrary={\n\t\t\t\t\t__experimentalOnlyMediaLibrary\n\t\t\t\t}\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tisReplacingMedia={ false }\n\t\t\t\tautoOpen={ autoOpenMediaUpload }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tcontainerStyle,\n\t\t\t\t\t\t\t\t\theight && { height },\n\t\t\t\t\t\t\t\t\tbackgroundColor && { backgroundColor },\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tisAppender && appenderStyle,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t{ ! hideContent && renderContent( open ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t</View>\n\t);\n}\n\nexport default MediaPlaceholder;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_reactNative","_i18n","_compose","_icons","_styles","_interopRequireDefault","_context","_mediaUpload","_constants","isMediaEqual","media1","media2","id","url","dedupMedia","media","reduce","dedupedMedia","mediaItem","some","item","hitSlop","top","bottom","left","right","MediaPlaceholder","props","addToGallery","allowedTypes","className","labels","icon","onSelect","onFocus","__experimentalOnlyMediaLibrary","isAppender","disableMediaButtons","multiple","value","children","height","backgroundColor","hideContent","autoOpenMediaUpload","onSelectURL","mediaRef","useRef","current","blockEditContext","useBlockEditContext","onButtonPress","useCallback","open","event","setMedia","selected","isOneType","length","isImage","includes","MEDIA_TYPE_IMAGE","isVideo","MEDIA_TYPE_VIDEO","isAudio","MEDIA_TYPE_AUDIO","placeholderTitle","title","undefined","__","instructions","accessibilityHint","titleStyles","usePreferredColorSchemeStyle","styles","addMediaButtonStyle","addMediaButton","addMediaButtonDark","buttonStyles","emptyStateDescriptionStyles","emptyStateDescription","emptyStateDescriptionDark","iconStyles","placeholderIcon","cloneElement","fill","accessibilityLabel","sprintf","renderContent","createElement","Fragment","View","style","Text","TouchableOpacity","activeOpacity","accessibilityRole","onPress","testID","Icon","plusCircleFilled","color","size","appenderStyle","appender","appenderDark","containerSelectedStyle","containerStyle","isSelected","flex","default","isReplacingMedia","autoOpen","render","getMediaOptions","_default","exports"],"sources":["@wordpress/block-editor/src/components/media-placeholder/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableOpacity } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { cloneElement, useCallback, useRef } from '@wordpress/element';\nimport { Icon, plusCircleFilled } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport { useBlockEditContext } from '../block-edit/context';\nimport MediaUpload from '../media-upload';\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n} from '../media-upload/constants';\n\nconst isMediaEqual = ( media1, media2 ) =>\n\tmedia1.id === media2.id || media1.url === media2.url;\n\n// Remove duplicates after gallery append.\nconst dedupMedia = ( media ) =>\n\tmedia.reduce(\n\t\t( dedupedMedia, mediaItem ) =>\n\t\t\tdedupedMedia.some( ( item ) => isMediaEqual( item, mediaItem ) )\n\t\t\t\t? dedupedMedia\n\t\t\t\t: [ ...dedupedMedia, mediaItem ],\n\t\t[]\n\t);\n\nconst hitSlop = { top: 22, bottom: 22, left: 22, right: 22 };\n\nfunction MediaPlaceholder( props ) {\n\tconst {\n\t\taddToGallery,\n\t\tallowedTypes = [],\n\t\tclassName = '',\n\t\tlabels = {},\n\t\ticon,\n\t\tonSelect,\n\t\tonFocus,\n\t\t__experimentalOnlyMediaLibrary,\n\t\tisAppender,\n\t\tdisableMediaButtons,\n\t\tmultiple,\n\t\tvalue = [],\n\t\tchildren,\n\t\theight,\n\t\tbackgroundColor,\n\t\thideContent,\n\t\tautoOpenMediaUpload,\n\t\tonSelectURL,\n\t} = props;\n\n\t// Use ref to keep media array current for callbacks during rerenders.\n\tconst mediaRef = useRef( value );\n\tmediaRef.current = value;\n\n\tconst blockEditContext = useBlockEditContext();\n\n\tconst onButtonPress = useCallback(\n\t\t( open ) => ( event ) => {\n\t\t\tonFocus?.( event );\n\t\t\topen();\n\t\t},\n\t\t[ onFocus ]\n\t);\n\n\t// Append and deduplicate media array for gallery use case.\n\tconst setMedia =\n\t\tmultiple && addToGallery\n\t\t\t? ( selected ) =>\n\t\t\t\t\tonSelect(\n\t\t\t\t\t\tdedupMedia( [ ...mediaRef.current, ...selected ] )\n\t\t\t\t\t)\n\t\t\t: onSelect;\n\n\tconst isOneType = allowedTypes.length === 1;\n\tconst isImage = isOneType && allowedTypes.includes( MEDIA_TYPE_IMAGE );\n\tconst isVideo = isOneType && allowedTypes.includes( MEDIA_TYPE_VIDEO );\n\tconst isAudio = isOneType && allowedTypes.includes( MEDIA_TYPE_AUDIO );\n\n\tlet placeholderTitle = labels.title;\n\tif ( placeholderTitle === undefined ) {\n\t\tplaceholderTitle = __( 'Media' );\n\t\tif ( isImage ) {\n\t\t\tplaceholderTitle = __( 'Image' );\n\t\t} else if ( isVideo ) {\n\t\t\tplaceholderTitle = __( 'Video' );\n\t\t} else if ( isAudio ) {\n\t\t\tplaceholderTitle = __( 'Audio' );\n\t\t}\n\t}\n\n\tlet instructions = labels.instructions;\n\tif ( instructions === undefined ) {\n\t\tif ( isImage ) {\n\t\t\tinstructions = __( 'Add image' );\n\t\t} else if ( isVideo ) {\n\t\t\tinstructions = __( 'Add video' );\n\t\t} else if ( isAudio ) {\n\t\t\tinstructions = __( 'Add audio' );\n\t\t} else {\n\t\t\tinstructions = __( 'Add image or video' );\n\t\t}\n\t}\n\n\tlet accessibilityHint = __( 'Double tap to select' );\n\tif ( isImage ) {\n\t\taccessibilityHint = __( 'Double tap to select an image' );\n\t} else if ( isVideo ) {\n\t\taccessibilityHint = __( 'Double tap to select a video' );\n\t} else if ( isAudio ) {\n\t\taccessibilityHint = __( 'Double tap to select an audio file' );\n\t}\n\n\tconst titleStyles = usePreferredColorSchemeStyle(\n\t\tstyles[ 'media-placeholder__header-title' ],\n\t\tstyles[ 'media-placeholder__header-title--dark' ]\n\t);\n\tconst addMediaButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.addMediaButton,\n\t\tstyles.addMediaButtonDark\n\t);\n\tconst buttonStyles = usePreferredColorSchemeStyle(\n\t\tstyles[ 'media-placeholder__button' ],\n\t\tstyles[ 'media-placeholder__button--dark' ]\n\t);\n\tconst emptyStateDescriptionStyles = usePreferredColorSchemeStyle(\n\t\tstyles.emptyStateDescription,\n\t\tstyles.emptyStateDescriptionDark\n\t);\n\tconst iconStyles = usePreferredColorSchemeStyle(\n\t\tstyles[ 'media-placeholder__header-icon' ],\n\t\tstyles[ 'media-placeholder__header-icon--dark' ]\n\t);\n\tconst placeholderIcon = cloneElement( icon, {\n\t\tfill: iconStyles.fill,\n\t} );\n\tconst accessibilityLabel = sprintf(\n\t\t/* translators: accessibility text for the media block empty state. %s: media type */\n\t\t__( '%s block. Empty' ),\n\t\tplaceholderTitle\n\t);\n\n\tconst renderContent = ( open ) => {\n\t\tif ( isAppender === undefined || ! isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<View style={ styles[ 'media-placeholder__header' ] }>\n\t\t\t\t\t\t<View style={ iconStyles }>{ placeholderIcon }</View>\n\t\t\t\t\t\t<Text style={ titleStyles }>{ placeholderTitle }</Text>\n\t\t\t\t\t</View>\n\t\t\t\t\t{ children }\n\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\tactiveOpacity={ 0.5 }\n\t\t\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\t\t\t\thitSlop={ hitSlop }\n\t\t\t\t\t\tonPress={ onButtonPress( open ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text style={ emptyStateDescriptionStyles }>\n\t\t\t\t\t\t\t{ instructions }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t</>\n\t\t\t);\n\t\t} else if ( isAppender && ! disableMediaButtons ) {\n\t\t\treturn (\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tactiveOpacity={ 0.5 }\n\t\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\t\tstyle={ styles[ 'media-placeholder__appender' ] }\n\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\t\t\thitSlop={ hitSlop }\n\t\t\t\t\tonPress={ onButtonPress( open ) }\n\t\t\t\t>\n\t\t\t\t\t<View testID=\"media-placeholder-appender-icon\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ plusCircleFilled }\n\t\t\t\t\t\t\tstyle={ addMediaButtonStyle }\n\t\t\t\t\t\t\tcolor={ addMediaButtonStyle.color }\n\t\t\t\t\t\t\tsize={ addMediaButtonStyle.size }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableOpacity>\n\t\t\t);\n\t\t}\n\t};\n\n\tconst appenderStyle = usePreferredColorSchemeStyle(\n\t\tstyles.appender,\n\t\tstyles.appenderDark\n\t);\n\tconst containerSelectedStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'media-placeholder__container-selected' ],\n\t\tstyles[ 'media-placeholder__container-selected--dark' ]\n\t);\n\tconst containerStyle = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles[ 'media-placeholder__container' ],\n\t\t\tstyles[ 'media-placeholder__container--dark' ]\n\t\t),\n\t\tblockEditContext?.isSelected &&\n\t\t\t! className.includes( 'no-block-outline' ) &&\n\t\t\tcontainerSelectedStyle,\n\t];\n\n\tif ( isAppender && disableMediaButtons ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<View style={ { flex: 1 } }>\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tonSelect={ setMedia }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t__experimentalOnlyMediaLibrary={\n\t\t\t\t\t__experimentalOnlyMediaLibrary\n\t\t\t\t}\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tisReplacingMedia={ false }\n\t\t\t\tautoOpen={ autoOpenMediaUpload }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tcontainerStyle,\n\t\t\t\t\t\t\t\t\theight && { height },\n\t\t\t\t\t\t\t\t\tbackgroundColor && { backgroundColor },\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tisAppender && appenderStyle,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t{ ! hideContent && renderContent( open ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t</View>\n\t);\n}\n\nexport default MediaPlaceholder;\n"],"mappings":"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"}
@@ -155,7 +155,7 @@ const MediaReplaceFlow = ({
155
155
  uploadFiles(event, onClose);
156
156
  },
157
157
  accept: accept,
158
- multiple: multiple,
158
+ multiple: !!multiple,
159
159
  render: ({
160
160
  openFileDialog
161
161
  }) => {
@@ -179,8 +179,7 @@ const MediaReplaceFlow = ({
179
179
  }, (0, _element.createElement)("span", {
180
180
  className: "block-editor-media-replace-flow__image-url-label"
181
181
  }, (0, _i18n.__)('Current media URL:')), (0, _element.createElement)(_components.Tooltip, {
182
- text: mediaURL,
183
- position: "bottom"
182
+ text: mediaURL
184
183
  }, (0, _element.createElement)("div", null, (0, _element.createElement)(_linkControl.default, {
185
184
  value: {
186
185
  url: mediaURL
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_i18n","_a11y","_components","_data","_keycodes","_icons","_compose","_dom","_notices","_mediaUpload","_check","_linkControl","_store","noop","uniqueId","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onError","onSelect","onSelectURL","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","createElement","Dropdown","contentClassName","renderToggle","isOpen","onToggle","ToolbarButton","ref","onClick","onKeyDown","renderContent","onClose","Fragment","NavigableMenu","className","default","value","render","open","MenuItem","icon","mediaIcon","FormFileUpload","onChange","openFileDialog","upload","postFeaturedImage","isPressed","classnames","Tooltip","text","position","url","settings","showSuggestions","current","focus","_default","compose","withDispatch","dispatch","noticesStore","withFilters","exports"],"sources":["@wordpress/block-editor/src/components/media-replace-flow/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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\tTooltip,\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\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 afer 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{ 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={ classnames(\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<Tooltip text={ mediaURL } position=\"bottom\">\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\n\t\t\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\t\tonSelectURL( url );\n\t\t\t\t\t\t\t\t\t\t\teditMediaButtonRef.current.focus();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</Tooltip>\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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"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_i18n","_a11y","_components","_data","_keycodes","_icons","_compose","_dom","_notices","_mediaUpload","_check","_linkControl","_store","noop","uniqueId","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onError","onSelect","onSelectURL","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","createElement","Dropdown","contentClassName","renderToggle","isOpen","onToggle","ToolbarButton","ref","onClick","onKeyDown","renderContent","onClose","Fragment","NavigableMenu","className","default","value","render","open","MenuItem","icon","mediaIcon","FormFileUpload","onChange","openFileDialog","upload","postFeaturedImage","isPressed","classnames","Tooltip","text","url","settings","showSuggestions","current","focus","_default","compose","withDispatch","dispatch","noticesStore","withFilters","exports"],"sources":["@wordpress/block-editor/src/components/media-replace-flow/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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\tTooltip,\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\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 afer 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{ 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={ classnames(\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<Tooltip text={ mediaURL }>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\n\t\t\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\t\tonSelectURL( url );\n\t\t\t\t\t\t\t\t\t\t\teditMediaButtonRef.current.focus();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</Tooltip>\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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"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OPTION_WORDPRESS_MEDIA_LIBRARY = exports.OPTION_TAKE_VIDEO = exports.OPTION_TAKE_PHOTO_OR_VIDEO = exports.OPTION_TAKE_PHOTO = exports.OPTION_INSERT_FROM_URL = exports.MEDIA_TYPE_VIDEO = exports.MEDIA_TYPE_IMAGE = exports.MEDIA_TYPE_AUDIO = exports.MEDIA_TYPE_ANY = void 0;
7
+ var _i18n = require("@wordpress/i18n");
8
+ /**
9
+ * WordPress dependencies
10
+ */
11
+
12
+ const MEDIA_TYPE_IMAGE = 'image';
13
+ exports.MEDIA_TYPE_IMAGE = MEDIA_TYPE_IMAGE;
14
+ const MEDIA_TYPE_VIDEO = 'video';
15
+ exports.MEDIA_TYPE_VIDEO = MEDIA_TYPE_VIDEO;
16
+ const MEDIA_TYPE_AUDIO = 'audio';
17
+ exports.MEDIA_TYPE_AUDIO = MEDIA_TYPE_AUDIO;
18
+ const MEDIA_TYPE_ANY = 'any';
19
+ exports.MEDIA_TYPE_ANY = MEDIA_TYPE_ANY;
20
+ const OPTION_TAKE_VIDEO = (0, _i18n.__)('Take a Video');
21
+ exports.OPTION_TAKE_VIDEO = OPTION_TAKE_VIDEO;
22
+ const OPTION_TAKE_PHOTO = (0, _i18n.__)('Take a Photo');
23
+ exports.OPTION_TAKE_PHOTO = OPTION_TAKE_PHOTO;
24
+ const OPTION_TAKE_PHOTO_OR_VIDEO = (0, _i18n.__)('Take a Photo or Video');
25
+ exports.OPTION_TAKE_PHOTO_OR_VIDEO = OPTION_TAKE_PHOTO_OR_VIDEO;
26
+ const OPTION_INSERT_FROM_URL = (0, _i18n.__)('Insert from URL');
27
+ exports.OPTION_INSERT_FROM_URL = OPTION_INSERT_FROM_URL;
28
+ const OPTION_WORDPRESS_MEDIA_LIBRARY = (0, _i18n.__)('WordPress Media Library');
29
+ exports.OPTION_WORDPRESS_MEDIA_LIBRARY = OPTION_WORDPRESS_MEDIA_LIBRARY;
30
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","MEDIA_TYPE_IMAGE","exports","MEDIA_TYPE_VIDEO","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","OPTION_TAKE_VIDEO","__","OPTION_TAKE_PHOTO","OPTION_TAKE_PHOTO_OR_VIDEO","OPTION_INSERT_FROM_URL","OPTION_WORDPRESS_MEDIA_LIBRARY"],"sources":["@wordpress/block-editor/src/components/media-upload/constants.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport const MEDIA_TYPE_IMAGE = 'image';\nexport const MEDIA_TYPE_VIDEO = 'video';\nexport const MEDIA_TYPE_AUDIO = 'audio';\nexport const MEDIA_TYPE_ANY = 'any';\n\nexport const OPTION_TAKE_VIDEO = __( 'Take a Video' );\nexport const OPTION_TAKE_PHOTO = __( 'Take a Photo' );\nexport const OPTION_TAKE_PHOTO_OR_VIDEO = __( 'Take a Photo or Video' );\nexport const OPTION_INSERT_FROM_URL = __( 'Insert from URL' );\nexport const OPTION_WORDPRESS_MEDIA_LIBRARY = __( 'WordPress Media Library' );\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAMC,gBAAgB,GAAG,OAAO;AAACC,OAAA,CAAAD,gBAAA,GAAAA,gBAAA;AACjC,MAAME,gBAAgB,GAAG,OAAO;AAACD,OAAA,CAAAC,gBAAA,GAAAA,gBAAA;AACjC,MAAMC,gBAAgB,GAAG,OAAO;AAACF,OAAA,CAAAE,gBAAA,GAAAA,gBAAA;AACjC,MAAMC,cAAc,GAAG,KAAK;AAACH,OAAA,CAAAG,cAAA,GAAAA,cAAA;AAE7B,MAAMC,iBAAiB,GAAG,IAAAC,QAAE,EAAE,cAAe,CAAC;AAACL,OAAA,CAAAI,iBAAA,GAAAA,iBAAA;AAC/C,MAAME,iBAAiB,GAAG,IAAAD,QAAE,EAAE,cAAe,CAAC;AAACL,OAAA,CAAAM,iBAAA,GAAAA,iBAAA;AAC/C,MAAMC,0BAA0B,GAAG,IAAAF,QAAE,EAAE,uBAAwB,CAAC;AAACL,OAAA,CAAAO,0BAAA,GAAAA,0BAAA;AACjE,MAAMC,sBAAsB,GAAG,IAAAH,QAAE,EAAE,iBAAkB,CAAC;AAACL,OAAA,CAAAQ,sBAAA,GAAAA,sBAAA;AACvD,MAAMC,8BAA8B,GAAG,IAAAJ,QAAE,EAAE,yBAA0B,CAAC;AAACL,OAAA,CAAAS,8BAAA,GAAAA,8BAAA"}