@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":["View","Text","TouchableOpacity","__","sprintf","usePreferredColorSchemeStyle","cloneElement","useCallback","useRef","Icon","plusCircleFilled","styles","useBlockEditContext","MediaUpload","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MEDIA_TYPE_AUDIO","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","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","current","blockEditContext","onButtonPress","open","event","setMedia","selected","isOneType","length","isImage","includes","isVideo","isAudio","placeholderTitle","title","undefined","instructions","accessibilityHint","titleStyles","addMediaButtonStyle","addMediaButton","addMediaButtonDark","buttonStyles","emptyStateDescriptionStyles","emptyStateDescription","emptyStateDescriptionDark","iconStyles","placeholderIcon","fill","accessibilityLabel","renderContent","style","activeOpacity","accessibilityRole","onPress","testID","color","size","appenderStyle","appender","appenderDark","containerSelectedStyle","containerStyle","isSelected","flex","isReplacingMedia","autoOpen","render","getMediaOptions"],"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":["View","Text","TouchableOpacity","__","sprintf","usePreferredColorSchemeStyle","cloneElement","useCallback","useRef","Icon","plusCircleFilled","styles","useBlockEditContext","MediaUpload","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MEDIA_TYPE_AUDIO","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","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","current","blockEditContext","onButtonPress","open","event","setMedia","selected","isOneType","length","isImage","includes","isVideo","isAudio","placeholderTitle","title","undefined","instructions","accessibilityHint","titleStyles","addMediaButtonStyle","addMediaButton","addMediaButtonDark","buttonStyles","emptyStateDescriptionStyles","emptyStateDescription","emptyStateDescriptionDark","iconStyles","placeholderIcon","fill","accessibilityLabel","renderContent","style","activeOpacity","accessibilityRole","onPress","testID","color","size","appenderStyle","appender","appenderDark","containerSelectedStyle","containerStyle","isSelected","flex","isReplacingMedia","autoOpen","render","getMediaOptions"],"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
  /**
2
3
  * External dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useRef","__","speak","FormFileUpload","NavigableMenu","MenuItem","ToolbarButton","Dropdown","withFilters","useSelect","withDispatch","DOWN","postFeaturedImage","upload","media","mediaIcon","compose","__unstableStripHTML","stripHTML","store","noticesStore","MediaUpload","MediaUploadCheck","LinkControl","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","noop","uniqueId","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onError","onSelect","onSelectURL","onReset","onToggleFeaturedImage","useFeaturedImage","onFilesUpload","name","createNotice","removeNotice","children","multiple","addToGallery","handleUpload","popoverProps","mediaUpload","select","getSettings","canUpload","editMediaButtonRef","errorNoticeID","onUploadError","message","safeMessage","setTimeout","id","isDismissible","selectMedia","closeMenu","uploadFiles","event","files","target","filesList","onFileChange","openOnArrowDown","keyCode","preventDefault","click","onlyAllowsImages","length","every","allowedType","startsWith","gallery","contentClassName","renderToggle","isOpen","onToggle","ref","onClick","onKeyDown","renderContent","onClose","className","value","render","open","icon","onChange","openFileDialog","isPressed","url","settings","showSuggestions","current","focus","dispatch"],"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":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,QAAQ,iBAAiB;AACvC,SACCC,cAAc,EACdC,aAAa,EACbC,QAAQ,EACRC,aAAa,EACbC,QAAQ,EACRC,WAAW,QACL,uBAAuB;AAC9B,SAASC,SAAS,EAAEC,YAAY,QAAQ,iBAAiB;AACzD,SAASC,IAAI,QAAQ,qBAAqB;AAC1C,SACCC,iBAAiB,EACjBC,MAAM,EACNC,KAAK,IAAIC,SAAS,QACZ,kBAAkB;AACzB,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,mBAAmB,IAAIC,SAAS,QAAQ,gBAAgB;AACjE,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;;AAE1D;AACA;AACA;AACA,OAAOC,WAAW,MAAM,iBAAiB;AACzC,OAAOC,gBAAgB,MAAM,uBAAuB;AACpD,OAAOC,WAAW,MAAM,iBAAiB;AACzC,SAASJ,KAAK,IAAIK,gBAAgB,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAExD,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AACrB,IAAIC,QAAQ,GAAG,CAAC;AAEhB,MAAMC,gBAAgB,GAAGA,CAAE;EAC1BC,QAAQ;EACRC,OAAO;EACPC,QAAQ;EACRC,YAAY;EACZC,MAAM;EACNC,OAAO;EACPC,QAAQ;EACRC,WAAW;EACXC,OAAO;EACPC,qBAAqB;EACrBC,gBAAgB;EAChBC,aAAa,GAAGd,IAAI;EACpBe,IAAI,GAAG7C,EAAE,CAAE,SAAU,CAAC;EACtB8C,YAAY;EACZC,YAAY;EACZC,QAAQ;EACRC,QAAQ,GAAG,KAAK;EAChBC,YAAY;EACZC,YAAY,GAAG,IAAI;EACnBC;AACD,CAAC,KAAM;EACN,MAAMC,WAAW,GAAG7C,SAAS,CAAI8C,MAAM,IAAM;IAC5C,OAAOA,MAAM,CAAE/B,gBAAiB,CAAC,CAACgC,WAAW,CAAC,CAAC,CAACF,WAAW;EAC5D,CAAC,EAAE,EAAG,CAAC;EACP,MAAMG,SAAS,GAAG,CAAC,CAAEH,WAAW;EAChC,MAAMI,kBAAkB,GAAG1D,MAAM,CAAC,CAAC;EACnC,MAAM2D,aAAa,GAAG,gDAAiD,EAAE3B,QAAQ,EAAG;EAEpF,MAAM4B,aAAa,GAAKC,OAAO,IAAM;IACpC,MAAMC,WAAW,GAAG5C,SAAS,CAAE2C,OAAQ,CAAC;IACxC,IAAKtB,OAAO,EAAG;MACdA,OAAO,CAAEuB,WAAY,CAAC;MACtB;IACD;IACA;IACA;IACA;IACA;IACA;IACA;IACAC,UAAU,CAAE,MAAM;MACjBhB,YAAY,CAAE,OAAO,EAAEe,WAAW,EAAE;QACnC5D,KAAK,EAAE,IAAI;QACX8D,EAAE,EAAEL,aAAa;QACjBM,aAAa,EAAE;MAChB,CAAE,CAAC;IACJ,CAAC,EAAE,IAAK,CAAC;EACV,CAAC;EAED,MAAMC,WAAW,GAAGA,CAAEpD,KAAK,EAAEqD,SAAS,KAAM;IAC3C,IAAKvB,gBAAgB,IAAID,qBAAqB,EAAG;MAChDA,qBAAqB,CAAC,CAAC;IACxB;IACAwB,SAAS,CAAC,CAAC;IACX;IACA3B,QAAQ,CAAE1B,KAAM,CAAC;IACjBZ,KAAK,CAAED,EAAE,CAAE,kCAAmC,CAAE,CAAC;IACjD+C,YAAY,CAAEW,aAAc,CAAC;EAC9B,CAAC;EAED,MAAMS,WAAW,GAAGA,CAAEC,KAAK,EAAEF,SAAS,KAAM;IAC3C,MAAMG,KAAK,GAAGD,KAAK,CAACE,MAAM,CAACD,KAAK;IAChC,IAAK,CAAElB,YAAY,EAAG;MACrBe,SAAS,CAAC,CAAC;MACX,OAAO3B,QAAQ,CAAE8B,KAAM,CAAC;IACzB;IACAzB,aAAa,CAAEyB,KAAM,CAAC;IACtBhB,WAAW,CAAE;MACZjB,YAAY;MACZmC,SAAS,EAAEF,KAAK;MAChBG,YAAY,EAAEA,CAAE,CAAE3D,KAAK,CAAE,KAAM;QAC9BoD,WAAW,CAAEpD,KAAK,EAAEqD,SAAU,CAAC;MAChC,CAAC;MACD5B,OAAO,EAAEqB;IACV,CAAE,CAAC;EACJ,CAAC;EAED,MAAMc,eAAe,GAAKL,KAAK,IAAM;IACpC,IAAKA,KAAK,CAACM,OAAO,KAAKhE,IAAI,EAAG;MAC7B0D,KAAK,CAACO,cAAc,CAAC,CAAC;MACtBP,KAAK,CAACE,MAAM,CAACM,KAAK,CAAC,CAAC;IACrB;EACD,CAAC;EAED,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;IAC9B,IAAK,CAAEzC,YAAY,IAAIA,YAAY,CAAC0C,MAAM,KAAK,CAAC,EAAG;MAClD,OAAO,KAAK;IACb;IAEA,OAAO1C,YAAY,CAAC2C,KAAK,CACtBC,WAAW,IACZA,WAAW,KAAK,OAAO,IAAIA,WAAW,CAACC,UAAU,CAAE,QAAS,CAC9D,CAAC;EACF,CAAC;EAED,MAAMC,OAAO,GAAGjC,QAAQ,IAAI4B,gBAAgB,CAAC,CAAC;EAE9C,oBACCpD,IAAA,CAACnB,QAAQ;IACR8C,YAAY,EAAGA,YAAc;IAC7B+B,gBAAgB,EAAC,0CAA0C;IAC3DC,YAAY,EAAGA,CAAE;MAAEC,MAAM;MAAEC;IAAS,CAAC,kBACpC7D,IAAA,CAACpB,aAAa;MACbkF,GAAG,EAAG9B,kBAAoB;MAC1B,iBAAgB4B,MAAQ;MACxB,iBAAc,MAAM;MACpBG,OAAO,EAAGF,QAAU;MACpBG,SAAS,EAAGhB,eAAiB;MAAAzB,QAAA,EAE3BH;IAAI,CACQ,CACb;IACH6C,aAAa,EAAGA,CAAE;MAAEC;IAAQ,CAAC,kBAC5BhE,KAAA,CAAAE,SAAA;MAAAmB,QAAA,gBACCrB,KAAA,CAACxB,aAAa;QAACyF,SAAS,EAAC,oDAAoD;QAAA5C,QAAA,gBAC5ErB,KAAA,CAACN,gBAAgB;UAAA2B,QAAA,gBAChBvB,IAAA,CAACL,WAAW;YACX8D,OAAO,EAAGA,OAAS;YACnBhC,YAAY,EAAGA,YAAc;YAC7BD,QAAQ,EAAGA,QAAU;YACrB4C,KAAK,EAAG5C,QAAQ,GAAGd,QAAQ,GAAGD,OAAS;YACvCK,QAAQ,EAAK1B,KAAK,IACjBoD,WAAW,CAAEpD,KAAK,EAAE8E,OAAQ,CAC5B;YACDvD,YAAY,EAAGA,YAAc;YAC7B0D,MAAM,EAAGA,CAAE;cAAEC;YAAK,CAAC,kBAClBtE,IAAA,CAACrB,QAAQ;cACR4F,IAAI,EAAGlF,SAAW;cAClB0E,OAAO,EAAGO,IAAM;cAAA/C,QAAA,EAEdhD,EAAE,CAAE,oBAAqB;YAAC,CACnB;UACR,CACH,CAAC,eACFyB,IAAA,CAACvB,cAAc;YACd+F,QAAQ,EAAK7B,KAAK,IAAM;cACvBD,WAAW,CAAEC,KAAK,EAAEuB,OAAQ,CAAC;YAC9B,CAAG;YACHtD,MAAM,EAAGA,MAAQ;YACjBY,QAAQ,EAAG,CAAC,CAAEA,QAAU;YACxB6C,MAAM,EAAGA,CAAE;cAAEI;YAAe,CAAC,KAAM;cAClC,oBACCzE,IAAA,CAACrB,QAAQ;gBACR4F,IAAI,EAAGpF,MAAQ;gBACf4E,OAAO,EAAGA,CAAA,KAAM;kBACfU,cAAc,CAAC,CAAC;gBACjB,CAAG;gBAAAlD,QAAA,EAEDhD,EAAE,CAAE,QAAS;cAAC,CACP,CAAC;YAEb;UAAG,CACH,CAAC;QAAA,CACe,CAAC,EACjB0C,qBAAqB,iBACtBjB,IAAA,CAACrB,QAAQ;UACR4F,IAAI,EAAGrF,iBAAmB;UAC1B6E,OAAO,EAAG9C,qBAAuB;UACjCyD,SAAS,EAAGxD,gBAAkB;UAAAK,QAAA,EAE5BhD,EAAE,CAAE,oBAAqB;QAAC,CACnB,CACV,EACCiC,QAAQ,IAAIQ,OAAO,iBACpBhB,IAAA,CAACrB,QAAQ;UACRoF,OAAO,EAAGA,CAAA,KAAM;YACf/C,OAAO,CAAC,CAAC;YACTkD,OAAO,CAAC,CAAC;UACV,CAAG;UAAA3C,QAAA,EAEDhD,EAAE,CAAE,OAAQ;QAAC,CACN,CACV,EACC,OAAOgD,QAAQ,KAAK,UAAU,GAC7BA,QAAQ,CAAE;UAAE2C;QAAQ,CAAE,CAAC,GACvB3C,QAAQ;MAAA,CACG,CAAC,EACdR,WAAW;MAAA;MACZ;MACAb,KAAA;QACCiE,SAAS,EAAG9F,IAAI,CACf,oCAAoC,EACpC;UACC,cAAc,EACb0D,SAAS,IAAId;QACf,CACD,CAAG;QAAAM,QAAA,gBAEHvB,IAAA;UAAMmE,SAAS,EAAC,kDAAkD;UAAA5C,QAAA,EAC/DhD,EAAE,CAAE,oBAAqB;QAAC,CACvB,CAAC,eAEPyB,IAAA,CAACH,WAAW;UACXuE,KAAK,EAAG;YAAEO,GAAG,EAAEnE;UAAS,CAAG;UAC3BoE,QAAQ,EAAG,EAAI;UACfC,eAAe,EAAG,KAAO;UACzBL,QAAQ,EAAGA,CAAE;YAAEG;UAAI,CAAC,KAAM;YACzB5D,WAAW,CAAE4D,GAAI,CAAC;YAClB3C,kBAAkB,CAAC8C,OAAO,CAACC,KAAK,CAAC,CAAC;UACnC;QAAG,CACH,CAAC;MAAA,CACG,CACN;IAAA,CACA;EACA,CACH,CAAC;AAEJ,CAAC;;AAED;AACA;AACA;AACA,eAAezF,OAAO,CAAE,CACvBN,YAAY,CAAIgG,QAAQ,IAAM;EAC7B,MAAM;IAAE3D,YAAY;IAAEC;EAAa,CAAC,GAAG0D,QAAQ,CAAEtF,YAAa,CAAC;EAC/D,OAAO;IACN2B,YAAY;IACZC;EACD,CAAC;AACF,CAAE,CAAC,EACHxC,WAAW,CAAE,yBAA0B,CAAC,CACvC,CAAC,CAAEyB,gBAAiB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useRef","__","speak","FormFileUpload","NavigableMenu","MenuItem","ToolbarButton","Dropdown","withFilters","useSelect","withDispatch","DOWN","postFeaturedImage","upload","media","mediaIcon","compose","__unstableStripHTML","stripHTML","store","noticesStore","MediaUpload","MediaUploadCheck","LinkControl","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","noop","uniqueId","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onError","onSelect","onSelectURL","onReset","onToggleFeaturedImage","useFeaturedImage","onFilesUpload","name","createNotice","removeNotice","children","multiple","addToGallery","handleUpload","popoverProps","mediaUpload","select","getSettings","canUpload","editMediaButtonRef","errorNoticeID","onUploadError","message","safeMessage","setTimeout","id","isDismissible","selectMedia","closeMenu","uploadFiles","event","files","target","filesList","onFileChange","openOnArrowDown","keyCode","preventDefault","click","onlyAllowsImages","length","every","allowedType","startsWith","gallery","contentClassName","renderToggle","isOpen","onToggle","ref","onClick","onKeyDown","renderContent","onClose","className","value","render","open","icon","onChange","openFileDialog","isPressed","url","settings","showSuggestions","current","focus","dispatch"],"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
  /**
2
3
  * External dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","Component","React","__","BottomSheet","PanelBody","Picker","TextControl","getOtherMediaOptions","requestMediaPicker","mediaSources","capturePhoto","captureVideo","image","wordpress","mobile","globe","store","blockEditorStore","compose","withSelect","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","OPTION_TAKE_VIDEO","OPTION_TAKE_PHOTO","OPTION_INSERT_FROM_URL","OPTION_WORDPRESS_MEDIA_LIBRARY","styles","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","URL_MEDIA_SOURCE","PICKER_OPENING_DELAY","MediaUpload","pickerTimeout","constructor","props","onPickerPresent","bind","onPickerSelect","getAllSources","state","url","showURLInput","otherMediaOptions","componentDidMount","allowedTypes","autoOpen","otherMediaOptionsWithIcons","map","option","requiresModal","types","id","value","setState","componentWillUnmount","clearTimeout","onSelectURL","cameraImageSource","deviceCamera","label","icon","cameraVideoSource","deviceLibrarySource","deviceLibrary","siteLibrarySource","siteMediaLibrary","mediaLibrary","urlSource","internalSources","concat","getMediaOptionsItems","__experimentalOnlyMediaLibrary","isAudioBlockMediaUploadEnabled","filter","source","every","allowedType","includes","some","getChooseFromDeviceIcon","isIOS","OS","picker","setTimeout","presentPicker","onSelect","multiple","mediaSource","shift","type","media","render","isReplacingMedia","isOneType","length","isImage","isVideo","isAudio","isAnyType","isImageOrVideo","pickerTitle","getMediaOptions","title","hideCancelButton","ref","instance","options","onChange","testID","children","URLInput","isVisible","onClose","open","hideHeader","style","__next40pxDefaultSize","autoFocus","autoCapitalize","autoCorrect","autoComplete","keyboardType","placeholder","select","capabilities","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":[]}
1
+ {"version":3,"names":["Platform","Component","React","__","BottomSheet","PanelBody","Picker","TextControl","getOtherMediaOptions","requestMediaPicker","mediaSources","capturePhoto","captureVideo","image","wordpress","mobile","globe","store","blockEditorStore","compose","withSelect","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","OPTION_TAKE_VIDEO","OPTION_TAKE_PHOTO","OPTION_INSERT_FROM_URL","OPTION_WORDPRESS_MEDIA_LIBRARY","styles","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","URL_MEDIA_SOURCE","PICKER_OPENING_DELAY","MediaUpload","pickerTimeout","constructor","props","onPickerPresent","bind","onPickerSelect","getAllSources","state","url","showURLInput","otherMediaOptions","componentDidMount","allowedTypes","autoOpen","otherMediaOptionsWithIcons","map","option","requiresModal","types","id","value","setState","componentWillUnmount","clearTimeout","onSelectURL","cameraImageSource","deviceCamera","label","icon","cameraVideoSource","deviceLibrarySource","deviceLibrary","siteLibrarySource","siteMediaLibrary","mediaLibrary","urlSource","internalSources","concat","getMediaOptionsItems","__experimentalOnlyMediaLibrary","isAudioBlockMediaUploadEnabled","filter","source","every","allowedType","includes","some","getChooseFromDeviceIcon","isIOS","OS","picker","setTimeout","presentPicker","onSelect","multiple","mediaSource","shift","type","media","render","isReplacingMedia","isOneType","length","isImage","isVideo","isAudio","isAnyType","isImageOrVideo","pickerTitle","getMediaOptions","title","hideCancelButton","ref","instance","options","onChange","testID","children","URLInput","isVisible","onClose","open","hideHeader","style","__next40pxDefaultSize","autoFocus","autoCapitalize","autoCorrect","autoComplete","keyboardType","placeholder","select","capabilities","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":[]}
@@ -3,9 +3,8 @@
3
3
  */
4
4
  import { sprintf, _n } from '@wordpress/i18n';
5
5
  import { useSelect } from '@wordpress/data';
6
- import { serialize } from '@wordpress/blocks';
7
- import { count as wordCount } from '@wordpress/wordcount';
8
6
  import { copy } from '@wordpress/icons';
7
+ import { __experimentalHStack as HStack } from '@wordpress/components';
9
8
 
10
9
  /**
11
10
  * Internal dependencies
@@ -14,33 +13,18 @@ import BlockIcon from '../block-icon';
14
13
  import { store as blockEditorStore } from '../../store';
15
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
15
  export default function MultiSelectionInspector() {
17
- const {
18
- blocks
19
- } = useSelect(select => {
20
- const {
21
- getMultiSelectedBlocks
22
- } = select(blockEditorStore);
23
- return {
24
- blocks: getMultiSelectedBlocks()
25
- };
26
- }, []);
27
- const words = wordCount(serialize(blocks), 'words');
28
- return /*#__PURE__*/_jsxs("div", {
16
+ const selectedBlockCount = useSelect(select => select(blockEditorStore).getSelectedBlockCount(), []);
17
+ return /*#__PURE__*/_jsxs(HStack, {
18
+ justify: "flex-start",
19
+ spacing: 2,
29
20
  className: "block-editor-multi-selection-inspector__card",
30
21
  children: [/*#__PURE__*/_jsx(BlockIcon, {
31
22
  icon: copy,
32
23
  showColors: true
33
- }), /*#__PURE__*/_jsxs("div", {
34
- className: "block-editor-multi-selection-inspector__card-content",
35
- children: [/*#__PURE__*/_jsx("div", {
36
- className: "block-editor-multi-selection-inspector__card-title",
37
- children: sprintf(/* translators: %d: number of blocks */
38
- _n('%d Block', '%d Blocks', blocks.length), blocks.length)
39
- }), /*#__PURE__*/_jsx("div", {
40
- className: "block-editor-multi-selection-inspector__card-description",
41
- children: sprintf(/* translators: %d: number of words */
42
- _n('%d word selected.', '%d words selected.', words), words)
43
- })]
24
+ }), /*#__PURE__*/_jsx("div", {
25
+ className: "block-editor-multi-selection-inspector__card-title",
26
+ children: sprintf(/* translators: %d: number of blocks */
27
+ _n('%d Block', '%d Blocks', selectedBlockCount), selectedBlockCount)
44
28
  })]
45
29
  });
46
30
  }
@@ -1 +1 @@
1
- {"version":3,"names":["sprintf","_n","useSelect","serialize","count","wordCount","copy","BlockIcon","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","MultiSelectionInspector","blocks","select","getMultiSelectedBlocks","words","className","children","icon","showColors","length"],"sources":["@wordpress/block-editor/src/components/multi-selection-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { sprintf, _n } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { serialize } from '@wordpress/blocks';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport { copy } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function MultiSelectionInspector() {\n\tconst { blocks } = useSelect( ( select ) => {\n\t\tconst { getMultiSelectedBlocks } = select( blockEditorStore );\n\t\treturn {\n\t\t\tblocks: getMultiSelectedBlocks(),\n\t\t};\n\t}, [] );\n\tconst words = wordCount( serialize( blocks ), 'words' );\n\n\treturn (\n\t\t<div className=\"block-editor-multi-selection-inspector__card\">\n\t\t\t<BlockIcon icon={ copy } showColors />\n\t\t\t<div className=\"block-editor-multi-selection-inspector__card-content\">\n\t\t\t\t<div className=\"block-editor-multi-selection-inspector__card-title\">\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %d: number of blocks */\n\t\t\t\t\t\t_n( '%d Block', '%d Blocks', blocks.length ),\n\t\t\t\t\t\tblocks.length\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"block-editor-multi-selection-inspector__card-description\">\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %d: number of words */\n\t\t\t\t\t\t_n( '%d word selected.', '%d words selected.', words ),\n\t\t\t\t\t\twords\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,EAAEC,EAAE,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,IAAI,QAAQ,kBAAkB;;AAEvC;AACA;AACA;AACA,OAAOC,SAAS,MAAM,eAAe;AACrC,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAExD,eAAe,SAASC,uBAAuBA,CAAA,EAAG;EACjD,MAAM;IAAEC;EAAO,CAAC,GAAGb,SAAS,CAAIc,MAAM,IAAM;IAC3C,MAAM;MAAEC;IAAuB,CAAC,GAAGD,MAAM,CAAEP,gBAAiB,CAAC;IAC7D,OAAO;MACNM,MAAM,EAAEE,sBAAsB,CAAC;IAChC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,KAAK,GAAGb,SAAS,CAAEF,SAAS,CAAEY,MAAO,CAAC,EAAE,OAAQ,CAAC;EAEvD,oBACCF,KAAA;IAAKM,SAAS,EAAC,8CAA8C;IAAAC,QAAA,gBAC5DT,IAAA,CAACJ,SAAS;MAACc,IAAI,EAAGf,IAAM;MAACgB,UAAU;IAAA,CAAE,CAAC,eACtCT,KAAA;MAAKM,SAAS,EAAC,sDAAsD;MAAAC,QAAA,gBACpET,IAAA;QAAKQ,SAAS,EAAC,oDAAoD;QAAAC,QAAA,EAChEpB,OAAO,CACR;QACAC,EAAE,CAAE,UAAU,EAAE,WAAW,EAAEc,MAAM,CAACQ,MAAO,CAAC,EAC5CR,MAAM,CAACQ,MACR;MAAC,CACG,CAAC,eACNZ,IAAA;QAAKQ,SAAS,EAAC,0DAA0D;QAAAC,QAAA,EACtEpB,OAAO,CACR;QACAC,EAAE,CAAE,mBAAmB,EAAE,oBAAoB,EAAEiB,KAAM,CAAC,EACtDA,KACD;MAAC,CACG,CAAC;IAAA,CACF,CAAC;EAAA,CACF,CAAC;AAER","ignoreList":[]}
1
+ {"version":3,"names":["sprintf","_n","useSelect","copy","__experimentalHStack","HStack","BlockIcon","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","MultiSelectionInspector","selectedBlockCount","select","getSelectedBlockCount","justify","spacing","className","children","icon","showColors"],"sources":["@wordpress/block-editor/src/components/multi-selection-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { sprintf, _n } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\nimport { __experimentalHStack as HStack } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function MultiSelectionInspector() {\n\tconst selectedBlockCount = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSelectedBlockCount(),\n\t\t[]\n\t);\n\treturn (\n\t\t<HStack\n\t\t\tjustify=\"flex-start\"\n\t\t\tspacing={ 2 }\n\t\t\tclassName=\"block-editor-multi-selection-inspector__card\"\n\t\t>\n\t\t\t<BlockIcon icon={ copy } showColors />\n\t\t\t<div className=\"block-editor-multi-selection-inspector__card-title\">\n\t\t\t\t{ sprintf(\n\t\t\t\t\t/* translators: %d: number of blocks */\n\t\t\t\t\t_n( '%d Block', '%d Blocks', selectedBlockCount ),\n\t\t\t\t\tselectedBlockCount\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</HStack>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,EAAEC,EAAE,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;;AAEtE;AACA;AACA;AACA,OAAOC,SAAS,MAAM,eAAe;AACrC,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAExD,eAAe,SAASC,uBAAuBA,CAAA,EAAG;EACjD,MAAMC,kBAAkB,GAAGZ,SAAS,CACjCa,MAAM,IAAMA,MAAM,CAAEP,gBAAiB,CAAC,CAACQ,qBAAqB,CAAC,CAAC,EAChE,EACD,CAAC;EACD,oBACCJ,KAAA,CAACP,MAAM;IACNY,OAAO,EAAC,YAAY;IACpBC,OAAO,EAAG,CAAG;IACbC,SAAS,EAAC,8CAA8C;IAAAC,QAAA,gBAExDV,IAAA,CAACJ,SAAS;MAACe,IAAI,EAAGlB,IAAM;MAACmB,UAAU;IAAA,CAAE,CAAC,eACtCZ,IAAA;MAAKS,SAAS,EAAC,oDAAoD;MAAAC,QAAA,EAChEpB,OAAO,CACR;MACAC,EAAE,CAAE,UAAU,EAAE,WAAW,EAAEa,kBAAmB,CAAC,EACjDA,kBACD;IAAC,CACG,CAAC;EAAA,CACC,CAAC;AAEX","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["NavigableMenu","Toolbar","useState","useRef","useLayoutEffect","useEffect","useCallback","useSelect","deprecated","focus","useShortcut","ESCAPE","store","blockEditorStore","unlock","jsx","_jsx","hasOnlyToolbarItem","elements","dataProp","some","element","dataset","getAllFocusableToolbarItemsIn","container","Array","from","querySelectorAll","hasFocusWithin","contains","ownerDocument","activeElement","focusFirstTabbableIn","firstTabbable","tabbable","find","preventScroll","useIsAccessibleToolbar","toolbarRef","initialAccessibleToolbarState","isAccessibleToolbar","setIsAccessibleToolbar","determineIsAccessibleToolbar","tabbables","current","onlyToolbarItem","since","alternative","link","observer","window","MutationObserver","observe","childList","subtree","disconnect","useToolbarFocus","focusOnMount","defaultIndex","onIndexChange","shouldUseKeyboardFocusShortcut","focusEditorOnEscape","initialFocusOnMount","initialIndex","focusToolbar","focusToolbarViaShortcut","navigableToolbarRef","raf","requestAnimationFrame","items","index","cancelAnimationFrame","findIndex","item","tabIndex","getLastFocus","handleKeyDown","event","lastFocus","keyCode","preventDefault","addEventListener","removeEventListener","NavigableToolbar","children","__experimentalInitialIndex","__experimentalOnIndexChange","orientation","props","label","ref","role"],"sources":["@wordpress/block-editor/src/components/navigable-toolbar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { NavigableMenu, Toolbar } from '@wordpress/components';\nimport {\n\tuseState,\n\tuseRef,\n\tuseLayoutEffect,\n\tuseEffect,\n\tuseCallback,\n} from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { focus } from '@wordpress/dom';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nfunction hasOnlyToolbarItem( elements ) {\n\tconst dataProp = 'toolbarItem';\n\treturn ! elements.some( ( element ) => ! ( dataProp in element.dataset ) );\n}\n\nfunction getAllFocusableToolbarItemsIn( container ) {\n\treturn Array.from(\n\t\tcontainer.querySelectorAll( '[data-toolbar-item]:not([disabled])' )\n\t);\n}\n\nfunction hasFocusWithin( container ) {\n\treturn container.contains( container.ownerDocument.activeElement );\n}\n\nfunction focusFirstTabbableIn( container ) {\n\tconst [ firstTabbable ] = focus.tabbable.find( container );\n\n\tif ( firstTabbable ) {\n\t\tfirstTabbable.focus( {\n\t\t\t// When focusing newly mounted toolbars,\n\t\t\t// the position of the popover is often not right on the first render\n\t\t\t// This prevents the layout shifts when focusing the dialogs.\n\t\t\tpreventScroll: true,\n\t\t} );\n\t}\n}\n\nfunction useIsAccessibleToolbar( toolbarRef ) {\n\t/*\n\t * By default, we'll assume the starting accessible state of the Toolbar\n\t * is true, as it seems to be the most common case.\n\t *\n\t * Transitioning from an (initial) false to true state causes the\n\t * <Toolbar /> component to mount twice, which is causing undesired\n\t * side-effects. These side-effects appear to only affect certain\n\t * E2E tests.\n\t *\n\t * This was initial discovered in this pull-request:\n\t * https://github.com/WordPress/gutenberg/pull/23425\n\t */\n\tconst initialAccessibleToolbarState = true;\n\n\t// By default, it's gonna render NavigableMenu. If all the tabbable elements\n\t// inside the toolbar are ToolbarItem components (or derived components like\n\t// ToolbarButton), then we can wrap them with the accessible Toolbar\n\t// component.\n\tconst [ isAccessibleToolbar, setIsAccessibleToolbar ] = useState(\n\t\tinitialAccessibleToolbarState\n\t);\n\n\tconst determineIsAccessibleToolbar = useCallback( () => {\n\t\tconst tabbables = focus.tabbable.find( toolbarRef.current );\n\t\tconst onlyToolbarItem = hasOnlyToolbarItem( tabbables );\n\t\tif ( ! onlyToolbarItem ) {\n\t\t\tdeprecated( 'Using custom components as toolbar controls', {\n\t\t\t\tsince: '5.6',\n\t\t\t\talternative:\n\t\t\t\t\t'ToolbarItem, ToolbarButton or ToolbarDropdownMenu components',\n\t\t\t\tlink: 'https://developer.wordpress.org/block-editor/components/toolbar-button/#inside-blockcontrols',\n\t\t\t} );\n\t\t}\n\t\tsetIsAccessibleToolbar( onlyToolbarItem );\n\t}, [ toolbarRef ] );\n\n\tuseLayoutEffect( () => {\n\t\t// Toolbar buttons may be rendered asynchronously, so we use\n\t\t// MutationObserver to check if the toolbar subtree has been modified.\n\t\tconst observer = new window.MutationObserver(\n\t\t\tdetermineIsAccessibleToolbar\n\t\t);\n\t\tobserver.observe( toolbarRef.current, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t} );\n\t\treturn () => observer.disconnect();\n\t}, [ determineIsAccessibleToolbar, isAccessibleToolbar, toolbarRef ] );\n\n\treturn isAccessibleToolbar;\n}\n\nfunction useToolbarFocus( {\n\ttoolbarRef,\n\tfocusOnMount,\n\tisAccessibleToolbar,\n\tdefaultIndex,\n\tonIndexChange,\n\tshouldUseKeyboardFocusShortcut,\n\tfocusEditorOnEscape,\n} ) {\n\t// Make sure we don't use modified versions of this prop.\n\tconst [ initialFocusOnMount ] = useState( focusOnMount );\n\tconst [ initialIndex ] = useState( defaultIndex );\n\n\tconst focusToolbar = useCallback( () => {\n\t\tfocusFirstTabbableIn( toolbarRef.current );\n\t}, [ toolbarRef ] );\n\n\tconst focusToolbarViaShortcut = () => {\n\t\tif ( shouldUseKeyboardFocusShortcut ) {\n\t\t\tfocusToolbar();\n\t\t}\n\t};\n\n\t// Focus on toolbar when pressing alt+F10 when the toolbar is visible.\n\tuseShortcut( 'core/block-editor/focus-toolbar', focusToolbarViaShortcut );\n\n\tuseEffect( () => {\n\t\tif ( initialFocusOnMount ) {\n\t\t\tfocusToolbar();\n\t\t}\n\t}, [ isAccessibleToolbar, initialFocusOnMount, focusToolbar ] );\n\n\tuseEffect( () => {\n\t\t// Store ref so we have access on useEffect cleanup: https://legacy.reactjs.org/blog/2020/08/10/react-v17-rc.html#effect-cleanup-timing\n\t\tconst navigableToolbarRef = toolbarRef.current;\n\t\t// If initialIndex is passed, we focus on that toolbar item when the\n\t\t// toolbar gets mounted and initial focus is not forced.\n\t\t// We have to wait for the next browser paint because block controls aren't\n\t\t// rendered right away when the toolbar gets mounted.\n\t\tlet raf = 0;\n\n\t\t// If the toolbar already had focus before the render, we don't want to move it.\n\t\t// https://github.com/WordPress/gutenberg/issues/58511\n\t\tif (\n\t\t\t! initialFocusOnMount &&\n\t\t\t! hasFocusWithin( navigableToolbarRef )\n\t\t) {\n\t\t\traf = window.requestAnimationFrame( () => {\n\t\t\t\tconst items =\n\t\t\t\t\tgetAllFocusableToolbarItemsIn( navigableToolbarRef );\n\t\t\t\tconst index = initialIndex || 0;\n\t\t\t\tif ( items[ index ] && hasFocusWithin( navigableToolbarRef ) ) {\n\t\t\t\t\titems[ index ].focus( {\n\t\t\t\t\t\t// When focusing newly mounted toolbars,\n\t\t\t\t\t\t// the position of the popover is often not right on the first render\n\t\t\t\t\t\t// This prevents the layout shifts when focusing the dialogs.\n\t\t\t\t\t\tpreventScroll: true,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn () => {\n\t\t\twindow.cancelAnimationFrame( raf );\n\t\t\tif ( ! onIndexChange || ! navigableToolbarRef ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// When the toolbar element is unmounted and onIndexChange is passed, we\n\t\t\t// pass the focused toolbar item index so it can be hydrated later.\n\t\t\tconst items = getAllFocusableToolbarItemsIn( navigableToolbarRef );\n\t\t\tconst index = items.findIndex( ( item ) => item.tabIndex === 0 );\n\t\t\tonIndexChange( index );\n\t\t};\n\t}, [ initialIndex, initialFocusOnMount, onIndexChange, toolbarRef ] );\n\n\tconst { getLastFocus } = unlock( useSelect( blockEditorStore ) );\n\t/**\n\t * Handles returning focus to the block editor canvas when pressing escape.\n\t */\n\tuseEffect( () => {\n\t\tconst navigableToolbarRef = toolbarRef.current;\n\n\t\tif ( focusEditorOnEscape ) {\n\t\t\tconst handleKeyDown = ( event ) => {\n\t\t\t\tconst lastFocus = getLastFocus();\n\t\t\t\tif ( event.keyCode === ESCAPE && lastFocus?.current ) {\n\t\t\t\t\t// Focus the last focused element when pressing escape.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tlastFocus.current.focus();\n\t\t\t\t}\n\t\t\t};\n\t\t\tnavigableToolbarRef.addEventListener( 'keydown', handleKeyDown );\n\t\t\treturn () => {\n\t\t\t\tnavigableToolbarRef.removeEventListener(\n\t\t\t\t\t'keydown',\n\t\t\t\t\thandleKeyDown\n\t\t\t\t);\n\t\t\t};\n\t\t}\n\t}, [ focusEditorOnEscape, getLastFocus, toolbarRef ] );\n}\n\nexport default function NavigableToolbar( {\n\tchildren,\n\tfocusOnMount,\n\tfocusEditorOnEscape = false,\n\tshouldUseKeyboardFocusShortcut = true,\n\t__experimentalInitialIndex: initialIndex,\n\t__experimentalOnIndexChange: onIndexChange,\n\torientation = 'horizontal',\n\t...props\n} ) {\n\tconst toolbarRef = useRef();\n\tconst isAccessibleToolbar = useIsAccessibleToolbar( toolbarRef );\n\n\tuseToolbarFocus( {\n\t\ttoolbarRef,\n\t\tfocusOnMount,\n\t\tdefaultIndex: initialIndex,\n\t\tonIndexChange,\n\t\tisAccessibleToolbar,\n\t\tshouldUseKeyboardFocusShortcut,\n\t\tfocusEditorOnEscape,\n\t} );\n\n\tif ( isAccessibleToolbar ) {\n\t\treturn (\n\t\t\t<Toolbar\n\t\t\t\tlabel={ props[ 'aria-label' ] }\n\t\t\t\tref={ toolbarRef }\n\t\t\t\torientation={ orientation }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Toolbar>\n\t\t);\n\t}\n\n\treturn (\n\t\t<NavigableMenu\n\t\t\torientation={ orientation }\n\t\t\trole=\"toolbar\"\n\t\t\tref={ toolbarRef }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t</NavigableMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NavigableMenu","Toolbar","useState","useRef","useLayoutEffect","useEffect","useCallback","useSelect","deprecated","focus","useShortcut","ESCAPE","store","blockEditorStore","unlock","jsx","_jsx","hasOnlyToolbarItem","elements","dataProp","some","element","dataset","getAllFocusableToolbarItemsIn","container","Array","from","querySelectorAll","hasFocusWithin","contains","ownerDocument","activeElement","focusFirstTabbableIn","firstTabbable","tabbable","find","preventScroll","useIsAccessibleToolbar","toolbarRef","initialAccessibleToolbarState","isAccessibleToolbar","setIsAccessibleToolbar","determineIsAccessibleToolbar","tabbables","current","onlyToolbarItem","since","alternative","link","observer","window","MutationObserver","observe","childList","subtree","disconnect","useToolbarFocus","focusOnMount","defaultIndex","onIndexChange","shouldUseKeyboardFocusShortcut","focusEditorOnEscape","initialFocusOnMount","initialIndex","focusToolbar","focusToolbarViaShortcut","navigableToolbarRef","raf","requestAnimationFrame","items","index","cancelAnimationFrame","findIndex","item","tabIndex","getLastFocus","handleKeyDown","event","lastFocus","keyCode","preventDefault","addEventListener","removeEventListener","NavigableToolbar","children","__experimentalInitialIndex","__experimentalOnIndexChange","orientation","props","label","ref","role"],"sources":["@wordpress/block-editor/src/components/navigable-toolbar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { NavigableMenu, Toolbar } from '@wordpress/components';\nimport {\n\tuseState,\n\tuseRef,\n\tuseLayoutEffect,\n\tuseEffect,\n\tuseCallback,\n} from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { focus } from '@wordpress/dom';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nfunction hasOnlyToolbarItem( elements ) {\n\tconst dataProp = 'toolbarItem';\n\treturn ! elements.some( ( element ) => ! ( dataProp in element.dataset ) );\n}\n\nfunction getAllFocusableToolbarItemsIn( container ) {\n\treturn Array.from(\n\t\tcontainer.querySelectorAll( '[data-toolbar-item]:not([disabled])' )\n\t);\n}\n\nfunction hasFocusWithin( container ) {\n\treturn container.contains( container.ownerDocument.activeElement );\n}\n\nfunction focusFirstTabbableIn( container ) {\n\tconst [ firstTabbable ] = focus.tabbable.find( container );\n\n\tif ( firstTabbable ) {\n\t\tfirstTabbable.focus( {\n\t\t\t// When focusing newly mounted toolbars,\n\t\t\t// the position of the popover is often not right on the first render\n\t\t\t// This prevents the layout shifts when focusing the dialogs.\n\t\t\tpreventScroll: true,\n\t\t} );\n\t}\n}\n\nfunction useIsAccessibleToolbar( toolbarRef ) {\n\t/*\n\t * By default, we'll assume the starting accessible state of the Toolbar\n\t * is true, as it seems to be the most common case.\n\t *\n\t * Transitioning from an (initial) false to true state causes the\n\t * <Toolbar /> component to mount twice, which is causing undesired\n\t * side-effects. These side-effects appear to only affect certain\n\t * E2E tests.\n\t *\n\t * This was initial discovered in this pull-request:\n\t * https://github.com/WordPress/gutenberg/pull/23425\n\t */\n\tconst initialAccessibleToolbarState = true;\n\n\t// By default, it's gonna render NavigableMenu. If all the tabbable elements\n\t// inside the toolbar are ToolbarItem components (or derived components like\n\t// ToolbarButton), then we can wrap them with the accessible Toolbar\n\t// component.\n\tconst [ isAccessibleToolbar, setIsAccessibleToolbar ] = useState(\n\t\tinitialAccessibleToolbarState\n\t);\n\n\tconst determineIsAccessibleToolbar = useCallback( () => {\n\t\tconst tabbables = focus.tabbable.find( toolbarRef.current );\n\t\tconst onlyToolbarItem = hasOnlyToolbarItem( tabbables );\n\t\tif ( ! onlyToolbarItem ) {\n\t\t\tdeprecated( 'Using custom components as toolbar controls', {\n\t\t\t\tsince: '5.6',\n\t\t\t\talternative:\n\t\t\t\t\t'ToolbarItem, ToolbarButton or ToolbarDropdownMenu components',\n\t\t\t\tlink: 'https://developer.wordpress.org/block-editor/components/toolbar-button/#inside-blockcontrols',\n\t\t\t} );\n\t\t}\n\t\tsetIsAccessibleToolbar( onlyToolbarItem );\n\t}, [ toolbarRef ] );\n\n\tuseLayoutEffect( () => {\n\t\t// Toolbar buttons may be rendered asynchronously, so we use\n\t\t// MutationObserver to check if the toolbar subtree has been modified.\n\t\tconst observer = new window.MutationObserver(\n\t\t\tdetermineIsAccessibleToolbar\n\t\t);\n\t\tobserver.observe( toolbarRef.current, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t} );\n\t\treturn () => observer.disconnect();\n\t}, [ determineIsAccessibleToolbar, isAccessibleToolbar, toolbarRef ] );\n\n\treturn isAccessibleToolbar;\n}\n\nfunction useToolbarFocus( {\n\ttoolbarRef,\n\tfocusOnMount,\n\tisAccessibleToolbar,\n\tdefaultIndex,\n\tonIndexChange,\n\tshouldUseKeyboardFocusShortcut,\n\tfocusEditorOnEscape,\n} ) {\n\t// Make sure we don't use modified versions of this prop.\n\tconst [ initialFocusOnMount ] = useState( focusOnMount );\n\tconst [ initialIndex ] = useState( defaultIndex );\n\n\tconst focusToolbar = useCallback( () => {\n\t\tfocusFirstTabbableIn( toolbarRef.current );\n\t}, [ toolbarRef ] );\n\n\tconst focusToolbarViaShortcut = () => {\n\t\tif ( shouldUseKeyboardFocusShortcut ) {\n\t\t\tfocusToolbar();\n\t\t}\n\t};\n\n\t// Focus on toolbar when pressing alt+F10 when the toolbar is visible.\n\tuseShortcut( 'core/block-editor/focus-toolbar', focusToolbarViaShortcut );\n\n\tuseEffect( () => {\n\t\tif ( initialFocusOnMount ) {\n\t\t\tfocusToolbar();\n\t\t}\n\t}, [ isAccessibleToolbar, initialFocusOnMount, focusToolbar ] );\n\n\tuseEffect( () => {\n\t\t// Store ref so we have access on useEffect cleanup: https://legacy.reactjs.org/blog/2020/08/10/react-v17-rc.html#effect-cleanup-timing\n\t\tconst navigableToolbarRef = toolbarRef.current;\n\t\t// If initialIndex is passed, we focus on that toolbar item when the\n\t\t// toolbar gets mounted and initial focus is not forced.\n\t\t// We have to wait for the next browser paint because block controls aren't\n\t\t// rendered right away when the toolbar gets mounted.\n\t\tlet raf = 0;\n\n\t\t// If the toolbar already had focus before the render, we don't want to move it.\n\t\t// https://github.com/WordPress/gutenberg/issues/58511\n\t\tif (\n\t\t\t! initialFocusOnMount &&\n\t\t\t! hasFocusWithin( navigableToolbarRef )\n\t\t) {\n\t\t\traf = window.requestAnimationFrame( () => {\n\t\t\t\tconst items =\n\t\t\t\t\tgetAllFocusableToolbarItemsIn( navigableToolbarRef );\n\t\t\t\tconst index = initialIndex || 0;\n\t\t\t\tif ( items[ index ] && hasFocusWithin( navigableToolbarRef ) ) {\n\t\t\t\t\titems[ index ].focus( {\n\t\t\t\t\t\t// When focusing newly mounted toolbars,\n\t\t\t\t\t\t// the position of the popover is often not right on the first render\n\t\t\t\t\t\t// This prevents the layout shifts when focusing the dialogs.\n\t\t\t\t\t\tpreventScroll: true,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn () => {\n\t\t\twindow.cancelAnimationFrame( raf );\n\t\t\tif ( ! onIndexChange || ! navigableToolbarRef ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// When the toolbar element is unmounted and onIndexChange is passed, we\n\t\t\t// pass the focused toolbar item index so it can be hydrated later.\n\t\t\tconst items = getAllFocusableToolbarItemsIn( navigableToolbarRef );\n\t\t\tconst index = items.findIndex( ( item ) => item.tabIndex === 0 );\n\t\t\tonIndexChange( index );\n\t\t};\n\t}, [ initialIndex, initialFocusOnMount, onIndexChange, toolbarRef ] );\n\n\tconst { getLastFocus } = unlock( useSelect( blockEditorStore ) );\n\t/**\n\t * Handles returning focus to the block editor canvas when pressing escape.\n\t */\n\tuseEffect( () => {\n\t\tconst navigableToolbarRef = toolbarRef.current;\n\n\t\tif ( focusEditorOnEscape ) {\n\t\t\tconst handleKeyDown = ( event ) => {\n\t\t\t\tconst lastFocus = getLastFocus();\n\t\t\t\tif ( event.keyCode === ESCAPE && lastFocus?.current ) {\n\t\t\t\t\t// Focus the last focused element when pressing escape.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tlastFocus.current.focus();\n\t\t\t\t}\n\t\t\t};\n\t\t\tnavigableToolbarRef.addEventListener( 'keydown', handleKeyDown );\n\t\t\treturn () => {\n\t\t\t\tnavigableToolbarRef.removeEventListener(\n\t\t\t\t\t'keydown',\n\t\t\t\t\thandleKeyDown\n\t\t\t\t);\n\t\t\t};\n\t\t}\n\t}, [ focusEditorOnEscape, getLastFocus, toolbarRef ] );\n}\n\nexport default function NavigableToolbar( {\n\tchildren,\n\tfocusOnMount,\n\tfocusEditorOnEscape = false,\n\tshouldUseKeyboardFocusShortcut = true,\n\t__experimentalInitialIndex: initialIndex,\n\t__experimentalOnIndexChange: onIndexChange,\n\torientation = 'horizontal',\n\t...props\n} ) {\n\tconst toolbarRef = useRef();\n\tconst isAccessibleToolbar = useIsAccessibleToolbar( toolbarRef );\n\n\tuseToolbarFocus( {\n\t\ttoolbarRef,\n\t\tfocusOnMount,\n\t\tdefaultIndex: initialIndex,\n\t\tonIndexChange,\n\t\tisAccessibleToolbar,\n\t\tshouldUseKeyboardFocusShortcut,\n\t\tfocusEditorOnEscape,\n\t} );\n\n\tif ( isAccessibleToolbar ) {\n\t\treturn (\n\t\t\t<Toolbar\n\t\t\t\tlabel={ props[ 'aria-label' ] }\n\t\t\t\tref={ toolbarRef }\n\t\t\t\torientation={ orientation }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Toolbar>\n\t\t);\n\t}\n\n\treturn (\n\t\t<NavigableMenu\n\t\t\torientation={ orientation }\n\t\t\trole=\"toolbar\"\n\t\t\tref={ toolbarRef }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t</NavigableMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * Internal dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["PanelColorGradientSettings","jsx","_jsx","PanelColorSettings","colorSettings","props","settings","map","setting","value","onChange","otherSettings","colorValue","onColorChange","gradients","disableCustomGradients"],"sources":["@wordpress/block-editor/src/components/panel-color-settings/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport PanelColorGradientSettings from '../colors-gradients/panel-color-gradient-settings';\n\nconst PanelColorSettings = ( { colorSettings, ...props } ) => {\n\tconst settings = colorSettings.map( ( setting ) => {\n\t\tif ( ! setting ) {\n\t\t\treturn setting;\n\t\t}\n\t\tconst { value, onChange, ...otherSettings } = setting;\n\t\treturn {\n\t\t\t...otherSettings,\n\t\t\tcolorValue: value,\n\t\t\tonColorChange: onChange,\n\t\t};\n\t} );\n\treturn (\n\t\t<PanelColorGradientSettings\n\t\t\tsettings={ settings }\n\t\t\tgradients={ [] }\n\t\t\tdisableCustomGradients\n\t\t\t{ ...props }\n\t\t/>\n\t);\n};\nexport default PanelColorSettings;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,0BAA0B,MAAM,mDAAmD;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3F,MAAMC,kBAAkB,GAAGA,CAAE;EAAEC,aAAa;EAAE,GAAGC;AAAM,CAAC,KAAM;EAC7D,MAAMC,QAAQ,GAAGF,aAAa,CAACG,GAAG,CAAIC,OAAO,IAAM;IAClD,IAAK,CAAEA,OAAO,EAAG;MAChB,OAAOA,OAAO;IACf;IACA,MAAM;MAAEC,KAAK;MAAEC,QAAQ;MAAE,GAAGC;IAAc,CAAC,GAAGH,OAAO;IACrD,OAAO;MACN,GAAGG,aAAa;MAChBC,UAAU,EAAEH,KAAK;MACjBI,aAAa,EAAEH;IAChB,CAAC;EACF,CAAE,CAAC;EACH,oBACCR,IAAA,CAACF,0BAA0B;IAC1BM,QAAQ,EAAGA,QAAU;IACrBQ,SAAS,EAAG,EAAI;IAChBC,sBAAsB;IAAA,GACjBV;EAAK,CACV,CAAC;AAEJ,CAAC;AACD,eAAeF,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["PanelColorGradientSettings","jsx","_jsx","PanelColorSettings","colorSettings","props","settings","map","setting","value","onChange","otherSettings","colorValue","onColorChange","gradients","disableCustomGradients"],"sources":["@wordpress/block-editor/src/components/panel-color-settings/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport PanelColorGradientSettings from '../colors-gradients/panel-color-gradient-settings';\n\nconst PanelColorSettings = ( { colorSettings, ...props } ) => {\n\tconst settings = colorSettings.map( ( setting ) => {\n\t\tif ( ! setting ) {\n\t\t\treturn setting;\n\t\t}\n\t\tconst { value, onChange, ...otherSettings } = setting;\n\t\treturn {\n\t\t\t...otherSettings,\n\t\t\tcolorValue: value,\n\t\t\tonColorChange: onChange,\n\t\t};\n\t} );\n\treturn (\n\t\t<PanelColorGradientSettings\n\t\t\tsettings={ settings }\n\t\t\tgradients={ [] }\n\t\t\tdisableCustomGradients\n\t\t\t{ ...props }\n\t\t/>\n\t);\n};\nexport default PanelColorSettings;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,0BAA0B,MAAM,mDAAmD;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3F,MAAMC,kBAAkB,GAAGA,CAAE;EAAEC,aAAa;EAAE,GAAGC;AAAM,CAAC,KAAM;EAC7D,MAAMC,QAAQ,GAAGF,aAAa,CAACG,GAAG,CAAIC,OAAO,IAAM;IAClD,IAAK,CAAEA,OAAO,EAAG;MAChB,OAAOA,OAAO;IACf;IACA,MAAM;MAAEC,KAAK;MAAEC,QAAQ;MAAE,GAAGC;IAAc,CAAC,GAAGH,OAAO;IACrD,OAAO;MACN,GAAGG,aAAa;MAChBC,UAAU,EAAEH,KAAK;MACjBI,aAAa,EAAEH;IAChB,CAAC;EACF,CAAE,CAAC;EACH,oBACCR,IAAA,CAACF,0BAA0B;IAC1BM,QAAQ,EAAGA,QAAU;IACrBQ,SAAS,EAAG,EAAI;IAChBC,sBAAsB;IAAA,GACjBV;EAAK,CACV,CAAC;AAEJ,CAAC;AACD,eAAeF,kBAAkB","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useRegistry","useSelect","cloneBlock","store","blockEditorStore","noop","useBlockSync","clientId","value","controlledBlocks","selection","controlledSelection","onChange","onInput","registry","resetBlocks","resetSelection","replaceInnerBlocks","setHasControlledInnerBlocks","__unstableMarkNextChangeAsNotPersistent","dispatch","getBlockName","getBlocks","getSelectionStart","getSelectionEnd","select","isControlled","areInnerBlocksControlled","pendingChangesRef","incoming","outgoing","subscribedRef","setControlledBlocks","batch","storeBlocks","map","block","current","unsetControlledBlocks","onInputRef","onChangeRef","includes","length","selectionStart","selectionEnd","initialPosition","isMountedRef","getSelectedBlocksInitialCaretPosition","isLastBlockChangePersistent","__unstableIsLastBlockChangeIgnored","blocks","isPersistent","previousAreBlocksDifferent","unsubscribe","subscribe","isStillControlled","newIsPersistent","newBlocks","areBlocksDifferent","didPersistenceChange","push","updateParent"],"sources":["@wordpress/block-editor/src/components/provider/use-block-sync.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport { useRegistry, useSelect } from '@wordpress/data';\nimport { cloneBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\n\n/**\n * A function to call when the block value has been updated in the block-editor\n * store.\n *\n * @callback onBlockUpdate\n * @param {Object[]} blocks The updated blocks.\n * @param {Object} options The updated block options, such as selectionStart\n * and selectionEnd.\n */\n\n/**\n * useBlockSync is a side effect which handles bidirectional sync between the\n * block-editor store and a controlling data source which provides blocks. This\n * is most commonly used by the BlockEditorProvider to synchronize the contents\n * of the block-editor store with the root entity, like a post.\n *\n * Another example would be the template part block, which provides blocks from\n * a separate entity data source than a root entity. This hook syncs edits to\n * the template part in the block editor back to the entity and vice-versa.\n *\n * Here are some of its basic functions:\n * - Initalizes the block-editor store for the given clientID to the blocks\n * given via props.\n * - Adds incoming changes (like undo) to the block-editor store.\n * - Adds outgoing changes (like editing content) to the controlling entity,\n * determining if a change should be considered persistent or not.\n * - Handles edge cases and race conditions which occur in those operations.\n * - Ignores changes which happen to other entities (like nested inner block\n * controllers.\n * - Passes selection state from the block-editor store to the controlling entity.\n *\n * @param {Object} props Props for the block sync hook\n * @param {string} props.clientId The client ID of the inner block controller.\n * If none is passed, then it is assumed to be a\n * root controller rather than an inner block\n * controller.\n * @param {Object[]} props.value The control value for the blocks. This value\n * is used to initalize the block-editor store\n * and for resetting the blocks to incoming\n * changes like undo.\n * @param {Object} props.selection The selection state responsible to restore the selection on undo/redo.\n * @param {onBlockUpdate} props.onChange Function to call when a persistent\n * change has been made in the block-editor blocks\n * for the given clientId. For example, after\n * this function is called, an entity is marked\n * dirty because it has changes to save.\n * @param {onBlockUpdate} props.onInput Function to call when a non-persistent\n * change has been made in the block-editor blocks\n * for the given clientId. When this is called,\n * controlling sources do not become dirty.\n */\nexport default function useBlockSync( {\n\tclientId = null,\n\tvalue: controlledBlocks,\n\tselection: controlledSelection,\n\tonChange = noop,\n\tonInput = noop,\n} ) {\n\tconst registry = useRegistry();\n\n\tconst {\n\t\tresetBlocks,\n\t\tresetSelection,\n\t\treplaceInnerBlocks,\n\t\tsetHasControlledInnerBlocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = registry.dispatch( blockEditorStore );\n\tconst { getBlockName, getBlocks, getSelectionStart, getSelectionEnd } =\n\t\tregistry.select( blockEditorStore );\n\tconst isControlled = useSelect(\n\t\t( select ) => {\n\t\t\treturn (\n\t\t\t\t! clientId ||\n\t\t\t\tselect( blockEditorStore ).areInnerBlocksControlled( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst pendingChangesRef = useRef( { incoming: null, outgoing: [] } );\n\tconst subscribedRef = useRef( false );\n\n\tconst setControlledBlocks = () => {\n\t\tif ( ! controlledBlocks ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't need to persist this change because we only replace\n\t\t// controlled inner blocks when the change was caused by an entity,\n\t\t// and so it would already be persisted.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tif ( clientId ) {\n\t\t\t// It is important to batch here because otherwise,\n\t\t\t// as soon as `setHasControlledInnerBlocks` is called\n\t\t\t// the effect to restore might be triggered\n\t\t\t// before the actual blocks get set properly in state.\n\t\t\tregistry.batch( () => {\n\t\t\t\tsetHasControlledInnerBlocks( clientId, true );\n\t\t\t\tconst storeBlocks = controlledBlocks.map( ( block ) =>\n\t\t\t\t\tcloneBlock( block )\n\t\t\t\t);\n\t\t\t\tif ( subscribedRef.current ) {\n\t\t\t\t\tpendingChangesRef.current.incoming = storeBlocks;\n\t\t\t\t}\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\treplaceInnerBlocks( clientId, storeBlocks );\n\t\t\t} );\n\t\t} else {\n\t\t\tif ( subscribedRef.current ) {\n\t\t\t\tpendingChangesRef.current.incoming = controlledBlocks;\n\t\t\t}\n\t\t\tresetBlocks( controlledBlocks );\n\t\t}\n\t};\n\n\t// Clean up the changes made by setControlledBlocks() when the component\n\t// containing useBlockSync() unmounts.\n\tconst unsetControlledBlocks = () => {\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tif ( clientId ) {\n\t\t\tsetHasControlledInnerBlocks( clientId, false );\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t} else {\n\t\t\tresetBlocks( [] );\n\t\t}\n\t};\n\n\t// Add a subscription to the block-editor registry to detect when changes\n\t// have been made. This lets us inform the data source of changes. This\n\t// is an effect so that the subscriber can run synchronously without\n\t// waiting for React renders for changes.\n\tconst onInputRef = useRef( onInput );\n\tconst onChangeRef = useRef( onChange );\n\tuseEffect( () => {\n\t\tonInputRef.current = onInput;\n\t\tonChangeRef.current = onChange;\n\t}, [ onInput, onChange ] );\n\n\t// Determine if blocks need to be reset when they change.\n\tuseEffect( () => {\n\t\tif ( pendingChangesRef.current.outgoing.includes( controlledBlocks ) ) {\n\t\t\t// Skip block reset if the value matches expected outbound sync\n\t\t\t// triggered by this component by a preceding change detection.\n\t\t\t// Only skip if the value matches expectation, since a reset should\n\t\t\t// still occur if the value is modified (not equal by reference),\n\t\t\t// to allow that the consumer may apply modifications to reflect\n\t\t\t// back on the editor.\n\t\t\tif (\n\t\t\t\tpendingChangesRef.current.outgoing[\n\t\t\t\t\tpendingChangesRef.current.outgoing.length - 1\n\t\t\t\t] === controlledBlocks\n\t\t\t) {\n\t\t\t\tpendingChangesRef.current.outgoing = [];\n\t\t\t}\n\t\t} else if ( getBlocks( clientId ) !== controlledBlocks ) {\n\t\t\t// Reset changing value in all other cases than the sync described\n\t\t\t// above. Since this can be reached in an update following an out-\n\t\t\t// bound sync, unset the outbound value to avoid considering it in\n\t\t\t// subsequent renders.\n\t\t\tpendingChangesRef.current.outgoing = [];\n\t\t\tsetControlledBlocks();\n\n\t\t\tif ( controlledSelection ) {\n\t\t\t\tresetSelection(\n\t\t\t\t\tcontrolledSelection.selectionStart,\n\t\t\t\t\tcontrolledSelection.selectionEnd,\n\t\t\t\t\tcontrolledSelection.initialPosition\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [ controlledBlocks, clientId ] );\n\n\tconst isMountedRef = useRef( false );\n\n\tuseEffect( () => {\n\t\t// On mount, controlled blocks are already set in the effect above.\n\t\tif ( ! isMountedRef.current ) {\n\t\t\tisMountedRef.current = true;\n\t\t\treturn;\n\t\t}\n\n\t\t// When the block becomes uncontrolled, it means its inner state has been reset\n\t\t// we need to take the blocks again from the external value property.\n\t\tif ( ! isControlled ) {\n\t\t\tpendingChangesRef.current.outgoing = [];\n\t\t\tsetControlledBlocks();\n\t\t}\n\t}, [ isControlled ] );\n\n\tuseEffect( () => {\n\t\tconst {\n\t\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t\tisLastBlockChangePersistent,\n\t\t\t__unstableIsLastBlockChangeIgnored,\n\t\t\tareInnerBlocksControlled,\n\t\t} = registry.select( blockEditorStore );\n\n\t\tlet blocks = getBlocks( clientId );\n\t\tlet isPersistent = isLastBlockChangePersistent();\n\t\tlet previousAreBlocksDifferent = false;\n\n\t\tsubscribedRef.current = true;\n\t\tconst unsubscribe = registry.subscribe( () => {\n\t\t\t// Sometimes, when changing block lists, lingering subscriptions\n\t\t\t// might trigger before they are cleaned up. If the block for which\n\t\t\t// the subscription runs is no longer in the store, this would clear\n\t\t\t// its parent entity's block list. To avoid this, we bail out if\n\t\t\t// the subscription is triggering for a block (`clientId !== null`)\n\t\t\t// and its block name can't be found because it's not on the list.\n\t\t\t// (`getBlockName( clientId ) === null`).\n\t\t\tif ( clientId !== null && getBlockName( clientId ) === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// When RESET_BLOCKS on parent blocks get called, the controlled blocks\n\t\t\t// can reset to uncontrolled, in these situations, it means we need to populate\n\t\t\t// the blocks again from the external blocks (the value property here)\n\t\t\t// and we should stop triggering onChange\n\t\t\tconst isStillControlled =\n\t\t\t\t! clientId || areInnerBlocksControlled( clientId );\n\t\t\tif ( ! isStillControlled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst newIsPersistent = isLastBlockChangePersistent();\n\t\t\tconst newBlocks = getBlocks( clientId );\n\t\t\tconst areBlocksDifferent = newBlocks !== blocks;\n\t\t\tblocks = newBlocks;\n\t\t\tif (\n\t\t\t\tareBlocksDifferent &&\n\t\t\t\t( pendingChangesRef.current.incoming ||\n\t\t\t\t\t__unstableIsLastBlockChangeIgnored() )\n\t\t\t) {\n\t\t\t\tpendingChangesRef.current.incoming = null;\n\t\t\t\tisPersistent = newIsPersistent;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Since we often dispatch an action to mark the previous action as\n\t\t\t// persistent, we need to make sure that the blocks changed on the\n\t\t\t// previous action before committing the change.\n\t\t\tconst didPersistenceChange =\n\t\t\t\tpreviousAreBlocksDifferent &&\n\t\t\t\t! areBlocksDifferent &&\n\t\t\t\tnewIsPersistent &&\n\t\t\t\t! isPersistent;\n\n\t\t\tif ( areBlocksDifferent || didPersistenceChange ) {\n\t\t\t\tisPersistent = newIsPersistent;\n\t\t\t\t// We know that onChange/onInput will update controlledBlocks.\n\t\t\t\t// We need to be aware that it was caused by an outgoing change\n\t\t\t\t// so that we do not treat it as an incoming change later on,\n\t\t\t\t// which would cause a block reset.\n\t\t\t\tpendingChangesRef.current.outgoing.push( blocks );\n\n\t\t\t\t// Inform the controlling entity that changes have been made to\n\t\t\t\t// the block-editor store they should be aware about.\n\t\t\t\tconst updateParent = isPersistent\n\t\t\t\t\t? onChangeRef.current\n\t\t\t\t\t: onInputRef.current;\n\t\t\t\tupdateParent( blocks, {\n\t\t\t\t\tselection: {\n\t\t\t\t\t\tselectionStart: getSelectionStart(),\n\t\t\t\t\t\tselectionEnd: getSelectionEnd(),\n\t\t\t\t\t\tinitialPosition:\n\t\t\t\t\t\t\tgetSelectedBlocksInitialCaretPosition(),\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t\tpreviousAreBlocksDifferent = areBlocksDifferent;\n\t\t}, blockEditorStore );\n\n\t\treturn () => {\n\t\t\tsubscribedRef.current = false;\n\t\t\tunsubscribe();\n\t\t};\n\t}, [ registry, clientId ] );\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tunsetControlledBlocks();\n\t\t};\n\t}, [] );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","useRegistry","useSelect","cloneBlock","store","blockEditorStore","noop","useBlockSync","clientId","value","controlledBlocks","selection","controlledSelection","onChange","onInput","registry","resetBlocks","resetSelection","replaceInnerBlocks","setHasControlledInnerBlocks","__unstableMarkNextChangeAsNotPersistent","dispatch","getBlockName","getBlocks","getSelectionStart","getSelectionEnd","select","isControlled","areInnerBlocksControlled","pendingChangesRef","incoming","outgoing","subscribedRef","setControlledBlocks","batch","storeBlocks","map","block","current","unsetControlledBlocks","onInputRef","onChangeRef","includes","length","selectionStart","selectionEnd","initialPosition","isMountedRef","getSelectedBlocksInitialCaretPosition","isLastBlockChangePersistent","__unstableIsLastBlockChangeIgnored","blocks","isPersistent","previousAreBlocksDifferent","unsubscribe","subscribe","isStillControlled","newIsPersistent","newBlocks","areBlocksDifferent","didPersistenceChange","push","updateParent"],"sources":["@wordpress/block-editor/src/components/provider/use-block-sync.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport { useRegistry, useSelect } from '@wordpress/data';\nimport { cloneBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\n\n/**\n * A function to call when the block value has been updated in the block-editor\n * store.\n *\n * @callback onBlockUpdate\n * @param {Object[]} blocks The updated blocks.\n * @param {Object} options The updated block options, such as selectionStart\n * and selectionEnd.\n */\n\n/**\n * useBlockSync is a side effect which handles bidirectional sync between the\n * block-editor store and a controlling data source which provides blocks. This\n * is most commonly used by the BlockEditorProvider to synchronize the contents\n * of the block-editor store with the root entity, like a post.\n *\n * Another example would be the template part block, which provides blocks from\n * a separate entity data source than a root entity. This hook syncs edits to\n * the template part in the block editor back to the entity and vice-versa.\n *\n * Here are some of its basic functions:\n * - Initalizes the block-editor store for the given clientID to the blocks\n * given via props.\n * - Adds incoming changes (like undo) to the block-editor store.\n * - Adds outgoing changes (like editing content) to the controlling entity,\n * determining if a change should be considered persistent or not.\n * - Handles edge cases and race conditions which occur in those operations.\n * - Ignores changes which happen to other entities (like nested inner block\n * controllers.\n * - Passes selection state from the block-editor store to the controlling entity.\n *\n * @param {Object} props Props for the block sync hook\n * @param {string} props.clientId The client ID of the inner block controller.\n * If none is passed, then it is assumed to be a\n * root controller rather than an inner block\n * controller.\n * @param {Object[]} props.value The control value for the blocks. This value\n * is used to initalize the block-editor store\n * and for resetting the blocks to incoming\n * changes like undo.\n * @param {Object} props.selection The selection state responsible to restore the selection on undo/redo.\n * @param {onBlockUpdate} props.onChange Function to call when a persistent\n * change has been made in the block-editor blocks\n * for the given clientId. For example, after\n * this function is called, an entity is marked\n * dirty because it has changes to save.\n * @param {onBlockUpdate} props.onInput Function to call when a non-persistent\n * change has been made in the block-editor blocks\n * for the given clientId. When this is called,\n * controlling sources do not become dirty.\n */\nexport default function useBlockSync( {\n\tclientId = null,\n\tvalue: controlledBlocks,\n\tselection: controlledSelection,\n\tonChange = noop,\n\tonInput = noop,\n} ) {\n\tconst registry = useRegistry();\n\n\tconst {\n\t\tresetBlocks,\n\t\tresetSelection,\n\t\treplaceInnerBlocks,\n\t\tsetHasControlledInnerBlocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = registry.dispatch( blockEditorStore );\n\tconst { getBlockName, getBlocks, getSelectionStart, getSelectionEnd } =\n\t\tregistry.select( blockEditorStore );\n\tconst isControlled = useSelect(\n\t\t( select ) => {\n\t\t\treturn (\n\t\t\t\t! clientId ||\n\t\t\t\tselect( blockEditorStore ).areInnerBlocksControlled( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst pendingChangesRef = useRef( { incoming: null, outgoing: [] } );\n\tconst subscribedRef = useRef( false );\n\n\tconst setControlledBlocks = () => {\n\t\tif ( ! controlledBlocks ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't need to persist this change because we only replace\n\t\t// controlled inner blocks when the change was caused by an entity,\n\t\t// and so it would already be persisted.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tif ( clientId ) {\n\t\t\t// It is important to batch here because otherwise,\n\t\t\t// as soon as `setHasControlledInnerBlocks` is called\n\t\t\t// the effect to restore might be triggered\n\t\t\t// before the actual blocks get set properly in state.\n\t\t\tregistry.batch( () => {\n\t\t\t\tsetHasControlledInnerBlocks( clientId, true );\n\t\t\t\tconst storeBlocks = controlledBlocks.map( ( block ) =>\n\t\t\t\t\tcloneBlock( block )\n\t\t\t\t);\n\t\t\t\tif ( subscribedRef.current ) {\n\t\t\t\t\tpendingChangesRef.current.incoming = storeBlocks;\n\t\t\t\t}\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\treplaceInnerBlocks( clientId, storeBlocks );\n\t\t\t} );\n\t\t} else {\n\t\t\tif ( subscribedRef.current ) {\n\t\t\t\tpendingChangesRef.current.incoming = controlledBlocks;\n\t\t\t}\n\t\t\tresetBlocks( controlledBlocks );\n\t\t}\n\t};\n\n\t// Clean up the changes made by setControlledBlocks() when the component\n\t// containing useBlockSync() unmounts.\n\tconst unsetControlledBlocks = () => {\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tif ( clientId ) {\n\t\t\tsetHasControlledInnerBlocks( clientId, false );\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t} else {\n\t\t\tresetBlocks( [] );\n\t\t}\n\t};\n\n\t// Add a subscription to the block-editor registry to detect when changes\n\t// have been made. This lets us inform the data source of changes. This\n\t// is an effect so that the subscriber can run synchronously without\n\t// waiting for React renders for changes.\n\tconst onInputRef = useRef( onInput );\n\tconst onChangeRef = useRef( onChange );\n\tuseEffect( () => {\n\t\tonInputRef.current = onInput;\n\t\tonChangeRef.current = onChange;\n\t}, [ onInput, onChange ] );\n\n\t// Determine if blocks need to be reset when they change.\n\tuseEffect( () => {\n\t\tif ( pendingChangesRef.current.outgoing.includes( controlledBlocks ) ) {\n\t\t\t// Skip block reset if the value matches expected outbound sync\n\t\t\t// triggered by this component by a preceding change detection.\n\t\t\t// Only skip if the value matches expectation, since a reset should\n\t\t\t// still occur if the value is modified (not equal by reference),\n\t\t\t// to allow that the consumer may apply modifications to reflect\n\t\t\t// back on the editor.\n\t\t\tif (\n\t\t\t\tpendingChangesRef.current.outgoing[\n\t\t\t\t\tpendingChangesRef.current.outgoing.length - 1\n\t\t\t\t] === controlledBlocks\n\t\t\t) {\n\t\t\t\tpendingChangesRef.current.outgoing = [];\n\t\t\t}\n\t\t} else if ( getBlocks( clientId ) !== controlledBlocks ) {\n\t\t\t// Reset changing value in all other cases than the sync described\n\t\t\t// above. Since this can be reached in an update following an out-\n\t\t\t// bound sync, unset the outbound value to avoid considering it in\n\t\t\t// subsequent renders.\n\t\t\tpendingChangesRef.current.outgoing = [];\n\t\t\tsetControlledBlocks();\n\n\t\t\tif ( controlledSelection ) {\n\t\t\t\tresetSelection(\n\t\t\t\t\tcontrolledSelection.selectionStart,\n\t\t\t\t\tcontrolledSelection.selectionEnd,\n\t\t\t\t\tcontrolledSelection.initialPosition\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [ controlledBlocks, clientId ] );\n\n\tconst isMountedRef = useRef( false );\n\n\tuseEffect( () => {\n\t\t// On mount, controlled blocks are already set in the effect above.\n\t\tif ( ! isMountedRef.current ) {\n\t\t\tisMountedRef.current = true;\n\t\t\treturn;\n\t\t}\n\n\t\t// When the block becomes uncontrolled, it means its inner state has been reset\n\t\t// we need to take the blocks again from the external value property.\n\t\tif ( ! isControlled ) {\n\t\t\tpendingChangesRef.current.outgoing = [];\n\t\t\tsetControlledBlocks();\n\t\t}\n\t}, [ isControlled ] );\n\n\tuseEffect( () => {\n\t\tconst {\n\t\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t\tisLastBlockChangePersistent,\n\t\t\t__unstableIsLastBlockChangeIgnored,\n\t\t\tareInnerBlocksControlled,\n\t\t} = registry.select( blockEditorStore );\n\n\t\tlet blocks = getBlocks( clientId );\n\t\tlet isPersistent = isLastBlockChangePersistent();\n\t\tlet previousAreBlocksDifferent = false;\n\n\t\tsubscribedRef.current = true;\n\t\tconst unsubscribe = registry.subscribe( () => {\n\t\t\t// Sometimes, when changing block lists, lingering subscriptions\n\t\t\t// might trigger before they are cleaned up. If the block for which\n\t\t\t// the subscription runs is no longer in the store, this would clear\n\t\t\t// its parent entity's block list. To avoid this, we bail out if\n\t\t\t// the subscription is triggering for a block (`clientId !== null`)\n\t\t\t// and its block name can't be found because it's not on the list.\n\t\t\t// (`getBlockName( clientId ) === null`).\n\t\t\tif ( clientId !== null && getBlockName( clientId ) === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// When RESET_BLOCKS on parent blocks get called, the controlled blocks\n\t\t\t// can reset to uncontrolled, in these situations, it means we need to populate\n\t\t\t// the blocks again from the external blocks (the value property here)\n\t\t\t// and we should stop triggering onChange\n\t\t\tconst isStillControlled =\n\t\t\t\t! clientId || areInnerBlocksControlled( clientId );\n\t\t\tif ( ! isStillControlled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst newIsPersistent = isLastBlockChangePersistent();\n\t\t\tconst newBlocks = getBlocks( clientId );\n\t\t\tconst areBlocksDifferent = newBlocks !== blocks;\n\t\t\tblocks = newBlocks;\n\t\t\tif (\n\t\t\t\tareBlocksDifferent &&\n\t\t\t\t( pendingChangesRef.current.incoming ||\n\t\t\t\t\t__unstableIsLastBlockChangeIgnored() )\n\t\t\t) {\n\t\t\t\tpendingChangesRef.current.incoming = null;\n\t\t\t\tisPersistent = newIsPersistent;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Since we often dispatch an action to mark the previous action as\n\t\t\t// persistent, we need to make sure that the blocks changed on the\n\t\t\t// previous action before committing the change.\n\t\t\tconst didPersistenceChange =\n\t\t\t\tpreviousAreBlocksDifferent &&\n\t\t\t\t! areBlocksDifferent &&\n\t\t\t\tnewIsPersistent &&\n\t\t\t\t! isPersistent;\n\n\t\t\tif ( areBlocksDifferent || didPersistenceChange ) {\n\t\t\t\tisPersistent = newIsPersistent;\n\t\t\t\t// We know that onChange/onInput will update controlledBlocks.\n\t\t\t\t// We need to be aware that it was caused by an outgoing change\n\t\t\t\t// so that we do not treat it as an incoming change later on,\n\t\t\t\t// which would cause a block reset.\n\t\t\t\tpendingChangesRef.current.outgoing.push( blocks );\n\n\t\t\t\t// Inform the controlling entity that changes have been made to\n\t\t\t\t// the block-editor store they should be aware about.\n\t\t\t\tconst updateParent = isPersistent\n\t\t\t\t\t? onChangeRef.current\n\t\t\t\t\t: onInputRef.current;\n\t\t\t\tupdateParent( blocks, {\n\t\t\t\t\tselection: {\n\t\t\t\t\t\tselectionStart: getSelectionStart(),\n\t\t\t\t\t\tselectionEnd: getSelectionEnd(),\n\t\t\t\t\t\tinitialPosition:\n\t\t\t\t\t\t\tgetSelectedBlocksInitialCaretPosition(),\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t\tpreviousAreBlocksDifferent = areBlocksDifferent;\n\t\t}, blockEditorStore );\n\n\t\treturn () => {\n\t\t\tsubscribedRef.current = false;\n\t\t\tunsubscribe();\n\t\t};\n\t}, [ registry, clientId ] );\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tunsetControlledBlocks();\n\t\t};\n\t}, [] );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * External dependencies
3
4
  */