@wordpress/block-editor 14.8.1-next.cd6172eb0.0 → 14.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (954) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +8 -0
  3. package/build/autocompleters/block.js +1 -0
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/autocompleters/link.js +1 -0
  6. package/build/autocompleters/link.js.map +1 -1
  7. package/build/components/alignment-control/ui.js +1 -0
  8. package/build/components/alignment-control/ui.js.map +1 -1
  9. package/build/components/autocomplete/index.js +1 -0
  10. package/build/components/autocomplete/index.js.map +1 -1
  11. package/build/components/background-image-control/index.js +1 -0
  12. package/build/components/background-image-control/index.js.map +1 -1
  13. package/build/components/block-actions/index.js +1 -0
  14. package/build/components/block-actions/index.js.map +1 -1
  15. package/build/components/block-alignment-control/ui.js +1 -0
  16. package/build/components/block-alignment-control/ui.js.map +1 -1
  17. package/build/components/block-alignment-control/ui.native.js +1 -0
  18. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  19. package/build/components/block-alignment-control/use-available-alignments.js +1 -0
  20. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  21. package/build/components/block-breadcrumb/index.js +1 -0
  22. package/build/components/block-breadcrumb/index.js.map +1 -1
  23. package/build/components/block-compare/index.js +1 -0
  24. package/build/components/block-compare/index.js.map +1 -1
  25. package/build/components/block-controls/fill.js +1 -0
  26. package/build/components/block-controls/fill.js.map +1 -1
  27. package/build/components/block-edit/edit.js +1 -0
  28. package/build/components/block-edit/edit.js.map +1 -1
  29. package/build/components/block-edit/edit.native.js +1 -0
  30. package/build/components/block-edit/edit.native.js.map +1 -1
  31. package/build/components/block-heading-level-dropdown/index.js +1 -0
  32. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  33. package/build/components/block-heading-level-dropdown/index.native.js +1 -0
  34. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  35. package/build/components/block-inspector/index.js +1 -0
  36. package/build/components/block-inspector/index.js.map +1 -1
  37. package/build/components/block-list/block-invalid-warning.js +1 -0
  38. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  39. package/build/components/block-list/block-list-context.native.js +1 -0
  40. package/build/components/block-list/block-list-context.native.js.map +1 -1
  41. package/build/components/block-list/block.js +1 -0
  42. package/build/components/block-list/block.js.map +1 -1
  43. package/build/components/block-list/block.native.js +1 -0
  44. package/build/components/block-list/block.native.js.map +1 -1
  45. package/build/components/block-list/index.js +1 -0
  46. package/build/components/block-list/index.js.map +1 -1
  47. package/build/components/block-list/index.native.js +1 -0
  48. package/build/components/block-list/index.native.js.map +1 -1
  49. package/build/components/block-list/use-block-props/index.js +2 -3
  50. package/build/components/block-list/use-block-props/index.js.map +1 -1
  51. package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +61 -8
  52. package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.js.map +1 -1
  53. package/build/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  54. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  55. package/build/components/block-list/use-in-between-inserter.js +1 -0
  56. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  57. package/build/components/block-lock/modal.js +5 -4
  58. package/build/components/block-lock/modal.js.map +1 -1
  59. package/build/components/block-manager/category.js +1 -0
  60. package/build/components/block-manager/category.js.map +1 -1
  61. package/build/components/block-manager/checklist.js +1 -0
  62. package/build/components/block-manager/checklist.js.map +1 -1
  63. package/build/components/block-manager/index.js +1 -0
  64. package/build/components/block-manager/index.js.map +1 -1
  65. package/build/components/block-media-update-progress/index.native.js +1 -0
  66. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  67. package/build/components/block-mover/index.native.js +1 -0
  68. package/build/components/block-mover/index.native.js.map +1 -1
  69. package/build/components/block-mover/mover-description.native.js +1 -0
  70. package/build/components/block-mover/mover-description.native.js.map +1 -1
  71. package/build/components/block-parent-selector/index.js +2 -15
  72. package/build/components/block-parent-selector/index.js.map +1 -1
  73. package/build/components/block-pattern-setup/index.js +1 -0
  74. package/build/components/block-pattern-setup/index.js.map +1 -1
  75. package/build/components/block-pattern-setup/use-patterns-setup.js +1 -0
  76. package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  77. package/build/components/block-patterns-list/index.js +1 -0
  78. package/build/components/block-patterns-list/index.js.map +1 -1
  79. package/build/components/block-quick-navigation/index.js +1 -0
  80. package/build/components/block-quick-navigation/index.js.map +1 -1
  81. package/build/components/block-rename/rename-control.js +1 -0
  82. package/build/components/block-rename/rename-control.js.map +1 -1
  83. package/build/components/block-settings-menu/block-settings-dropdown.js +1 -0
  84. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  85. package/build/components/block-styles/index.js +1 -0
  86. package/build/components/block-styles/index.js.map +1 -1
  87. package/build/components/block-styles/index.native.js +1 -0
  88. package/build/components/block-styles/index.native.js.map +1 -1
  89. package/build/components/block-styles/menu-items.js +1 -0
  90. package/build/components/block-styles/menu-items.js.map +1 -1
  91. package/build/components/block-styles/preview.native.js +1 -0
  92. package/build/components/block-styles/preview.native.js.map +1 -1
  93. package/build/components/block-switcher/block-transformations-menu.js +1 -0
  94. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  95. package/build/components/block-switcher/block-transformations-menu.native.js +1 -0
  96. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  97. package/build/components/block-switcher/block-variation-transformations.js +1 -0
  98. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  99. package/build/components/block-switcher/index.js +1 -0
  100. package/build/components/block-switcher/index.js.map +1 -1
  101. package/build/components/block-switcher/pattern-transformations-menu.js +1 -0
  102. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  103. package/build/components/block-switcher/use-transformed-patterns.js +1 -0
  104. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  105. package/build/components/block-switcher/utils.js +1 -0
  106. package/build/components/block-switcher/utils.js.map +1 -1
  107. package/build/components/block-toolbar/block-toolbar-menu.native.js +1 -0
  108. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  109. package/build/components/block-toolbar/change-design.js +1 -0
  110. package/build/components/block-toolbar/change-design.js.map +1 -1
  111. package/build/components/block-toolbar/index.js +2 -1
  112. package/build/components/block-toolbar/index.js.map +1 -1
  113. package/build/components/block-tools/use-selected-block-tool-props.js +1 -0
  114. package/build/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  115. package/build/components/block-types-list/index.js +1 -0
  116. package/build/components/block-types-list/index.js.map +1 -1
  117. package/build/components/block-variation-picker/index.js +1 -0
  118. package/build/components/block-variation-picker/index.js.map +1 -1
  119. package/build/components/block-variation-picker/index.native.js +1 -0
  120. package/build/components/block-variation-picker/index.native.js.map +1 -1
  121. package/build/components/block-variation-transforms/index.js +1 -0
  122. package/build/components/block-variation-transforms/index.js.map +1 -1
  123. package/build/components/block-vertical-alignment-control/ui.js +1 -0
  124. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  125. package/build/components/border-radius-control/index.js +1 -0
  126. package/build/components/border-radius-control/index.js.map +1 -1
  127. package/build/components/border-radius-control/input-controls.js +1 -0
  128. package/build/components/border-radius-control/input-controls.js.map +1 -1
  129. package/build/components/border-radius-control/utils.js +1 -0
  130. package/build/components/border-radius-control/utils.js.map +1 -1
  131. package/build/components/colors/utils.js +1 -0
  132. package/build/components/colors/utils.js.map +1 -1
  133. package/build/components/colors/with-colors.js +1 -0
  134. package/build/components/colors/with-colors.js.map +1 -1
  135. package/build/components/colors-gradients/dropdown.js +1 -0
  136. package/build/components/colors-gradients/dropdown.js.map +1 -1
  137. package/build/components/colors-gradients/panel-color-gradient-settings.js +1 -0
  138. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  139. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +1 -0
  140. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  141. package/build/components/convert-to-group-buttons/toolbar.js +1 -0
  142. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  143. package/build/components/date-format-picker/index.js +1 -0
  144. package/build/components/date-format-picker/index.js.map +1 -1
  145. package/build/components/dimensions-tool/scale-tool.js +1 -0
  146. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  147. package/build/components/duotone/utils.js +1 -0
  148. package/build/components/duotone/utils.js.map +1 -1
  149. package/build/components/editor-styles/index.js +1 -0
  150. package/build/components/editor-styles/index.js.map +1 -1
  151. package/build/components/font-appearance-control/index.js +1 -0
  152. package/build/components/font-appearance-control/index.js.map +1 -1
  153. package/build/components/font-family/index.js +1 -0
  154. package/build/components/font-family/index.js.map +1 -1
  155. package/build/components/font-sizes/with-font-sizes.js +1 -0
  156. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  157. package/build/components/global-styles/border-panel.js +1 -0
  158. package/build/components/global-styles/border-panel.js.map +1 -1
  159. package/build/components/global-styles/color-panel.js +25 -8
  160. package/build/components/global-styles/color-panel.js.map +1 -1
  161. package/build/components/global-styles/color-panel.native.js +1 -0
  162. package/build/components/global-styles/color-panel.native.js.map +1 -1
  163. package/build/components/global-styles/dimensions-panel.js +1 -0
  164. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  165. package/build/components/global-styles/filters-panel.js +3 -2
  166. package/build/components/global-styles/filters-panel.js.map +1 -1
  167. package/build/components/global-styles/get-global-styles-changes.js +1 -0
  168. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  169. package/build/components/global-styles/shadow-panel-components.js +1 -0
  170. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  171. package/build/components/global-styles/typography-utils.js +1 -0
  172. package/build/components/global-styles/typography-utils.js.map +1 -1
  173. package/build/components/global-styles/use-global-styles-context.native.js +1 -0
  174. package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
  175. package/build/components/global-styles/use-global-styles-output.js +2 -1
  176. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  177. package/build/components/global-styles/utils.js +1 -0
  178. package/build/components/global-styles/utils.js.map +1 -1
  179. package/build/components/grid/grid-visualizer.js +1 -0
  180. package/build/components/grid/grid-visualizer.js.map +1 -1
  181. package/build/components/grid/use-grid-layout-sync.js +1 -0
  182. package/build/components/grid/use-grid-layout-sync.js.map +1 -1
  183. package/build/components/grid/utils.js +1 -0
  184. package/build/components/grid/utils.js.map +1 -1
  185. package/build/components/iframe/get-compatibility-styles.js +1 -0
  186. package/build/components/iframe/get-compatibility-styles.js.map +1 -1
  187. package/build/components/image-editor/aspect-ratio-dropdown.js +1 -0
  188. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  189. package/build/components/index.js +15 -8
  190. package/build/components/index.js.map +1 -1
  191. package/build/components/inner-blocks/use-block-context.js +1 -0
  192. package/build/components/inner-blocks/use-block-context.js.map +1 -1
  193. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -0
  194. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  195. package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -0
  196. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  197. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -0
  198. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  199. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -0
  200. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  201. package/build/components/inserter/block-types-tab.js +2 -1
  202. package/build/components/inserter/block-types-tab.js.map +1 -1
  203. package/build/components/inserter/block-types-tab.native.js +1 -0
  204. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  205. package/build/components/inserter/category-tabs/index.js +1 -0
  206. package/build/components/inserter/category-tabs/index.js.map +1 -1
  207. package/build/components/inserter/hooks/use-block-type-impressions.native.js +1 -0
  208. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  209. package/build/components/inserter/hooks/use-patterns-state.js +1 -0
  210. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  211. package/build/components/inserter/index.js +1 -0
  212. package/build/components/inserter/index.js.map +1 -1
  213. package/build/components/inserter/index.native.js +1 -0
  214. package/build/components/inserter/index.native.js.map +1 -1
  215. package/build/components/inserter/media-tab/hooks.js +1 -0
  216. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  217. package/build/components/inserter/media-tab/media-list.js +1 -0
  218. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  219. package/build/components/inserter/media-tab/media-tab.js +1 -0
  220. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  221. package/build/components/inserter/menu.js +1 -0
  222. package/build/components/inserter/menu.js.map +1 -1
  223. package/build/components/inserter/mobile-tab-navigation.js +1 -0
  224. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  225. package/build/components/inserter/search-items.js +1 -0
  226. package/build/components/inserter/search-items.js.map +1 -1
  227. package/build/components/inserter/search-results.js +1 -0
  228. package/build/components/inserter/search-results.js.map +1 -1
  229. package/build/components/inserter/tabs.native.js +1 -0
  230. package/build/components/inserter/tabs.native.js.map +1 -1
  231. package/build/components/inserter/utils.native.js +1 -0
  232. package/build/components/inserter/utils.native.js.map +1 -1
  233. package/build/components/inspector-controls/block-support-tools-panel.js +1 -0
  234. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  235. package/build/components/inspector-controls/fill.js +1 -0
  236. package/build/components/inspector-controls/fill.js.map +1 -1
  237. package/build/components/inspector-controls/slot.js +2 -13
  238. package/build/components/inspector-controls/slot.js.map +1 -1
  239. package/build/components/inspector-controls-tabs/index.js +1 -0
  240. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  241. package/build/components/inspector-controls-tabs/position-controls-panel.js +1 -0
  242. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  243. package/build/components/inspector-popover-header/index.js +1 -0
  244. package/build/components/inspector-popover-header/index.js.map +1 -1
  245. package/build/components/justify-content-control/ui.js +1 -0
  246. package/build/components/justify-content-control/ui.js.map +1 -1
  247. package/build/components/link-control/index.js +13 -1
  248. package/build/components/link-control/index.js.map +1 -1
  249. package/build/components/link-control/search-input.js +11 -1
  250. package/build/components/link-control/search-input.js.map +1 -1
  251. package/build/components/link-control/search-item.js +12 -1
  252. package/build/components/link-control/search-item.js.map +1 -1
  253. package/build/components/link-control/search-results.js +13 -1
  254. package/build/components/link-control/search-results.js.map +1 -1
  255. package/build/components/link-control/settings.js +1 -0
  256. package/build/components/link-control/settings.js.map +1 -1
  257. package/build/components/link-control/use-internal-value.js +1 -0
  258. package/build/components/link-control/use-internal-value.js.map +1 -1
  259. package/build/components/link-control/use-search-handler.js +1 -0
  260. package/build/components/link-control/use-search-handler.js.map +1 -1
  261. package/build/components/list-view/block-select-button.js +1 -0
  262. package/build/components/list-view/block-select-button.js.map +1 -1
  263. package/build/components/list-view/block.js +1 -0
  264. package/build/components/list-view/block.js.map +1 -1
  265. package/build/components/list-view/branch.js +1 -0
  266. package/build/components/list-view/branch.js.map +1 -1
  267. package/build/components/list-view/index.js +1 -0
  268. package/build/components/list-view/index.js.map +1 -1
  269. package/build/components/list-view/use-block-selection.js +1 -0
  270. package/build/components/list-view/use-block-selection.js.map +1 -1
  271. package/build/components/list-view/use-clipboard-handler.js +1 -0
  272. package/build/components/list-view/use-clipboard-handler.js.map +1 -1
  273. package/build/components/list-view/use-list-view-block-indexes.js +1 -0
  274. package/build/components/list-view/use-list-view-block-indexes.js.map +1 -1
  275. package/build/components/list-view/use-list-view-drop-zone.js +1 -0
  276. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  277. package/build/components/list-view/utils.js +1 -0
  278. package/build/components/list-view/utils.js.map +1 -1
  279. package/build/components/media-placeholder/index.js +1 -0
  280. package/build/components/media-placeholder/index.js.map +1 -1
  281. package/build/components/media-placeholder/index.native.js +1 -0
  282. package/build/components/media-placeholder/index.native.js.map +1 -1
  283. package/build/components/media-replace-flow/index.js +1 -0
  284. package/build/components/media-replace-flow/index.js.map +1 -1
  285. package/build/components/media-upload/index.native.js +1 -0
  286. package/build/components/media-upload/index.native.js.map +1 -1
  287. package/build/components/multi-selection-inspector/index.js +9 -25
  288. package/build/components/multi-selection-inspector/index.js.map +1 -1
  289. package/build/components/navigable-toolbar/index.js +1 -0
  290. package/build/components/navigable-toolbar/index.js.map +1 -1
  291. package/build/components/panel-color-settings/index.js +1 -0
  292. package/build/components/panel-color-settings/index.js.map +1 -1
  293. package/build/components/provider/use-block-sync.js +1 -0
  294. package/build/components/provider/use-block-sync.js.map +1 -1
  295. package/build/components/responsive-block-control/index.js +1 -0
  296. package/build/components/responsive-block-control/index.js.map +1 -1
  297. package/build/components/rich-text/embed-handler-picker.native.js +1 -0
  298. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  299. package/build/components/rich-text/event-listeners/before-input-rules.js +1 -0
  300. package/build/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
  301. package/build/components/rich-text/event-listeners/index.js +1 -0
  302. package/build/components/rich-text/event-listeners/index.js.map +1 -1
  303. package/build/components/rich-text/event-listeners/input-rules.js +1 -0
  304. package/build/components/rich-text/event-listeners/input-rules.js.map +1 -1
  305. package/build/components/rich-text/event-listeners/paste-handler.js +1 -0
  306. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  307. package/build/components/rich-text/file-paste-handler.native.js +1 -0
  308. package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
  309. package/build/components/rich-text/format-edit.js +1 -0
  310. package/build/components/rich-text/format-edit.js.map +1 -1
  311. package/build/components/rich-text/format-toolbar/index.js +1 -0
  312. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  313. package/build/components/rich-text/index.js +1 -0
  314. package/build/components/rich-text/index.js.map +1 -1
  315. package/build/components/rich-text/index.native.js +1 -0
  316. package/build/components/rich-text/index.native.js.map +1 -1
  317. package/build/components/rich-text/multiline.js +1 -0
  318. package/build/components/rich-text/multiline.js.map +1 -1
  319. package/build/components/rich-text/native/format-edit.js +1 -0
  320. package/build/components/rich-text/native/format-edit.js.map +1 -1
  321. package/build/components/rich-text/native/get-format-colors.native.js +1 -0
  322. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  323. package/build/components/rich-text/native/index.native.js +1 -0
  324. package/build/components/rich-text/native/index.native.js.map +1 -1
  325. package/build/components/rich-text/native/toolbar-button-with-options.native.js +1 -0
  326. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  327. package/build/components/rich-text/native/use-format-types.js +1 -0
  328. package/build/components/rich-text/native/use-format-types.js.map +1 -1
  329. package/build/components/rich-text/use-format-types.js +1 -0
  330. package/build/components/rich-text/use-format-types.js.map +1 -1
  331. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -0
  332. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  333. package/build/components/spacing-sizes-control/input-controls/axial.js +1 -0
  334. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  335. package/build/components/spacing-sizes-control/input-controls/separated.js +1 -0
  336. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  337. package/build/components/spacing-sizes-control/input-controls/single.js +1 -0
  338. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  339. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -0
  340. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  341. package/build/components/spacing-sizes-control/utils.js +1 -0
  342. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  343. package/build/components/tabbed-sidebar/index.js +1 -0
  344. package/build/components/tabbed-sidebar/index.js.map +1 -1
  345. package/build/components/text-alignment-control/index.js +1 -0
  346. package/build/components/text-alignment-control/index.js.map +1 -1
  347. package/build/components/text-decoration-control/index.js +1 -0
  348. package/build/components/text-decoration-control/index.js.map +1 -1
  349. package/build/components/text-transform-control/index.js +1 -0
  350. package/build/components/text-transform-control/index.js.map +1 -1
  351. package/build/components/unsupported-block-details/index.native.js +1 -0
  352. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  353. package/build/components/url-input/index.js +1 -0
  354. package/build/components/url-input/index.js.map +1 -1
  355. package/build/components/url-popover/image-url-input-ui.js +1 -0
  356. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  357. package/build/components/use-block-commands/index.js +1 -0
  358. package/build/components/use-block-commands/index.js.map +1 -1
  359. package/build/components/use-block-drop-zone/index.js +1 -0
  360. package/build/components/use-block-drop-zone/index.js.map +1 -1
  361. package/build/components/use-block-drop-zone/index.native.js +1 -0
  362. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  363. package/build/components/use-flash-editable-blocks/index.js +1 -0
  364. package/build/components/use-flash-editable-blocks/index.js.map +1 -1
  365. package/build/components/use-on-block-drop/index.js +1 -0
  366. package/build/components/use-on-block-drop/index.js.map +1 -1
  367. package/build/components/use-on-block-drop/index.native.js +1 -0
  368. package/build/components/use-on-block-drop/index.native.js.map +1 -1
  369. package/build/components/use-paste-styles/index.js +1 -0
  370. package/build/components/use-paste-styles/index.js.map +1 -1
  371. package/build/components/warning/index.js +3 -3
  372. package/build/components/warning/index.js.map +1 -1
  373. package/build/components/writing-flow/use-arrow-nav.js +1 -0
  374. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  375. package/build/components/writing-flow/use-clipboard-handler.js +1 -0
  376. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  377. package/build/components/writing-flow/use-input.js +1 -0
  378. package/build/components/writing-flow/use-input.js.map +1 -1
  379. package/build/components/writing-flow/use-tab-nav.js +1 -0
  380. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  381. package/build/components/writing-flow/utils.js +1 -0
  382. package/build/components/writing-flow/utils.js.map +1 -1
  383. package/build/components/writing-mode-control/index.js +1 -0
  384. package/build/components/writing-mode-control/index.js.map +1 -1
  385. package/build/hooks/align.js +1 -0
  386. package/build/hooks/align.js.map +1 -1
  387. package/build/hooks/align.native.js +1 -0
  388. package/build/hooks/align.native.js.map +1 -1
  389. package/build/hooks/block-bindings.js +1 -0
  390. package/build/hooks/block-bindings.js.map +1 -1
  391. package/build/hooks/block-hooks.js +1 -0
  392. package/build/hooks/block-hooks.js.map +1 -1
  393. package/build/hooks/block-style-variation.js +1 -0
  394. package/build/hooks/block-style-variation.js.map +1 -1
  395. package/build/hooks/border.js +1 -0
  396. package/build/hooks/border.js.map +1 -1
  397. package/build/hooks/duotone.js +1 -0
  398. package/build/hooks/duotone.js.map +1 -1
  399. package/build/hooks/index.js +1 -0
  400. package/build/hooks/index.js.map +1 -1
  401. package/build/hooks/layout.js +1 -0
  402. package/build/hooks/layout.js.map +1 -1
  403. package/build/hooks/position.js +1 -0
  404. package/build/hooks/position.js.map +1 -1
  405. package/build/hooks/style.js +2 -1
  406. package/build/hooks/style.js.map +1 -1
  407. package/build/hooks/supports.js +1 -0
  408. package/build/hooks/supports.js.map +1 -1
  409. package/build/hooks/text-align.js +1 -0
  410. package/build/hooks/text-align.js.map +1 -1
  411. package/build/hooks/typography.js +1 -0
  412. package/build/hooks/typography.js.map +1 -1
  413. package/build/hooks/use-bindings-attributes.js +1 -0
  414. package/build/hooks/use-bindings-attributes.js.map +1 -1
  415. package/build/hooks/use-zoom-out.js +47 -14
  416. package/build/hooks/use-zoom-out.js.map +1 -1
  417. package/build/hooks/utils.js +1 -0
  418. package/build/hooks/utils.js.map +1 -1
  419. package/build/layouts/constrained.js +1 -0
  420. package/build/layouts/constrained.js.map +1 -1
  421. package/build/layouts/flex.js +1 -0
  422. package/build/layouts/flex.js.map +1 -1
  423. package/build/layouts/flow.js +1 -0
  424. package/build/layouts/flow.js.map +1 -1
  425. package/build/layouts/index.js +1 -0
  426. package/build/layouts/index.js.map +1 -1
  427. package/build/layouts/utils.js +1 -0
  428. package/build/layouts/utils.js.map +1 -1
  429. package/build/store/actions.js +1 -0
  430. package/build/store/actions.js.map +1 -1
  431. package/build/store/get-block-settings.js +1 -0
  432. package/build/store/get-block-settings.js.map +1 -1
  433. package/build/store/private-actions.js +1 -0
  434. package/build/store/private-actions.js.map +1 -1
  435. package/build/store/private-selectors.js +1 -0
  436. package/build/store/private-selectors.js.map +1 -1
  437. package/build/store/reducer.js +1 -0
  438. package/build/store/reducer.js.map +1 -1
  439. package/build/store/selectors.js +13 -15
  440. package/build/store/selectors.js.map +1 -1
  441. package/build/store/utils.js +1 -0
  442. package/build/store/utils.js.map +1 -1
  443. package/build/utils/block-bindings.js +1 -0
  444. package/build/utils/block-bindings.js.map +1 -1
  445. package/build/utils/get-editor-region.js +1 -0
  446. package/build/utils/get-editor-region.js.map +1 -1
  447. package/build/utils/get-font-styles-and-weights.js +1 -0
  448. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  449. package/build/utils/math.js +1 -0
  450. package/build/utils/math.js.map +1 -1
  451. package/build/utils/object.js +1 -0
  452. package/build/utils/object.js.map +1 -1
  453. package/build/utils/selection.js +1 -0
  454. package/build/utils/selection.js.map +1 -1
  455. package/build/utils/transform-styles/index.js +1 -0
  456. package/build/utils/transform-styles/index.js.map +1 -1
  457. package/build-module/autocompleters/block.js +1 -0
  458. package/build-module/autocompleters/block.js.map +1 -1
  459. package/build-module/autocompleters/link.js +1 -0
  460. package/build-module/autocompleters/link.js.map +1 -1
  461. package/build-module/components/alignment-control/ui.js +1 -0
  462. package/build-module/components/alignment-control/ui.js.map +1 -1
  463. package/build-module/components/autocomplete/index.js +1 -0
  464. package/build-module/components/autocomplete/index.js.map +1 -1
  465. package/build-module/components/background-image-control/index.js +1 -0
  466. package/build-module/components/background-image-control/index.js.map +1 -1
  467. package/build-module/components/block-actions/index.js +1 -0
  468. package/build-module/components/block-actions/index.js.map +1 -1
  469. package/build-module/components/block-alignment-control/ui.js +1 -0
  470. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  471. package/build-module/components/block-alignment-control/ui.native.js +1 -0
  472. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  473. package/build-module/components/block-alignment-control/use-available-alignments.js +1 -0
  474. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  475. package/build-module/components/block-breadcrumb/index.js +1 -0
  476. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  477. package/build-module/components/block-compare/index.js +1 -0
  478. package/build-module/components/block-compare/index.js.map +1 -1
  479. package/build-module/components/block-controls/fill.js +1 -0
  480. package/build-module/components/block-controls/fill.js.map +1 -1
  481. package/build-module/components/block-edit/edit.js +1 -0
  482. package/build-module/components/block-edit/edit.js.map +1 -1
  483. package/build-module/components/block-edit/edit.native.js +1 -0
  484. package/build-module/components/block-edit/edit.native.js.map +1 -1
  485. package/build-module/components/block-heading-level-dropdown/index.js +1 -0
  486. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  487. package/build-module/components/block-heading-level-dropdown/index.native.js +1 -0
  488. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  489. package/build-module/components/block-inspector/index.js +1 -0
  490. package/build-module/components/block-inspector/index.js.map +1 -1
  491. package/build-module/components/block-list/block-invalid-warning.js +1 -0
  492. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  493. package/build-module/components/block-list/block-list-context.native.js +1 -0
  494. package/build-module/components/block-list/block-list-context.native.js.map +1 -1
  495. package/build-module/components/block-list/block.js +1 -0
  496. package/build-module/components/block-list/block.js.map +1 -1
  497. package/build-module/components/block-list/block.native.js +1 -0
  498. package/build-module/components/block-list/block.native.js.map +1 -1
  499. package/build-module/components/block-list/index.js +1 -0
  500. package/build-module/components/block-list/index.js.map +1 -1
  501. package/build-module/components/block-list/index.native.js +1 -0
  502. package/build-module/components/block-list/index.native.js.map +1 -1
  503. package/build-module/components/block-list/use-block-props/index.js +2 -3
  504. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  505. package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +60 -8
  506. package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.js.map +1 -1
  507. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  508. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  509. package/build-module/components/block-list/use-in-between-inserter.js +1 -0
  510. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  511. package/build-module/components/block-lock/modal.js +5 -4
  512. package/build-module/components/block-lock/modal.js.map +1 -1
  513. package/build-module/components/block-manager/category.js +1 -0
  514. package/build-module/components/block-manager/category.js.map +1 -1
  515. package/build-module/components/block-manager/checklist.js +1 -0
  516. package/build-module/components/block-manager/checklist.js.map +1 -1
  517. package/build-module/components/block-manager/index.js +1 -0
  518. package/build-module/components/block-manager/index.js.map +1 -1
  519. package/build-module/components/block-media-update-progress/index.native.js +1 -0
  520. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  521. package/build-module/components/block-mover/index.native.js +1 -0
  522. package/build-module/components/block-mover/index.native.js.map +1 -1
  523. package/build-module/components/block-mover/mover-description.native.js +1 -0
  524. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  525. package/build-module/components/block-parent-selector/index.js +2 -15
  526. package/build-module/components/block-parent-selector/index.js.map +1 -1
  527. package/build-module/components/block-pattern-setup/index.js +1 -0
  528. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  529. package/build-module/components/block-pattern-setup/use-patterns-setup.js +1 -0
  530. package/build-module/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  531. package/build-module/components/block-patterns-list/index.js +1 -0
  532. package/build-module/components/block-patterns-list/index.js.map +1 -1
  533. package/build-module/components/block-quick-navigation/index.js +1 -0
  534. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  535. package/build-module/components/block-rename/rename-control.js +1 -0
  536. package/build-module/components/block-rename/rename-control.js.map +1 -1
  537. package/build-module/components/block-settings-menu/block-settings-dropdown.js +1 -0
  538. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  539. package/build-module/components/block-styles/index.js +1 -0
  540. package/build-module/components/block-styles/index.js.map +1 -1
  541. package/build-module/components/block-styles/index.native.js +1 -0
  542. package/build-module/components/block-styles/index.native.js.map +1 -1
  543. package/build-module/components/block-styles/menu-items.js +1 -0
  544. package/build-module/components/block-styles/menu-items.js.map +1 -1
  545. package/build-module/components/block-styles/preview.native.js +1 -0
  546. package/build-module/components/block-styles/preview.native.js.map +1 -1
  547. package/build-module/components/block-switcher/block-transformations-menu.js +1 -0
  548. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  549. package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -0
  550. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  551. package/build-module/components/block-switcher/block-variation-transformations.js +1 -0
  552. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  553. package/build-module/components/block-switcher/index.js +1 -0
  554. package/build-module/components/block-switcher/index.js.map +1 -1
  555. package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -0
  556. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  557. package/build-module/components/block-switcher/use-transformed-patterns.js +1 -0
  558. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  559. package/build-module/components/block-switcher/utils.js +1 -0
  560. package/build-module/components/block-switcher/utils.js.map +1 -1
  561. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -0
  562. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  563. package/build-module/components/block-toolbar/change-design.js +1 -0
  564. package/build-module/components/block-toolbar/change-design.js.map +1 -1
  565. package/build-module/components/block-toolbar/index.js +2 -1
  566. package/build-module/components/block-toolbar/index.js.map +1 -1
  567. package/build-module/components/block-tools/use-selected-block-tool-props.js +1 -0
  568. package/build-module/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  569. package/build-module/components/block-types-list/index.js +1 -0
  570. package/build-module/components/block-types-list/index.js.map +1 -1
  571. package/build-module/components/block-variation-picker/index.js +1 -0
  572. package/build-module/components/block-variation-picker/index.js.map +1 -1
  573. package/build-module/components/block-variation-picker/index.native.js +1 -0
  574. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  575. package/build-module/components/block-variation-transforms/index.js +1 -0
  576. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  577. package/build-module/components/block-vertical-alignment-control/ui.js +1 -0
  578. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  579. package/build-module/components/border-radius-control/index.js +1 -0
  580. package/build-module/components/border-radius-control/index.js.map +1 -1
  581. package/build-module/components/border-radius-control/input-controls.js +1 -0
  582. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  583. package/build-module/components/border-radius-control/utils.js +1 -0
  584. package/build-module/components/border-radius-control/utils.js.map +1 -1
  585. package/build-module/components/colors/utils.js +1 -0
  586. package/build-module/components/colors/utils.js.map +1 -1
  587. package/build-module/components/colors/with-colors.js +1 -0
  588. package/build-module/components/colors/with-colors.js.map +1 -1
  589. package/build-module/components/colors-gradients/dropdown.js +1 -0
  590. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  591. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +1 -0
  592. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  593. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +1 -0
  594. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  595. package/build-module/components/convert-to-group-buttons/toolbar.js +1 -0
  596. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  597. package/build-module/components/date-format-picker/index.js +1 -0
  598. package/build-module/components/date-format-picker/index.js.map +1 -1
  599. package/build-module/components/dimensions-tool/scale-tool.js +1 -0
  600. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  601. package/build-module/components/duotone/utils.js +1 -0
  602. package/build-module/components/duotone/utils.js.map +1 -1
  603. package/build-module/components/editor-styles/index.js +1 -0
  604. package/build-module/components/editor-styles/index.js.map +1 -1
  605. package/build-module/components/font-appearance-control/index.js +1 -0
  606. package/build-module/components/font-appearance-control/index.js.map +1 -1
  607. package/build-module/components/font-family/index.js +1 -0
  608. package/build-module/components/font-family/index.js.map +1 -1
  609. package/build-module/components/font-sizes/with-font-sizes.js +1 -0
  610. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  611. package/build-module/components/global-styles/border-panel.js +1 -0
  612. package/build-module/components/global-styles/border-panel.js.map +1 -1
  613. package/build-module/components/global-styles/color-panel.js +27 -10
  614. package/build-module/components/global-styles/color-panel.js.map +1 -1
  615. package/build-module/components/global-styles/color-panel.native.js +1 -0
  616. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  617. package/build-module/components/global-styles/dimensions-panel.js +1 -0
  618. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  619. package/build-module/components/global-styles/filters-panel.js +4 -3
  620. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  621. package/build-module/components/global-styles/get-global-styles-changes.js +1 -0
  622. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  623. package/build-module/components/global-styles/shadow-panel-components.js +1 -0
  624. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  625. package/build-module/components/global-styles/typography-utils.js +1 -0
  626. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  627. package/build-module/components/global-styles/use-global-styles-context.native.js +1 -0
  628. package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
  629. package/build-module/components/global-styles/use-global-styles-output.js +2 -1
  630. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  631. package/build-module/components/global-styles/utils.js +1 -0
  632. package/build-module/components/global-styles/utils.js.map +1 -1
  633. package/build-module/components/grid/grid-visualizer.js +1 -0
  634. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  635. package/build-module/components/grid/use-grid-layout-sync.js +1 -0
  636. package/build-module/components/grid/use-grid-layout-sync.js.map +1 -1
  637. package/build-module/components/grid/utils.js +1 -0
  638. package/build-module/components/grid/utils.js.map +1 -1
  639. package/build-module/components/iframe/get-compatibility-styles.js +1 -0
  640. package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
  641. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -0
  642. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  643. package/build-module/components/index.js +4 -4
  644. package/build-module/components/index.js.map +1 -1
  645. package/build-module/components/inner-blocks/use-block-context.js +1 -0
  646. package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
  647. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -0
  648. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  649. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +1 -0
  650. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  651. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -0
  652. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  653. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -0
  654. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  655. package/build-module/components/inserter/block-types-tab.js +2 -1
  656. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  657. package/build-module/components/inserter/block-types-tab.native.js +1 -0
  658. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  659. package/build-module/components/inserter/category-tabs/index.js +1 -0
  660. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  661. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +1 -0
  662. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  663. package/build-module/components/inserter/hooks/use-patterns-state.js +1 -0
  664. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  665. package/build-module/components/inserter/index.js +1 -0
  666. package/build-module/components/inserter/index.js.map +1 -1
  667. package/build-module/components/inserter/index.native.js +1 -0
  668. package/build-module/components/inserter/index.native.js.map +1 -1
  669. package/build-module/components/inserter/media-tab/hooks.js +1 -0
  670. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  671. package/build-module/components/inserter/media-tab/media-list.js +1 -0
  672. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  673. package/build-module/components/inserter/media-tab/media-tab.js +1 -0
  674. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  675. package/build-module/components/inserter/menu.js +1 -0
  676. package/build-module/components/inserter/menu.js.map +1 -1
  677. package/build-module/components/inserter/mobile-tab-navigation.js +1 -0
  678. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  679. package/build-module/components/inserter/search-items.js +1 -0
  680. package/build-module/components/inserter/search-items.js.map +1 -1
  681. package/build-module/components/inserter/search-results.js +1 -0
  682. package/build-module/components/inserter/search-results.js.map +1 -1
  683. package/build-module/components/inserter/tabs.native.js +1 -0
  684. package/build-module/components/inserter/tabs.native.js.map +1 -1
  685. package/build-module/components/inserter/utils.native.js +1 -0
  686. package/build-module/components/inserter/utils.native.js.map +1 -1
  687. package/build-module/components/inspector-controls/block-support-tools-panel.js +1 -0
  688. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  689. package/build-module/components/inspector-controls/fill.js +1 -0
  690. package/build-module/components/inspector-controls/fill.js.map +1 -1
  691. package/build-module/components/inspector-controls/slot.js +3 -14
  692. package/build-module/components/inspector-controls/slot.js.map +1 -1
  693. package/build-module/components/inspector-controls-tabs/index.js +1 -0
  694. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  695. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +1 -0
  696. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  697. package/build-module/components/inspector-popover-header/index.js +1 -0
  698. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  699. package/build-module/components/justify-content-control/ui.js +1 -0
  700. package/build-module/components/justify-content-control/ui.js.map +1 -1
  701. package/build-module/components/link-control/index.js +11 -0
  702. package/build-module/components/link-control/index.js.map +1 -1
  703. package/build-module/components/link-control/search-input.js +9 -0
  704. package/build-module/components/link-control/search-input.js.map +1 -1
  705. package/build-module/components/link-control/search-item.js +9 -0
  706. package/build-module/components/link-control/search-item.js.map +1 -1
  707. package/build-module/components/link-control/search-results.js +12 -1
  708. package/build-module/components/link-control/search-results.js.map +1 -1
  709. package/build-module/components/link-control/settings.js +1 -0
  710. package/build-module/components/link-control/settings.js.map +1 -1
  711. package/build-module/components/link-control/use-internal-value.js +1 -0
  712. package/build-module/components/link-control/use-internal-value.js.map +1 -1
  713. package/build-module/components/link-control/use-search-handler.js +1 -0
  714. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  715. package/build-module/components/list-view/block-select-button.js +1 -0
  716. package/build-module/components/list-view/block-select-button.js.map +1 -1
  717. package/build-module/components/list-view/block.js +1 -0
  718. package/build-module/components/list-view/block.js.map +1 -1
  719. package/build-module/components/list-view/branch.js +1 -0
  720. package/build-module/components/list-view/branch.js.map +1 -1
  721. package/build-module/components/list-view/index.js +1 -0
  722. package/build-module/components/list-view/index.js.map +1 -1
  723. package/build-module/components/list-view/use-block-selection.js +1 -0
  724. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  725. package/build-module/components/list-view/use-clipboard-handler.js +1 -0
  726. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
  727. package/build-module/components/list-view/use-list-view-block-indexes.js +1 -0
  728. package/build-module/components/list-view/use-list-view-block-indexes.js.map +1 -1
  729. package/build-module/components/list-view/use-list-view-drop-zone.js +1 -0
  730. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  731. package/build-module/components/list-view/utils.js +1 -0
  732. package/build-module/components/list-view/utils.js.map +1 -1
  733. package/build-module/components/media-placeholder/index.js +1 -0
  734. package/build-module/components/media-placeholder/index.js.map +1 -1
  735. package/build-module/components/media-placeholder/index.native.js +1 -0
  736. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  737. package/build-module/components/media-replace-flow/index.js +1 -0
  738. package/build-module/components/media-replace-flow/index.js.map +1 -1
  739. package/build-module/components/media-upload/index.native.js +1 -0
  740. package/build-module/components/media-upload/index.native.js.map +1 -1
  741. package/build-module/components/multi-selection-inspector/index.js +9 -25
  742. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  743. package/build-module/components/navigable-toolbar/index.js +1 -0
  744. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  745. package/build-module/components/panel-color-settings/index.js +1 -0
  746. package/build-module/components/panel-color-settings/index.js.map +1 -1
  747. package/build-module/components/provider/use-block-sync.js +1 -0
  748. package/build-module/components/provider/use-block-sync.js.map +1 -1
  749. package/build-module/components/responsive-block-control/index.js +1 -0
  750. package/build-module/components/responsive-block-control/index.js.map +1 -1
  751. package/build-module/components/rich-text/embed-handler-picker.native.js +1 -0
  752. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  753. package/build-module/components/rich-text/event-listeners/before-input-rules.js +1 -0
  754. package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
  755. package/build-module/components/rich-text/event-listeners/index.js +1 -0
  756. package/build-module/components/rich-text/event-listeners/index.js.map +1 -1
  757. package/build-module/components/rich-text/event-listeners/input-rules.js +1 -0
  758. package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -1
  759. package/build-module/components/rich-text/event-listeners/paste-handler.js +1 -0
  760. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  761. package/build-module/components/rich-text/file-paste-handler.native.js +1 -0
  762. package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
  763. package/build-module/components/rich-text/format-edit.js +1 -0
  764. package/build-module/components/rich-text/format-edit.js.map +1 -1
  765. package/build-module/components/rich-text/format-toolbar/index.js +1 -0
  766. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  767. package/build-module/components/rich-text/index.js +1 -0
  768. package/build-module/components/rich-text/index.js.map +1 -1
  769. package/build-module/components/rich-text/index.native.js +1 -0
  770. package/build-module/components/rich-text/index.native.js.map +1 -1
  771. package/build-module/components/rich-text/multiline.js +1 -0
  772. package/build-module/components/rich-text/multiline.js.map +1 -1
  773. package/build-module/components/rich-text/native/format-edit.js +1 -0
  774. package/build-module/components/rich-text/native/format-edit.js.map +1 -1
  775. package/build-module/components/rich-text/native/get-format-colors.native.js +1 -0
  776. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  777. package/build-module/components/rich-text/native/index.native.js +1 -0
  778. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  779. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +1 -0
  780. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  781. package/build-module/components/rich-text/native/use-format-types.js +1 -0
  782. package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
  783. package/build-module/components/rich-text/use-format-types.js +1 -0
  784. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  785. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -0
  786. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  787. package/build-module/components/spacing-sizes-control/input-controls/axial.js +1 -0
  788. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  789. package/build-module/components/spacing-sizes-control/input-controls/separated.js +1 -0
  790. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  791. package/build-module/components/spacing-sizes-control/input-controls/single.js +1 -0
  792. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  793. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -0
  794. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  795. package/build-module/components/spacing-sizes-control/utils.js +1 -0
  796. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  797. package/build-module/components/tabbed-sidebar/index.js +1 -0
  798. package/build-module/components/tabbed-sidebar/index.js.map +1 -1
  799. package/build-module/components/text-alignment-control/index.js +1 -0
  800. package/build-module/components/text-alignment-control/index.js.map +1 -1
  801. package/build-module/components/text-decoration-control/index.js +1 -0
  802. package/build-module/components/text-decoration-control/index.js.map +1 -1
  803. package/build-module/components/text-transform-control/index.js +1 -0
  804. package/build-module/components/text-transform-control/index.js.map +1 -1
  805. package/build-module/components/unsupported-block-details/index.native.js +1 -0
  806. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  807. package/build-module/components/url-input/index.js +1 -0
  808. package/build-module/components/url-input/index.js.map +1 -1
  809. package/build-module/components/url-popover/image-url-input-ui.js +1 -0
  810. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  811. package/build-module/components/use-block-commands/index.js +1 -0
  812. package/build-module/components/use-block-commands/index.js.map +1 -1
  813. package/build-module/components/use-block-drop-zone/index.js +1 -0
  814. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  815. package/build-module/components/use-block-drop-zone/index.native.js +1 -0
  816. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  817. package/build-module/components/use-flash-editable-blocks/index.js +1 -0
  818. package/build-module/components/use-flash-editable-blocks/index.js.map +1 -1
  819. package/build-module/components/use-on-block-drop/index.js +1 -0
  820. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  821. package/build-module/components/use-on-block-drop/index.native.js +1 -0
  822. package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
  823. package/build-module/components/use-paste-styles/index.js +1 -0
  824. package/build-module/components/use-paste-styles/index.js.map +1 -1
  825. package/build-module/components/warning/index.js +3 -3
  826. package/build-module/components/warning/index.js.map +1 -1
  827. package/build-module/components/writing-flow/use-arrow-nav.js +1 -0
  828. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  829. package/build-module/components/writing-flow/use-clipboard-handler.js +1 -0
  830. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  831. package/build-module/components/writing-flow/use-input.js +1 -0
  832. package/build-module/components/writing-flow/use-input.js.map +1 -1
  833. package/build-module/components/writing-flow/use-tab-nav.js +1 -0
  834. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  835. package/build-module/components/writing-flow/utils.js +1 -0
  836. package/build-module/components/writing-flow/utils.js.map +1 -1
  837. package/build-module/components/writing-mode-control/index.js +1 -0
  838. package/build-module/components/writing-mode-control/index.js.map +1 -1
  839. package/build-module/hooks/align.js +1 -0
  840. package/build-module/hooks/align.js.map +1 -1
  841. package/build-module/hooks/align.native.js +1 -0
  842. package/build-module/hooks/align.native.js.map +1 -1
  843. package/build-module/hooks/block-bindings.js +1 -0
  844. package/build-module/hooks/block-bindings.js.map +1 -1
  845. package/build-module/hooks/block-hooks.js +1 -0
  846. package/build-module/hooks/block-hooks.js.map +1 -1
  847. package/build-module/hooks/block-style-variation.js +1 -0
  848. package/build-module/hooks/block-style-variation.js.map +1 -1
  849. package/build-module/hooks/border.js +1 -0
  850. package/build-module/hooks/border.js.map +1 -1
  851. package/build-module/hooks/duotone.js +1 -0
  852. package/build-module/hooks/duotone.js.map +1 -1
  853. package/build-module/hooks/index.js +1 -0
  854. package/build-module/hooks/index.js.map +1 -1
  855. package/build-module/hooks/layout.js +1 -0
  856. package/build-module/hooks/layout.js.map +1 -1
  857. package/build-module/hooks/position.js +1 -0
  858. package/build-module/hooks/position.js.map +1 -1
  859. package/build-module/hooks/style.js +2 -1
  860. package/build-module/hooks/style.js.map +1 -1
  861. package/build-module/hooks/supports.js +1 -0
  862. package/build-module/hooks/supports.js.map +1 -1
  863. package/build-module/hooks/text-align.js +1 -0
  864. package/build-module/hooks/text-align.js.map +1 -1
  865. package/build-module/hooks/typography.js +1 -0
  866. package/build-module/hooks/typography.js.map +1 -1
  867. package/build-module/hooks/use-bindings-attributes.js +1 -0
  868. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  869. package/build-module/hooks/use-zoom-out.js +48 -15
  870. package/build-module/hooks/use-zoom-out.js.map +1 -1
  871. package/build-module/hooks/utils.js +1 -0
  872. package/build-module/hooks/utils.js.map +1 -1
  873. package/build-module/layouts/constrained.js +1 -0
  874. package/build-module/layouts/constrained.js.map +1 -1
  875. package/build-module/layouts/flex.js +1 -0
  876. package/build-module/layouts/flex.js.map +1 -1
  877. package/build-module/layouts/flow.js +1 -0
  878. package/build-module/layouts/flow.js.map +1 -1
  879. package/build-module/layouts/index.js +1 -0
  880. package/build-module/layouts/index.js.map +1 -1
  881. package/build-module/layouts/utils.js +1 -0
  882. package/build-module/layouts/utils.js.map +1 -1
  883. package/build-module/store/actions.js +1 -0
  884. package/build-module/store/actions.js.map +1 -1
  885. package/build-module/store/get-block-settings.js +1 -0
  886. package/build-module/store/get-block-settings.js.map +1 -1
  887. package/build-module/store/private-actions.js +1 -0
  888. package/build-module/store/private-actions.js.map +1 -1
  889. package/build-module/store/private-selectors.js +1 -0
  890. package/build-module/store/private-selectors.js.map +1 -1
  891. package/build-module/store/reducer.js +1 -0
  892. package/build-module/store/reducer.js.map +1 -1
  893. package/build-module/store/selectors.js +13 -15
  894. package/build-module/store/selectors.js.map +1 -1
  895. package/build-module/store/utils.js +1 -0
  896. package/build-module/store/utils.js.map +1 -1
  897. package/build-module/utils/block-bindings.js +1 -0
  898. package/build-module/utils/block-bindings.js.map +1 -1
  899. package/build-module/utils/get-editor-region.js +1 -0
  900. package/build-module/utils/get-editor-region.js.map +1 -1
  901. package/build-module/utils/get-font-styles-and-weights.js +1 -0
  902. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  903. package/build-module/utils/math.js +1 -0
  904. package/build-module/utils/math.js.map +1 -1
  905. package/build-module/utils/object.js +1 -0
  906. package/build-module/utils/object.js.map +1 -1
  907. package/build-module/utils/selection.js +1 -0
  908. package/build-module/utils/selection.js.map +1 -1
  909. package/build-module/utils/transform-styles/index.js +1 -0
  910. package/build-module/utils/transform-styles/index.js.map +1 -1
  911. package/build-style/content-rtl.css +1 -1
  912. package/build-style/content.css +1 -1
  913. package/build-style/style-rtl.css +26 -48
  914. package/build-style/style.css +26 -48
  915. package/package.json +32 -32
  916. package/src/components/alignment-control/stories/aliginment-toolbar.story.js +2 -2
  917. package/src/components/alignment-control/stories/index.story.js +2 -2
  918. package/src/components/block-heading-level-dropdown/stories/index.story.js +61 -0
  919. package/src/components/block-list/use-block-props/index.js +2 -4
  920. package/src/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +64 -6
  921. package/src/components/block-lock/modal.js +4 -6
  922. package/src/components/block-parent-selector/index.js +1 -19
  923. package/src/components/block-patterns-list/stories/fixtures.js +1 -0
  924. package/src/components/block-toolbar/index.js +1 -0
  925. package/src/components/colors-gradients/style.scss +21 -0
  926. package/src/components/dimensions-tool/stories/aspect-ratio-tool.story.js +1 -1
  927. package/src/components/dimensions-tool/stories/index.story.js +1 -1
  928. package/src/components/dimensions-tool/stories/scale-tool.story.js +1 -1
  929. package/src/components/dimensions-tool/stories/width-height-tool.story.js +1 -1
  930. package/src/components/global-styles/color-panel.js +26 -7
  931. package/src/components/global-styles/filters-panel.js +3 -6
  932. package/src/components/global-styles/use-global-styles-output.js +1 -1
  933. package/src/components/index.js +7 -4
  934. package/src/components/inserter/block-types-tab.js +1 -1
  935. package/src/components/inserter/menu.js +2 -0
  936. package/src/components/inspector-controls/slot.js +3 -22
  937. package/src/components/link-control/index.js +10 -0
  938. package/src/components/link-control/search-input.js +9 -0
  939. package/src/components/link-control/search-item.js +9 -0
  940. package/src/components/link-control/search-results.js +12 -1
  941. package/src/components/multi-selection-inspector/index.js +17 -27
  942. package/src/components/multi-selection-inspector/style.scss +0 -12
  943. package/src/components/resolution-tool/stories/index.story.js +1 -1
  944. package/src/components/spacing-sizes-control/style.scss +0 -29
  945. package/src/components/text-alignment-control/stories/index.story.js +1 -1
  946. package/src/components/warning/index.js +3 -4
  947. package/src/components/warning/test/index.js +3 -1
  948. package/src/components/writing-mode-control/stories/index.story.js +56 -0
  949. package/src/hooks/style.js +1 -1
  950. package/src/hooks/test/font-size.js +15 -12
  951. package/src/hooks/use-zoom-out.js +48 -16
  952. package/src/store/selectors.js +26 -24
  953. package/src/store/test/selectors.js +1 -1
  954. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_dom","getBlockPositionDescription","position","siblingCount","level","sprintf","__","exports","getBlockPropertiesDescription","blockInformation","isLocked","positionLabel","undefined","filter","Boolean","join","isClientIdSelected","clientId","selectedBlockClientIds","Array","isArray","length","indexOf","getCommonDepthClientIds","startId","endId","startParents","endParents","startPath","endPath","depth","Math","min","start","end","focusListItem","focusClientId","treeGridElement","getFocusElement","row","querySelector","focus","focusable","find","focusElement","window","requestAnimationFrame","getDragDisplacementValues","blockIndexes","blockDropTargetIndex","blockDropPosition","firstDraggedBlockIndex","isDragged","displacement","isNesting","isAfterDraggedBlocks","thisBlockIndex"],"sources":["@wordpress/block-editor/src/components/list-view/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { focus } from '@wordpress/dom';\n\nexport const getBlockPositionDescription = ( position, siblingCount, level ) =>\n\tsprintf(\n\t\t/* translators: 1: The numerical position of the block. 2: The total number of blocks. 3. The level of nesting for the block. */\n\t\t__( 'Block %1$d of %2$d, Level %3$d.' ),\n\t\tposition,\n\t\tsiblingCount,\n\t\tlevel\n\t);\n\nexport const getBlockPropertiesDescription = ( blockInformation, isLocked ) =>\n\t[\n\t\tblockInformation?.positionLabel\n\t\t\t? `${ sprintf(\n\t\t\t\t\t// translators: %s: Position of selected block, e.g. \"Sticky\" or \"Fixed\".\n\t\t\t\t\t__( 'Position: %s' ),\n\t\t\t\t\tblockInformation.positionLabel\n\t\t\t ) }.`\n\t\t\t: undefined,\n\t\tisLocked ? __( 'This block is locked.' ) : undefined,\n\t]\n\t\t.filter( Boolean )\n\t\t.join( ' ' );\n\n/**\n * Returns true if the client ID occurs within the block selection or multi-selection,\n * or false otherwise.\n *\n * @param {string} clientId Block client ID.\n * @param {string|string[]} selectedBlockClientIds Selected block client ID, or an array of multi-selected blocks client IDs.\n *\n * @return {boolean} Whether the block is in multi-selection set.\n */\nexport const isClientIdSelected = ( clientId, selectedBlockClientIds ) =>\n\tArray.isArray( selectedBlockClientIds ) && selectedBlockClientIds.length\n\t\t? selectedBlockClientIds.indexOf( clientId ) !== -1\n\t\t: selectedBlockClientIds === clientId;\n\n/**\n * From a start and end clientId of potentially different nesting levels,\n * return the nearest-depth ids that have a common level of depth in the\n * nesting hierarchy. For multiple block selection, this ensure that the\n * selection is always at the same nesting level, and not split across\n * separate levels.\n *\n * @param {string} startId The first id of a selection.\n * @param {string} endId The end id of a selection, usually one that has been clicked on.\n * @param {string[]} startParents An array of ancestor ids for the start id, in descending order.\n * @param {string[]} endParents An array of ancestor ids for the end id, in descending order.\n * @return {Object} An object containing the start and end ids.\n */\nexport function getCommonDepthClientIds(\n\tstartId,\n\tendId,\n\tstartParents,\n\tendParents\n) {\n\tconst startPath = [ ...startParents, startId ];\n\tconst endPath = [ ...endParents, endId ];\n\tconst depth = Math.min( startPath.length, endPath.length ) - 1;\n\tconst start = startPath[ depth ];\n\tconst end = endPath[ depth ];\n\n\treturn {\n\t\tstart,\n\t\tend,\n\t};\n}\n\n/**\n * Shift focus to the list view item associated with a particular clientId.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {string} focusClientId The client ID of the block to focus.\n * @param {?HTMLElement} treeGridElement The container element to search within.\n */\nexport function focusListItem( focusClientId, treeGridElement ) {\n\tconst getFocusElement = () => {\n\t\tconst row = treeGridElement?.querySelector(\n\t\t\t`[role=row][data-block=\"${ focusClientId }\"]`\n\t\t);\n\t\tif ( ! row ) {\n\t\t\treturn null;\n\t\t}\n\t\t// Focus the first focusable in the row, which is the ListViewBlockSelectButton.\n\t\treturn focus.focusable.find( row )[ 0 ];\n\t};\n\n\tlet focusElement = getFocusElement();\n\tif ( focusElement ) {\n\t\tfocusElement.focus();\n\t} else {\n\t\t// The element hasn't been painted yet. Defer focusing on the next frame.\n\t\t// This could happen when all blocks have been deleted and the default block\n\t\t// hasn't been added to the editor yet.\n\t\twindow.requestAnimationFrame( () => {\n\t\t\tfocusElement = getFocusElement();\n\n\t\t\t// Ignore if the element still doesn't exist.\n\t\t\tif ( focusElement ) {\n\t\t\t\tfocusElement.focus();\n\t\t\t}\n\t\t} );\n\t}\n}\n\n/**\n * Get values for the block that flag whether the block should be displaced up or down,\n * whether the block is being nested, and whether the block appears after the dragged\n * blocks. These values are used to determine the class names to apply to the block.\n * The list view rows are displaced visually via CSS rules. Displacement rules:\n * - `normal`: no displacement — used to apply a translateY of `0` so that the block\n * appears in its original position, and moves to that position smoothly when dragging\n * outside of the list view area.\n * - `up`: the block should be displaced up, creating room beneath the block for the drop indicator.\n * - `down`: the block should be displaced down, creating room above the block for the drop indicator.\n *\n * @param {Object} props\n * @param {Object} props.blockIndexes The indexes of all the blocks in the list view, keyed by clientId.\n * @param {number|null|undefined} props.blockDropTargetIndex The index of the block that the user is dropping to.\n * @param {?string} props.blockDropPosition The position relative to the block that the user is dropping to.\n * @param {string} props.clientId The client id for the current block.\n * @param {?number} props.firstDraggedBlockIndex The index of the first dragged block.\n * @param {?boolean} props.isDragged Whether the current block is being dragged. Dragged blocks skip displacement.\n * @return {Object} An object containing the `displacement`, `isAfterDraggedBlocks` and `isNesting` values.\n */\nexport function getDragDisplacementValues( {\n\tblockIndexes,\n\tblockDropTargetIndex,\n\tblockDropPosition,\n\tclientId,\n\tfirstDraggedBlockIndex,\n\tisDragged,\n} ) {\n\tlet displacement;\n\tlet isNesting;\n\tlet isAfterDraggedBlocks;\n\n\tif ( ! isDragged ) {\n\t\tisNesting = false;\n\t\tconst thisBlockIndex = blockIndexes[ clientId ];\n\t\tisAfterDraggedBlocks = thisBlockIndex > firstDraggedBlockIndex;\n\n\t\t// Determine where to displace the position of the current block, relative\n\t\t// to the blocks being dragged (in their original position) and the drop target\n\t\t// (the position where a user is currently dragging the blocks to).\n\t\tif (\n\t\t\tblockDropTargetIndex !== undefined &&\n\t\t\tblockDropTargetIndex !== null &&\n\t\t\tfirstDraggedBlockIndex !== undefined\n\t\t) {\n\t\t\t// If the block is being dragged and there is a valid drop target,\n\t\t\t// determine if the block being rendered should be displaced up or down.\n\n\t\t\tif ( thisBlockIndex !== undefined ) {\n\t\t\t\tif (\n\t\t\t\t\tthisBlockIndex >= firstDraggedBlockIndex &&\n\t\t\t\t\tthisBlockIndex < blockDropTargetIndex\n\t\t\t\t) {\n\t\t\t\t\t// If the current block appears after the set of dragged blocks\n\t\t\t\t\t// (in their original position), but is before the drop target,\n\t\t\t\t\t// then the current block should be displaced up.\n\t\t\t\t\tdisplacement = 'up';\n\t\t\t\t} else if (\n\t\t\t\t\tthisBlockIndex < firstDraggedBlockIndex &&\n\t\t\t\t\tthisBlockIndex >= blockDropTargetIndex\n\t\t\t\t) {\n\t\t\t\t\t// If the current block appears before the set of dragged blocks\n\t\t\t\t\t// (in their original position), but is after the drop target,\n\t\t\t\t\t// then the current block should be displaced down.\n\t\t\t\t\tdisplacement = 'down';\n\t\t\t\t} else {\n\t\t\t\t\tdisplacement = 'normal';\n\t\t\t\t}\n\t\t\t\tisNesting =\n\t\t\t\t\ttypeof blockDropTargetIndex === 'number' &&\n\t\t\t\t\tblockDropTargetIndex - 1 === thisBlockIndex &&\n\t\t\t\t\tblockDropPosition === 'inside';\n\t\t\t}\n\t\t} else if (\n\t\t\tblockDropTargetIndex === null &&\n\t\t\tfirstDraggedBlockIndex !== undefined\n\t\t) {\n\t\t\t// A `null` value for `blockDropTargetIndex` indicates that the\n\t\t\t// drop target is outside of the valid areas within the list view.\n\t\t\t// In this case, the drag is still active, but as there is no\n\t\t\t// valid drop target, we should remove the gap indicating where\n\t\t\t// the block would be inserted.\n\t\t\tif (\n\t\t\t\tthisBlockIndex !== undefined &&\n\t\t\t\tthisBlockIndex >= firstDraggedBlockIndex\n\t\t\t) {\n\t\t\t\tdisplacement = 'up';\n\t\t\t} else {\n\t\t\t\tdisplacement = 'normal';\n\t\t\t}\n\t\t} else if (\n\t\t\tblockDropTargetIndex !== undefined &&\n\t\t\tblockDropTargetIndex !== null &&\n\t\t\tfirstDraggedBlockIndex === undefined\n\t\t) {\n\t\t\t// If the blockdrop target is defined, but there are no dragged blocks,\n\t\t\t// then the block should be displaced relative to the drop target.\n\t\t\tif ( thisBlockIndex !== undefined ) {\n\t\t\t\tif ( thisBlockIndex < blockDropTargetIndex ) {\n\t\t\t\t\tdisplacement = 'normal';\n\t\t\t\t} else {\n\t\t\t\t\tdisplacement = 'down';\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( blockDropTargetIndex === null ) {\n\t\t\tdisplacement = 'normal';\n\t\t}\n\t}\n\n\treturn {\n\t\tdisplacement,\n\t\tisNesting,\n\t\tisAfterDraggedBlocks,\n\t};\n}\n"],"mappings":";;;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIO,MAAME,2BAA2B,GAAGA,CAAEC,QAAQ,EAAEC,YAAY,EAAEC,KAAK,KACzE,IAAAC,aAAO,EACN;AACA,IAAAC,QAAE,EAAE,iCAAkC,CAAC,EACvCJ,QAAQ,EACRC,YAAY,EACZC,KACD,CAAC;AAACG,OAAA,CAAAN,2BAAA,GAAAA,2BAAA;AAEI,MAAMO,6BAA6B,GAAGA,CAAEC,gBAAgB,EAAEC,QAAQ,KACxE,CACCD,gBAAgB,EAAEE,aAAa,GAC5B,GAAI,IAAAN,aAAO;AACX;AACA,IAAAC,QAAE,EAAE,cAAe,CAAC,EACpBG,gBAAgB,CAACE,aACjB,CAAC,GAAI,GACLC,SAAS,EACZF,QAAQ,GAAG,IAAAJ,QAAE,EAAE,uBAAwB,CAAC,GAAGM,SAAS,CACpD,CACCC,MAAM,CAAEC,OAAQ,CAAC,CACjBC,IAAI,CAAE,GAAI,CAAC;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARAR,OAAA,CAAAC,6BAAA,GAAAA,6BAAA;AASO,MAAMQ,kBAAkB,GAAGA,CAAEC,QAAQ,EAAEC,sBAAsB,KACnEC,KAAK,CAACC,OAAO,CAAEF,sBAAuB,CAAC,IAAIA,sBAAsB,CAACG,MAAM,GACrEH,sBAAsB,CAACI,OAAO,CAAEL,QAAS,CAAC,KAAK,CAAC,CAAC,GACjDC,sBAAsB,KAAKD,QAAQ;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAZAV,OAAA,CAAAS,kBAAA,GAAAA,kBAAA;AAaO,SAASO,uBAAuBA,CACtCC,OAAO,EACPC,KAAK,EACLC,YAAY,EACZC,UAAU,EACT;EACD,MAAMC,SAAS,GAAG,CAAE,GAAGF,YAAY,EAAEF,OAAO,CAAE;EAC9C,MAAMK,OAAO,GAAG,CAAE,GAAGF,UAAU,EAAEF,KAAK,CAAE;EACxC,MAAMK,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAEJ,SAAS,CAACP,MAAM,EAAEQ,OAAO,CAACR,MAAO,CAAC,GAAG,CAAC;EAC9D,MAAMY,KAAK,GAAGL,SAAS,CAAEE,KAAK,CAAE;EAChC,MAAMI,GAAG,GAAGL,OAAO,CAAEC,KAAK,CAAE;EAE5B,OAAO;IACNG,KAAK;IACLC;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,aAAaA,CAAEC,aAAa,EAAEC,eAAe,EAAG;EAC/D,MAAMC,eAAe,GAAGA,CAAA,KAAM;IAC7B,MAAMC,GAAG,GAAGF,eAAe,EAAEG,aAAa,CACzC,0BAA2BJ,aAAa,IACzC,CAAC;IACD,IAAK,CAAEG,GAAG,EAAG;MACZ,OAAO,IAAI;IACZ;IACA;IACA,OAAOE,UAAK,CAACC,SAAS,CAACC,IAAI,CAAEJ,GAAI,CAAC,CAAE,CAAC,CAAE;EACxC,CAAC;EAED,IAAIK,YAAY,GAAGN,eAAe,CAAC,CAAC;EACpC,IAAKM,YAAY,EAAG;IACnBA,YAAY,CAACH,KAAK,CAAC,CAAC;EACrB,CAAC,MAAM;IACN;IACA;IACA;IACAI,MAAM,CAACC,qBAAqB,CAAE,MAAM;MACnCF,YAAY,GAAGN,eAAe,CAAC,CAAC;;MAEhC;MACA,IAAKM,YAAY,EAAG;QACnBA,YAAY,CAACH,KAAK,CAAC,CAAC;MACrB;IACD,CAAE,CAAC;EACJ;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,yBAAyBA,CAAE;EAC1CC,YAAY;EACZC,oBAAoB;EACpBC,iBAAiB;EACjBjC,QAAQ;EACRkC,sBAAsB;EACtBC;AACD,CAAC,EAAG;EACH,IAAIC,YAAY;EAChB,IAAIC,SAAS;EACb,IAAIC,oBAAoB;EAExB,IAAK,CAAEH,SAAS,EAAG;IAClBE,SAAS,GAAG,KAAK;IACjB,MAAME,cAAc,GAAGR,YAAY,CAAE/B,QAAQ,CAAE;IAC/CsC,oBAAoB,GAAGC,cAAc,GAAGL,sBAAsB;;IAE9D;IACA;IACA;IACA,IACCF,oBAAoB,KAAKrC,SAAS,IAClCqC,oBAAoB,KAAK,IAAI,IAC7BE,sBAAsB,KAAKvC,SAAS,EACnC;MACD;MACA;;MAEA,IAAK4C,cAAc,KAAK5C,SAAS,EAAG;QACnC,IACC4C,cAAc,IAAIL,sBAAsB,IACxCK,cAAc,GAAGP,oBAAoB,EACpC;UACD;UACA;UACA;UACAI,YAAY,GAAG,IAAI;QACpB,CAAC,MAAM,IACNG,cAAc,GAAGL,sBAAsB,IACvCK,cAAc,IAAIP,oBAAoB,EACrC;UACD;UACA;UACA;UACAI,YAAY,GAAG,MAAM;QACtB,CAAC,MAAM;UACNA,YAAY,GAAG,QAAQ;QACxB;QACAC,SAAS,GACR,OAAOL,oBAAoB,KAAK,QAAQ,IACxCA,oBAAoB,GAAG,CAAC,KAAKO,cAAc,IAC3CN,iBAAiB,KAAK,QAAQ;MAChC;IACD,CAAC,MAAM,IACND,oBAAoB,KAAK,IAAI,IAC7BE,sBAAsB,KAAKvC,SAAS,EACnC;MACD;MACA;MACA;MACA;MACA;MACA,IACC4C,cAAc,KAAK5C,SAAS,IAC5B4C,cAAc,IAAIL,sBAAsB,EACvC;QACDE,YAAY,GAAG,IAAI;MACpB,CAAC,MAAM;QACNA,YAAY,GAAG,QAAQ;MACxB;IACD,CAAC,MAAM,IACNJ,oBAAoB,KAAKrC,SAAS,IAClCqC,oBAAoB,KAAK,IAAI,IAC7BE,sBAAsB,KAAKvC,SAAS,EACnC;MACD;MACA;MACA,IAAK4C,cAAc,KAAK5C,SAAS,EAAG;QACnC,IAAK4C,cAAc,GAAGP,oBAAoB,EAAG;UAC5CI,YAAY,GAAG,QAAQ;QACxB,CAAC,MAAM;UACNA,YAAY,GAAG,MAAM;QACtB;MACD;IACD,CAAC,MAAM,IAAKJ,oBAAoB,KAAK,IAAI,EAAG;MAC3CI,YAAY,GAAG,QAAQ;IACxB;EACD;EAEA,OAAO;IACNA,YAAY;IACZC,SAAS;IACTC;EACD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_dom","getBlockPositionDescription","position","siblingCount","level","sprintf","__","exports","getBlockPropertiesDescription","blockInformation","isLocked","positionLabel","undefined","filter","Boolean","join","isClientIdSelected","clientId","selectedBlockClientIds","Array","isArray","length","indexOf","getCommonDepthClientIds","startId","endId","startParents","endParents","startPath","endPath","depth","Math","min","start","end","focusListItem","focusClientId","treeGridElement","getFocusElement","row","querySelector","focus","focusable","find","focusElement","window","requestAnimationFrame","getDragDisplacementValues","blockIndexes","blockDropTargetIndex","blockDropPosition","firstDraggedBlockIndex","isDragged","displacement","isNesting","isAfterDraggedBlocks","thisBlockIndex"],"sources":["@wordpress/block-editor/src/components/list-view/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { focus } from '@wordpress/dom';\n\nexport const getBlockPositionDescription = ( position, siblingCount, level ) =>\n\tsprintf(\n\t\t/* translators: 1: The numerical position of the block. 2: The total number of blocks. 3. The level of nesting for the block. */\n\t\t__( 'Block %1$d of %2$d, Level %3$d.' ),\n\t\tposition,\n\t\tsiblingCount,\n\t\tlevel\n\t);\n\nexport const getBlockPropertiesDescription = ( blockInformation, isLocked ) =>\n\t[\n\t\tblockInformation?.positionLabel\n\t\t\t? `${ sprintf(\n\t\t\t\t\t// translators: %s: Position of selected block, e.g. \"Sticky\" or \"Fixed\".\n\t\t\t\t\t__( 'Position: %s' ),\n\t\t\t\t\tblockInformation.positionLabel\n\t\t\t ) }.`\n\t\t\t: undefined,\n\t\tisLocked ? __( 'This block is locked.' ) : undefined,\n\t]\n\t\t.filter( Boolean )\n\t\t.join( ' ' );\n\n/**\n * Returns true if the client ID occurs within the block selection or multi-selection,\n * or false otherwise.\n *\n * @param {string} clientId Block client ID.\n * @param {string|string[]} selectedBlockClientIds Selected block client ID, or an array of multi-selected blocks client IDs.\n *\n * @return {boolean} Whether the block is in multi-selection set.\n */\nexport const isClientIdSelected = ( clientId, selectedBlockClientIds ) =>\n\tArray.isArray( selectedBlockClientIds ) && selectedBlockClientIds.length\n\t\t? selectedBlockClientIds.indexOf( clientId ) !== -1\n\t\t: selectedBlockClientIds === clientId;\n\n/**\n * From a start and end clientId of potentially different nesting levels,\n * return the nearest-depth ids that have a common level of depth in the\n * nesting hierarchy. For multiple block selection, this ensure that the\n * selection is always at the same nesting level, and not split across\n * separate levels.\n *\n * @param {string} startId The first id of a selection.\n * @param {string} endId The end id of a selection, usually one that has been clicked on.\n * @param {string[]} startParents An array of ancestor ids for the start id, in descending order.\n * @param {string[]} endParents An array of ancestor ids for the end id, in descending order.\n * @return {Object} An object containing the start and end ids.\n */\nexport function getCommonDepthClientIds(\n\tstartId,\n\tendId,\n\tstartParents,\n\tendParents\n) {\n\tconst startPath = [ ...startParents, startId ];\n\tconst endPath = [ ...endParents, endId ];\n\tconst depth = Math.min( startPath.length, endPath.length ) - 1;\n\tconst start = startPath[ depth ];\n\tconst end = endPath[ depth ];\n\n\treturn {\n\t\tstart,\n\t\tend,\n\t};\n}\n\n/**\n * Shift focus to the list view item associated with a particular clientId.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {string} focusClientId The client ID of the block to focus.\n * @param {?HTMLElement} treeGridElement The container element to search within.\n */\nexport function focusListItem( focusClientId, treeGridElement ) {\n\tconst getFocusElement = () => {\n\t\tconst row = treeGridElement?.querySelector(\n\t\t\t`[role=row][data-block=\"${ focusClientId }\"]`\n\t\t);\n\t\tif ( ! row ) {\n\t\t\treturn null;\n\t\t}\n\t\t// Focus the first focusable in the row, which is the ListViewBlockSelectButton.\n\t\treturn focus.focusable.find( row )[ 0 ];\n\t};\n\n\tlet focusElement = getFocusElement();\n\tif ( focusElement ) {\n\t\tfocusElement.focus();\n\t} else {\n\t\t// The element hasn't been painted yet. Defer focusing on the next frame.\n\t\t// This could happen when all blocks have been deleted and the default block\n\t\t// hasn't been added to the editor yet.\n\t\twindow.requestAnimationFrame( () => {\n\t\t\tfocusElement = getFocusElement();\n\n\t\t\t// Ignore if the element still doesn't exist.\n\t\t\tif ( focusElement ) {\n\t\t\t\tfocusElement.focus();\n\t\t\t}\n\t\t} );\n\t}\n}\n\n/**\n * Get values for the block that flag whether the block should be displaced up or down,\n * whether the block is being nested, and whether the block appears after the dragged\n * blocks. These values are used to determine the class names to apply to the block.\n * The list view rows are displaced visually via CSS rules. Displacement rules:\n * - `normal`: no displacement — used to apply a translateY of `0` so that the block\n * appears in its original position, and moves to that position smoothly when dragging\n * outside of the list view area.\n * - `up`: the block should be displaced up, creating room beneath the block for the drop indicator.\n * - `down`: the block should be displaced down, creating room above the block for the drop indicator.\n *\n * @param {Object} props\n * @param {Object} props.blockIndexes The indexes of all the blocks in the list view, keyed by clientId.\n * @param {number|null|undefined} props.blockDropTargetIndex The index of the block that the user is dropping to.\n * @param {?string} props.blockDropPosition The position relative to the block that the user is dropping to.\n * @param {string} props.clientId The client id for the current block.\n * @param {?number} props.firstDraggedBlockIndex The index of the first dragged block.\n * @param {?boolean} props.isDragged Whether the current block is being dragged. Dragged blocks skip displacement.\n * @return {Object} An object containing the `displacement`, `isAfterDraggedBlocks` and `isNesting` values.\n */\nexport function getDragDisplacementValues( {\n\tblockIndexes,\n\tblockDropTargetIndex,\n\tblockDropPosition,\n\tclientId,\n\tfirstDraggedBlockIndex,\n\tisDragged,\n} ) {\n\tlet displacement;\n\tlet isNesting;\n\tlet isAfterDraggedBlocks;\n\n\tif ( ! isDragged ) {\n\t\tisNesting = false;\n\t\tconst thisBlockIndex = blockIndexes[ clientId ];\n\t\tisAfterDraggedBlocks = thisBlockIndex > firstDraggedBlockIndex;\n\n\t\t// Determine where to displace the position of the current block, relative\n\t\t// to the blocks being dragged (in their original position) and the drop target\n\t\t// (the position where a user is currently dragging the blocks to).\n\t\tif (\n\t\t\tblockDropTargetIndex !== undefined &&\n\t\t\tblockDropTargetIndex !== null &&\n\t\t\tfirstDraggedBlockIndex !== undefined\n\t\t) {\n\t\t\t// If the block is being dragged and there is a valid drop target,\n\t\t\t// determine if the block being rendered should be displaced up or down.\n\n\t\t\tif ( thisBlockIndex !== undefined ) {\n\t\t\t\tif (\n\t\t\t\t\tthisBlockIndex >= firstDraggedBlockIndex &&\n\t\t\t\t\tthisBlockIndex < blockDropTargetIndex\n\t\t\t\t) {\n\t\t\t\t\t// If the current block appears after the set of dragged blocks\n\t\t\t\t\t// (in their original position), but is before the drop target,\n\t\t\t\t\t// then the current block should be displaced up.\n\t\t\t\t\tdisplacement = 'up';\n\t\t\t\t} else if (\n\t\t\t\t\tthisBlockIndex < firstDraggedBlockIndex &&\n\t\t\t\t\tthisBlockIndex >= blockDropTargetIndex\n\t\t\t\t) {\n\t\t\t\t\t// If the current block appears before the set of dragged blocks\n\t\t\t\t\t// (in their original position), but is after the drop target,\n\t\t\t\t\t// then the current block should be displaced down.\n\t\t\t\t\tdisplacement = 'down';\n\t\t\t\t} else {\n\t\t\t\t\tdisplacement = 'normal';\n\t\t\t\t}\n\t\t\t\tisNesting =\n\t\t\t\t\ttypeof blockDropTargetIndex === 'number' &&\n\t\t\t\t\tblockDropTargetIndex - 1 === thisBlockIndex &&\n\t\t\t\t\tblockDropPosition === 'inside';\n\t\t\t}\n\t\t} else if (\n\t\t\tblockDropTargetIndex === null &&\n\t\t\tfirstDraggedBlockIndex !== undefined\n\t\t) {\n\t\t\t// A `null` value for `blockDropTargetIndex` indicates that the\n\t\t\t// drop target is outside of the valid areas within the list view.\n\t\t\t// In this case, the drag is still active, but as there is no\n\t\t\t// valid drop target, we should remove the gap indicating where\n\t\t\t// the block would be inserted.\n\t\t\tif (\n\t\t\t\tthisBlockIndex !== undefined &&\n\t\t\t\tthisBlockIndex >= firstDraggedBlockIndex\n\t\t\t) {\n\t\t\t\tdisplacement = 'up';\n\t\t\t} else {\n\t\t\t\tdisplacement = 'normal';\n\t\t\t}\n\t\t} else if (\n\t\t\tblockDropTargetIndex !== undefined &&\n\t\t\tblockDropTargetIndex !== null &&\n\t\t\tfirstDraggedBlockIndex === undefined\n\t\t) {\n\t\t\t// If the blockdrop target is defined, but there are no dragged blocks,\n\t\t\t// then the block should be displaced relative to the drop target.\n\t\t\tif ( thisBlockIndex !== undefined ) {\n\t\t\t\tif ( thisBlockIndex < blockDropTargetIndex ) {\n\t\t\t\t\tdisplacement = 'normal';\n\t\t\t\t} else {\n\t\t\t\t\tdisplacement = 'down';\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( blockDropTargetIndex === null ) {\n\t\t\tdisplacement = 'normal';\n\t\t}\n\t}\n\n\treturn {\n\t\tdisplacement,\n\t\tisNesting,\n\t\tisAfterDraggedBlocks,\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_data","_icons","_deprecated","_mediaUpload","_check","_urlPopover","_store","_useOnBlockDrop","_jsxRuntime","noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","popoverAnchor","jsx","default","anchor","children","className","__experimentalInputControl","__next40pxDefaultSize","label","__","hideLabelFromVision","placeholder","value","suffix","__experimentalInputControlSuffixWrapper","variant","Button","size","icon","keyboardReturn","type","URLSelectionUI","onChangeSrc","onSelectURL","setPopoverAnchor","useState","isURLInputVisible","setIsURLInputVisible","openURLInput","closeURLInput","focus","onSubmitSrc","event","preventDefault","jsxs","onClick","isPressed","ref","MediaPlaceholder","allowedTypes","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onToggleFeaturedImage","onDoubleClick","onFilesPreUpload","onHTMLDrop","deprecatedOnHTMLDrop","mediaLibraryButton","style","deprecated","since","version","mediaUpload","useSelect","select","getSettings","blockEditorStore","setSrc","useEffect","_value$src","onlyAllowsImages","length","every","allowedType","startsWith","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","handleBlocksDrop","blocks","parseDropEvent","uploadedMediaList","Promise","all","block","blockType","name","split","attributes","resolve","reject","window","fetch","then","response","blob","additionalData","title","alt_text","alt","caption","catch","err","onUpload","target","defaultRenderPlaceholder","content","instructions","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","clsx","Placeholder","preview","renderPlaceholder","renderDropZone","DropZone","onFilesDrop","onDrop","isEligible","dataTransfer","prefix","types","push","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","gallery","mode","Array","isArray","render","Fragment","FormFileUpload","openFileDialog","fallback","_default","exports","withFilters"],"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\t__experimentalInputControl as InputControl,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\twithFilters,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { keyboardReturn } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport URLPopover from '../url-popover';\nimport { store as blockEditorStore } from '../../store';\nimport { parseDropEvent } from '../use-on-block-drop';\n\nconst noop = () => {};\n\nconst InsertFromURLPopover = ( {\n\tsrc,\n\tonChange,\n\tonSubmit,\n\tonClose,\n\tpopoverAnchor,\n} ) => (\n\t<URLPopover anchor={ popoverAnchor } onClose={ onClose }>\n\t\t<form\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-form\"\n\t\t\tonSubmit={ onSubmit }\n\t\t>\n\t\t\t<InputControl\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'URL' ) }\n\t\t\t\thideLabelFromVision\n\t\t\t\tplaceholder={ __( 'Paste or type URL' ) }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ src }\n\t\t\t\tsuffix={\n\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t}\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nconst URLSelectionUI = ( { src, onChangeSrc, onSelectURL } ) => {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t\tpopoverAnchor?.focus();\n\t};\n\n\tconst onSubmitSrc = ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( src && onSelectURL ) {\n\t\t\tonSelectURL( src );\n\t\t\tcloseURLInput();\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\tonClick={ openURLInput }\n\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t>\n\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t</Button>\n\t\t\t{ isURLInputVisible && (\n\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport function MediaPlaceholder( {\n\tvalue = {},\n\tallowedTypes,\n\tclassName,\n\ticon,\n\tlabels = {},\n\tmediaPreview,\n\tnotices,\n\tisAppender,\n\taccept,\n\taddToGallery,\n\tmultiple = false,\n\thandleUpload = true,\n\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonToggleFeaturedImage,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop: deprecatedOnHTMLDrop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tif ( deprecatedOnHTMLDrop ) {\n\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t} );\n\t}\n\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\tconst [ src, setSrc ] = useState( '' );\n\n\tuseEffect( () => {\n\t\tsetSrc( value?.src ?? '' );\n\t}, [ value?.src ] );\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst onFilesUpload = ( files ) => {\n\t\tif (\n\t\t\t! handleUpload ||\n\t\t\t( typeof handleUpload === 'function' && ! handleUpload( files ) )\n\t\t) {\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesPreUpload( files );\n\t\tlet setMedia;\n\t\tif ( multiple ) {\n\t\t\tif ( addToGallery ) {\n\t\t\t\t// Since the setMedia function runs multiple times per upload group\n\t\t\t\t// and is passed newMedia containing every item in its group each time, we must\n\t\t\t\t// filter out whatever this upload group had previously returned to the\n\t\t\t\t// gallery before adding and returning the image array with replacement newMedia\n\t\t\t\t// values.\n\n\t\t\t\t// Define an array to store urls from newMedia between subsequent function calls.\n\t\t\t\tlet lastMediaPassed = [];\n\t\t\t\tsetMedia = ( newMedia ) => {\n\t\t\t\t\t// Remove any images this upload group is responsible for (lastMediaPassed).\n\t\t\t\t\t// Their replacements are contained in newMedia.\n\t\t\t\t\tconst filteredMedia = ( value ?? [] ).filter( ( item ) => {\n\t\t\t\t\t\t// If Item has id, only remove it if lastMediaPassed has an item with that id.\n\t\t\t\t\t\tif ( item.id ) {\n\t\t\t\t\t\t\treturn ! lastMediaPassed.some(\n\t\t\t\t\t\t\t\t// Be sure to convert to number for comparison.\n\t\t\t\t\t\t\t\t( { id } ) => Number( id ) === Number( item.id )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Compare transient images via .includes since gallery may append extra info onto the url.\n\t\t\t\t\t\treturn ! lastMediaPassed.some( ( { urlSlug } ) =>\n\t\t\t\t\t\t\titem.url.includes( urlSlug )\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t\t// Return the filtered media array along with newMedia.\n\t\t\t\t\tonSelect( filteredMedia.concat( newMedia ) );\n\t\t\t\t\t// Reset lastMediaPassed and set it with ids and urls from newMedia.\n\t\t\t\t\tlastMediaPassed = newMedia.map( ( media ) => {\n\t\t\t\t\t\t// Add everything up to '.fileType' to compare via .includes.\n\t\t\t\t\t\tconst cutOffIndex = media.url.lastIndexOf( '.' );\n\t\t\t\t\t\tconst urlSlug = media.url.slice( 0, cutOffIndex );\n\t\t\t\t\t\treturn { id: media.id, urlSlug };\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tsetMedia = onSelect;\n\t\t\t}\n\t\t} else {\n\t\t\tsetMedia = ( [ media ] ) => onSelect( media );\n\t\t}\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t} );\n\t};\n\n\tasync function handleBlocksDrop( event ) {\n\t\tconst { blocks } = parseDropEvent( event );\n\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tblocks.map( ( block ) => {\n\t\t\t\tconst blockType = block.name.split( '/' )[ 1 ];\n\t\t\t\tif ( block.attributes.id ) {\n\t\t\t\t\tblock.attributes.type = blockType;\n\t\t\t\t\treturn block.attributes;\n\t\t\t\t}\n\t\t\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\t\t\twindow\n\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\ttype: blockType,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\tresolve( media );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tallowedTypes,\n\t\t\t\t\t\t\t\tonError: reject,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.catch( () => resolve( block.attributes.url ) );\n\t\t\t\t} );\n\t\t\t} )\n\t\t).catch( ( err ) => onError( err ) );\n\n\t\tif ( multiple ) {\n\t\t\tonSelect( uploadedMediaList );\n\t\t} else {\n\t\t\tonSelect( uploadedMediaList[ 0 ] );\n\t\t}\n\t}\n\n\tconst onUpload = ( event ) => {\n\t\tonFilesUpload( event.target.files );\n\t};\n\n\tconst defaultRenderPlaceholder = ( content ) => {\n\t\tlet { instructions, title } = labels;\n\n\t\tif ( ! mediaUpload && ! onSelectURL ) {\n\t\t\tinstructions = __(\n\t\t\t\t'To edit this block, you need permission to upload media.'\n\t\t\t);\n\t\t}\n\n\t\tif ( instructions === undefined || title === undefined ) {\n\t\t\tconst typesAllowed = allowedTypes ?? [];\n\n\t\t\tconst [ firstAllowedType ] = typesAllowed;\n\t\t\tconst isOneType = 1 === typesAllowed.length;\n\t\t\tconst isAudio = isOneType && 'audio' === firstAllowedType;\n\t\t\tconst isImage = isOneType && 'image' === firstAllowedType;\n\t\t\tconst isVideo = isOneType && 'video' === firstAllowedType;\n\n\t\t\tif ( instructions === undefined && mediaUpload ) {\n\t\t\t\tinstructions = __(\n\t\t\t\t\t'Drag and drop an image or video, upload, or choose from your library.'\n\t\t\t\t);\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop an audio file, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop an image, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop a video, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( title === undefined ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'is-appender': isAppender,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tinstructions={ instructions }\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tnotices={ notices }\n\t\t\t\tonDoubleClick={ onDoubleClick }\n\t\t\t\tpreview={ mediaPreview }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t\t{ children }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\tconst renderPlaceholder = placeholder ?? defaultRenderPlaceholder;\n\n\tconst renderDropZone = () => {\n\t\tif ( disableDropZone ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<DropZone\n\t\t\t\tonFilesDrop={ onFilesUpload }\n\t\t\t\tonDrop={ handleBlocksDrop }\n\t\t\t\tisEligible={ ( dataTransfer ) => {\n\t\t\t\t\tconst prefix = 'wp-block:core/';\n\t\t\t\t\tconst types = [];\n\t\t\t\t\tfor ( const type of dataTransfer.types ) {\n\t\t\t\t\t\tif ( type.startsWith( prefix ) ) {\n\t\t\t\t\t\t\ttypes.push( type.slice( prefix.length ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypes.every( ( type ) =>\n\t\t\t\t\t\t\tallowedTypes.includes( type )\n\t\t\t\t\t\t) && ( multiple ? true : types.length === 1 )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderCancelLink = () => {\n\t\treturn (\n\t\t\tonCancel && (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tclassName=\"block-editor-media-placeholder__cancel-button\"\n\t\t\t\t\ttitle={ __( 'Cancel' ) }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderUrlSelectionUI = () => {\n\t\treturn (\n\t\t\tonSelectURL && (\n\t\t\t\t<URLSelectionUI\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChangeSrc={ setSrc }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderFeaturedImageToggle = () => {\n\t\treturn (\n\t\t\tonToggleFeaturedImage && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderMediaUploadChecked = () => {\n\t\tconst defaultButton = ( { open } ) => {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t</Button>\n\t\t\t);\n\t\t};\n\t\tconst libraryButton = mediaLibraryButton ?? defaultButton;\n\t\tconst uploadMediaLibraryButton = (\n\t\t\t<MediaUpload\n\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\tgallery={ multiple && onlyAllowsImages() }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tmode=\"browse\"\n\t\t\t\tvalue={\n\t\t\t\t\tArray.isArray( value )\n\t\t\t\t\t\t? value.map( ( { id } ) => id )\n\t\t\t\t\t\t: value.id\n\t\t\t\t}\n\t\t\t\trender={ libraryButton }\n\t\t\t/>\n\t\t);\n\n\t\tif ( mediaUpload && isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn renderPlaceholder( content );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tif ( mediaUpload ) {\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t/>\n\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t</>\n\t\t\t);\n\t\t\treturn renderPlaceholder( content );\n\t\t}\n\n\t\treturn renderPlaceholder( uploadMediaLibraryButton );\n\t};\n\n\tif ( disableMediaButtons ) {\n\t\treturn <MediaUploadCheck>{ renderDropZone() }</MediaUploadCheck>;\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck\n\t\t\tfallback={ renderPlaceholder( renderUrlSelectionUI() ) }\n\t\t>\n\t\t\t{ renderMediaUploadChecked() }\n\t\t</MediaUploadCheck>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md\n */\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_data","_icons","_deprecated","_mediaUpload","_check","_urlPopover","_store","_useOnBlockDrop","_jsxRuntime","noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","popoverAnchor","jsx","default","anchor","children","className","__experimentalInputControl","__next40pxDefaultSize","label","__","hideLabelFromVision","placeholder","value","suffix","__experimentalInputControlSuffixWrapper","variant","Button","size","icon","keyboardReturn","type","URLSelectionUI","onChangeSrc","onSelectURL","setPopoverAnchor","useState","isURLInputVisible","setIsURLInputVisible","openURLInput","closeURLInput","focus","onSubmitSrc","event","preventDefault","jsxs","onClick","isPressed","ref","MediaPlaceholder","allowedTypes","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onToggleFeaturedImage","onDoubleClick","onFilesPreUpload","onHTMLDrop","deprecatedOnHTMLDrop","mediaLibraryButton","style","deprecated","since","version","mediaUpload","useSelect","select","getSettings","blockEditorStore","setSrc","useEffect","_value$src","onlyAllowsImages","length","every","allowedType","startsWith","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","handleBlocksDrop","blocks","parseDropEvent","uploadedMediaList","Promise","all","block","blockType","name","split","attributes","resolve","reject","window","fetch","then","response","blob","additionalData","title","alt_text","alt","caption","catch","err","onUpload","target","defaultRenderPlaceholder","content","instructions","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","clsx","Placeholder","preview","renderPlaceholder","renderDropZone","DropZone","onFilesDrop","onDrop","isEligible","dataTransfer","prefix","types","push","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","gallery","mode","Array","isArray","render","Fragment","FormFileUpload","openFileDialog","fallback","_default","exports","withFilters"],"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\t__experimentalInputControl as InputControl,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\twithFilters,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { keyboardReturn } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport URLPopover from '../url-popover';\nimport { store as blockEditorStore } from '../../store';\nimport { parseDropEvent } from '../use-on-block-drop';\n\nconst noop = () => {};\n\nconst InsertFromURLPopover = ( {\n\tsrc,\n\tonChange,\n\tonSubmit,\n\tonClose,\n\tpopoverAnchor,\n} ) => (\n\t<URLPopover anchor={ popoverAnchor } onClose={ onClose }>\n\t\t<form\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-form\"\n\t\t\tonSubmit={ onSubmit }\n\t\t>\n\t\t\t<InputControl\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'URL' ) }\n\t\t\t\thideLabelFromVision\n\t\t\t\tplaceholder={ __( 'Paste or type URL' ) }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ src }\n\t\t\t\tsuffix={\n\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t}\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nconst URLSelectionUI = ( { src, onChangeSrc, onSelectURL } ) => {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t\tpopoverAnchor?.focus();\n\t};\n\n\tconst onSubmitSrc = ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( src && onSelectURL ) {\n\t\t\tonSelectURL( src );\n\t\t\tcloseURLInput();\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\tonClick={ openURLInput }\n\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t>\n\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t</Button>\n\t\t\t{ isURLInputVisible && (\n\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport function MediaPlaceholder( {\n\tvalue = {},\n\tallowedTypes,\n\tclassName,\n\ticon,\n\tlabels = {},\n\tmediaPreview,\n\tnotices,\n\tisAppender,\n\taccept,\n\taddToGallery,\n\tmultiple = false,\n\thandleUpload = true,\n\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonToggleFeaturedImage,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop: deprecatedOnHTMLDrop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tif ( deprecatedOnHTMLDrop ) {\n\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t} );\n\t}\n\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\tconst [ src, setSrc ] = useState( '' );\n\n\tuseEffect( () => {\n\t\tsetSrc( value?.src ?? '' );\n\t}, [ value?.src ] );\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst onFilesUpload = ( files ) => {\n\t\tif (\n\t\t\t! handleUpload ||\n\t\t\t( typeof handleUpload === 'function' && ! handleUpload( files ) )\n\t\t) {\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesPreUpload( files );\n\t\tlet setMedia;\n\t\tif ( multiple ) {\n\t\t\tif ( addToGallery ) {\n\t\t\t\t// Since the setMedia function runs multiple times per upload group\n\t\t\t\t// and is passed newMedia containing every item in its group each time, we must\n\t\t\t\t// filter out whatever this upload group had previously returned to the\n\t\t\t\t// gallery before adding and returning the image array with replacement newMedia\n\t\t\t\t// values.\n\n\t\t\t\t// Define an array to store urls from newMedia between subsequent function calls.\n\t\t\t\tlet lastMediaPassed = [];\n\t\t\t\tsetMedia = ( newMedia ) => {\n\t\t\t\t\t// Remove any images this upload group is responsible for (lastMediaPassed).\n\t\t\t\t\t// Their replacements are contained in newMedia.\n\t\t\t\t\tconst filteredMedia = ( value ?? [] ).filter( ( item ) => {\n\t\t\t\t\t\t// If Item has id, only remove it if lastMediaPassed has an item with that id.\n\t\t\t\t\t\tif ( item.id ) {\n\t\t\t\t\t\t\treturn ! lastMediaPassed.some(\n\t\t\t\t\t\t\t\t// Be sure to convert to number for comparison.\n\t\t\t\t\t\t\t\t( { id } ) => Number( id ) === Number( item.id )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Compare transient images via .includes since gallery may append extra info onto the url.\n\t\t\t\t\t\treturn ! lastMediaPassed.some( ( { urlSlug } ) =>\n\t\t\t\t\t\t\titem.url.includes( urlSlug )\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t\t// Return the filtered media array along with newMedia.\n\t\t\t\t\tonSelect( filteredMedia.concat( newMedia ) );\n\t\t\t\t\t// Reset lastMediaPassed and set it with ids and urls from newMedia.\n\t\t\t\t\tlastMediaPassed = newMedia.map( ( media ) => {\n\t\t\t\t\t\t// Add everything up to '.fileType' to compare via .includes.\n\t\t\t\t\t\tconst cutOffIndex = media.url.lastIndexOf( '.' );\n\t\t\t\t\t\tconst urlSlug = media.url.slice( 0, cutOffIndex );\n\t\t\t\t\t\treturn { id: media.id, urlSlug };\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tsetMedia = onSelect;\n\t\t\t}\n\t\t} else {\n\t\t\tsetMedia = ( [ media ] ) => onSelect( media );\n\t\t}\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t} );\n\t};\n\n\tasync function handleBlocksDrop( event ) {\n\t\tconst { blocks } = parseDropEvent( event );\n\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tblocks.map( ( block ) => {\n\t\t\t\tconst blockType = block.name.split( '/' )[ 1 ];\n\t\t\t\tif ( block.attributes.id ) {\n\t\t\t\t\tblock.attributes.type = blockType;\n\t\t\t\t\treturn block.attributes;\n\t\t\t\t}\n\t\t\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\t\t\twindow\n\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\ttype: blockType,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\tresolve( media );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tallowedTypes,\n\t\t\t\t\t\t\t\tonError: reject,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.catch( () => resolve( block.attributes.url ) );\n\t\t\t\t} );\n\t\t\t} )\n\t\t).catch( ( err ) => onError( err ) );\n\n\t\tif ( multiple ) {\n\t\t\tonSelect( uploadedMediaList );\n\t\t} else {\n\t\t\tonSelect( uploadedMediaList[ 0 ] );\n\t\t}\n\t}\n\n\tconst onUpload = ( event ) => {\n\t\tonFilesUpload( event.target.files );\n\t};\n\n\tconst defaultRenderPlaceholder = ( content ) => {\n\t\tlet { instructions, title } = labels;\n\n\t\tif ( ! mediaUpload && ! onSelectURL ) {\n\t\t\tinstructions = __(\n\t\t\t\t'To edit this block, you need permission to upload media.'\n\t\t\t);\n\t\t}\n\n\t\tif ( instructions === undefined || title === undefined ) {\n\t\t\tconst typesAllowed = allowedTypes ?? [];\n\n\t\t\tconst [ firstAllowedType ] = typesAllowed;\n\t\t\tconst isOneType = 1 === typesAllowed.length;\n\t\t\tconst isAudio = isOneType && 'audio' === firstAllowedType;\n\t\t\tconst isImage = isOneType && 'image' === firstAllowedType;\n\t\t\tconst isVideo = isOneType && 'video' === firstAllowedType;\n\n\t\t\tif ( instructions === undefined && mediaUpload ) {\n\t\t\t\tinstructions = __(\n\t\t\t\t\t'Drag and drop an image or video, upload, or choose from your library.'\n\t\t\t\t);\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop an audio file, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop an image, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop a video, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( title === undefined ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'is-appender': isAppender,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tinstructions={ instructions }\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tnotices={ notices }\n\t\t\t\tonDoubleClick={ onDoubleClick }\n\t\t\t\tpreview={ mediaPreview }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t\t{ children }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\tconst renderPlaceholder = placeholder ?? defaultRenderPlaceholder;\n\n\tconst renderDropZone = () => {\n\t\tif ( disableDropZone ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<DropZone\n\t\t\t\tonFilesDrop={ onFilesUpload }\n\t\t\t\tonDrop={ handleBlocksDrop }\n\t\t\t\tisEligible={ ( dataTransfer ) => {\n\t\t\t\t\tconst prefix = 'wp-block:core/';\n\t\t\t\t\tconst types = [];\n\t\t\t\t\tfor ( const type of dataTransfer.types ) {\n\t\t\t\t\t\tif ( type.startsWith( prefix ) ) {\n\t\t\t\t\t\t\ttypes.push( type.slice( prefix.length ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypes.every( ( type ) =>\n\t\t\t\t\t\t\tallowedTypes.includes( type )\n\t\t\t\t\t\t) && ( multiple ? true : types.length === 1 )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderCancelLink = () => {\n\t\treturn (\n\t\t\tonCancel && (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tclassName=\"block-editor-media-placeholder__cancel-button\"\n\t\t\t\t\ttitle={ __( 'Cancel' ) }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderUrlSelectionUI = () => {\n\t\treturn (\n\t\t\tonSelectURL && (\n\t\t\t\t<URLSelectionUI\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChangeSrc={ setSrc }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderFeaturedImageToggle = () => {\n\t\treturn (\n\t\t\tonToggleFeaturedImage && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderMediaUploadChecked = () => {\n\t\tconst defaultButton = ( { open } ) => {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t</Button>\n\t\t\t);\n\t\t};\n\t\tconst libraryButton = mediaLibraryButton ?? defaultButton;\n\t\tconst uploadMediaLibraryButton = (\n\t\t\t<MediaUpload\n\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\tgallery={ multiple && onlyAllowsImages() }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tmode=\"browse\"\n\t\t\t\tvalue={\n\t\t\t\t\tArray.isArray( value )\n\t\t\t\t\t\t? value.map( ( { id } ) => id )\n\t\t\t\t\t\t: value.id\n\t\t\t\t}\n\t\t\t\trender={ libraryButton }\n\t\t\t/>\n\t\t);\n\n\t\tif ( mediaUpload && isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn renderPlaceholder( content );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tif ( mediaUpload ) {\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t/>\n\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t</>\n\t\t\t);\n\t\t\treturn renderPlaceholder( content );\n\t\t}\n\n\t\treturn renderPlaceholder( uploadMediaLibraryButton );\n\t};\n\n\tif ( disableMediaButtons ) {\n\t\treturn <MediaUploadCheck>{ renderDropZone() }</MediaUploadCheck>;\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck\n\t\t\tfallback={ renderPlaceholder( renderUrlSelectionUI() ) }\n\t\t>\n\t\t\t{ renderMediaUploadChecked() }\n\t\t</MediaUploadCheck>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md\n */\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_i18n","_compose","_element","_icons","_styles","_interopRequireDefault","_context","_mediaUpload","_constants","_jsxRuntime","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","jsxs","Fragment","View","style","jsx","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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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_i18n","_compose","_element","_icons","_styles","_interopRequireDefault","_context","_mediaUpload","_constants","_jsxRuntime","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","jsxs","Fragment","View","style","jsx","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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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_i18n","_a11y","_components","_data","_keycodes","_icons","_compose","_dom","_notices","_mediaUpload","_check","_linkControl","_store","_jsxRuntime","noop","uniqueId","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onError","onSelect","onSelectURL","onReset","onToggleFeaturedImage","useFeaturedImage","onFilesUpload","name","__","createNotice","removeNotice","children","multiple","addToGallery","handleUpload","popoverProps","mediaUpload","useSelect","select","blockEditorStore","getSettings","canUpload","editMediaButtonRef","useRef","errorNoticeID","onUploadError","message","safeMessage","stripHTML","setTimeout","speak","id","isDismissible","selectMedia","media","closeMenu","uploadFiles","event","files","target","filesList","onFileChange","openOnArrowDown","keyCode","DOWN","preventDefault","click","onlyAllowsImages","length","every","allowedType","startsWith","gallery","jsx","Dropdown","contentClassName","renderToggle","isOpen","onToggle","ToolbarButton","ref","onClick","onKeyDown","renderContent","onClose","jsxs","Fragment","NavigableMenu","className","default","value","render","open","MenuItem","icon","mediaIcon","FormFileUpload","onChange","openFileDialog","upload","postFeaturedImage","isPressed","clsx","url","settings","showSuggestions","current","focus","_default","exports","compose","withDispatch","dispatch","noticesStore","withFilters"],"sources":["@wordpress/block-editor/src/components/media-replace-flow/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tFormFileUpload,\n\tNavigableMenu,\n\tMenuItem,\n\tToolbarButton,\n\tDropdown,\n\twithFilters,\n} from '@wordpress/components';\nimport { useSelect, withDispatch } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tpostFeaturedImage,\n\tupload,\n\tmedia as mediaIcon,\n} from '@wordpress/icons';\nimport { compose } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport LinkControl from '../link-control';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\nlet uniqueId = 0;\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tmediaIds,\n\tallowedTypes,\n\taccept,\n\tonError,\n\tonSelect,\n\tonSelectURL,\n\tonReset,\n\tonToggleFeaturedImage,\n\tuseFeaturedImage,\n\tonFilesUpload = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n\tmultiple = false,\n\taddToGallery,\n\thandleUpload = true,\n\tpopoverProps,\n} ) => {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst canUpload = !! mediaUpload;\n\tconst editMediaButtonRef = useRef();\n\tconst errorNoticeID = `block-editor/media-replace-flow/error-notice/${ ++uniqueId }`;\n\n\tconst onUploadError = ( message ) => {\n\t\tconst safeMessage = stripHTML( message );\n\t\tif ( onError ) {\n\t\t\tonError( safeMessage );\n\t\t\treturn;\n\t\t}\n\t\t// We need to set a timeout for showing the notice\n\t\t// so that VoiceOver and possibly other screen readers\n\t\t// can announce the error after the toolbar button\n\t\t// regains focus once the upload dialog closes.\n\t\t// Otherwise VO simply skips over the notice and announces\n\t\t// the focused element and the open menu.\n\t\tsetTimeout( () => {\n\t\t\tcreateNotice( 'error', safeMessage, {\n\t\t\t\tspeak: true,\n\t\t\t\tid: errorNoticeID,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}, 1000 );\n\t};\n\n\tconst selectMedia = ( media, closeMenu ) => {\n\t\tif ( useFeaturedImage && onToggleFeaturedImage ) {\n\t\t\tonToggleFeaturedImage();\n\t\t}\n\t\tcloseMenu();\n\t\t// Calling `onSelect` after the state update since it might unmount the component.\n\t\tonSelect( media );\n\t\tspeak( __( 'The media file has been replaced' ) );\n\t\tremoveNotice( errorNoticeID );\n\t};\n\n\tconst uploadFiles = ( event, closeMenu ) => {\n\t\tconst files = event.target.files;\n\t\tif ( ! handleUpload ) {\n\t\t\tcloseMenu();\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesUpload( files );\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tselectMedia( media, closeMenu );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst openOnArrowDown = ( event ) => {\n\t\tif ( event.keyCode === DOWN ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.target.click();\n\t\t}\n\t};\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst gallery = multiple && onlyAllowsImages();\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tcontentClassName=\"block-editor-media-replace-flow__options\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tref={ editMediaButtonRef }\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t>\n\t\t\t\t\t{ name }\n\t\t\t\t</ToolbarButton>\n\t\t\t) }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<NavigableMenu className=\"block-editor-media-replace-flow__media-upload-menu\">\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tgallery={ gallery }\n\t\t\t\t\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\t\tvalue={ multiple ? mediaIds : mediaId }\n\t\t\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\t\t\tselectMedia( media, onClose )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={ mediaIcon }\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\tuploadFiles( event, onClose );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t{ onToggleFeaturedImage && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ mediaURL && onReset && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t: children }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t{ onSelectURL && (\n\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t\t\t\t\t<form\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'block-editor-media-flow__url-input',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-siblings':\n\t\t\t\t\t\t\t\t\t\tcanUpload || onToggleFeaturedImage,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"block-editor-media-replace-flow__image-url-label\">\n\t\t\t\t\t\t\t\t{ __( 'Current media URL:' ) }\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\n\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\tonSelectURL( url );\n\t\t\t\t\t\t\t\t\teditMediaButtonRef.current.focus();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md\n */\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createNotice, removeNotice } = dispatch( noticesStore );\n\t\treturn {\n\t\t\tcreateNotice,\n\t\t\tremoveNotice,\n\t\t};\n\t} ),\n\twithFilters( 'editor.MediaReplaceFlow' ),\n] )( MediaReplaceFlow );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_i18n","_a11y","_components","_data","_keycodes","_icons","_compose","_dom","_notices","_mediaUpload","_check","_linkControl","_store","_jsxRuntime","noop","uniqueId","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onError","onSelect","onSelectURL","onReset","onToggleFeaturedImage","useFeaturedImage","onFilesUpload","name","__","createNotice","removeNotice","children","multiple","addToGallery","handleUpload","popoverProps","mediaUpload","useSelect","select","blockEditorStore","getSettings","canUpload","editMediaButtonRef","useRef","errorNoticeID","onUploadError","message","safeMessage","stripHTML","setTimeout","speak","id","isDismissible","selectMedia","media","closeMenu","uploadFiles","event","files","target","filesList","onFileChange","openOnArrowDown","keyCode","DOWN","preventDefault","click","onlyAllowsImages","length","every","allowedType","startsWith","gallery","jsx","Dropdown","contentClassName","renderToggle","isOpen","onToggle","ToolbarButton","ref","onClick","onKeyDown","renderContent","onClose","jsxs","Fragment","NavigableMenu","className","default","value","render","open","MenuItem","icon","mediaIcon","FormFileUpload","onChange","openFileDialog","upload","postFeaturedImage","isPressed","clsx","url","settings","showSuggestions","current","focus","_default","exports","compose","withDispatch","dispatch","noticesStore","withFilters"],"sources":["@wordpress/block-editor/src/components/media-replace-flow/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tFormFileUpload,\n\tNavigableMenu,\n\tMenuItem,\n\tToolbarButton,\n\tDropdown,\n\twithFilters,\n} from '@wordpress/components';\nimport { useSelect, withDispatch } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tpostFeaturedImage,\n\tupload,\n\tmedia as mediaIcon,\n} from '@wordpress/icons';\nimport { compose } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport LinkControl from '../link-control';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\nlet uniqueId = 0;\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tmediaIds,\n\tallowedTypes,\n\taccept,\n\tonError,\n\tonSelect,\n\tonSelectURL,\n\tonReset,\n\tonToggleFeaturedImage,\n\tuseFeaturedImage,\n\tonFilesUpload = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n\tmultiple = false,\n\taddToGallery,\n\thandleUpload = true,\n\tpopoverProps,\n} ) => {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst canUpload = !! mediaUpload;\n\tconst editMediaButtonRef = useRef();\n\tconst errorNoticeID = `block-editor/media-replace-flow/error-notice/${ ++uniqueId }`;\n\n\tconst onUploadError = ( message ) => {\n\t\tconst safeMessage = stripHTML( message );\n\t\tif ( onError ) {\n\t\t\tonError( safeMessage );\n\t\t\treturn;\n\t\t}\n\t\t// We need to set a timeout for showing the notice\n\t\t// so that VoiceOver and possibly other screen readers\n\t\t// can announce the error after the toolbar button\n\t\t// regains focus once the upload dialog closes.\n\t\t// Otherwise VO simply skips over the notice and announces\n\t\t// the focused element and the open menu.\n\t\tsetTimeout( () => {\n\t\t\tcreateNotice( 'error', safeMessage, {\n\t\t\t\tspeak: true,\n\t\t\t\tid: errorNoticeID,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}, 1000 );\n\t};\n\n\tconst selectMedia = ( media, closeMenu ) => {\n\t\tif ( useFeaturedImage && onToggleFeaturedImage ) {\n\t\t\tonToggleFeaturedImage();\n\t\t}\n\t\tcloseMenu();\n\t\t// Calling `onSelect` after the state update since it might unmount the component.\n\t\tonSelect( media );\n\t\tspeak( __( 'The media file has been replaced' ) );\n\t\tremoveNotice( errorNoticeID );\n\t};\n\n\tconst uploadFiles = ( event, closeMenu ) => {\n\t\tconst files = event.target.files;\n\t\tif ( ! handleUpload ) {\n\t\t\tcloseMenu();\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesUpload( files );\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tselectMedia( media, closeMenu );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst openOnArrowDown = ( event ) => {\n\t\tif ( event.keyCode === DOWN ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.target.click();\n\t\t}\n\t};\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst gallery = multiple && onlyAllowsImages();\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tcontentClassName=\"block-editor-media-replace-flow__options\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tref={ editMediaButtonRef }\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t>\n\t\t\t\t\t{ name }\n\t\t\t\t</ToolbarButton>\n\t\t\t) }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<NavigableMenu className=\"block-editor-media-replace-flow__media-upload-menu\">\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tgallery={ gallery }\n\t\t\t\t\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\t\tvalue={ multiple ? mediaIds : mediaId }\n\t\t\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\t\t\tselectMedia( media, onClose )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={ mediaIcon }\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\tuploadFiles( event, onClose );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t{ onToggleFeaturedImage && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ mediaURL && onReset && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t: children }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t{ onSelectURL && (\n\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t\t\t\t\t<form\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'block-editor-media-flow__url-input',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-siblings':\n\t\t\t\t\t\t\t\t\t\tcanUpload || onToggleFeaturedImage,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"block-editor-media-replace-flow__image-url-label\">\n\t\t\t\t\t\t\t\t{ __( 'Current media URL:' ) }\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\n\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\tonSelectURL( url );\n\t\t\t\t\t\t\t\t\teditMediaButtonRef.current.focus();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md\n */\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createNotice, removeNotice } = dispatch( noticesStore );\n\t\treturn {\n\t\t\tcreateNotice,\n\t\t\tremoveNotice,\n\t\t};\n\t} ),\n\twithFilters( 'editor.MediaReplaceFlow' ),\n] )( MediaReplaceFlow );\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_element","_i18n","_components","_reactNativeBridge","_icons","_blockEditor","_compose","_data","_constants","_style","_interopRequireDefault","_jsxRuntime","URL_MEDIA_SOURCE","PICKER_OPENING_DELAY","MediaUpload","Component","pickerTimeout","constructor","props","onPickerPresent","bind","onPickerSelect","getAllSources","state","url","showURLInput","otherMediaOptions","componentDidMount","allowedTypes","autoOpen","getOtherMediaOptions","otherMediaOptionsWithIcons","map","option","requiresModal","types","id","value","setState","componentWillUnmount","clearTimeout","onSelectURL","cameraImageSource","mediaSources","deviceCamera","label","OPTION_TAKE_PHOTO","MEDIA_TYPE_IMAGE","icon","capturePhoto","cameraVideoSource","OPTION_TAKE_VIDEO","MEDIA_TYPE_VIDEO","captureVideo","deviceLibrarySource","deviceLibrary","__","image","siteLibrarySource","siteMediaLibrary","OPTION_WORDPRESS_MEDIA_LIBRARY","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","wordpress","mediaLibrary","urlSource","OPTION_INSERT_FROM_URL","globe","internalSources","concat","getMediaOptionsItems","__experimentalOnlyMediaLibrary","isAudioBlockMediaUploadEnabled","filter","source","every","allowedType","includes","some","getChooseFromDeviceIcon","mobile","isIOS","Platform","OS","picker","setTimeout","presentPicker","onSelect","multiple","mediaSource","shift","type","requestMediaPicker","media","render","isReplacingMedia","isOneType","length","isImage","isVideo","isAudio","isAnyType","isImageOrVideo","pickerTitle","getMediaOptions","jsx","Picker","title","hideCancelButton","ref","instance","options","onChange","testID","jsxs","Fragment","children","URLInput","isVisible","onClose","open","exports","BottomSheet","hideHeader","PanelBody","style","styles","TextControl","__next40pxDefaultSize","autoFocus","autoCapitalize","autoCorrect","autoComplete","keyboardType","placeholder","_default","default","compose","withSelect","select","capabilities","blockEditorStore","getSettings"],"sources":["@wordpress/block-editor/src/components/media-upload/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component, React } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBottomSheet,\n\tPanelBody,\n\tPicker,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tgetOtherMediaOptions,\n\trequestMediaPicker,\n\tmediaSources,\n} from '@wordpress/react-native-bridge';\nimport {\n\tcapturePhoto,\n\tcaptureVideo,\n\timage,\n\twordpress,\n\tmobile,\n\tglobe,\n} from '@wordpress/icons';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n\tOPTION_TAKE_VIDEO,\n\tOPTION_TAKE_PHOTO,\n\tOPTION_INSERT_FROM_URL,\n\tOPTION_WORDPRESS_MEDIA_LIBRARY,\n} from './constants';\nimport styles from './style.scss';\n\nconst URL_MEDIA_SOURCE = 'URL';\n\nconst PICKER_OPENING_DELAY = 200;\n\nexport class MediaUpload extends Component {\n\tpickerTimeout;\n\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onPickerPresent = this.onPickerPresent.bind( this );\n\t\tthis.onPickerSelect = this.onPickerSelect.bind( this );\n\t\tthis.getAllSources = this.getAllSources.bind( this );\n\t\tthis.state = {\n\t\t\turl: '',\n\t\t\tshowURLInput: false,\n\t\t\totherMediaOptions: [],\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { allowedTypes = [], autoOpen } = this.props;\n\t\tgetOtherMediaOptions( allowedTypes, ( otherMediaOptions ) => {\n\t\t\tconst otherMediaOptionsWithIcons = otherMediaOptions.map(\n\t\t\t\t( option ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...option,\n\t\t\t\t\t\trequiresModal: true,\n\t\t\t\t\t\ttypes: allowedTypes,\n\t\t\t\t\t\tid: option.value,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tthis.setState( { otherMediaOptions: otherMediaOptionsWithIcons } );\n\t\t} );\n\n\t\tif ( autoOpen ) {\n\t\t\tthis.onPickerPresent();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.pickerTimeout );\n\t}\n\n\tgetAllSources() {\n\t\tconst { onSelectURL } = this.props;\n\n\t\tconst cameraImageSource = {\n\t\t\tid: mediaSources.deviceCamera, // ID is the value sent to native.\n\t\t\tvalue: mediaSources.deviceCamera + '-IMAGE', // This is needed to diferenciate image-camera from video-camera sources.\n\t\t\tlabel: OPTION_TAKE_PHOTO,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE ],\n\t\t\ticon: capturePhoto,\n\t\t};\n\n\t\tconst cameraVideoSource = {\n\t\t\tid: mediaSources.deviceCamera,\n\t\t\tvalue: mediaSources.deviceCamera,\n\t\t\tlabel: OPTION_TAKE_VIDEO,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_VIDEO ],\n\t\t\ticon: captureVideo,\n\t\t};\n\n\t\tconst deviceLibrarySource = {\n\t\t\tid: mediaSources.deviceLibrary,\n\t\t\tvalue: mediaSources.deviceLibrary,\n\t\t\tlabel: __( 'Choose from device' ),\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: image,\n\t\t};\n\n\t\tconst siteLibrarySource = {\n\t\t\tid: mediaSources.siteMediaLibrary,\n\t\t\tvalue: mediaSources.siteMediaLibrary,\n\t\t\tlabel: OPTION_WORDPRESS_MEDIA_LIBRARY,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [\n\t\t\t\tMEDIA_TYPE_IMAGE,\n\t\t\t\tMEDIA_TYPE_VIDEO,\n\t\t\t\tMEDIA_TYPE_AUDIO,\n\t\t\t\tMEDIA_TYPE_ANY,\n\t\t\t],\n\t\t\ticon: wordpress,\n\t\t\tmediaLibrary: true,\n\t\t};\n\n\t\tconst urlSource = {\n\t\t\tid: URL_MEDIA_SOURCE,\n\t\t\tvalue: URL_MEDIA_SOURCE,\n\t\t\tlabel: OPTION_INSERT_FROM_URL,\n\t\t\ttypes: [ MEDIA_TYPE_AUDIO, MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: globe,\n\t\t};\n\n\t\t// Only include `urlSource` option if `onSelectURL` prop is present, in order to match the web behavior.\n\t\tconst internalSources = [\n\t\t\tdeviceLibrarySource,\n\t\t\tcameraImageSource,\n\t\t\tcameraVideoSource,\n\t\t\tsiteLibrarySource,\n\t\t\t...( onSelectURL ? [ urlSource ] : [] ),\n\t\t];\n\n\t\treturn internalSources.concat( this.state.otherMediaOptions );\n\t}\n\n\tgetMediaOptionsItems() {\n\t\tconst {\n\t\t\tallowedTypes = [],\n\t\t\t__experimentalOnlyMediaLibrary,\n\t\t\tisAudioBlockMediaUploadEnabled,\n\t\t} = this.props;\n\n\t\treturn this.getAllSources()\n\t\t\t.filter( ( source ) => {\n\t\t\t\tif ( __experimentalOnlyMediaLibrary ) {\n\t\t\t\t\treturn source.mediaLibrary;\n\t\t\t\t} else if (\n\t\t\t\t\tallowedTypes.every(\n\t\t\t\t\t\t( allowedType ) =>\n\t\t\t\t\t\t\tallowedType === MEDIA_TYPE_AUDIO &&\n\t\t\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t\t) &&\n\t\t\t\t\tsource.id !== URL_MEDIA_SOURCE\n\t\t\t\t) {\n\t\t\t\t\treturn isAudioBlockMediaUploadEnabled === true;\n\t\t\t\t}\n\n\t\t\t\treturn allowedTypes.some( ( allowedType ) =>\n\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.map( ( source ) => {\n\t\t\t\treturn {\n\t\t\t\t\t...source,\n\t\t\t\t\ticon: source.icon || this.getChooseFromDeviceIcon(),\n\t\t\t\t};\n\t\t\t} );\n\t}\n\n\tgetChooseFromDeviceIcon() {\n\t\treturn mobile;\n\t}\n\n\tonPickerPresent() {\n\t\tconst { autoOpen } = this.props;\n\t\tconst isIOS = Platform.OS === 'ios';\n\n\t\tif ( this.picker ) {\n\t\t\t// the delay below is required because on iOS this action sheet gets dismissed by the close event of the Inserter\n\t\t\t// so this delay allows the Inserter to be closed fully before presenting action sheet.\n\t\t\tif ( autoOpen && isIOS ) {\n\t\t\t\tthis.pickerTimeout = setTimeout(\n\t\t\t\t\t() => this.picker.presentPicker(),\n\t\t\t\t\tPICKER_OPENING_DELAY\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t}\n\t}\n\n\tonPickerSelect( value ) {\n\t\tconst { allowedTypes = [], onSelect, multiple = false } = this.props;\n\n\t\tif ( value === URL_MEDIA_SOURCE ) {\n\t\t\tthis.setState( { showURLInput: true } );\n\t\t\treturn;\n\t\t}\n\n\t\tconst mediaSource = this.getAllSources()\n\t\t\t.filter( ( source ) => source.value === value )\n\t\t\t.shift();\n\t\tconst types = allowedTypes.filter( ( type ) =>\n\t\t\tmediaSource.types.includes( type )\n\t\t);\n\n\t\trequestMediaPicker( mediaSource.id, types, multiple, ( media ) => {\n\t\t\tif ( ( multiple && media ) || ( media && media.id ) ) {\n\t\t\t\tonSelect( media );\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { allowedTypes = [], isReplacingMedia, multiple } = this.props;\n\t\tconst isOneType = allowedTypes.length === 1;\n\t\tconst isImage = isOneType && allowedTypes.includes( MEDIA_TYPE_IMAGE );\n\t\tconst isVideo = isOneType && allowedTypes.includes( MEDIA_TYPE_VIDEO );\n\t\tconst isAudio = isOneType && allowedTypes.includes( MEDIA_TYPE_AUDIO );\n\t\tconst isAnyType = isOneType && allowedTypes.includes( MEDIA_TYPE_ANY );\n\n\t\tconst isImageOrVideo =\n\t\t\tallowedTypes.length === 2 &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_IMAGE ) &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_VIDEO );\n\n\t\tlet pickerTitle;\n\t\tif ( isImage ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = multiple\n\t\t\t\t\t? __( 'Choose images' )\n\t\t\t\t\t: __( 'Choose image' );\n\t\t\t}\n\t\t} else if ( isVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose video' );\n\t\t\t}\n\t\t} else if ( isImageOrVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image or video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose image or video' );\n\t\t\t}\n\t\t} else if ( isAudio ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace audio' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose audio' );\n\t\t\t}\n\t\t} else if ( isAnyType ) {\n\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace file' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\t}\n\t\t}\n\n\t\tconst getMediaOptions = () => (\n\t\t\t<Picker\n\t\t\t\ttitle={ pickerTitle }\n\t\t\t\thideCancelButton\n\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\toptions={ this.getMediaOptionsItems() }\n\t\t\t\tonChange={ this.onPickerSelect }\n\t\t\t\ttestID=\"media-options-picker\"\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<URLInput\n\t\t\t\t\tisVisible={ this.state.showURLInput }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tif ( this.state.url !== '' ) {\n\t\t\t\t\t\t\tthis.props.onSelectURL( this.state.url );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setState( { showURLInput: false, url: '' } );\n\t\t\t\t\t} }\n\t\t\t\t\tonChange={ ( url ) => {\n\t\t\t\t\t\tthis.setState( { url } );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ this.state.url }\n\t\t\t\t/>\n\t\t\t\t{ this.props.render( {\n\t\t\t\t\topen: this.onPickerPresent,\n\t\t\t\t\tgetMediaOptions,\n\t\t\t\t} ) }\n\t\t\t</>\n\t\t);\n\t}\n}\n\nfunction URLInput( props ) {\n\treturn (\n\t\t<BottomSheet\n\t\t\thideHeader\n\t\t\tisVisible={ props.isVisible }\n\t\t\tonClose={ props.onClose }\n\t\t>\n\t\t\t<PanelBody style={ styles[ 'media-upload__link-input' ] }>\n\t\t\t\t<TextControl\n\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\tautoFocus\n\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\tautoComplete={ Platform.isIOS ? 'url' : 'off' }\n\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\tlabel={ OPTION_INSERT_FROM_URL }\n\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\tplaceholder={ __( 'Type a URL' ) }\n\t\t\t\t\tvalue={ props.value }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { capabilities } = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tisAudioBlockMediaUploadEnabled:\n\t\t\t\tcapabilities?.isAudioBlockMediaUploadEnabled === true,\n\t\t};\n\t} ),\n] )( MediaUpload );\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAMA,IAAAI,kBAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AAQA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAR,OAAA;AAKA,IAAAS,UAAA,GAAAT,OAAA;AAUA,IAAAU,MAAA,GAAAC,sBAAA,CAAAX,OAAA;AAAkC,IAAAY,WAAA,GAAAZ,OAAA;AA9ClC;AACA;AACA;;AAGA;AACA;AACA;;AA0BA;AACA;AACA;;AAaA,MAAMa,gBAAgB,GAAG,KAAK;AAE9B,MAAMC,oBAAoB,GAAG,GAAG;AAEzB,MAAMC,WAAW,SAASC,kBAAS,CAAC;EAC1CC,aAAa;EAEbC,WAAWA,CAAEC,KAAK,EAAG;IACpB,KAAK,CAAEA,KAAM,CAAC;IACd,IAAI,CAACC,eAAe,GAAG,IAAI,CAACA,eAAe,CAACC,IAAI,CAAE,IAAK,CAAC;IACxD,IAAI,CAACC,cAAc,GAAG,IAAI,CAACA,cAAc,CAACD,IAAI,CAAE,IAAK,CAAC;IACtD,IAAI,CAACE,aAAa,GAAG,IAAI,CAACA,aAAa,CAACF,IAAI,CAAE,IAAK,CAAC;IACpD,IAAI,CAACG,KAAK,GAAG;MACZC,GAAG,EAAE,EAAE;MACPC,YAAY,EAAE,KAAK;MACnBC,iBAAiB,EAAE;IACpB,CAAC;EACF;EAEAC,iBAAiBA,CAAA,EAAG;IACnB,MAAM;MAAEC,YAAY,GAAG,EAAE;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACX,KAAK;IAClD,IAAAY,uCAAoB,EAAEF,YAAY,EAAIF,iBAAiB,IAAM;MAC5D,MAAMK,0BAA0B,GAAGL,iBAAiB,CAACM,GAAG,CACrDC,MAAM,IAAM;QACb,OAAO;UACN,GAAGA,MAAM;UACTC,aAAa,EAAE,IAAI;UACnBC,KAAK,EAAEP,YAAY;UACnBQ,EAAE,EAAEH,MAAM,CAACI;QACZ,CAAC;MACF,CACD,CAAC;MAED,IAAI,CAACC,QAAQ,CAAE;QAAEZ,iBAAiB,EAAEK;MAA2B,CAAE,CAAC;IACnE,CAAE,CAAC;IAEH,IAAKF,QAAQ,EAAG;MACf,IAAI,CAACV,eAAe,CAAC,CAAC;IACvB;EACD;EAEAoB,oBAAoBA,CAAA,EAAG;IACtBC,YAAY,CAAE,IAAI,CAACxB,aAAc,CAAC;EACnC;EAEAM,aAAaA,CAAA,EAAG;IACf,MAAM;MAAEmB;IAAY,CAAC,GAAG,IAAI,CAACvB,KAAK;IAElC,MAAMwB,iBAAiB,GAAG;MACzBN,EAAE,EAAEO,+BAAY,CAACC,YAAY;MAAE;MAC/BP,KAAK,EAAEM,+BAAY,CAACC,YAAY,GAAG,QAAQ;MAAE;MAC7CC,KAAK,EAAEC,4BAAiB;MACxBZ,aAAa,EAAE,IAAI;MACnBC,KAAK,EAAE,CAAEY,2BAAgB,CAAE;MAC3BC,IAAI,EAAEC;IACP,CAAC;IAED,MAAMC,iBAAiB,GAAG;MACzBd,EAAE,EAAEO,+BAAY,CAACC,YAAY;MAC7BP,KAAK,EAAEM,+BAAY,CAACC,YAAY;MAChCC,KAAK,EAAEM,4BAAiB;MACxBjB,aAAa,EAAE,IAAI;MACnBC,KAAK,EAAE,CAAEiB,2BAAgB,CAAE;MAC3BJ,IAAI,EAAEK;IACP,CAAC;IAED,MAAMC,mBAAmB,GAAG;MAC3BlB,EAAE,EAAEO,+BAAY,CAACY,aAAa;MAC9BlB,KAAK,EAAEM,+BAAY,CAACY,aAAa;MACjCV,KAAK,EAAE,IAAAW,QAAE,EAAE,oBAAqB,CAAC;MACjCtB,aAAa,EAAE,IAAI;MACnBC,KAAK,EAAE,CAAEY,2BAAgB,EAAEK,2BAAgB,CAAE;MAC7CJ,IAAI,EAAES;IACP,CAAC;IAED,MAAMC,iBAAiB,GAAG;MACzBtB,EAAE,EAAEO,+BAAY,CAACgB,gBAAgB;MACjCtB,KAAK,EAAEM,+BAAY,CAACgB,gBAAgB;MACpCd,KAAK,EAAEe,yCAA8B;MACrC1B,aAAa,EAAE,IAAI;MACnBC,KAAK,EAAE,CACNY,2BAAgB,EAChBK,2BAAgB,EAChBS,2BAAgB,EAChBC,yBAAc,CACd;MACDd,IAAI,EAAEe,gBAAS;MACfC,YAAY,EAAE;IACf,CAAC;IAED,MAAMC,SAAS,GAAG;MACjB7B,EAAE,EAAExB,gBAAgB;MACpByB,KAAK,EAAEzB,gBAAgB;MACvBiC,KAAK,EAAEqB,iCAAsB;MAC7B/B,KAAK,EAAE,CAAE0B,2BAAgB,EAAEd,2BAAgB,EAAEK,2BAAgB,CAAE;MAC/DJ,IAAI,EAAEmB;IACP,CAAC;;IAED;IACA,MAAMC,eAAe,GAAG,CACvBd,mBAAmB,EACnBZ,iBAAiB,EACjBQ,iBAAiB,EACjBQ,iBAAiB,EACjB,IAAKjB,WAAW,GAAG,CAAEwB,SAAS,CAAE,GAAG,EAAE,CAAE,CACvC;IAED,OAAOG,eAAe,CAACC,MAAM,CAAE,IAAI,CAAC9C,KAAK,CAACG,iBAAkB,CAAC;EAC9D;EAEA4C,oBAAoBA,CAAA,EAAG;IACtB,MAAM;MACL1C,YAAY,GAAG,EAAE;MACjB2C,8BAA8B;MAC9BC;IACD,CAAC,GAAG,IAAI,CAACtD,KAAK;IAEd,OAAO,IAAI,CAACI,aAAa,CAAC,CAAC,CACzBmD,MAAM,CAAIC,MAAM,IAAM;MACtB,IAAKH,8BAA8B,EAAG;QACrC,OAAOG,MAAM,CAACV,YAAY;MAC3B,CAAC,MAAM,IACNpC,YAAY,CAAC+C,KAAK,CACfC,WAAW,IACZA,WAAW,KAAKf,2BAAgB,IAChCa,MAAM,CAACvC,KAAK,CAAC0C,QAAQ,CAAED,WAAY,CACrC,CAAC,IACDF,MAAM,CAACtC,EAAE,KAAKxB,gBAAgB,EAC7B;QACD,OAAO4D,8BAA8B,KAAK,IAAI;MAC/C;MAEA,OAAO5C,YAAY,CAACkD,IAAI,CAAIF,WAAW,IACtCF,MAAM,CAACvC,KAAK,CAAC0C,QAAQ,CAAED,WAAY,CACpC,CAAC;IACF,CAAE,CAAC,CACF5C,GAAG,CAAI0C,MAAM,IAAM;MACnB,OAAO;QACN,GAAGA,MAAM;QACT1B,IAAI,EAAE0B,MAAM,CAAC1B,IAAI,IAAI,IAAI,CAAC+B,uBAAuB,CAAC;MACnD,CAAC;IACF,CAAE,CAAC;EACL;EAEAA,uBAAuBA,CAAA,EAAG;IACzB,OAAOC,aAAM;EACd;EAEA7D,eAAeA,CAAA,EAAG;IACjB,MAAM;MAAEU;IAAS,CAAC,GAAG,IAAI,CAACX,KAAK;IAC/B,MAAM+D,KAAK,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK;IAEnC,IAAK,IAAI,CAACC,MAAM,EAAG;MAClB;MACA;MACA,IAAKvD,QAAQ,IAAIoD,KAAK,EAAG;QACxB,IAAI,CAACjE,aAAa,GAAGqE,UAAU,CAC9B,MAAM,IAAI,CAACD,MAAM,CAACE,aAAa,CAAC,CAAC,EACjCzE,oBACD,CAAC;MACF,CAAC,MAAM;QACN,IAAI,CAACuE,MAAM,CAACE,aAAa,CAAC,CAAC;MAC5B;IACD;EACD;EAEAjE,cAAcA,CAAEgB,KAAK,EAAG;IACvB,MAAM;MAAET,YAAY,GAAG,EAAE;MAAE2D,QAAQ;MAAEC,QAAQ,GAAG;IAAM,CAAC,GAAG,IAAI,CAACtE,KAAK;IAEpE,IAAKmB,KAAK,KAAKzB,gBAAgB,EAAG;MACjC,IAAI,CAAC0B,QAAQ,CAAE;QAAEb,YAAY,EAAE;MAAK,CAAE,CAAC;MACvC;IACD;IAEA,MAAMgE,WAAW,GAAG,IAAI,CAACnE,aAAa,CAAC,CAAC,CACtCmD,MAAM,CAAIC,MAAM,IAAMA,MAAM,CAACrC,KAAK,KAAKA,KAAM,CAAC,CAC9CqD,KAAK,CAAC,CAAC;IACT,MAAMvD,KAAK,GAAGP,YAAY,CAAC6C,MAAM,CAAIkB,IAAI,IACxCF,WAAW,CAACtD,KAAK,CAAC0C,QAAQ,CAAEc,IAAK,CAClC,CAAC;IAED,IAAAC,qCAAkB,EAAEH,WAAW,CAACrD,EAAE,EAAED,KAAK,EAAEqD,QAAQ,EAAIK,KAAK,IAAM;MACjE,IAAOL,QAAQ,IAAIK,KAAK,IAAQA,KAAK,IAAIA,KAAK,CAACzD,EAAI,EAAG;QACrDmD,QAAQ,CAAEM,KAAM,CAAC;MAClB;IACD,CAAE,CAAC;EACJ;EAEAC,MAAMA,CAAA,EAAG;IACR,MAAM;MAAElE,YAAY,GAAG,EAAE;MAAEmE,gBAAgB;MAAEP;IAAS,CAAC,GAAG,IAAI,CAACtE,KAAK;IACpE,MAAM8E,SAAS,GAAGpE,YAAY,CAACqE,MAAM,KAAK,CAAC;IAC3C,MAAMC,OAAO,GAAGF,SAAS,IAAIpE,YAAY,CAACiD,QAAQ,CAAE9B,2BAAiB,CAAC;IACtE,MAAMoD,OAAO,GAAGH,SAAS,IAAIpE,YAAY,CAACiD,QAAQ,CAAEzB,2BAAiB,CAAC;IACtE,MAAMgD,OAAO,GAAGJ,SAAS,IAAIpE,YAAY,CAACiD,QAAQ,CAAEhB,2BAAiB,CAAC;IACtE,MAAMwC,SAAS,GAAGL,SAAS,IAAIpE,YAAY,CAACiD,QAAQ,CAAEf,yBAAe,CAAC;IAEtE,MAAMwC,cAAc,GACnB1E,YAAY,CAACqE,MAAM,KAAK,CAAC,IACzBrE,YAAY,CAACiD,QAAQ,CAAE9B,2BAAiB,CAAC,IACzCnB,YAAY,CAACiD,QAAQ,CAAEzB,2BAAiB,CAAC;IAE1C,IAAImD,WAAW;IACf,IAAKL,OAAO,EAAG;MACd,IAAKH,gBAAgB,EAAG;QACvBQ,WAAW,GAAG,IAAA/C,QAAE,EAAE,eAAgB,CAAC;MACpC,CAAC,MAAM;QACN+C,WAAW,GAAGf,QAAQ,GACnB,IAAAhC,QAAE,EAAE,eAAgB,CAAC,GACrB,IAAAA,QAAE,EAAE,cAAe,CAAC;MACxB;IACD,CAAC,MAAM,IAAK2C,OAAO,EAAG;MACrB,IAAKJ,gBAAgB,EAAG;QACvBQ,WAAW,GAAG,IAAA/C,QAAE,EAAE,eAAgB,CAAC;MACpC,CAAC,MAAM;QACN+C,WAAW,GAAG,IAAA/C,QAAE,EAAE,cAAe,CAAC;MACnC;IACD,CAAC,MAAM,IAAK8C,cAAc,EAAG;MAC5B,IAAKP,gBAAgB,EAAG;QACvBQ,WAAW,GAAG,IAAA/C,QAAE,EAAE,wBAAyB,CAAC;MAC7C,CAAC,MAAM;QACN+C,WAAW,GAAG,IAAA/C,QAAE,EAAE,uBAAwB,CAAC;MAC5C;IACD,CAAC,MAAM,IAAK4C,OAAO,EAAG;MACrB,IAAKL,gBAAgB,EAAG;QACvBQ,WAAW,GAAG,IAAA/C,QAAE,EAAE,eAAgB,CAAC;MACpC,CAAC,MAAM;QACN+C,WAAW,GAAG,IAAA/C,QAAE,EAAE,cAAe,CAAC;MACnC;IACD,CAAC,MAAM,IAAK6C,SAAS,EAAG;MACvBE,WAAW,GAAG,IAAA/C,QAAE,EAAE,aAAc,CAAC;MACjC,IAAKuC,gBAAgB,EAAG;QACvBQ,WAAW,GAAG,IAAA/C,QAAE,EAAE,cAAe,CAAC;MACnC,CAAC,MAAM;QACN+C,WAAW,GAAG,IAAA/C,QAAE,EAAE,aAAc,CAAC;MAClC;IACD;IAEA,MAAMgD,eAAe,GAAGA,CAAA,kBACvB,IAAA7F,WAAA,CAAA8F,GAAA,EAACvG,WAAA,CAAAwG,MAAM;MACNC,KAAK,EAAGJ,WAAa;MACrBK,gBAAgB;MAChBC,GAAG,EAAKC,QAAQ,IAAQ,IAAI,CAAC1B,MAAM,GAAG0B,QAAY;MAClDC,OAAO,EAAG,IAAI,CAACzC,oBAAoB,CAAC,CAAG;MACvC0C,QAAQ,EAAG,IAAI,CAAC3F,cAAgB;MAChC4F,MAAM,EAAC;IAAsB,CAC7B,CACD;IAED,oBACC,IAAAtG,WAAA,CAAAuG,IAAA,EAAAvG,WAAA,CAAAwG,QAAA;MAAAC,QAAA,gBACC,IAAAzG,WAAA,CAAA8F,GAAA,EAACY,QAAQ;QACRC,SAAS,EAAG,IAAI,CAAC/F,KAAK,CAACE,YAAc;QACrC8F,OAAO,EAAGA,CAAA,KAAM;UACf,IAAK,IAAI,CAAChG,KAAK,CAACC,GAAG,KAAK,EAAE,EAAG;YAC5B,IAAI,CAACN,KAAK,CAACuB,WAAW,CAAE,IAAI,CAAClB,KAAK,CAACC,GAAI,CAAC;UACzC;UACA,IAAI,CAACc,QAAQ,CAAE;YAAEb,YAAY,EAAE,KAAK;YAAED,GAAG,EAAE;UAAG,CAAE,CAAC;QAClD,CAAG;QACHwF,QAAQ,EAAKxF,GAAG,IAAM;UACrB,IAAI,CAACc,QAAQ,CAAE;YAAEd;UAAI,CAAE,CAAC;QACzB,CAAG;QACHa,KAAK,EAAG,IAAI,CAACd,KAAK,CAACC;MAAK,CACxB,CAAC,EACA,IAAI,CAACN,KAAK,CAAC4E,MAAM,CAAE;QACpB0B,IAAI,EAAE,IAAI,CAACrG,eAAe;QAC1BqF;MACD,CAAE,CAAC;IAAA,CACF,CAAC;EAEL;AACD;AAACiB,OAAA,CAAA3G,WAAA,GAAAA,WAAA;AAED,SAASuG,QAAQA,CAAEnG,KAAK,EAAG;EAC1B,oBACC,IAAAP,WAAA,CAAA8F,GAAA,EAACvG,WAAA,CAAAwH,WAAW;IACXC,UAAU;IACVL,SAAS,EAAGpG,KAAK,CAACoG,SAAW;IAC7BC,OAAO,EAAGrG,KAAK,CAACqG,OAAS;IAAAH,QAAA,eAEzB,IAAAzG,WAAA,CAAA8F,GAAA,EAACvG,WAAA,CAAA0H,SAAS;MAACC,KAAK,EAAGC,cAAM,CAAE,0BAA0B,CAAI;MAAAV,QAAA,eACxD,IAAAzG,WAAA,CAAA8F,GAAA,EAACvG,WAAA,CAAA6H;MACA;MAAA;QACAC,qBAAqB,EAAG;QACxB;QAAA;QACAC,SAAS;QACTC,cAAc,EAAC,MAAM;QACrBC,WAAW,EAAG,KAAO;QACrBC,YAAY,EAAGlD,qBAAQ,CAACD,KAAK,GAAG,KAAK,GAAG,KAAO;QAC/CoD,YAAY,EAAC,KAAK;QAClBxF,KAAK,EAAGqB,iCAAwB;QAChC8C,QAAQ,EAAG9F,KAAK,CAAC8F,QAAU;QAC3BsB,WAAW,EAAG,IAAA9E,QAAE,EAAE,YAAa,CAAG;QAClCnB,KAAK,EAAGnB,KAAK,CAACmB;MAAO,CACrB;IAAC,CACQ;EAAC,CACA,CAAC;AAEhB;AAAC,IAAAkG,QAAA,GAAAd,OAAA,CAAAe,OAAA,GAEc,IAAAC,gBAAO,EAAE,CACvB,IAAAC,gBAAU,EAAIC,MAAM,IAAM;EACzB,MAAM;IAAEC;EAAa,CAAC,GAAGD,MAAM,CAAEE,kBAAiB,CAAC,CAACC,WAAW,CAAC,CAAC;EACjE,OAAO;IACNtE,8BAA8B,EAC7BoE,YAAY,EAAEpE,8BAA8B,KAAK;EACnD,CAAC;AACF,CAAE,CAAC,CACF,CAAC,CAAE1D,WAAY,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_element","_i18n","_components","_reactNativeBridge","_icons","_blockEditor","_compose","_data","_constants","_style","_interopRequireDefault","_jsxRuntime","URL_MEDIA_SOURCE","PICKER_OPENING_DELAY","MediaUpload","Component","pickerTimeout","constructor","props","onPickerPresent","bind","onPickerSelect","getAllSources","state","url","showURLInput","otherMediaOptions","componentDidMount","allowedTypes","autoOpen","getOtherMediaOptions","otherMediaOptionsWithIcons","map","option","requiresModal","types","id","value","setState","componentWillUnmount","clearTimeout","onSelectURL","cameraImageSource","mediaSources","deviceCamera","label","OPTION_TAKE_PHOTO","MEDIA_TYPE_IMAGE","icon","capturePhoto","cameraVideoSource","OPTION_TAKE_VIDEO","MEDIA_TYPE_VIDEO","captureVideo","deviceLibrarySource","deviceLibrary","__","image","siteLibrarySource","siteMediaLibrary","OPTION_WORDPRESS_MEDIA_LIBRARY","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","wordpress","mediaLibrary","urlSource","OPTION_INSERT_FROM_URL","globe","internalSources","concat","getMediaOptionsItems","__experimentalOnlyMediaLibrary","isAudioBlockMediaUploadEnabled","filter","source","every","allowedType","includes","some","getChooseFromDeviceIcon","mobile","isIOS","Platform","OS","picker","setTimeout","presentPicker","onSelect","multiple","mediaSource","shift","type","requestMediaPicker","media","render","isReplacingMedia","isOneType","length","isImage","isVideo","isAudio","isAnyType","isImageOrVideo","pickerTitle","getMediaOptions","jsx","Picker","title","hideCancelButton","ref","instance","options","onChange","testID","jsxs","Fragment","children","URLInput","isVisible","onClose","open","exports","BottomSheet","hideHeader","PanelBody","style","styles","TextControl","__next40pxDefaultSize","autoFocus","autoCapitalize","autoCorrect","autoComplete","keyboardType","placeholder","_default","default","compose","withSelect","select","capabilities","blockEditorStore","getSettings"],"sources":["@wordpress/block-editor/src/components/media-upload/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component, React } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBottomSheet,\n\tPanelBody,\n\tPicker,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tgetOtherMediaOptions,\n\trequestMediaPicker,\n\tmediaSources,\n} from '@wordpress/react-native-bridge';\nimport {\n\tcapturePhoto,\n\tcaptureVideo,\n\timage,\n\twordpress,\n\tmobile,\n\tglobe,\n} from '@wordpress/icons';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n\tOPTION_TAKE_VIDEO,\n\tOPTION_TAKE_PHOTO,\n\tOPTION_INSERT_FROM_URL,\n\tOPTION_WORDPRESS_MEDIA_LIBRARY,\n} from './constants';\nimport styles from './style.scss';\n\nconst URL_MEDIA_SOURCE = 'URL';\n\nconst PICKER_OPENING_DELAY = 200;\n\nexport class MediaUpload extends Component {\n\tpickerTimeout;\n\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onPickerPresent = this.onPickerPresent.bind( this );\n\t\tthis.onPickerSelect = this.onPickerSelect.bind( this );\n\t\tthis.getAllSources = this.getAllSources.bind( this );\n\t\tthis.state = {\n\t\t\turl: '',\n\t\t\tshowURLInput: false,\n\t\t\totherMediaOptions: [],\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { allowedTypes = [], autoOpen } = this.props;\n\t\tgetOtherMediaOptions( allowedTypes, ( otherMediaOptions ) => {\n\t\t\tconst otherMediaOptionsWithIcons = otherMediaOptions.map(\n\t\t\t\t( option ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...option,\n\t\t\t\t\t\trequiresModal: true,\n\t\t\t\t\t\ttypes: allowedTypes,\n\t\t\t\t\t\tid: option.value,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tthis.setState( { otherMediaOptions: otherMediaOptionsWithIcons } );\n\t\t} );\n\n\t\tif ( autoOpen ) {\n\t\t\tthis.onPickerPresent();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.pickerTimeout );\n\t}\n\n\tgetAllSources() {\n\t\tconst { onSelectURL } = this.props;\n\n\t\tconst cameraImageSource = {\n\t\t\tid: mediaSources.deviceCamera, // ID is the value sent to native.\n\t\t\tvalue: mediaSources.deviceCamera + '-IMAGE', // This is needed to diferenciate image-camera from video-camera sources.\n\t\t\tlabel: OPTION_TAKE_PHOTO,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE ],\n\t\t\ticon: capturePhoto,\n\t\t};\n\n\t\tconst cameraVideoSource = {\n\t\t\tid: mediaSources.deviceCamera,\n\t\t\tvalue: mediaSources.deviceCamera,\n\t\t\tlabel: OPTION_TAKE_VIDEO,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_VIDEO ],\n\t\t\ticon: captureVideo,\n\t\t};\n\n\t\tconst deviceLibrarySource = {\n\t\t\tid: mediaSources.deviceLibrary,\n\t\t\tvalue: mediaSources.deviceLibrary,\n\t\t\tlabel: __( 'Choose from device' ),\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: image,\n\t\t};\n\n\t\tconst siteLibrarySource = {\n\t\t\tid: mediaSources.siteMediaLibrary,\n\t\t\tvalue: mediaSources.siteMediaLibrary,\n\t\t\tlabel: OPTION_WORDPRESS_MEDIA_LIBRARY,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [\n\t\t\t\tMEDIA_TYPE_IMAGE,\n\t\t\t\tMEDIA_TYPE_VIDEO,\n\t\t\t\tMEDIA_TYPE_AUDIO,\n\t\t\t\tMEDIA_TYPE_ANY,\n\t\t\t],\n\t\t\ticon: wordpress,\n\t\t\tmediaLibrary: true,\n\t\t};\n\n\t\tconst urlSource = {\n\t\t\tid: URL_MEDIA_SOURCE,\n\t\t\tvalue: URL_MEDIA_SOURCE,\n\t\t\tlabel: OPTION_INSERT_FROM_URL,\n\t\t\ttypes: [ MEDIA_TYPE_AUDIO, MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: globe,\n\t\t};\n\n\t\t// Only include `urlSource` option if `onSelectURL` prop is present, in order to match the web behavior.\n\t\tconst internalSources = [\n\t\t\tdeviceLibrarySource,\n\t\t\tcameraImageSource,\n\t\t\tcameraVideoSource,\n\t\t\tsiteLibrarySource,\n\t\t\t...( onSelectURL ? [ urlSource ] : [] ),\n\t\t];\n\n\t\treturn internalSources.concat( this.state.otherMediaOptions );\n\t}\n\n\tgetMediaOptionsItems() {\n\t\tconst {\n\t\t\tallowedTypes = [],\n\t\t\t__experimentalOnlyMediaLibrary,\n\t\t\tisAudioBlockMediaUploadEnabled,\n\t\t} = this.props;\n\n\t\treturn this.getAllSources()\n\t\t\t.filter( ( source ) => {\n\t\t\t\tif ( __experimentalOnlyMediaLibrary ) {\n\t\t\t\t\treturn source.mediaLibrary;\n\t\t\t\t} else if (\n\t\t\t\t\tallowedTypes.every(\n\t\t\t\t\t\t( allowedType ) =>\n\t\t\t\t\t\t\tallowedType === MEDIA_TYPE_AUDIO &&\n\t\t\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t\t) &&\n\t\t\t\t\tsource.id !== URL_MEDIA_SOURCE\n\t\t\t\t) {\n\t\t\t\t\treturn isAudioBlockMediaUploadEnabled === true;\n\t\t\t\t}\n\n\t\t\t\treturn allowedTypes.some( ( allowedType ) =>\n\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.map( ( source ) => {\n\t\t\t\treturn {\n\t\t\t\t\t...source,\n\t\t\t\t\ticon: source.icon || this.getChooseFromDeviceIcon(),\n\t\t\t\t};\n\t\t\t} );\n\t}\n\n\tgetChooseFromDeviceIcon() {\n\t\treturn mobile;\n\t}\n\n\tonPickerPresent() {\n\t\tconst { autoOpen } = this.props;\n\t\tconst isIOS = Platform.OS === 'ios';\n\n\t\tif ( this.picker ) {\n\t\t\t// the delay below is required because on iOS this action sheet gets dismissed by the close event of the Inserter\n\t\t\t// so this delay allows the Inserter to be closed fully before presenting action sheet.\n\t\t\tif ( autoOpen && isIOS ) {\n\t\t\t\tthis.pickerTimeout = setTimeout(\n\t\t\t\t\t() => this.picker.presentPicker(),\n\t\t\t\t\tPICKER_OPENING_DELAY\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t}\n\t}\n\n\tonPickerSelect( value ) {\n\t\tconst { allowedTypes = [], onSelect, multiple = false } = this.props;\n\n\t\tif ( value === URL_MEDIA_SOURCE ) {\n\t\t\tthis.setState( { showURLInput: true } );\n\t\t\treturn;\n\t\t}\n\n\t\tconst mediaSource = this.getAllSources()\n\t\t\t.filter( ( source ) => source.value === value )\n\t\t\t.shift();\n\t\tconst types = allowedTypes.filter( ( type ) =>\n\t\t\tmediaSource.types.includes( type )\n\t\t);\n\n\t\trequestMediaPicker( mediaSource.id, types, multiple, ( media ) => {\n\t\t\tif ( ( multiple && media ) || ( media && media.id ) ) {\n\t\t\t\tonSelect( media );\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { allowedTypes = [], isReplacingMedia, multiple } = this.props;\n\t\tconst isOneType = allowedTypes.length === 1;\n\t\tconst isImage = isOneType && allowedTypes.includes( MEDIA_TYPE_IMAGE );\n\t\tconst isVideo = isOneType && allowedTypes.includes( MEDIA_TYPE_VIDEO );\n\t\tconst isAudio = isOneType && allowedTypes.includes( MEDIA_TYPE_AUDIO );\n\t\tconst isAnyType = isOneType && allowedTypes.includes( MEDIA_TYPE_ANY );\n\n\t\tconst isImageOrVideo =\n\t\t\tallowedTypes.length === 2 &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_IMAGE ) &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_VIDEO );\n\n\t\tlet pickerTitle;\n\t\tif ( isImage ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = multiple\n\t\t\t\t\t? __( 'Choose images' )\n\t\t\t\t\t: __( 'Choose image' );\n\t\t\t}\n\t\t} else if ( isVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose video' );\n\t\t\t}\n\t\t} else if ( isImageOrVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image or video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose image or video' );\n\t\t\t}\n\t\t} else if ( isAudio ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace audio' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose audio' );\n\t\t\t}\n\t\t} else if ( isAnyType ) {\n\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace file' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\t}\n\t\t}\n\n\t\tconst getMediaOptions = () => (\n\t\t\t<Picker\n\t\t\t\ttitle={ pickerTitle }\n\t\t\t\thideCancelButton\n\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\toptions={ this.getMediaOptionsItems() }\n\t\t\t\tonChange={ this.onPickerSelect }\n\t\t\t\ttestID=\"media-options-picker\"\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<URLInput\n\t\t\t\t\tisVisible={ this.state.showURLInput }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tif ( this.state.url !== '' ) {\n\t\t\t\t\t\t\tthis.props.onSelectURL( this.state.url );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setState( { showURLInput: false, url: '' } );\n\t\t\t\t\t} }\n\t\t\t\t\tonChange={ ( url ) => {\n\t\t\t\t\t\tthis.setState( { url } );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ this.state.url }\n\t\t\t\t/>\n\t\t\t\t{ this.props.render( {\n\t\t\t\t\topen: this.onPickerPresent,\n\t\t\t\t\tgetMediaOptions,\n\t\t\t\t} ) }\n\t\t\t</>\n\t\t);\n\t}\n}\n\nfunction URLInput( props ) {\n\treturn (\n\t\t<BottomSheet\n\t\t\thideHeader\n\t\t\tisVisible={ props.isVisible }\n\t\t\tonClose={ props.onClose }\n\t\t>\n\t\t\t<PanelBody style={ styles[ 'media-upload__link-input' ] }>\n\t\t\t\t<TextControl\n\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\tautoFocus\n\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\tautoComplete={ Platform.isIOS ? 'url' : 'off' }\n\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\tlabel={ OPTION_INSERT_FROM_URL }\n\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\tplaceholder={ __( 'Type a URL' ) }\n\t\t\t\t\tvalue={ props.value }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { capabilities } = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tisAudioBlockMediaUploadEnabled:\n\t\t\t\tcapabilities?.isAudioBlockMediaUploadEnabled === true,\n\t\t};\n\t} ),\n] )( MediaUpload );\n"],"mappings":"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","ignoreList":[]}
@@ -7,9 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = MultiSelectionInspector;
8
8
  var _i18n = require("@wordpress/i18n");
9
9
  var _data = require("@wordpress/data");
10
- var _blocks = require("@wordpress/blocks");
11
- var _wordcount = require("@wordpress/wordcount");
12
10
  var _icons = require("@wordpress/icons");
11
+ var _components = require("@wordpress/components");
13
12
  var _blockIcon = _interopRequireDefault(require("../block-icon"));
14
13
  var _store = require("../../store");
15
14
  var _jsxRuntime = require("react/jsx-runtime");
@@ -22,33 +21,18 @@ var _jsxRuntime = require("react/jsx-runtime");
22
21
  */
23
22
 
24
23
  function MultiSelectionInspector() {
25
- const {
26
- blocks
27
- } = (0, _data.useSelect)(select => {
28
- const {
29
- getMultiSelectedBlocks
30
- } = select(_store.store);
31
- return {
32
- blocks: getMultiSelectedBlocks()
33
- };
34
- }, []);
35
- const words = (0, _wordcount.count)((0, _blocks.serialize)(blocks), 'words');
36
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
24
+ const selectedBlockCount = (0, _data.useSelect)(select => select(_store.store).getSelectedBlockCount(), []);
25
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
26
+ justify: "flex-start",
27
+ spacing: 2,
37
28
  className: "block-editor-multi-selection-inspector__card",
38
29
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockIcon.default, {
39
30
  icon: _icons.copy,
40
31
  showColors: true
41
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
42
- className: "block-editor-multi-selection-inspector__card-content",
43
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
44
- className: "block-editor-multi-selection-inspector__card-title",
45
- children: (0, _i18n.sprintf)(/* translators: %d: number of blocks */
46
- (0, _i18n._n)('%d Block', '%d Blocks', blocks.length), blocks.length)
47
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
48
- className: "block-editor-multi-selection-inspector__card-description",
49
- children: (0, _i18n.sprintf)(/* translators: %d: number of words */
50
- (0, _i18n._n)('%d word selected.', '%d words selected.', words), words)
51
- })]
32
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
33
+ className: "block-editor-multi-selection-inspector__card-title",
34
+ children: (0, _i18n.sprintf)(/* translators: %d: number of blocks */
35
+ (0, _i18n._n)('%d Block', '%d Blocks', selectedBlockCount), selectedBlockCount)
52
36
  })]
53
37
  });
54
38
  }