@wordpress/block-editor 12.23.0 → 12.25.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 (1674) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +5 -1
  3. package/build/autocompleters/block.js.map +1 -1
  4. package/build/autocompleters/link.js.map +1 -1
  5. package/build/components/alignment-control/index.js.map +1 -1
  6. package/build/components/alignment-control/ui.js +3 -1
  7. package/build/components/alignment-control/ui.js.map +1 -1
  8. package/build/components/autocomplete/index.js.map +1 -1
  9. package/build/components/block-actions/index.js.map +1 -1
  10. package/build/components/block-alignment-control/constants.js.map +1 -1
  11. package/build/components/block-alignment-control/index.js.map +1 -1
  12. package/build/components/block-alignment-control/ui.js.map +1 -1
  13. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  14. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  15. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  16. package/build/components/block-bindings-toolbar-indicator/index.js.map +1 -1
  17. package/build/components/block-breadcrumb/index.js.map +1 -1
  18. package/build/components/block-canvas/index.js.map +1 -1
  19. package/build/components/block-caption/index.native.js.map +1 -1
  20. package/build/components/block-card/index.js.map +1 -1
  21. package/build/components/block-compare/block-view.js.map +1 -1
  22. package/build/components/block-compare/index.js.map +1 -1
  23. package/build/components/block-content-overlay/index.js.map +1 -1
  24. package/build/components/block-context/index.js.map +1 -1
  25. package/build/components/block-controls/fill.js.map +1 -1
  26. package/build/components/block-controls/groups.js.map +1 -1
  27. package/build/components/block-controls/hook.js.map +1 -1
  28. package/build/components/block-controls/index.js.map +1 -1
  29. package/build/components/block-controls/slot.js.map +1 -1
  30. package/build/components/block-controls/slot.native.js.map +1 -1
  31. package/build/components/block-controls/use-has-block-controls.js.map +1 -1
  32. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  33. package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
  34. package/build/components/block-draggable/dropping-insertion-point.native.js +1 -1
  35. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  36. package/build/components/block-draggable/index.js.map +1 -1
  37. package/build/components/block-draggable/index.native.js +1 -1
  38. package/build/components/block-draggable/index.native.js.map +1 -1
  39. package/build/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  40. package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  41. package/build/components/block-edit/context.js +2 -1
  42. package/build/components/block-edit/context.js.map +1 -1
  43. package/build/components/block-edit/edit.js.map +1 -1
  44. package/build/components/block-edit/edit.native.js.map +1 -1
  45. package/build/components/block-edit/index.js +4 -2
  46. package/build/components/block-edit/index.js.map +1 -1
  47. package/build/components/block-edit-visually-button/index.js.map +1 -1
  48. package/build/components/block-editing-mode/index.js.map +1 -1
  49. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  50. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  51. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  52. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  53. package/build/components/block-icon/index.js.map +1 -1
  54. package/build/components/block-icon/index.native.js.map +1 -1
  55. package/build/components/block-info-slot-fill/index.js.map +1 -1
  56. package/build/components/block-inspector/index.js +5 -4
  57. package/build/components/block-inspector/index.js.map +1 -1
  58. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  59. package/build/components/block-list/block-crash-boundary.js.map +1 -1
  60. package/build/components/block-list/block-crash-boundary.native.js.map +1 -1
  61. package/build/components/block-list/block-crash-warning.js.map +1 -1
  62. package/build/components/block-list/block-crash-warning.native.js.map +1 -1
  63. package/build/components/block-list/block-html.js.map +1 -1
  64. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  65. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  66. package/build/components/block-list/block-list-context.native.js.map +1 -1
  67. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  68. package/build/components/block-list/block-list-item.native.js.map +1 -1
  69. package/build/components/block-list/block-outline.native.js.map +1 -1
  70. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  71. package/build/components/block-list/block.js +44 -35
  72. package/build/components/block-list/block.js.map +1 -1
  73. package/build/components/block-list/block.native.js +2 -2
  74. package/build/components/block-list/block.native.js.map +1 -1
  75. package/build/components/block-list/grid-item.native.js.map +1 -1
  76. package/build/components/block-list/index.js +18 -6
  77. package/build/components/block-list/index.js.map +1 -1
  78. package/build/components/block-list/index.native.js +1 -9
  79. package/build/components/block-list/index.native.js.map +1 -1
  80. package/build/components/block-list/insertion-point.native.js.map +1 -1
  81. package/build/components/block-list/layout.js.map +1 -1
  82. package/build/components/block-list/private-block-context.js.map +1 -1
  83. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  84. package/build/components/block-list/use-block-props/index.js +8 -7
  85. package/build/components/block-list/use-block-props/index.js.map +1 -1
  86. package/build/components/block-list/use-block-props/index.native.js.map +1 -1
  87. package/build/components/block-list/use-block-props/use-block-refs.js +17 -46
  88. package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  89. package/build/components/block-list/use-block-props/use-focus-first-element.js +3 -2
  90. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  91. package/build/components/block-list/use-block-props/use-focus-handler.js.map +1 -1
  92. package/build/components/block-list/use-block-props/use-intersection-observer.js.map +1 -1
  93. package/build/components/block-list/use-block-props/use-is-hovered.js +10 -14
  94. package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  95. package/build/components/block-list/use-block-props/use-nav-mode-exit.js.map +1 -1
  96. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  97. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  98. package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -1
  99. package/build/components/block-list-appender/index.js.map +1 -1
  100. package/build/components/block-list-appender/index.native.js.map +1 -1
  101. package/build/components/block-lock/index.js.map +1 -1
  102. package/build/components/block-lock/menu-item.js.map +1 -1
  103. package/build/components/block-lock/modal.js.map +1 -1
  104. package/build/components/block-lock/toolbar.js.map +1 -1
  105. package/build/components/block-lock/use-block-lock.js.map +1 -1
  106. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  107. package/build/components/block-mover/button.js.map +1 -1
  108. package/build/components/block-mover/index.js.map +1 -1
  109. package/build/components/block-mover/index.native.js +3 -1
  110. package/build/components/block-mover/index.native.js.map +1 -1
  111. package/build/components/block-mover/mover-description.js.map +1 -1
  112. package/build/components/block-mover/mover-description.native.js.map +1 -1
  113. package/build/components/block-navigation/dropdown.js.map +1 -1
  114. package/build/components/block-parent-selector/index.js.map +1 -1
  115. package/build/components/block-pattern-setup/constants.js.map +1 -1
  116. package/build/components/block-pattern-setup/index.js.map +1 -1
  117. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  118. package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  119. package/build/components/block-patterns-list/index.js.map +1 -1
  120. package/build/components/block-patterns-paging/index.js +8 -4
  121. package/build/components/block-patterns-paging/index.js.map +1 -1
  122. package/build/components/block-popover/cover.js.map +1 -1
  123. package/build/components/block-popover/drop-zone.js.map +1 -1
  124. package/build/components/block-popover/inbetween.js.map +1 -1
  125. package/build/components/block-popover/index.js.map +1 -1
  126. package/build/components/block-popover/use-popover-scroll.js.map +1 -1
  127. package/build/components/block-preview/auto.js.map +1 -1
  128. package/build/components/block-preview/index.js.map +1 -1
  129. package/build/components/block-quick-navigation/index.js.map +1 -1
  130. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  131. package/build/components/block-rename/index.js.map +1 -1
  132. package/build/components/block-rename/is-empty-string.js.map +1 -1
  133. package/build/components/block-rename/modal.js +13 -9
  134. package/build/components/block-rename/modal.js.map +1 -1
  135. package/build/components/block-rename/rename-control.js +3 -1
  136. package/build/components/block-rename/rename-control.js.map +1 -1
  137. package/build/components/block-rename/use-block-rename.js.map +1 -1
  138. package/build/components/block-selection-clearer/index.js.map +1 -1
  139. package/build/components/block-settings/button.native.js.map +1 -1
  140. package/build/components/block-settings/container.native.js.map +1 -1
  141. package/build/components/block-settings/index.native.js +1 -1
  142. package/build/components/block-settings/index.native.js.map +1 -1
  143. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  144. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  145. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  146. package/build/components/block-settings-menu/block-settings-dropdown.js +0 -25
  147. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  148. package/build/components/block-settings-menu/block-settings-menu-first-item.js.map +1 -1
  149. package/build/components/block-settings-menu/index.js.map +1 -1
  150. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  151. package/build/components/block-styles/index.js.map +1 -1
  152. package/build/components/block-styles/index.native.js.map +1 -1
  153. package/build/components/block-styles/menu-items.js.map +1 -1
  154. package/build/components/block-styles/preview-panel.js.map +1 -1
  155. package/build/components/block-styles/preview.native.js.map +1 -1
  156. package/build/components/block-styles/use-styles-for-block.js.map +1 -1
  157. package/build/components/block-styles/utils.js.map +1 -1
  158. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  159. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  160. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  161. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  162. package/build/components/block-switcher/index.js.map +1 -1
  163. package/build/components/block-switcher/pattern-transformations-menu.js +3 -1
  164. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  165. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  166. package/build/components/block-switcher/use-transformed-patterns.js +6 -2
  167. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  168. package/build/components/block-switcher/utils.js +15 -5
  169. package/build/components/block-switcher/utils.js.map +1 -1
  170. package/build/components/block-title/index.js.map +1 -1
  171. package/build/components/block-title/use-block-display-title.js.map +1 -1
  172. package/build/components/block-toolbar/block-name-context.js.map +1 -1
  173. package/build/components/block-toolbar/block-toolbar-last-item.js.map +1 -1
  174. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  175. package/build/components/block-toolbar/index.js +1 -1
  176. package/build/components/block-toolbar/index.js.map +1 -1
  177. package/build/components/block-toolbar/index.native.js.map +1 -1
  178. package/build/components/block-toolbar/shuffle.js.map +1 -1
  179. package/build/components/block-toolbar/use-has-block-toolbar.js +20 -12
  180. package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  181. package/build/components/block-toolbar/utils.js.map +1 -1
  182. package/build/components/block-tools/block-selection-button.js +16 -12
  183. package/build/components/block-tools/block-selection-button.js.map +1 -1
  184. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  185. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  186. package/build/components/block-tools/empty-block-inserter.js.map +1 -1
  187. package/build/components/block-tools/index.js +4 -2
  188. package/build/components/block-tools/index.js.map +1 -1
  189. package/build/components/block-tools/insertion-point.js.map +1 -1
  190. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  191. package/build/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  192. package/build/components/block-tools/use-show-block-tools.js +9 -18
  193. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  194. package/build/components/block-tools/zoom-out-mode-inserters.js +5 -1
  195. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  196. package/build/components/block-types-list/index.js.map +1 -1
  197. package/build/components/block-types-list/index.native.js.map +1 -1
  198. package/build/components/block-variation-picker/index.js +3 -2
  199. package/build/components/block-variation-picker/index.js.map +1 -1
  200. package/build/components/block-variation-picker/index.native.js.map +1 -1
  201. package/build/components/block-variation-transforms/index.js +7 -2
  202. package/build/components/block-variation-transforms/index.js.map +1 -1
  203. package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
  204. package/build/components/block-vertical-alignment-control/index.js.map +1 -1
  205. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  206. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  207. package/build/components/border-radius-control/index.js.map +1 -1
  208. package/build/components/border-radius-control/input-controls.js.map +1 -1
  209. package/build/components/border-radius-control/linked-button.js.map +1 -1
  210. package/build/components/border-radius-control/utils.js.map +1 -1
  211. package/build/components/button-block-appender/index.js.map +1 -1
  212. package/build/components/button-block-appender/index.native.js +11 -1
  213. package/build/components/button-block-appender/index.native.js.map +1 -1
  214. package/build/components/caption/index.native.js.map +1 -1
  215. package/build/components/child-layout-control/index.js.map +1 -1
  216. package/build/components/color-palette/control.js.map +1 -1
  217. package/build/components/color-palette/index.js.map +1 -1
  218. package/build/components/color-palette/with-color-context.js.map +1 -1
  219. package/build/components/color-style-selector/index.js.map +1 -1
  220. package/build/components/colors/index.js +1 -1
  221. package/build/components/colors/index.js.map +1 -1
  222. package/build/components/colors/utils.js.map +1 -1
  223. package/build/components/colors/with-colors.js.map +1 -1
  224. package/build/components/colors-gradients/control.js.map +1 -1
  225. package/build/components/colors-gradients/dropdown.js.map +1 -1
  226. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  227. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  228. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  229. package/build/components/contrast-checker/index.js.map +1 -1
  230. package/build/components/contrast-checker/index.native.js.map +1 -1
  231. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  232. package/build/components/convert-to-group-buttons/index.native.js.map +1 -1
  233. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  234. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  235. package/build/components/copy-handler/index.js.map +1 -1
  236. package/build/components/date-format-picker/index.js.map +1 -1
  237. package/build/components/default-block-appender/index.js.map +1 -1
  238. package/build/components/default-block-appender/index.native.js.map +1 -1
  239. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  240. package/build/components/dimensions-tool/index.js.map +1 -1
  241. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  242. package/build/components/dimensions-tool/width-height-tool.js +6 -2
  243. package/build/components/dimensions-tool/width-height-tool.js.map +1 -1
  244. package/build/components/duotone/utils.js.map +1 -1
  245. package/build/components/duotone-control/index.js.map +1 -1
  246. package/build/components/editable-text/index.js.map +1 -1
  247. package/build/components/editor-styles/index.js +2 -1
  248. package/build/components/editor-styles/index.js.map +1 -1
  249. package/build/components/floating-toolbar/index.native.js +9 -5
  250. package/build/components/floating-toolbar/index.native.js.map +1 -1
  251. package/build/components/floating-toolbar/nav-up-icon.js.map +1 -1
  252. package/build/components/font-appearance-control/index.js.map +1 -1
  253. package/build/components/font-family/index.js.map +1 -1
  254. package/build/components/font-sizes/fluid-utils.js.map +1 -1
  255. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  256. package/build/components/font-sizes/index.js.map +1 -1
  257. package/build/components/font-sizes/index.native.js.map +1 -1
  258. package/build/components/font-sizes/utils.js.map +1 -1
  259. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  260. package/build/components/global-styles/advanced-panel.js.map +1 -1
  261. package/build/components/global-styles/background-panel.js +20 -17
  262. package/build/components/global-styles/background-panel.js.map +1 -1
  263. package/build/components/global-styles/border-panel.js.map +1 -1
  264. package/build/components/global-styles/color-panel.js +3 -1
  265. package/build/components/global-styles/color-panel.js.map +1 -1
  266. package/build/components/global-styles/color-panel.native.js.map +1 -1
  267. package/build/components/global-styles/context.js.map +1 -1
  268. package/build/components/global-styles/dimensions-panel.js +16 -0
  269. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  270. package/build/components/global-styles/filters-panel.js.map +1 -1
  271. package/build/components/global-styles/get-block-css-selector.js.map +1 -1
  272. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  273. package/build/components/global-styles/hooks.js +3 -2
  274. package/build/components/global-styles/hooks.js.map +1 -1
  275. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  276. package/build/components/global-styles/index.js +1 -1
  277. package/build/components/global-styles/index.js.map +1 -1
  278. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  279. package/build/components/global-styles/typography-panel.js +23 -23
  280. package/build/components/global-styles/typography-panel.js.map +1 -1
  281. package/build/components/global-styles/typography-utils.js.map +1 -1
  282. package/build/components/global-styles/use-global-styles-output.js +153 -136
  283. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  284. package/build/components/global-styles/utils.js +45 -0
  285. package/build/components/global-styles/utils.js.map +1 -1
  286. package/build/components/gradients/index.js.map +1 -1
  287. package/build/components/gradients/index.native.js.map +1 -1
  288. package/build/components/gradients/use-gradient.js.map +1 -1
  289. package/build/components/gradients/with-gradient.js.map +1 -1
  290. package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  291. package/build/components/grid-visualizer/grid-visualizer.js.map +1 -1
  292. package/build/components/grid-visualizer/index.js.map +1 -1
  293. package/build/components/grid-visualizer/utils.js.map +1 -1
  294. package/build/components/height-control/index.js.map +1 -1
  295. package/build/components/iframe/get-compatibility-styles.js.map +1 -1
  296. package/build/components/iframe/index.js +12 -13
  297. package/build/components/iframe/index.js.map +1 -1
  298. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  299. package/build/components/image-editor/constants.js.map +1 -1
  300. package/build/components/image-editor/context.js.map +1 -1
  301. package/build/components/image-editor/cropper.js +6 -2
  302. package/build/components/image-editor/cropper.js.map +1 -1
  303. package/build/components/image-editor/form-controls.js.map +1 -1
  304. package/build/components/image-editor/index.js +0 -2
  305. package/build/components/image-editor/index.js.map +1 -1
  306. package/build/components/image-editor/rotation-button.js.map +1 -1
  307. package/build/components/image-editor/use-save-image.js.map +1 -1
  308. package/build/components/image-editor/use-transform-image.js.map +1 -1
  309. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  310. package/build/components/image-link-destinations/index.native.js.map +1 -1
  311. package/build/components/image-size-control/index.js.map +1 -1
  312. package/build/components/image-size-control/use-dimension-handler.js.map +1 -1
  313. package/build/components/index.js +1 -1
  314. package/build/components/index.js.map +1 -1
  315. package/build/components/index.native.js +1 -1
  316. package/build/components/index.native.js.map +1 -1
  317. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  318. package/build/components/inner-blocks/constants.native.js.map +1 -1
  319. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  320. package/build/components/inner-blocks/index.js +16 -2
  321. package/build/components/inner-blocks/index.js.map +1 -1
  322. package/build/components/inner-blocks/index.native.js.map +1 -1
  323. package/build/components/inner-blocks/use-block-context.js.map +1 -1
  324. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  325. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  326. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  327. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  328. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  329. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  330. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  331. package/build/components/inserter/block-patterns-tab/index.js +19 -25
  332. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  333. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +2 -24
  334. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  335. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -3
  336. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  337. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  338. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  339. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
  340. package/build/components/inserter/block-types-tab.js +4 -0
  341. package/build/components/inserter/block-types-tab.js.map +1 -1
  342. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  343. package/build/components/inserter/category-tabs/index.js +56 -0
  344. package/build/components/inserter/category-tabs/index.js.map +1 -0
  345. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  346. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  347. package/build/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  348. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  349. package/build/components/inserter/hooks/use-patterns-paging.js.map +1 -1
  350. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  351. package/build/components/inserter/index.js.map +1 -1
  352. package/build/components/inserter/index.native.js.map +1 -1
  353. package/build/components/inserter/library.js.map +1 -1
  354. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  355. package/build/components/inserter/media-tab/index.js +2 -2
  356. package/build/components/inserter/media-tab/index.js.map +1 -1
  357. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  358. package/build/components/inserter/media-tab/media-panel.js +0 -25
  359. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  360. package/build/components/inserter/media-tab/media-preview.js +13 -3
  361. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  362. package/build/components/inserter/media-tab/media-tab.js +15 -29
  363. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  364. package/build/components/inserter/media-tab/utils.js.map +1 -1
  365. package/build/components/inserter/menu.js +73 -77
  366. package/build/components/inserter/menu.js.map +1 -1
  367. package/build/components/inserter/menu.native.js.map +1 -1
  368. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  369. package/build/components/inserter/no-results.js.map +1 -1
  370. package/build/components/inserter/no-results.native.js.map +1 -1
  371. package/build/components/inserter/panel.js.map +1 -1
  372. package/build/components/inserter/preview-panel.js.map +1 -1
  373. package/build/components/inserter/quick-inserter.js.map +1 -1
  374. package/build/components/inserter/reusable-block-rename-hint.js.map +1 -1
  375. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  376. package/build/components/inserter/search-items.js.map +1 -1
  377. package/build/components/inserter/search-results.js.map +1 -1
  378. package/build/components/inserter/search-results.native.js.map +1 -1
  379. package/build/components/inserter/tabs.js +13 -9
  380. package/build/components/inserter/tabs.js.map +1 -1
  381. package/build/components/inserter/tabs.native.js.map +1 -1
  382. package/build/components/inserter/tips.js.map +1 -1
  383. package/build/components/inserter/utils.native.js.map +1 -1
  384. package/build/components/inserter-button/index.native.js.map +1 -1
  385. package/build/components/inserter-button/sparkles.js.map +1 -1
  386. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  387. package/build/components/inserter-list-item/index.js.map +1 -1
  388. package/build/components/inserter-listbox/context.js.map +1 -1
  389. package/build/components/inserter-listbox/group.js.map +1 -1
  390. package/build/components/inserter-listbox/index.js.map +1 -1
  391. package/build/components/inserter-listbox/item.js.map +1 -1
  392. package/build/components/inserter-listbox/row.js.map +1 -1
  393. package/build/components/inserter-menu-extension/index.js.map +1 -1
  394. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  395. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  396. package/build/components/inspector-controls/fill.js.map +1 -1
  397. package/build/components/inspector-controls/fill.native.js.map +1 -1
  398. package/build/components/inspector-controls/groups.js.map +1 -1
  399. package/build/components/inspector-controls/index.js.map +1 -1
  400. package/build/components/inspector-controls/slot.js.map +1 -1
  401. package/build/components/inspector-controls/slot.native.js.map +1 -1
  402. package/build/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
  403. package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  404. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
  405. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  406. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  407. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  408. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  409. package/build/components/inspector-controls-tabs/styles-tab.js +1 -1
  410. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  411. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  412. package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +1 -1
  413. package/build/components/inspector-controls-tabs/utils.js.map +1 -1
  414. package/build/components/inspector-popover-header/index.js.map +1 -1
  415. package/build/components/justify-content-control/index.js.map +1 -1
  416. package/build/components/justify-content-control/ui.js.map +1 -1
  417. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  418. package/build/components/letter-spacing-control/index.js.map +1 -1
  419. package/build/components/line-height-control/index.js +6 -2
  420. package/build/components/line-height-control/index.js.map +1 -1
  421. package/build/components/line-height-control/index.native.js.map +1 -1
  422. package/build/components/line-height-control/utils.js.map +1 -1
  423. package/build/components/link-control/constants.js.map +1 -1
  424. package/build/components/link-control/index.js.map +1 -1
  425. package/build/components/link-control/is-url-like.js.map +1 -1
  426. package/build/components/link-control/link-preview.js.map +1 -1
  427. package/build/components/link-control/search-create-button.js.map +1 -1
  428. package/build/components/link-control/search-input.js.map +1 -1
  429. package/build/components/link-control/search-item.js +9 -3
  430. package/build/components/link-control/search-item.js.map +1 -1
  431. package/build/components/link-control/search-results.js.map +1 -1
  432. package/build/components/link-control/settings-drawer.js.map +1 -1
  433. package/build/components/link-control/settings.js.map +1 -1
  434. package/build/components/link-control/use-create-page.js.map +1 -1
  435. package/build/components/link-control/use-internal-value.js.map +1 -1
  436. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  437. package/build/components/link-control/use-search-handler.js.map +1 -1
  438. package/build/components/link-control/viewer-slot.js.map +1 -1
  439. package/build/components/list-view/appender.js.map +1 -1
  440. package/build/components/list-view/aria-referenced-text.js.map +1 -1
  441. package/build/components/list-view/block-contents.js.map +1 -1
  442. package/build/components/list-view/block-select-button.js +5 -142
  443. package/build/components/list-view/block-select-button.js.map +1 -1
  444. package/build/components/list-view/block.js +166 -14
  445. package/build/components/list-view/block.js.map +1 -1
  446. package/build/components/list-view/branch.js.map +1 -1
  447. package/build/components/list-view/context.js.map +1 -1
  448. package/build/components/list-view/drop-indicator.js.map +1 -1
  449. package/build/components/list-view/expander.js.map +1 -1
  450. package/build/components/list-view/index.js +1 -1
  451. package/build/components/list-view/index.js.map +1 -1
  452. package/build/components/list-view/leaf.js.map +1 -1
  453. package/build/components/list-view/use-block-selection.js.map +1 -1
  454. package/build/components/list-view/use-clipboard-handler.js.map +1 -1
  455. package/build/components/list-view/use-list-view-block-indexes.js.map +1 -1
  456. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  457. package/build/components/list-view/use-list-view-collapse-items.js.map +1 -1
  458. package/build/components/list-view/use-list-view-drop-zone.js +6 -1
  459. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  460. package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  461. package/build/components/list-view/use-list-view-images.js.map +1 -1
  462. package/build/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
  463. package/build/components/list-view/utils.js +3 -1
  464. package/build/components/list-view/utils.js.map +1 -1
  465. package/build/components/media-placeholder/index.js +3 -3
  466. package/build/components/media-placeholder/index.js.map +1 -1
  467. package/build/components/media-placeholder/index.native.js.map +1 -1
  468. package/build/components/media-replace-flow/index.js.map +1 -1
  469. package/build/components/media-replace-flow/index.native.js.map +1 -1
  470. package/build/components/media-upload/check.js.map +1 -1
  471. package/build/components/media-upload/constants.native.js.map +1 -1
  472. package/build/components/media-upload/index.js.map +1 -1
  473. package/build/components/media-upload/index.native.js.map +1 -1
  474. package/build/components/media-upload-progress/constants.js.map +1 -1
  475. package/build/components/media-upload-progress/index.native.js.map +1 -1
  476. package/build/components/multi-selection-inspector/index.js.map +1 -1
  477. package/build/components/navigable-toolbar/index.js +3 -1
  478. package/build/components/navigable-toolbar/index.js.map +1 -1
  479. package/build/components/observe-typing/index.js.map +1 -1
  480. package/build/components/panel-color-settings/index.js.map +1 -1
  481. package/build/components/plain-text/index.js.map +1 -1
  482. package/build/components/plain-text/index.native.js.map +1 -1
  483. package/build/components/preview-options/index.js.map +1 -1
  484. package/build/components/provider/block-refs-provider.js +3 -4
  485. package/build/components/provider/block-refs-provider.js.map +1 -1
  486. package/build/components/provider/index.js.map +1 -1
  487. package/build/components/provider/index.native.js.map +1 -1
  488. package/build/components/provider/use-block-sync.js +3 -12
  489. package/build/components/provider/use-block-sync.js.map +1 -1
  490. package/build/components/provider/with-registry-provider.js.map +1 -1
  491. package/build/components/publish-date-time-picker/index.js.map +1 -1
  492. package/build/components/recursion-provider/index.js +2 -2
  493. package/build/components/recursion-provider/index.js.map +1 -1
  494. package/build/components/resizable-box-popover/index.js.map +1 -1
  495. package/build/components/resolution-tool/index.js.map +1 -1
  496. package/build/components/responsive-block-control/index.js.map +1 -1
  497. package/build/components/responsive-block-control/label.js.map +1 -1
  498. package/build/components/rich-text/content.js +26 -19
  499. package/build/components/rich-text/content.js.map +1 -1
  500. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  501. package/build/components/rich-text/event-listeners/before-input-rules.js +93 -0
  502. package/build/components/rich-text/event-listeners/before-input-rules.js.map +1 -0
  503. package/build/components/rich-text/event-listeners/delete.js +58 -0
  504. package/build/components/rich-text/event-listeners/delete.js.map +1 -0
  505. package/build/components/rich-text/event-listeners/enter.js +98 -0
  506. package/build/components/rich-text/event-listeners/enter.js.map +1 -0
  507. package/build/components/rich-text/event-listeners/firefox-compat.js +36 -0
  508. package/build/components/rich-text/event-listeners/firefox-compat.js.map +1 -0
  509. package/build/components/rich-text/event-listeners/index.js +44 -0
  510. package/build/components/rich-text/event-listeners/index.js.map +1 -0
  511. package/build/components/rich-text/event-listeners/input-events.js +22 -0
  512. package/build/components/rich-text/event-listeners/input-events.js.map +1 -0
  513. package/build/components/rich-text/event-listeners/input-rules.js +135 -0
  514. package/build/components/rich-text/event-listeners/input-rules.js.map +1 -0
  515. package/build/components/rich-text/event-listeners/insert-replacement-text.js +33 -0
  516. package/build/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -0
  517. package/build/components/rich-text/event-listeners/paste-handler.js +146 -0
  518. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -0
  519. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js +27 -0
  520. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -0
  521. package/build/components/rich-text/event-listeners/shortcuts.js +22 -0
  522. package/build/components/rich-text/event-listeners/shortcuts.js.map +1 -0
  523. package/build/components/rich-text/event-listeners/undo-automatic-change.js +51 -0
  524. package/build/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -0
  525. package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
  526. package/build/components/rich-text/format-edit.js.map +1 -1
  527. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  528. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  529. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  530. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  531. package/build/components/rich-text/get-rich-text-values.js.map +1 -1
  532. package/build/components/rich-text/index.js +51 -31
  533. package/build/components/rich-text/index.js.map +1 -1
  534. package/build/components/rich-text/index.native.js +16 -4
  535. package/build/components/rich-text/index.native.js.map +1 -1
  536. package/build/components/rich-text/input-event.js.map +1 -1
  537. package/build/components/rich-text/input-event.native.js.map +1 -1
  538. package/build/components/rich-text/multiline.js +6 -2
  539. package/build/components/rich-text/multiline.js.map +1 -1
  540. package/build/components/rich-text/native/format-edit.js.map +1 -1
  541. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  542. package/build/components/rich-text/native/index.js.map +1 -1
  543. package/build/components/rich-text/native/index.native.js +12 -0
  544. package/build/components/rich-text/native/index.native.js.map +1 -1
  545. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  546. package/build/components/rich-text/native/use-format-types.js.map +1 -1
  547. package/build/components/rich-text/prevent-event-discovery.js.map +1 -1
  548. package/build/components/rich-text/remove-browser-shortcuts.native.js.map +1 -1
  549. package/build/components/rich-text/shortcut.js.map +1 -1
  550. package/build/components/rich-text/shortcut.native.js.map +1 -1
  551. package/build/components/rich-text/split-value.js.map +1 -1
  552. package/build/components/rich-text/toolbar-button.js.map +1 -1
  553. package/build/components/rich-text/use-format-types.js +8 -4
  554. package/build/components/rich-text/use-format-types.js.map +1 -1
  555. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  556. package/build/components/rich-text/utils.js.map +1 -1
  557. package/build/components/rich-text/with-deprecations.js.map +1 -1
  558. package/build/components/segmented-text-control/index.js +62 -0
  559. package/build/components/segmented-text-control/index.js.map +1 -0
  560. package/build/components/selection-scroll-into-view/index.js.map +1 -1
  561. package/build/components/skip-to-selected-block/index.js.map +1 -1
  562. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  563. package/build/components/spacing-sizes-control/index.js.map +1 -1
  564. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  565. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  566. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  567. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -2
  568. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  569. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  570. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  571. package/build/components/text-alignment-control/index.js +76 -0
  572. package/build/components/text-alignment-control/index.js.map +1 -0
  573. package/build/components/text-decoration-control/index.js +21 -25
  574. package/build/components/text-decoration-control/index.js.map +1 -1
  575. package/build/components/text-transform-control/index.js +18 -22
  576. package/build/components/text-transform-control/index.js.map +1 -1
  577. package/build/components/tool-selector/index.js.map +1 -1
  578. package/build/components/typewriter/index.js.map +1 -1
  579. package/build/components/ungroup-button/index.native.js.map +1 -1
  580. package/build/components/unit-control/index.js.map +1 -1
  581. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  582. package/build/components/url-input/button.js.map +1 -1
  583. package/build/components/url-input/index.js.map +1 -1
  584. package/build/components/url-input/index.native.js.map +1 -1
  585. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  586. package/build/components/url-popover/index.js.map +1 -1
  587. package/build/components/url-popover/link-editor.js.map +1 -1
  588. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  589. package/build/components/url-popover/link-viewer.js.map +1 -1
  590. package/build/components/use-block-commands/index.js +20 -2
  591. package/build/components/use-block-commands/index.js.map +1 -1
  592. package/build/components/use-block-display-information/index.js +9 -3
  593. package/build/components/use-block-display-information/index.js.map +1 -1
  594. package/build/components/use-block-drop-zone/index.js.map +1 -1
  595. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  596. package/build/components/use-flash-editable-blocks/index.js.map +1 -1
  597. package/build/components/use-moving-animation/index.js.map +1 -1
  598. package/build/components/use-on-block-drop/index.js +3 -1
  599. package/build/components/use-on-block-drop/index.js.map +1 -1
  600. package/build/components/use-on-block-drop/index.native.js.map +1 -1
  601. package/build/components/use-on-block-drop/types.js.map +1 -1
  602. package/build/components/use-paste-styles/index.js +1 -0
  603. package/build/components/use-paste-styles/index.js.map +1 -1
  604. package/build/components/use-resize-canvas/index.js.map +1 -1
  605. package/build/components/use-settings/index.js.map +1 -1
  606. package/build/components/use-unsupported-block-editor/index.native.js.map +1 -1
  607. package/build/components/video-player/gridicon-play.native.js.map +1 -1
  608. package/build/components/video-player/index.native.js.map +1 -1
  609. package/build/components/warning/index.js.map +1 -1
  610. package/build/components/warning/index.native.js.map +1 -1
  611. package/build/components/writing-flow/index.js.map +1 -1
  612. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  613. package/build/components/writing-flow/use-click-selection.js.map +1 -1
  614. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  615. package/build/components/writing-flow/use-drag-selection.js +3 -1
  616. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  617. package/build/components/writing-flow/use-input.js.map +1 -1
  618. package/build/components/writing-flow/use-multi-selection.js.map +1 -1
  619. package/build/components/writing-flow/use-select-all.js.map +1 -1
  620. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  621. package/build/components/writing-flow/use-tab-nav.js +3 -1
  622. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  623. package/build/components/writing-flow/utils.js.map +1 -1
  624. package/build/components/writing-mode-control/index.js +16 -20
  625. package/build/components/writing-mode-control/index.js.map +1 -1
  626. package/build/elements/index.js.map +1 -1
  627. package/build/hooks/align.js.map +1 -1
  628. package/build/hooks/align.native.js +1 -1
  629. package/build/hooks/align.native.js.map +1 -1
  630. package/build/hooks/anchor.js.map +1 -1
  631. package/build/hooks/aria-label.js.map +1 -1
  632. package/build/hooks/background.js +3 -3
  633. package/build/hooks/background.js.map +1 -1
  634. package/build/hooks/block-hooks.js.map +1 -1
  635. package/build/hooks/block-renaming.js +0 -37
  636. package/build/hooks/block-renaming.js.map +1 -1
  637. package/build/hooks/border.js.map +1 -1
  638. package/build/hooks/color.js +1 -1
  639. package/build/hooks/color.js.map +1 -1
  640. package/build/hooks/compat.js.map +1 -1
  641. package/build/hooks/content-lock-ui.js +5 -5
  642. package/build/hooks/content-lock-ui.js.map +1 -1
  643. package/build/hooks/contrast-checker.js.map +1 -1
  644. package/build/hooks/custom-class-name.js.map +1 -1
  645. package/build/hooks/custom-class-name.native.js.map +1 -1
  646. package/build/hooks/dimensions.js.map +1 -1
  647. package/build/hooks/duotone.js +3 -1
  648. package/build/hooks/duotone.js.map +1 -1
  649. package/build/hooks/font-family.js.map +1 -1
  650. package/build/hooks/font-size.js.map +1 -1
  651. package/build/hooks/gap.js.map +1 -1
  652. package/build/hooks/generated-class-name.js.map +1 -1
  653. package/build/hooks/index.js +6 -5
  654. package/build/hooks/index.js.map +1 -1
  655. package/build/hooks/index.native.js.map +1 -1
  656. package/build/hooks/layout-child.js.map +1 -1
  657. package/build/hooks/layout.js +38 -19
  658. package/build/hooks/layout.js.map +1 -1
  659. package/build/hooks/layout.native.js.map +1 -1
  660. package/build/hooks/line-height.js.map +1 -1
  661. package/build/hooks/lock.js.map +1 -1
  662. package/build/hooks/metadata.js.map +1 -1
  663. package/build/hooks/position.js.map +1 -1
  664. package/build/hooks/settings.js.map +1 -1
  665. package/build/hooks/spacing-visualizer.js.map +1 -1
  666. package/build/hooks/style.js.map +1 -1
  667. package/build/hooks/supports.js +27 -4
  668. package/build/hooks/supports.js.map +1 -1
  669. package/build/hooks/text-align.js +156 -0
  670. package/build/hooks/text-align.js.map +1 -0
  671. package/build/hooks/typography.js +3 -2
  672. package/build/hooks/typography.js.map +1 -1
  673. package/build/hooks/typography.native.js.map +1 -1
  674. package/build/hooks/use-bindings-attributes.js +66 -129
  675. package/build/hooks/use-bindings-attributes.js.map +1 -1
  676. package/build/hooks/use-border-props.js.map +1 -1
  677. package/build/hooks/use-cached-truthy.js.map +1 -1
  678. package/build/hooks/use-color-props.js.map +1 -1
  679. package/build/hooks/use-editor-wrapper-styles.native.js.map +1 -1
  680. package/build/hooks/use-shadow-props.js.map +1 -1
  681. package/build/hooks/use-spacing-props.js.map +1 -1
  682. package/build/hooks/use-typography-props.js +2 -1
  683. package/build/hooks/use-typography-props.js.map +1 -1
  684. package/build/hooks/use-zoom-out.js +22 -15
  685. package/build/hooks/use-zoom-out.js.map +1 -1
  686. package/build/hooks/utils.js +37 -8
  687. package/build/hooks/utils.js.map +1 -1
  688. package/build/index.js.map +1 -1
  689. package/build/index.native.js.map +1 -1
  690. package/build/layouts/constrained.js.map +1 -1
  691. package/build/layouts/definitions.js +8 -6
  692. package/build/layouts/definitions.js.map +1 -1
  693. package/build/layouts/flex.js.map +1 -1
  694. package/build/layouts/flow.js.map +1 -1
  695. package/build/layouts/grid.js +52 -9
  696. package/build/layouts/grid.js.map +1 -1
  697. package/build/layouts/index.js.map +1 -1
  698. package/build/layouts/utils.js.map +1 -1
  699. package/build/lock-unlock.js.map +1 -1
  700. package/build/private-apis.js +5 -3
  701. package/build/private-apis.js.map +1 -1
  702. package/build/private-apis.native.js +1 -1
  703. package/build/private-apis.native.js.map +1 -1
  704. package/build/store/actions.js +47 -9
  705. package/build/store/actions.js.map +1 -1
  706. package/build/store/array.js.map +1 -1
  707. package/build/store/constants.js.map +1 -1
  708. package/build/store/defaults.js.map +1 -1
  709. package/build/store/defaults.native.js.map +1 -1
  710. package/build/store/get-block-settings.js.map +1 -1
  711. package/build/store/index.js +1 -1
  712. package/build/store/index.js.map +1 -1
  713. package/build/store/private-actions.js +5 -2
  714. package/build/store/private-actions.js.map +1 -1
  715. package/build/store/private-keys.js.map +1 -1
  716. package/build/store/private-selectors.js +121 -44
  717. package/build/store/private-selectors.js.map +1 -1
  718. package/build/store/reducer.js +11 -8
  719. package/build/store/reducer.js.map +1 -1
  720. package/build/store/selectors.js +143 -88
  721. package/build/store/selectors.js.map +1 -1
  722. package/build/store/undo-ignore.js.map +1 -1
  723. package/build/store/utils.js.map +1 -1
  724. package/build/utils/dom.js.map +1 -1
  725. package/build/utils/get-px-from-css-unit.js.map +1 -1
  726. package/build/utils/index.js.map +1 -1
  727. package/build/utils/math.js.map +1 -1
  728. package/build/utils/object.js +17 -0
  729. package/build/utils/object.js.map +1 -1
  730. package/build/utils/order-inserter-block-items.js +6 -2
  731. package/build/utils/order-inserter-block-items.js.map +1 -1
  732. package/build/utils/pasting.js +6 -2
  733. package/build/utils/pasting.js.map +1 -1
  734. package/build/utils/selection.js.map +1 -1
  735. package/build/utils/sorting.js.map +1 -1
  736. package/build/utils/transform-styles/index.js +1 -1
  737. package/build/utils/transform-styles/index.js.map +1 -1
  738. package/build/utils/use-notify-copy.js.map +1 -1
  739. package/build-module/autocompleters/block.js.map +1 -1
  740. package/build-module/autocompleters/link.js.map +1 -1
  741. package/build-module/components/alignment-control/index.js.map +1 -1
  742. package/build-module/components/alignment-control/ui.js +3 -1
  743. package/build-module/components/alignment-control/ui.js.map +1 -1
  744. package/build-module/components/autocomplete/index.js.map +1 -1
  745. package/build-module/components/block-actions/index.js.map +1 -1
  746. package/build-module/components/block-alignment-control/constants.js.map +1 -1
  747. package/build-module/components/block-alignment-control/index.js.map +1 -1
  748. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  749. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  750. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  751. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  752. package/build-module/components/block-bindings-toolbar-indicator/index.js.map +1 -1
  753. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  754. package/build-module/components/block-canvas/index.js.map +1 -1
  755. package/build-module/components/block-caption/index.native.js.map +1 -1
  756. package/build-module/components/block-card/index.js.map +1 -1
  757. package/build-module/components/block-compare/block-view.js.map +1 -1
  758. package/build-module/components/block-compare/index.js.map +1 -1
  759. package/build-module/components/block-content-overlay/index.js.map +1 -1
  760. package/build-module/components/block-context/index.js.map +1 -1
  761. package/build-module/components/block-controls/fill.js.map +1 -1
  762. package/build-module/components/block-controls/groups.js.map +1 -1
  763. package/build-module/components/block-controls/hook.js.map +1 -1
  764. package/build-module/components/block-controls/index.js.map +1 -1
  765. package/build-module/components/block-controls/slot.js.map +1 -1
  766. package/build-module/components/block-controls/slot.native.js.map +1 -1
  767. package/build-module/components/block-controls/use-has-block-controls.js.map +1 -1
  768. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  769. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
  770. package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  771. package/build-module/components/block-draggable/index.js.map +1 -1
  772. package/build-module/components/block-draggable/index.native.js.map +1 -1
  773. package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  774. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  775. package/build-module/components/block-edit/context.js +1 -0
  776. package/build-module/components/block-edit/context.js.map +1 -1
  777. package/build-module/components/block-edit/edit.js.map +1 -1
  778. package/build-module/components/block-edit/edit.native.js.map +1 -1
  779. package/build-module/components/block-edit/index.js +5 -3
  780. package/build-module/components/block-edit/index.js.map +1 -1
  781. package/build-module/components/block-edit-visually-button/index.js.map +1 -1
  782. package/build-module/components/block-editing-mode/index.js.map +1 -1
  783. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  784. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  785. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  786. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  787. package/build-module/components/block-icon/index.js.map +1 -1
  788. package/build-module/components/block-icon/index.native.js.map +1 -1
  789. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  790. package/build-module/components/block-inspector/index.js +5 -4
  791. package/build-module/components/block-inspector/index.js.map +1 -1
  792. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  793. package/build-module/components/block-list/block-crash-boundary.js.map +1 -1
  794. package/build-module/components/block-list/block-crash-boundary.native.js.map +1 -1
  795. package/build-module/components/block-list/block-crash-warning.js.map +1 -1
  796. package/build-module/components/block-list/block-crash-warning.native.js.map +1 -1
  797. package/build-module/components/block-list/block-html.js.map +1 -1
  798. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  799. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  800. package/build-module/components/block-list/block-list-context.native.js.map +1 -1
  801. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  802. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  803. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  804. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  805. package/build-module/components/block-list/block.js +44 -35
  806. package/build-module/components/block-list/block.js.map +1 -1
  807. package/build-module/components/block-list/block.native.js +2 -2
  808. package/build-module/components/block-list/block.native.js.map +1 -1
  809. package/build-module/components/block-list/grid-item.native.js.map +1 -1
  810. package/build-module/components/block-list/index.js +18 -6
  811. package/build-module/components/block-list/index.js.map +1 -1
  812. package/build-module/components/block-list/index.native.js +1 -9
  813. package/build-module/components/block-list/index.native.js.map +1 -1
  814. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  815. package/build-module/components/block-list/layout.js.map +1 -1
  816. package/build-module/components/block-list/private-block-context.js.map +1 -1
  817. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  818. package/build-module/components/block-list/use-block-props/index.js +8 -7
  819. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  820. package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
  821. package/build-module/components/block-list/use-block-props/use-block-refs.js +19 -48
  822. package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  823. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +3 -2
  824. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  825. package/build-module/components/block-list/use-block-props/use-focus-handler.js.map +1 -1
  826. package/build-module/components/block-list/use-block-props/use-intersection-observer.js.map +1 -1
  827. package/build-module/components/block-list/use-block-props/use-is-hovered.js +10 -14
  828. package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  829. package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js.map +1 -1
  830. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  831. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  832. package/build-module/components/block-list/use-scroll-upon-insertion.native.js.map +1 -1
  833. package/build-module/components/block-list-appender/index.js.map +1 -1
  834. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  835. package/build-module/components/block-lock/index.js.map +1 -1
  836. package/build-module/components/block-lock/menu-item.js.map +1 -1
  837. package/build-module/components/block-lock/modal.js.map +1 -1
  838. package/build-module/components/block-lock/toolbar.js.map +1 -1
  839. package/build-module/components/block-lock/use-block-lock.js.map +1 -1
  840. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  841. package/build-module/components/block-mover/button.js.map +1 -1
  842. package/build-module/components/block-mover/index.js.map +1 -1
  843. package/build-module/components/block-mover/index.native.js +3 -1
  844. package/build-module/components/block-mover/index.native.js.map +1 -1
  845. package/build-module/components/block-mover/mover-description.js.map +1 -1
  846. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  847. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  848. package/build-module/components/block-parent-selector/index.js.map +1 -1
  849. package/build-module/components/block-pattern-setup/constants.js.map +1 -1
  850. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  851. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  852. package/build-module/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  853. package/build-module/components/block-patterns-list/index.js.map +1 -1
  854. package/build-module/components/block-patterns-paging/index.js +8 -4
  855. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  856. package/build-module/components/block-popover/cover.js.map +1 -1
  857. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  858. package/build-module/components/block-popover/inbetween.js.map +1 -1
  859. package/build-module/components/block-popover/index.js.map +1 -1
  860. package/build-module/components/block-popover/use-popover-scroll.js.map +1 -1
  861. package/build-module/components/block-preview/auto.js.map +1 -1
  862. package/build-module/components/block-preview/index.js.map +1 -1
  863. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  864. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  865. package/build-module/components/block-rename/index.js.map +1 -1
  866. package/build-module/components/block-rename/is-empty-string.js.map +1 -1
  867. package/build-module/components/block-rename/modal.js +14 -10
  868. package/build-module/components/block-rename/modal.js.map +1 -1
  869. package/build-module/components/block-rename/rename-control.js +3 -1
  870. package/build-module/components/block-rename/rename-control.js.map +1 -1
  871. package/build-module/components/block-rename/use-block-rename.js.map +1 -1
  872. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  873. package/build-module/components/block-settings/button.native.js.map +1 -1
  874. package/build-module/components/block-settings/container.native.js.map +1 -1
  875. package/build-module/components/block-settings/index.native.js.map +1 -1
  876. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  877. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  878. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  879. package/build-module/components/block-settings-menu/block-settings-dropdown.js +1 -26
  880. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  881. package/build-module/components/block-settings-menu/block-settings-menu-first-item.js.map +1 -1
  882. package/build-module/components/block-settings-menu/index.js.map +1 -1
  883. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  884. package/build-module/components/block-styles/index.js.map +1 -1
  885. package/build-module/components/block-styles/index.native.js.map +1 -1
  886. package/build-module/components/block-styles/menu-items.js.map +1 -1
  887. package/build-module/components/block-styles/preview-panel.js.map +1 -1
  888. package/build-module/components/block-styles/preview.native.js.map +1 -1
  889. package/build-module/components/block-styles/use-styles-for-block.js.map +1 -1
  890. package/build-module/components/block-styles/utils.js.map +1 -1
  891. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  892. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  893. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  894. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  895. package/build-module/components/block-switcher/index.js.map +1 -1
  896. package/build-module/components/block-switcher/pattern-transformations-menu.js +3 -1
  897. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  898. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  899. package/build-module/components/block-switcher/use-transformed-patterns.js +6 -2
  900. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  901. package/build-module/components/block-switcher/utils.js +15 -5
  902. package/build-module/components/block-switcher/utils.js.map +1 -1
  903. package/build-module/components/block-title/index.js.map +1 -1
  904. package/build-module/components/block-title/use-block-display-title.js.map +1 -1
  905. package/build-module/components/block-toolbar/block-name-context.js.map +1 -1
  906. package/build-module/components/block-toolbar/block-toolbar-last-item.js.map +1 -1
  907. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  908. package/build-module/components/block-toolbar/index.js +1 -1
  909. package/build-module/components/block-toolbar/index.js.map +1 -1
  910. package/build-module/components/block-toolbar/index.native.js.map +1 -1
  911. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  912. package/build-module/components/block-toolbar/use-has-block-toolbar.js +20 -12
  913. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  914. package/build-module/components/block-toolbar/utils.js.map +1 -1
  915. package/build-module/components/block-tools/block-selection-button.js +16 -12
  916. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  917. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  918. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  919. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
  920. package/build-module/components/block-tools/index.js +3 -1
  921. package/build-module/components/block-tools/index.js.map +1 -1
  922. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  923. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  924. package/build-module/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  925. package/build-module/components/block-tools/use-show-block-tools.js +9 -18
  926. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  927. package/build-module/components/block-tools/zoom-out-mode-inserters.js +5 -1
  928. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  929. package/build-module/components/block-types-list/index.js.map +1 -1
  930. package/build-module/components/block-types-list/index.native.js.map +1 -1
  931. package/build-module/components/block-variation-picker/index.js +3 -2
  932. package/build-module/components/block-variation-picker/index.js.map +1 -1
  933. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  934. package/build-module/components/block-variation-transforms/index.js +7 -2
  935. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  936. package/build-module/components/block-vertical-alignment-control/icons.js.map +1 -1
  937. package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
  938. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  939. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  940. package/build-module/components/border-radius-control/index.js.map +1 -1
  941. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  942. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  943. package/build-module/components/border-radius-control/utils.js.map +1 -1
  944. package/build-module/components/button-block-appender/index.js.map +1 -1
  945. package/build-module/components/button-block-appender/index.native.js +11 -1
  946. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  947. package/build-module/components/caption/index.native.js.map +1 -1
  948. package/build-module/components/child-layout-control/index.js.map +1 -1
  949. package/build-module/components/color-palette/control.js.map +1 -1
  950. package/build-module/components/color-palette/index.js.map +1 -1
  951. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  952. package/build-module/components/color-style-selector/index.js.map +1 -1
  953. package/build-module/components/colors/index.js.map +1 -1
  954. package/build-module/components/colors/utils.js.map +1 -1
  955. package/build-module/components/colors/with-colors.js.map +1 -1
  956. package/build-module/components/colors-gradients/control.js.map +1 -1
  957. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  958. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  959. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  960. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  961. package/build-module/components/contrast-checker/index.js.map +1 -1
  962. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  963. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  964. package/build-module/components/convert-to-group-buttons/index.native.js.map +1 -1
  965. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  966. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  967. package/build-module/components/copy-handler/index.js.map +1 -1
  968. package/build-module/components/date-format-picker/index.js.map +1 -1
  969. package/build-module/components/default-block-appender/index.js.map +1 -1
  970. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  971. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  972. package/build-module/components/dimensions-tool/index.js.map +1 -1
  973. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  974. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
  975. package/build-module/components/duotone/utils.js.map +1 -1
  976. package/build-module/components/duotone-control/index.js.map +1 -1
  977. package/build-module/components/editable-text/index.js.map +1 -1
  978. package/build-module/components/editor-styles/index.js +3 -2
  979. package/build-module/components/editor-styles/index.js.map +1 -1
  980. package/build-module/components/floating-toolbar/index.native.js +9 -5
  981. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  982. package/build-module/components/floating-toolbar/nav-up-icon.js.map +1 -1
  983. package/build-module/components/font-appearance-control/index.js.map +1 -1
  984. package/build-module/components/font-family/index.js.map +1 -1
  985. package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
  986. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  987. package/build-module/components/font-sizes/index.js.map +1 -1
  988. package/build-module/components/font-sizes/index.native.js.map +1 -1
  989. package/build-module/components/font-sizes/utils.js.map +1 -1
  990. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  991. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  992. package/build-module/components/global-styles/background-panel.js +20 -17
  993. package/build-module/components/global-styles/background-panel.js.map +1 -1
  994. package/build-module/components/global-styles/border-panel.js.map +1 -1
  995. package/build-module/components/global-styles/color-panel.js +3 -1
  996. package/build-module/components/global-styles/color-panel.js.map +1 -1
  997. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  998. package/build-module/components/global-styles/context.js.map +1 -1
  999. package/build-module/components/global-styles/dimensions-panel.js +17 -1
  1000. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  1001. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  1002. package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
  1003. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  1004. package/build-module/components/global-styles/hooks.js +3 -2
  1005. package/build-module/components/global-styles/hooks.js.map +1 -1
  1006. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  1007. package/build-module/components/global-styles/index.js.map +1 -1
  1008. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  1009. package/build-module/components/global-styles/typography-panel.js +24 -24
  1010. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  1011. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  1012. package/build-module/components/global-styles/use-global-styles-output.js +153 -136
  1013. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  1014. package/build-module/components/global-styles/utils.js +44 -0
  1015. package/build-module/components/global-styles/utils.js.map +1 -1
  1016. package/build-module/components/gradients/index.js.map +1 -1
  1017. package/build-module/components/gradients/index.native.js.map +1 -1
  1018. package/build-module/components/gradients/use-gradient.js.map +1 -1
  1019. package/build-module/components/gradients/with-gradient.js.map +1 -1
  1020. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  1021. package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -1
  1022. package/build-module/components/grid-visualizer/index.js.map +1 -1
  1023. package/build-module/components/grid-visualizer/utils.js.map +1 -1
  1024. package/build-module/components/height-control/index.js.map +1 -1
  1025. package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
  1026. package/build-module/components/iframe/index.js +12 -13
  1027. package/build-module/components/iframe/index.js.map +1 -1
  1028. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  1029. package/build-module/components/image-editor/constants.js.map +1 -1
  1030. package/build-module/components/image-editor/context.js.map +1 -1
  1031. package/build-module/components/image-editor/cropper.js +7 -3
  1032. package/build-module/components/image-editor/cropper.js.map +1 -1
  1033. package/build-module/components/image-editor/form-controls.js.map +1 -1
  1034. package/build-module/components/image-editor/index.js +0 -2
  1035. package/build-module/components/image-editor/index.js.map +1 -1
  1036. package/build-module/components/image-editor/rotation-button.js.map +1 -1
  1037. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  1038. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  1039. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  1040. package/build-module/components/image-link-destinations/index.native.js.map +1 -1
  1041. package/build-module/components/image-size-control/index.js.map +1 -1
  1042. package/build-module/components/image-size-control/use-dimension-handler.js.map +1 -1
  1043. package/build-module/components/index.js.map +1 -1
  1044. package/build-module/components/index.native.js.map +1 -1
  1045. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  1046. package/build-module/components/inner-blocks/constants.native.js.map +1 -1
  1047. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  1048. package/build-module/components/inner-blocks/index.js +16 -2
  1049. package/build-module/components/inner-blocks/index.js.map +1 -1
  1050. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  1051. package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
  1052. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  1053. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  1054. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  1055. package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
  1056. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  1057. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  1058. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  1059. package/build-module/components/inserter/block-patterns-tab/index.js +20 -26
  1060. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  1061. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +2 -24
  1062. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  1063. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -4
  1064. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  1065. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  1066. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  1067. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
  1068. package/build-module/components/inserter/block-types-tab.js +4 -0
  1069. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  1070. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  1071. package/build-module/components/inserter/category-tabs/index.js +49 -0
  1072. package/build-module/components/inserter/category-tabs/index.js.map +1 -0
  1073. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  1074. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  1075. package/build-module/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  1076. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  1077. package/build-module/components/inserter/hooks/use-patterns-paging.js.map +1 -1
  1078. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  1079. package/build-module/components/inserter/index.js.map +1 -1
  1080. package/build-module/components/inserter/index.native.js.map +1 -1
  1081. package/build-module/components/inserter/library.js.map +1 -1
  1082. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  1083. package/build-module/components/inserter/media-tab/index.js +1 -1
  1084. package/build-module/components/inserter/media-tab/index.js.map +1 -1
  1085. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  1086. package/build-module/components/inserter/media-tab/media-panel.js +0 -24
  1087. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  1088. package/build-module/components/inserter/media-tab/media-preview.js +13 -3
  1089. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  1090. package/build-module/components/inserter/media-tab/media-tab.js +17 -31
  1091. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  1092. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  1093. package/build-module/components/inserter/menu.js +75 -79
  1094. package/build-module/components/inserter/menu.js.map +1 -1
  1095. package/build-module/components/inserter/menu.native.js.map +1 -1
  1096. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  1097. package/build-module/components/inserter/no-results.js.map +1 -1
  1098. package/build-module/components/inserter/no-results.native.js.map +1 -1
  1099. package/build-module/components/inserter/panel.js.map +1 -1
  1100. package/build-module/components/inserter/preview-panel.js.map +1 -1
  1101. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  1102. package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -1
  1103. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  1104. package/build-module/components/inserter/search-items.js.map +1 -1
  1105. package/build-module/components/inserter/search-results.js.map +1 -1
  1106. package/build-module/components/inserter/search-results.native.js.map +1 -1
  1107. package/build-module/components/inserter/tabs.js +13 -9
  1108. package/build-module/components/inserter/tabs.js.map +1 -1
  1109. package/build-module/components/inserter/tabs.native.js.map +1 -1
  1110. package/build-module/components/inserter/tips.js.map +1 -1
  1111. package/build-module/components/inserter/utils.native.js.map +1 -1
  1112. package/build-module/components/inserter-button/index.native.js.map +1 -1
  1113. package/build-module/components/inserter-button/sparkles.js.map +1 -1
  1114. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  1115. package/build-module/components/inserter-list-item/index.js.map +1 -1
  1116. package/build-module/components/inserter-listbox/context.js.map +1 -1
  1117. package/build-module/components/inserter-listbox/group.js.map +1 -1
  1118. package/build-module/components/inserter-listbox/index.js.map +1 -1
  1119. package/build-module/components/inserter-listbox/item.js.map +1 -1
  1120. package/build-module/components/inserter-listbox/row.js.map +1 -1
  1121. package/build-module/components/inserter-menu-extension/index.js.map +1 -1
  1122. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  1123. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  1124. package/build-module/components/inspector-controls/fill.js.map +1 -1
  1125. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  1126. package/build-module/components/inspector-controls/groups.js.map +1 -1
  1127. package/build-module/components/inspector-controls/index.js.map +1 -1
  1128. package/build-module/components/inspector-controls/slot.js.map +1 -1
  1129. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  1130. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  1131. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
  1132. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  1133. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  1134. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  1135. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  1136. package/build-module/components/inspector-controls-tabs/styles-tab.js +1 -1
  1137. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  1138. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  1139. package/build-module/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +1 -1
  1140. package/build-module/components/inspector-controls-tabs/utils.js.map +1 -1
  1141. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  1142. package/build-module/components/justify-content-control/index.js.map +1 -1
  1143. package/build-module/components/justify-content-control/ui.js.map +1 -1
  1144. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  1145. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  1146. package/build-module/components/line-height-control/index.js +6 -2
  1147. package/build-module/components/line-height-control/index.js.map +1 -1
  1148. package/build-module/components/line-height-control/index.native.js.map +1 -1
  1149. package/build-module/components/line-height-control/utils.js.map +1 -1
  1150. package/build-module/components/link-control/constants.js.map +1 -1
  1151. package/build-module/components/link-control/index.js.map +1 -1
  1152. package/build-module/components/link-control/is-url-like.js.map +1 -1
  1153. package/build-module/components/link-control/link-preview.js.map +1 -1
  1154. package/build-module/components/link-control/search-create-button.js.map +1 -1
  1155. package/build-module/components/link-control/search-input.js.map +1 -1
  1156. package/build-module/components/link-control/search-item.js +9 -3
  1157. package/build-module/components/link-control/search-item.js.map +1 -1
  1158. package/build-module/components/link-control/search-results.js.map +1 -1
  1159. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  1160. package/build-module/components/link-control/settings.js.map +1 -1
  1161. package/build-module/components/link-control/use-create-page.js.map +1 -1
  1162. package/build-module/components/link-control/use-internal-value.js.map +1 -1
  1163. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  1164. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  1165. package/build-module/components/link-control/viewer-slot.js.map +1 -1
  1166. package/build-module/components/list-view/appender.js.map +1 -1
  1167. package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
  1168. package/build-module/components/list-view/block-contents.js.map +1 -1
  1169. package/build-module/components/list-view/block-select-button.js +7 -144
  1170. package/build-module/components/list-view/block-select-button.js.map +1 -1
  1171. package/build-module/components/list-view/block.js +167 -15
  1172. package/build-module/components/list-view/block.js.map +1 -1
  1173. package/build-module/components/list-view/branch.js.map +1 -1
  1174. package/build-module/components/list-view/context.js.map +1 -1
  1175. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  1176. package/build-module/components/list-view/expander.js.map +1 -1
  1177. package/build-module/components/list-view/index.js +1 -1
  1178. package/build-module/components/list-view/index.js.map +1 -1
  1179. package/build-module/components/list-view/leaf.js.map +1 -1
  1180. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  1181. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
  1182. package/build-module/components/list-view/use-list-view-block-indexes.js.map +1 -1
  1183. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  1184. package/build-module/components/list-view/use-list-view-collapse-items.js.map +1 -1
  1185. package/build-module/components/list-view/use-list-view-drop-zone.js +6 -1
  1186. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  1187. package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  1188. package/build-module/components/list-view/use-list-view-images.js.map +1 -1
  1189. package/build-module/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
  1190. package/build-module/components/list-view/utils.js +3 -1
  1191. package/build-module/components/list-view/utils.js.map +1 -1
  1192. package/build-module/components/media-placeholder/index.js +3 -3
  1193. package/build-module/components/media-placeholder/index.js.map +1 -1
  1194. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  1195. package/build-module/components/media-replace-flow/index.js.map +1 -1
  1196. package/build-module/components/media-replace-flow/index.native.js.map +1 -1
  1197. package/build-module/components/media-upload/check.js.map +1 -1
  1198. package/build-module/components/media-upload/constants.native.js.map +1 -1
  1199. package/build-module/components/media-upload/index.js.map +1 -1
  1200. package/build-module/components/media-upload/index.native.js.map +1 -1
  1201. package/build-module/components/media-upload-progress/constants.js.map +1 -1
  1202. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  1203. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  1204. package/build-module/components/navigable-toolbar/index.js +3 -1
  1205. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  1206. package/build-module/components/observe-typing/index.js.map +1 -1
  1207. package/build-module/components/panel-color-settings/index.js.map +1 -1
  1208. package/build-module/components/plain-text/index.js.map +1 -1
  1209. package/build-module/components/plain-text/index.native.js.map +1 -1
  1210. package/build-module/components/preview-options/index.js.map +1 -1
  1211. package/build-module/components/provider/block-refs-provider.js +3 -4
  1212. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  1213. package/build-module/components/provider/index.js.map +1 -1
  1214. package/build-module/components/provider/index.native.js.map +1 -1
  1215. package/build-module/components/provider/use-block-sync.js +4 -13
  1216. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1217. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  1218. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  1219. package/build-module/components/recursion-provider/index.js +2 -2
  1220. package/build-module/components/recursion-provider/index.js.map +1 -1
  1221. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  1222. package/build-module/components/resolution-tool/index.js.map +1 -1
  1223. package/build-module/components/responsive-block-control/index.js.map +1 -1
  1224. package/build-module/components/responsive-block-control/label.js.map +1 -1
  1225. package/build-module/components/rich-text/content.js +25 -19
  1226. package/build-module/components/rich-text/content.js.map +1 -1
  1227. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  1228. package/build-module/components/rich-text/event-listeners/before-input-rules.js +86 -0
  1229. package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -0
  1230. package/build-module/components/rich-text/event-listeners/delete.js +51 -0
  1231. package/build-module/components/rich-text/event-listeners/delete.js.map +1 -0
  1232. package/build-module/components/rich-text/event-listeners/enter.js +92 -0
  1233. package/build-module/components/rich-text/event-listeners/enter.js.map +1 -0
  1234. package/build-module/components/rich-text/event-listeners/firefox-compat.js +29 -0
  1235. package/build-module/components/rich-text/event-listeners/firefox-compat.js.map +1 -0
  1236. package/build-module/components/rich-text/event-listeners/index.js +36 -0
  1237. package/build-module/components/rich-text/event-listeners/index.js.map +1 -0
  1238. package/build-module/components/rich-text/event-listeners/input-events.js +15 -0
  1239. package/build-module/components/rich-text/event-listeners/input-events.js.map +1 -0
  1240. package/build-module/components/rich-text/event-listeners/input-rules.js +127 -0
  1241. package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -0
  1242. package/build-module/components/rich-text/event-listeners/insert-replacement-text.js +27 -0
  1243. package/build-module/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -0
  1244. package/build-module/components/rich-text/event-listeners/paste-handler.js +142 -0
  1245. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -0
  1246. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js +21 -0
  1247. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -0
  1248. package/build-module/components/rich-text/event-listeners/shortcuts.js +15 -0
  1249. package/build-module/components/rich-text/event-listeners/shortcuts.js.map +1 -0
  1250. package/build-module/components/rich-text/event-listeners/undo-automatic-change.js +45 -0
  1251. package/build-module/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -0
  1252. package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
  1253. package/build-module/components/rich-text/format-edit.js.map +1 -1
  1254. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  1255. package/build-module/components/rich-text/format-toolbar/index.native.js.map +1 -1
  1256. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  1257. package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
  1258. package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
  1259. package/build-module/components/rich-text/index.js +54 -34
  1260. package/build-module/components/rich-text/index.js.map +1 -1
  1261. package/build-module/components/rich-text/index.native.js +16 -4
  1262. package/build-module/components/rich-text/index.native.js.map +1 -1
  1263. package/build-module/components/rich-text/input-event.js.map +1 -1
  1264. package/build-module/components/rich-text/input-event.native.js.map +1 -1
  1265. package/build-module/components/rich-text/multiline.js +6 -2
  1266. package/build-module/components/rich-text/multiline.js.map +1 -1
  1267. package/build-module/components/rich-text/native/format-edit.js.map +1 -1
  1268. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  1269. package/build-module/components/rich-text/native/index.js.map +1 -1
  1270. package/build-module/components/rich-text/native/index.native.js +12 -0
  1271. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  1272. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  1273. package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
  1274. package/build-module/components/rich-text/prevent-event-discovery.js.map +1 -1
  1275. package/build-module/components/rich-text/remove-browser-shortcuts.native.js.map +1 -1
  1276. package/build-module/components/rich-text/shortcut.js.map +1 -1
  1277. package/build-module/components/rich-text/shortcut.native.js.map +1 -1
  1278. package/build-module/components/rich-text/split-value.js.map +1 -1
  1279. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1280. package/build-module/components/rich-text/use-format-types.js +8 -4
  1281. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  1282. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  1283. package/build-module/components/rich-text/utils.js.map +1 -1
  1284. package/build-module/components/rich-text/with-deprecations.js.map +1 -1
  1285. package/build-module/components/segmented-text-control/index.js +55 -0
  1286. package/build-module/components/segmented-text-control/index.js.map +1 -0
  1287. package/build-module/components/selection-scroll-into-view/index.js.map +1 -1
  1288. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1289. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  1290. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  1291. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  1292. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  1293. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  1294. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -2
  1295. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  1296. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  1297. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  1298. package/build-module/components/text-alignment-control/index.js +68 -0
  1299. package/build-module/components/text-alignment-control/index.js.map +1 -0
  1300. package/build-module/components/text-decoration-control/index.js +21 -25
  1301. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1302. package/build-module/components/text-transform-control/index.js +18 -22
  1303. package/build-module/components/text-transform-control/index.js.map +1 -1
  1304. package/build-module/components/tool-selector/index.js.map +1 -1
  1305. package/build-module/components/typewriter/index.js.map +1 -1
  1306. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1307. package/build-module/components/unit-control/index.js.map +1 -1
  1308. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  1309. package/build-module/components/url-input/button.js.map +1 -1
  1310. package/build-module/components/url-input/index.js.map +1 -1
  1311. package/build-module/components/url-input/index.native.js.map +1 -1
  1312. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1313. package/build-module/components/url-popover/index.js.map +1 -1
  1314. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1315. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1316. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1317. package/build-module/components/use-block-commands/index.js +20 -2
  1318. package/build-module/components/use-block-commands/index.js.map +1 -1
  1319. package/build-module/components/use-block-display-information/index.js +9 -3
  1320. package/build-module/components/use-block-display-information/index.js.map +1 -1
  1321. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  1322. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  1323. package/build-module/components/use-flash-editable-blocks/index.js.map +1 -1
  1324. package/build-module/components/use-moving-animation/index.js.map +1 -1
  1325. package/build-module/components/use-on-block-drop/index.js +3 -1
  1326. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  1327. package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
  1328. package/build-module/components/use-on-block-drop/types.js.map +1 -1
  1329. package/build-module/components/use-paste-styles/index.js +2 -1
  1330. package/build-module/components/use-paste-styles/index.js.map +1 -1
  1331. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  1332. package/build-module/components/use-settings/index.js.map +1 -1
  1333. package/build-module/components/use-unsupported-block-editor/index.native.js.map +1 -1
  1334. package/build-module/components/video-player/gridicon-play.native.js.map +1 -1
  1335. package/build-module/components/video-player/index.native.js.map +1 -1
  1336. package/build-module/components/warning/index.js.map +1 -1
  1337. package/build-module/components/warning/index.native.js.map +1 -1
  1338. package/build-module/components/writing-flow/index.js.map +1 -1
  1339. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  1340. package/build-module/components/writing-flow/use-click-selection.js.map +1 -1
  1341. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  1342. package/build-module/components/writing-flow/use-drag-selection.js +3 -1
  1343. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  1344. package/build-module/components/writing-flow/use-input.js.map +1 -1
  1345. package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
  1346. package/build-module/components/writing-flow/use-select-all.js.map +1 -1
  1347. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  1348. package/build-module/components/writing-flow/use-tab-nav.js +3 -1
  1349. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  1350. package/build-module/components/writing-flow/utils.js.map +1 -1
  1351. package/build-module/components/writing-mode-control/index.js +16 -20
  1352. package/build-module/components/writing-mode-control/index.js.map +1 -1
  1353. package/build-module/elements/index.js.map +1 -1
  1354. package/build-module/hooks/align.js.map +1 -1
  1355. package/build-module/hooks/align.native.js.map +1 -1
  1356. package/build-module/hooks/anchor.js.map +1 -1
  1357. package/build-module/hooks/aria-label.js.map +1 -1
  1358. package/build-module/hooks/background.js +2 -2
  1359. package/build-module/hooks/background.js.map +1 -1
  1360. package/build-module/hooks/block-hooks.js.map +1 -1
  1361. package/build-module/hooks/block-renaming.js +0 -36
  1362. package/build-module/hooks/block-renaming.js.map +1 -1
  1363. package/build-module/hooks/border.js.map +1 -1
  1364. package/build-module/hooks/color.js.map +1 -1
  1365. package/build-module/hooks/compat.js.map +1 -1
  1366. package/build-module/hooks/content-lock-ui.js +5 -5
  1367. package/build-module/hooks/content-lock-ui.js.map +1 -1
  1368. package/build-module/hooks/contrast-checker.js.map +1 -1
  1369. package/build-module/hooks/custom-class-name.js.map +1 -1
  1370. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  1371. package/build-module/hooks/dimensions.js.map +1 -1
  1372. package/build-module/hooks/duotone.js +3 -1
  1373. package/build-module/hooks/duotone.js.map +1 -1
  1374. package/build-module/hooks/font-family.js.map +1 -1
  1375. package/build-module/hooks/font-size.js.map +1 -1
  1376. package/build-module/hooks/gap.js.map +1 -1
  1377. package/build-module/hooks/generated-class-name.js.map +1 -1
  1378. package/build-module/hooks/index.js +5 -4
  1379. package/build-module/hooks/index.js.map +1 -1
  1380. package/build-module/hooks/index.native.js.map +1 -1
  1381. package/build-module/hooks/layout-child.js.map +1 -1
  1382. package/build-module/hooks/layout.js +38 -19
  1383. package/build-module/hooks/layout.js.map +1 -1
  1384. package/build-module/hooks/layout.native.js.map +1 -1
  1385. package/build-module/hooks/line-height.js.map +1 -1
  1386. package/build-module/hooks/lock.js.map +1 -1
  1387. package/build-module/hooks/metadata.js.map +1 -1
  1388. package/build-module/hooks/position.js.map +1 -1
  1389. package/build-module/hooks/settings.js.map +1 -1
  1390. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  1391. package/build-module/hooks/style.js.map +1 -1
  1392. package/build-module/hooks/supports.js +22 -1
  1393. package/build-module/hooks/supports.js.map +1 -1
  1394. package/build-module/hooks/text-align.js +145 -0
  1395. package/build-module/hooks/text-align.js.map +1 -0
  1396. package/build-module/hooks/typography.js +2 -1
  1397. package/build-module/hooks/typography.js.map +1 -1
  1398. package/build-module/hooks/typography.native.js.map +1 -1
  1399. package/build-module/hooks/use-bindings-attributes.js +68 -132
  1400. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  1401. package/build-module/hooks/use-border-props.js.map +1 -1
  1402. package/build-module/hooks/use-cached-truthy.js.map +1 -1
  1403. package/build-module/hooks/use-color-props.js.map +1 -1
  1404. package/build-module/hooks/use-editor-wrapper-styles.native.js.map +1 -1
  1405. package/build-module/hooks/use-shadow-props.js.map +1 -1
  1406. package/build-module/hooks/use-spacing-props.js.map +1 -1
  1407. package/build-module/hooks/use-typography-props.js +2 -1
  1408. package/build-module/hooks/use-typography-props.js.map +1 -1
  1409. package/build-module/hooks/use-zoom-out.js +23 -16
  1410. package/build-module/hooks/use-zoom-out.js.map +1 -1
  1411. package/build-module/hooks/utils.js +38 -9
  1412. package/build-module/hooks/utils.js.map +1 -1
  1413. package/build-module/index.js.map +1 -1
  1414. package/build-module/index.native.js.map +1 -1
  1415. package/build-module/layouts/constrained.js.map +1 -1
  1416. package/build-module/layouts/definitions.js +8 -6
  1417. package/build-module/layouts/definitions.js.map +1 -1
  1418. package/build-module/layouts/flex.js.map +1 -1
  1419. package/build-module/layouts/flow.js.map +1 -1
  1420. package/build-module/layouts/grid.js +52 -9
  1421. package/build-module/layouts/grid.js.map +1 -1
  1422. package/build-module/layouts/index.js.map +1 -1
  1423. package/build-module/layouts/utils.js.map +1 -1
  1424. package/build-module/lock-unlock.js.map +1 -1
  1425. package/build-module/private-apis.js +4 -2
  1426. package/build-module/private-apis.js.map +1 -1
  1427. package/build-module/private-apis.native.js.map +1 -1
  1428. package/build-module/store/actions.js +47 -9
  1429. package/build-module/store/actions.js.map +1 -1
  1430. package/build-module/store/array.js.map +1 -1
  1431. package/build-module/store/constants.js.map +1 -1
  1432. package/build-module/store/defaults.js.map +1 -1
  1433. package/build-module/store/defaults.native.js.map +1 -1
  1434. package/build-module/store/get-block-settings.js.map +1 -1
  1435. package/build-module/store/index.js.map +1 -1
  1436. package/build-module/store/private-actions.js +5 -2
  1437. package/build-module/store/private-actions.js.map +1 -1
  1438. package/build-module/store/private-keys.js.map +1 -1
  1439. package/build-module/store/private-selectors.js +113 -37
  1440. package/build-module/store/private-selectors.js.map +1 -1
  1441. package/build-module/store/reducer.js +11 -8
  1442. package/build-module/store/reducer.js.map +1 -1
  1443. package/build-module/store/selectors.js +116 -62
  1444. package/build-module/store/selectors.js.map +1 -1
  1445. package/build-module/store/undo-ignore.js.map +1 -1
  1446. package/build-module/store/utils.js.map +1 -1
  1447. package/build-module/utils/dom.js.map +1 -1
  1448. package/build-module/utils/get-px-from-css-unit.js.map +1 -1
  1449. package/build-module/utils/index.js.map +1 -1
  1450. package/build-module/utils/math.js.map +1 -1
  1451. package/build-module/utils/object.js +16 -0
  1452. package/build-module/utils/object.js.map +1 -1
  1453. package/build-module/utils/order-inserter-block-items.js +6 -2
  1454. package/build-module/utils/order-inserter-block-items.js.map +1 -1
  1455. package/build-module/utils/pasting.js +6 -2
  1456. package/build-module/utils/pasting.js.map +1 -1
  1457. package/build-module/utils/selection.js.map +1 -1
  1458. package/build-module/utils/sorting.js.map +1 -1
  1459. package/build-module/utils/transform-styles/index.js.map +1 -1
  1460. package/build-module/utils/use-notify-copy.js.map +1 -1
  1461. package/build-style/content-rtl.css +77 -86
  1462. package/build-style/content.css +77 -86
  1463. package/build-style/default-editor-styles-rtl.css +1 -1
  1464. package/build-style/default-editor-styles.css +1 -1
  1465. package/build-style/style-rtl.css +158 -242
  1466. package/build-style/style.css +158 -242
  1467. package/package.json +32 -33
  1468. package/src/components/alignment-control/ui.js +3 -1
  1469. package/src/components/block-bindings-toolbar-indicator/style.scss +2 -5
  1470. package/src/components/block-canvas/style.scss +1 -3
  1471. package/src/components/block-draggable/test/helpers.native.js +8 -8
  1472. package/src/components/block-edit/context.js +1 -0
  1473. package/src/components/block-edit/index.js +4 -0
  1474. package/src/components/block-inspector/index.js +7 -6
  1475. package/src/components/block-list/block.js +47 -35
  1476. package/src/components/block-list/block.native.js +3 -2
  1477. package/src/components/block-list/content.scss +46 -20
  1478. package/src/components/block-list/index.js +26 -10
  1479. package/src/components/block-list/index.native.js +1 -6
  1480. package/src/components/block-list/use-block-props/index.js +17 -5
  1481. package/src/components/block-list/use-block-props/use-block-refs.js +17 -57
  1482. package/src/components/block-list/use-block-props/use-focus-first-element.js +7 -3
  1483. package/src/components/block-list/use-block-props/use-is-hovered.js +11 -16
  1484. package/src/components/block-mover/index.native.js +3 -1
  1485. package/src/components/block-patterns-list/style.scss +1 -3
  1486. package/src/components/block-patterns-paging/index.js +4 -0
  1487. package/src/components/block-preview/style.scss +13 -15
  1488. package/src/components/block-rename/modal.js +17 -13
  1489. package/src/components/block-rename/rename-control.js +8 -1
  1490. package/src/components/block-settings-menu/block-settings-dropdown.js +1 -51
  1491. package/src/components/block-switcher/pattern-transformations-menu.js +3 -1
  1492. package/src/components/block-switcher/use-transformed-patterns.js +6 -2
  1493. package/src/components/block-switcher/utils.js +14 -5
  1494. package/src/components/block-toolbar/index.js +26 -22
  1495. package/src/components/block-toolbar/style.scss +8 -11
  1496. package/src/components/block-toolbar/use-has-block-toolbar.js +26 -19
  1497. package/src/components/block-tools/block-selection-button.js +55 -43
  1498. package/src/components/block-tools/index.js +3 -1
  1499. package/src/components/block-tools/use-show-block-tools.js +36 -51
  1500. package/src/components/block-tools/zoom-out-mode-inserters.js +5 -1
  1501. package/src/components/block-variation-picker/content.scss +22 -72
  1502. package/src/components/block-variation-picker/index.js +3 -2
  1503. package/src/components/block-variation-transforms/index.js +6 -2
  1504. package/src/components/button-block-appender/index.native.js +16 -1
  1505. package/src/components/default-block-appender/content.scss +1 -1
  1506. package/src/components/editor-styles/index.js +4 -2
  1507. package/src/components/floating-toolbar/index.native.js +5 -2
  1508. package/src/components/global-styles/background-panel.js +31 -29
  1509. package/src/components/global-styles/color-panel.js +3 -1
  1510. package/src/components/global-styles/dimensions-panel.js +18 -1
  1511. package/src/components/global-styles/hooks.js +2 -0
  1512. package/src/components/global-styles/style.scss +2 -8
  1513. package/src/components/global-styles/test/use-global-styles-output.js +8 -17
  1514. package/src/components/global-styles/test/utils.js +21 -0
  1515. package/src/components/global-styles/typography-panel.js +27 -23
  1516. package/src/components/global-styles/use-global-styles-output.js +216 -192
  1517. package/src/components/global-styles/utils.js +55 -0
  1518. package/src/components/iframe/index.js +20 -27
  1519. package/src/components/image-editor/cropper.js +11 -2
  1520. package/src/components/image-editor/index.js +0 -2
  1521. package/src/components/inner-blocks/index.js +14 -1
  1522. package/src/components/inserter/block-patterns-tab/index.js +32 -68
  1523. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +9 -36
  1524. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -2
  1525. package/src/components/inserter/block-types-tab.js +5 -0
  1526. package/src/components/inserter/category-tabs/index.js +74 -0
  1527. package/src/components/inserter/media-tab/index.js +1 -1
  1528. package/src/components/inserter/media-tab/media-panel.js +0 -22
  1529. package/src/components/inserter/media-tab/media-preview.js +15 -7
  1530. package/src/components/inserter/media-tab/media-tab.js +44 -83
  1531. package/src/components/inserter/menu.js +155 -122
  1532. package/src/components/inserter/style.scss +161 -217
  1533. package/src/components/inserter/tabs.js +12 -15
  1534. package/src/components/inspector-controls-tabs/styles-tab.js +1 -1
  1535. package/src/components/line-height-control/index.js +6 -2
  1536. package/src/components/link-control/search-item.js +9 -3
  1537. package/src/components/link-control/style.scss +10 -2
  1538. package/src/components/link-control/test/index.js +1 -1
  1539. package/src/components/list-view/block-select-button.js +73 -237
  1540. package/src/components/list-view/block.js +218 -28
  1541. package/src/components/list-view/index.js +1 -1
  1542. package/src/components/list-view/style.scss +20 -28
  1543. package/src/components/list-view/use-list-view-drop-zone.js +6 -1
  1544. package/src/components/list-view/utils.js +3 -1
  1545. package/src/components/media-placeholder/content.scss +0 -11
  1546. package/src/components/media-placeholder/index.js +3 -3
  1547. package/src/components/navigable-toolbar/index.js +3 -1
  1548. package/src/components/provider/block-refs-provider.js +3 -8
  1549. package/src/components/provider/test/use-block-sync.js +7 -0
  1550. package/src/components/provider/use-block-sync.js +3 -20
  1551. package/src/components/recursion-provider/index.js +2 -2
  1552. package/src/components/rich-text/README.md +4 -0
  1553. package/src/components/rich-text/content.js +26 -19
  1554. package/src/components/rich-text/event-listeners/before-input-rules.js +92 -0
  1555. package/src/components/rich-text/event-listeners/delete.js +53 -0
  1556. package/src/components/rich-text/event-listeners/enter.js +104 -0
  1557. package/src/components/rich-text/event-listeners/firefox-compat.js +31 -0
  1558. package/src/components/rich-text/event-listeners/index.js +56 -0
  1559. package/src/components/rich-text/event-listeners/input-events.js +13 -0
  1560. package/src/components/rich-text/event-listeners/input-rules.js +146 -0
  1561. package/src/components/rich-text/event-listeners/insert-replacement-text.js +28 -0
  1562. package/src/components/rich-text/event-listeners/paste-handler.js +169 -0
  1563. package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +24 -0
  1564. package/src/components/rich-text/event-listeners/shortcuts.js +13 -0
  1565. package/src/components/rich-text/event-listeners/undo-automatic-change.js +45 -0
  1566. package/src/components/rich-text/index.js +53 -36
  1567. package/src/components/rich-text/index.native.js +14 -1
  1568. package/src/components/rich-text/multiline.js +6 -2
  1569. package/src/components/rich-text/native/index.native.js +11 -0
  1570. package/src/components/rich-text/use-format-types.js +6 -2
  1571. package/src/components/segmented-text-control/index.js +63 -0
  1572. package/src/components/{writing-mode-control → segmented-text-control}/style.scss +2 -5
  1573. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -1
  1574. package/src/components/text-alignment-control/index.js +91 -0
  1575. package/src/components/text-alignment-control/stories/index.story.js +39 -0
  1576. package/src/components/text-decoration-control/index.js +20 -33
  1577. package/src/components/text-transform-control/index.js +17 -30
  1578. package/src/components/use-block-commands/index.js +46 -28
  1579. package/src/components/use-block-display-information/index.js +9 -3
  1580. package/src/components/use-on-block-drop/index.js +3 -1
  1581. package/src/components/use-paste-styles/index.js +2 -0
  1582. package/src/components/writing-flow/use-drag-selection.js +3 -1
  1583. package/src/components/writing-flow/use-tab-nav.js +3 -1
  1584. package/src/components/writing-mode-control/index.js +15 -28
  1585. package/src/hooks/background.js +2 -2
  1586. package/src/hooks/block-renaming.js +0 -33
  1587. package/src/hooks/content-lock-ui.js +5 -7
  1588. package/src/hooks/duotone.js +3 -1
  1589. package/src/hooks/index.js +5 -2
  1590. package/src/hooks/layout.js +57 -25
  1591. package/src/hooks/supports.js +24 -0
  1592. package/src/hooks/test/text-align.js +114 -0
  1593. package/src/hooks/test/use-typography-props.js +3 -1
  1594. package/src/hooks/text-align.js +178 -0
  1595. package/src/hooks/typography.js +2 -0
  1596. package/src/hooks/use-bindings-attributes.js +90 -161
  1597. package/src/hooks/use-typography-props.js +4 -1
  1598. package/src/hooks/use-zoom-out.js +25 -15
  1599. package/src/hooks/utils.js +57 -5
  1600. package/src/layouts/definitions.js +6 -6
  1601. package/src/layouts/grid.js +106 -47
  1602. package/src/private-apis.js +4 -2
  1603. package/src/store/actions.js +52 -12
  1604. package/src/store/private-actions.js +6 -3
  1605. package/src/store/private-selectors.js +155 -39
  1606. package/src/store/reducer.js +13 -23
  1607. package/src/store/selectors.js +162 -93
  1608. package/src/style.scss +1 -2
  1609. package/src/utils/object.js +16 -0
  1610. package/src/utils/order-inserter-block-items.js +6 -2
  1611. package/src/utils/pasting.js +6 -2
  1612. package/tsconfig.tsbuildinfo +1 -1
  1613. package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -54
  1614. package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +0 -1
  1615. package/build/components/rich-text/use-before-input-rules.js +0 -98
  1616. package/build/components/rich-text/use-before-input-rules.js.map +0 -1
  1617. package/build/components/rich-text/use-delete.js +0 -64
  1618. package/build/components/rich-text/use-delete.js.map +0 -1
  1619. package/build/components/rich-text/use-enter.js +0 -109
  1620. package/build/components/rich-text/use-enter.js.map +0 -1
  1621. package/build/components/rich-text/use-firefox-compat.js +0 -44
  1622. package/build/components/rich-text/use-firefox-compat.js.map +0 -1
  1623. package/build/components/rich-text/use-input-events.js +0 -25
  1624. package/build/components/rich-text/use-input-events.js.map +0 -1
  1625. package/build/components/rich-text/use-input-rules.js +0 -139
  1626. package/build/components/rich-text/use-input-rules.js.map +0 -1
  1627. package/build/components/rich-text/use-insert-replacement-text.js +0 -38
  1628. package/build/components/rich-text/use-insert-replacement-text.js.map +0 -1
  1629. package/build/components/rich-text/use-paste-handler.js +0 -158
  1630. package/build/components/rich-text/use-paste-handler.js.map +0 -1
  1631. package/build/components/rich-text/use-remove-browser-shortcuts.js +0 -32
  1632. package/build/components/rich-text/use-remove-browser-shortcuts.js.map +0 -1
  1633. package/build/components/rich-text/use-shortcuts.js +0 -25
  1634. package/build/components/rich-text/use-shortcuts.js.map +0 -1
  1635. package/build/components/rich-text/use-undo-automatic-change.js +0 -53
  1636. package/build/components/rich-text/use-undo-automatic-change.js.map +0 -1
  1637. package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -47
  1638. package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +0 -1
  1639. package/build-module/components/rich-text/use-before-input-rules.js +0 -92
  1640. package/build-module/components/rich-text/use-before-input-rules.js.map +0 -1
  1641. package/build-module/components/rich-text/use-delete.js +0 -57
  1642. package/build-module/components/rich-text/use-delete.js.map +0 -1
  1643. package/build-module/components/rich-text/use-enter.js +0 -102
  1644. package/build-module/components/rich-text/use-enter.js.map +0 -1
  1645. package/build-module/components/rich-text/use-firefox-compat.js +0 -37
  1646. package/build-module/components/rich-text/use-firefox-compat.js.map +0 -1
  1647. package/build-module/components/rich-text/use-input-events.js +0 -18
  1648. package/build-module/components/rich-text/use-input-events.js.map +0 -1
  1649. package/build-module/components/rich-text/use-input-rules.js +0 -132
  1650. package/build-module/components/rich-text/use-input-rules.js.map +0 -1
  1651. package/build-module/components/rich-text/use-insert-replacement-text.js +0 -32
  1652. package/build-module/components/rich-text/use-insert-replacement-text.js.map +0 -1
  1653. package/build-module/components/rich-text/use-paste-handler.js +0 -152
  1654. package/build-module/components/rich-text/use-paste-handler.js.map +0 -1
  1655. package/build-module/components/rich-text/use-remove-browser-shortcuts.js +0 -26
  1656. package/build-module/components/rich-text/use-remove-browser-shortcuts.js.map +0 -1
  1657. package/build-module/components/rich-text/use-shortcuts.js +0 -18
  1658. package/build-module/components/rich-text/use-shortcuts.js.map +0 -1
  1659. package/build-module/components/rich-text/use-undo-automatic-change.js +0 -46
  1660. package/build-module/components/rich-text/use-undo-automatic-change.js.map +0 -1
  1661. package/src/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -55
  1662. package/src/components/rich-text/use-before-input-rules.js +0 -99
  1663. package/src/components/rich-text/use-delete.js +0 -59
  1664. package/src/components/rich-text/use-enter.js +0 -110
  1665. package/src/components/rich-text/use-firefox-compat.js +0 -39
  1666. package/src/components/rich-text/use-input-events.js +0 -19
  1667. package/src/components/rich-text/use-input-rules.js +0 -150
  1668. package/src/components/rich-text/use-insert-replacement-text.js +0 -31
  1669. package/src/components/rich-text/use-paste-handler.js +0 -180
  1670. package/src/components/rich-text/use-remove-browser-shortcuts.js +0 -29
  1671. package/src/components/rich-text/use-shortcuts.js +0 -19
  1672. package/src/components/rich-text/use-undo-automatic-change.js +0 -50
  1673. package/src/components/text-decoration-control/style.scss +0 -18
  1674. package/src/components/text-transform-control/style.scss +0 -18
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_i18n","_components","_element","_data","_compose","_blocks","_icons","_reactNativeBridge","_style","_interopRequireDefault","_menu","_insertionPoint","_store","VOICE_OVER_ANNOUNCEMENT_DELAY","defaultRenderToggle","onToggle","disabled","iconStyle","buttonStyle","onLongPress","_react","createElement","ToolbarButton","title","_x","icon","Icon","plus","style","onClick","extraProps","hint","__","testID","hitSlop","top","bottom","left","right","isDisabled","customContainerStyles","fixedRatio","Inserter","Component","announcementTimeout","constructor","arguments","bind","renderInserterToggle","renderContent","componentWillUnmount","clearTimeout","getInsertionOptions","addBeforeOption","value","label","plusCircle","replaceCurrentOption","plusCircleFilled","addAfterOption","addToBeginningOption","insertBefore","addToEndOption","insertAfter","isAnyBlockSelected","isSelectedBlockReplaceable","props","getInsertionIndex","insertionType","insertionIndexDefault","insertionIndexStart","insertionIndexBefore","insertionIndexAfter","insertionIndexEnd","shouldReplaceBlock","isOpen","blockTypeImpressions","updateSettings","impressionsRemain","Object","values","some","count","decrementedImpressions","entries","reduce","acc","blockName","Math","max","impressions","setBlockTypeImpressions","onInserterToggledAnnouncement","AccessibilityInfo","isScreenReaderEnabled","then","isEnabled","isIOS","Platform","OS","announcement","setTimeout","announceForAccessibility","renderToggle","getStylesFromColorScheme","showSeparator","default","styles","onPress","setState","destinationRootClientId","insertionIndex","picker","presentPicker","onPickerSelect","Fragment","Picker","ref","instance","options","onChange","hideCancelButton","onClose","clientId","isAppender","state","onSelect","onDismiss","rootClientId","render","Dropdown","headerTitle","exports","_default","compose","withDispatch","dispatch","blockEditorStore","withSelect","select","getBlockRootClientId","getBlockSelectionEnd","getBlockOrder","getBlockIndex","getBlock","getSettings","getBlockEditorSettings","end","selectedBlockIndex","endOfRootIndex","length","isSelectedUnmodifiedDefaultBlock","isUnmodifiedDefaultBlock","undefined","getDefaultInsertionIndex","__experimentalShouldInsertAtTheTop","shouldInsertAtTheTop","withPreferredColorScheme"],"sources":["@wordpress/block-editor/src/components/inserter/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo, Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Dropdown, ToolbarButton, Picker } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport {\n\tIcon,\n\tplus,\n\tplusCircle,\n\tplusCircleFilled,\n\tinsertAfter,\n\tinsertBefore,\n} from '@wordpress/icons';\nimport { setBlockTypeImpressions } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport InserterMenu from './menu';\nimport BlockInsertionPoint from '../block-list/insertion-point';\nimport { store as blockEditorStore } from '../../store';\n\nconst VOICE_OVER_ANNOUNCEMENT_DELAY = 1000;\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\ticonStyle,\n\tbuttonStyle,\n\tonLongPress,\n} ) => {\n\treturn (\n\t\t<ToolbarButton\n\t\t\ttitle={ _x(\n\t\t\t\t'Add block',\n\t\t\t\t'Generic label for block inserter button'\n\t\t\t) }\n\t\t\ticon={ <Icon icon={ plus } style={ iconStyle } /> }\n\t\t\tonClick={ onToggle }\n\t\t\textraProps={ {\n\t\t\t\thint: __( 'Double tap to add a block' ),\n\t\t\t\t// testID is present to disambiguate this element for native UI tests. It's not\n\t\t\t\t// usually required for components. See: https://github.com/WordPress/gutenberg/pull/18832#issuecomment-561411389.\n\t\t\t\ttestID: 'add-block-button',\n\t\t\t\tonLongPress,\n\t\t\t\thitSlop: { top: 10, bottom: 10, left: 10, right: 10 },\n\t\t\t} }\n\t\t\tisDisabled={ disabled }\n\t\t\tcustomContainerStyles={ buttonStyle }\n\t\t\tfixedRatio={ false }\n\t\t/>\n\t);\n};\n\nexport class Inserter extends Component {\n\tannouncementTimeout;\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderInserterToggle = this.renderInserterToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.announcementTimeout );\n\t}\n\n\tgetInsertionOptions() {\n\t\tconst addBeforeOption = {\n\t\t\tvalue: 'before',\n\t\t\tlabel: __( 'Add Block Before' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst replaceCurrentOption = {\n\t\t\tvalue: 'replace',\n\t\t\tlabel: __( 'Replace Current Block' ),\n\t\t\ticon: plusCircleFilled,\n\t\t};\n\n\t\tconst addAfterOption = {\n\t\t\tvalue: 'after',\n\t\t\tlabel: __( 'Add Block After' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst addToBeginningOption = {\n\t\t\tvalue: 'start',\n\t\t\tlabel: __( 'Add To Beginning' ),\n\t\t\ticon: insertBefore,\n\t\t};\n\n\t\tconst addToEndOption = {\n\t\t\tvalue: 'end',\n\t\t\tlabel: __( 'Add To End' ),\n\t\t\ticon: insertAfter,\n\t\t};\n\n\t\tconst { isAnyBlockSelected, isSelectedBlockReplaceable } = this.props;\n\t\tif ( isAnyBlockSelected ) {\n\t\t\tif ( isSelectedBlockReplaceable ) {\n\t\t\t\treturn [\n\t\t\t\t\taddToBeginningOption,\n\t\t\t\t\taddBeforeOption,\n\t\t\t\t\treplaceCurrentOption,\n\t\t\t\t\taddAfterOption,\n\t\t\t\t\taddToEndOption,\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn [\n\t\t\t\taddToBeginningOption,\n\t\t\t\taddBeforeOption,\n\t\t\t\taddAfterOption,\n\t\t\t\taddToEndOption,\n\t\t\t];\n\t\t}\n\t\treturn [ addToBeginningOption, addToEndOption ];\n\t}\n\n\tgetInsertionIndex( insertionType ) {\n\t\tconst {\n\t\t\tinsertionIndexDefault,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexEnd,\n\t\t} = this.props;\n\t\tif ( insertionType === 'start' ) {\n\t\t\treturn insertionIndexStart;\n\t\t}\n\t\tif ( insertionType === 'before' || insertionType === 'replace' ) {\n\t\t\treturn insertionIndexBefore;\n\t\t}\n\t\tif ( insertionType === 'after' ) {\n\t\t\treturn insertionIndexAfter;\n\t\t}\n\t\tif ( insertionType === 'end' ) {\n\t\t\treturn insertionIndexEnd;\n\t\t}\n\t\treturn insertionIndexDefault;\n\t}\n\n\tshouldReplaceBlock( insertionType ) {\n\t\tconst { isSelectedBlockReplaceable } = this.props;\n\t\tif ( insertionType === 'replace' ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( insertionType === 'default' && isSelectedBlockReplaceable ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { blockTypeImpressions, onToggle, updateSettings } = this.props;\n\n\t\tif ( ! isOpen ) {\n\t\t\tconst impressionsRemain = Object.values(\n\t\t\t\tblockTypeImpressions\n\t\t\t).some( ( count ) => count > 0 );\n\n\t\t\tif ( impressionsRemain ) {\n\t\t\t\tconst decrementedImpressions = Object.entries(\n\t\t\t\t\tblockTypeImpressions\n\t\t\t\t).reduce(\n\t\t\t\t\t( acc, [ blockName, count ] ) => ( {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ blockName ]: Math.max( count - 1, 0 ),\n\t\t\t\t\t} ),\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\t// Persist block type impression to JavaScript store.\n\t\t\t\tupdateSettings( {\n\t\t\t\t\timpressions: decrementedImpressions,\n\t\t\t\t} );\n\n\t\t\t\t// Persist block type impression count to native app store.\n\t\t\t\tsetBlockTypeImpressions( decrementedImpressions );\n\t\t\t}\n\t\t}\n\n\t\t// Surface toggle callback to parent component.\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t\tthis.onInserterToggledAnnouncement( isOpen );\n\t}\n\n\tonInserterToggledAnnouncement( isOpen ) {\n\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( isEnabled ) => {\n\t\t\tif ( isEnabled ) {\n\t\t\t\tconst isIOS = Platform.OS === 'ios';\n\t\t\t\tconst announcement = isOpen\n\t\t\t\t\t? __( 'Scrollable block menu opened. Select a block.' )\n\t\t\t\t\t: __( 'Scrollable block menu closed.' );\n\t\t\t\tthis.announcementTimeout = setTimeout(\n\t\t\t\t\t() =>\n\t\t\t\t\t\tAccessibilityInfo.announceForAccessibility(\n\t\t\t\t\t\t\tannouncement\n\t\t\t\t\t\t),\n\t\t\t\t\tisIOS ? VOICE_OVER_ANNOUNCEMENT_DELAY : 0\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {Element} Dropdown toggle element.\n\t */\n\trenderInserterToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tshowSeparator,\n\t\t} = this.props;\n\t\tif ( showSeparator && isOpen ) {\n\t\t\treturn <BlockInsertionPoint />;\n\t\t}\n\n\t\tconst buttonStyle = getStylesFromColorScheme(\n\t\t\tstyles[ 'inserter-menu__add-block-button' ],\n\t\t\tstyles[ 'inserter-menu__add-block-button--dark' ]\n\t\t);\n\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles[ 'inserter-menu__add-block-button-icon' ],\n\t\t\tstyles[ 'inserter-menu__add-block-button-icon--dark' ]\n\t\t);\n\n\t\tconst onPress = () => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock: this.shouldReplaceBlock( 'default' ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( 'default' ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\tconst onLongPress = () => {\n\t\t\tif ( this.picker ) {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t};\n\n\t\tconst onPickerSelect = ( insertionType ) => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock:\n\t\t\t\t\t\tthis.shouldReplaceBlock( insertionType ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( insertionType ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ renderToggle( {\n\t\t\t\t\tonToggle: onPress,\n\t\t\t\t\tisOpen,\n\t\t\t\t\tdisabled,\n\t\t\t\t\ticonStyle,\n\t\t\t\t\tbuttonStyle,\n\t\t\t\t\tonLongPress,\n\t\t\t\t} ) }\n\t\t\t\t<Picker\n\t\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\t\toptions={ this.getInsertionOptions() }\n\t\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\t\thideCancelButton\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {Element} Dropdown content element.\n\t */\n\trenderContent( { onClose, isOpen } ) {\n\t\tconst { clientId, isAppender } = this.props;\n\t\tconst { destinationRootClientId, shouldReplaceBlock, insertionIndex } =\n\t\t\tthis.state;\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tisOpen={ isOpen }\n\t\t\t\tonSelect={ onClose }\n\t\t\t\tonDismiss={ onClose }\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshouldReplaceBlock={ shouldReplaceBlock }\n\t\t\t\tinsertionIndex={ insertionIndex }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderInserterToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { updateSettings } = dispatch( blockEditorStore );\n\t\treturn { updateSettings };\n\t} ),\n\twithSelect( ( select, { clientId, isAppender, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockSelectionEnd,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockIndex,\n\t\t\tgetBlock,\n\t\t\tgetSettings: getBlockEditorSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst end = getBlockSelectionEnd();\n\t\t// `end` argument (id) can refer to the component which is removed\n\t\t// due to pressing `undo` button, that's why we need to check\n\t\t// if `getBlock( end) is valid, otherwise `null` is passed\n\t\tconst isAnyBlockSelected = ! isAppender && end && getBlock( end );\n\t\tconst destinationRootClientId = isAnyBlockSelected\n\t\t\t? getBlockRootClientId( end )\n\t\t\t: rootClientId;\n\t\tconst selectedBlockIndex = getBlockIndex( end );\n\t\tconst endOfRootIndex = getBlockOrder( rootClientId ).length;\n\t\tconst isSelectedUnmodifiedDefaultBlock = isAnyBlockSelected\n\t\t\t? isUnmodifiedDefaultBlock( getBlock( end ) )\n\t\t\t: undefined;\n\n\t\tfunction getDefaultInsertionIndex() {\n\t\t\tconst { __experimentalShouldInsertAtTheTop: shouldInsertAtTheTop } =\n\t\t\t\tgetBlockEditorSettings();\n\n\t\t\t// If post title is selected insert as first block.\n\t\t\tif ( shouldInsertAtTheTop ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\tif ( clientId ) {\n\t\t\t\treturn getBlockIndex( clientId );\n\t\t\t}\n\n\t\t\t// If there is a selected block,\n\t\t\tif ( isAnyBlockSelected ) {\n\t\t\t\t// And the last selected block is unmodified (empty), it will be replaced.\n\t\t\t\tif ( isSelectedUnmodifiedDefaultBlock ) {\n\t\t\t\t\treturn selectedBlockIndex;\n\t\t\t\t}\n\n\t\t\t\t// We insert after the selected block.\n\t\t\t\treturn selectedBlockIndex + 1;\n\t\t\t}\n\n\t\t\t// Otherwise, we insert at the end of the current rootClientId.\n\t\t\treturn endOfRootIndex;\n\t\t}\n\n\t\tconst insertionIndexStart = 0;\n\n\t\tconst insertionIndexBefore = isAnyBlockSelected\n\t\t\t? selectedBlockIndex\n\t\t\t: insertionIndexStart;\n\n\t\tconst insertionIndexAfter = isAnyBlockSelected\n\t\t\t? selectedBlockIndex + 1\n\t\t\t: endOfRootIndex;\n\n\t\tconst insertionIndexEnd = endOfRootIndex;\n\n\t\treturn {\n\t\t\tblockTypeImpressions: getBlockEditorSettings().impressions,\n\t\t\tdestinationRootClientId,\n\t\t\tinsertionIndexDefault: getDefaultInsertionIndex(),\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexEnd,\n\t\t\tisAnyBlockSelected: !! isAnyBlockSelected,\n\t\t\tisSelectedBlockReplaceable: isSelectedUnmodifiedDefaultBlock,\n\t\t};\n\t} ),\n\n\twithPreferredColorScheme,\n] )( Inserter );\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_i18n","_components","_element","_data","_compose","_blocks","_icons","_reactNativeBridge","_style","_interopRequireDefault","_menu","_insertionPoint","_store","VOICE_OVER_ANNOUNCEMENT_DELAY","defaultRenderToggle","onToggle","disabled","iconStyle","buttonStyle","onLongPress","_react","createElement","ToolbarButton","title","_x","icon","Icon","plus","style","onClick","extraProps","hint","__","testID","hitSlop","top","bottom","left","right","isDisabled","customContainerStyles","fixedRatio","Inserter","Component","announcementTimeout","constructor","arguments","bind","renderInserterToggle","renderContent","componentWillUnmount","clearTimeout","getInsertionOptions","addBeforeOption","value","label","plusCircle","replaceCurrentOption","plusCircleFilled","addAfterOption","addToBeginningOption","insertBefore","addToEndOption","insertAfter","isAnyBlockSelected","isSelectedBlockReplaceable","props","getInsertionIndex","insertionType","insertionIndexDefault","insertionIndexStart","insertionIndexBefore","insertionIndexAfter","insertionIndexEnd","shouldReplaceBlock","isOpen","blockTypeImpressions","updateSettings","impressionsRemain","Object","values","some","count","decrementedImpressions","entries","reduce","acc","blockName","Math","max","impressions","setBlockTypeImpressions","onInserterToggledAnnouncement","AccessibilityInfo","isScreenReaderEnabled","then","isEnabled","isIOS","Platform","OS","announcement","setTimeout","announceForAccessibility","renderToggle","getStylesFromColorScheme","showSeparator","default","styles","onPress","setState","destinationRootClientId","insertionIndex","picker","presentPicker","onPickerSelect","Fragment","Picker","ref","instance","options","onChange","hideCancelButton","onClose","clientId","isAppender","state","onSelect","onDismiss","rootClientId","render","Dropdown","headerTitle","exports","_default","compose","withDispatch","dispatch","blockEditorStore","withSelect","select","getBlockRootClientId","getBlockSelectionEnd","getBlockOrder","getBlockIndex","getBlock","getSettings","getBlockEditorSettings","end","selectedBlockIndex","endOfRootIndex","length","isSelectedUnmodifiedDefaultBlock","isUnmodifiedDefaultBlock","undefined","getDefaultInsertionIndex","__experimentalShouldInsertAtTheTop","shouldInsertAtTheTop","withPreferredColorScheme"],"sources":["@wordpress/block-editor/src/components/inserter/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo, Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Dropdown, ToolbarButton, Picker } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport {\n\tIcon,\n\tplus,\n\tplusCircle,\n\tplusCircleFilled,\n\tinsertAfter,\n\tinsertBefore,\n} from '@wordpress/icons';\nimport { setBlockTypeImpressions } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport InserterMenu from './menu';\nimport BlockInsertionPoint from '../block-list/insertion-point';\nimport { store as blockEditorStore } from '../../store';\n\nconst VOICE_OVER_ANNOUNCEMENT_DELAY = 1000;\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\ticonStyle,\n\tbuttonStyle,\n\tonLongPress,\n} ) => {\n\treturn (\n\t\t<ToolbarButton\n\t\t\ttitle={ _x(\n\t\t\t\t'Add block',\n\t\t\t\t'Generic label for block inserter button'\n\t\t\t) }\n\t\t\ticon={ <Icon icon={ plus } style={ iconStyle } /> }\n\t\t\tonClick={ onToggle }\n\t\t\textraProps={ {\n\t\t\t\thint: __( 'Double tap to add a block' ),\n\t\t\t\t// testID is present to disambiguate this element for native UI tests. It's not\n\t\t\t\t// usually required for components. See: https://github.com/WordPress/gutenberg/pull/18832#issuecomment-561411389.\n\t\t\t\ttestID: 'add-block-button',\n\t\t\t\tonLongPress,\n\t\t\t\thitSlop: { top: 10, bottom: 10, left: 10, right: 10 },\n\t\t\t} }\n\t\t\tisDisabled={ disabled }\n\t\t\tcustomContainerStyles={ buttonStyle }\n\t\t\tfixedRatio={ false }\n\t\t/>\n\t);\n};\n\nexport class Inserter extends Component {\n\tannouncementTimeout;\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderInserterToggle = this.renderInserterToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.announcementTimeout );\n\t}\n\n\tgetInsertionOptions() {\n\t\tconst addBeforeOption = {\n\t\t\tvalue: 'before',\n\t\t\tlabel: __( 'Add Block Before' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst replaceCurrentOption = {\n\t\t\tvalue: 'replace',\n\t\t\tlabel: __( 'Replace Current Block' ),\n\t\t\ticon: plusCircleFilled,\n\t\t};\n\n\t\tconst addAfterOption = {\n\t\t\tvalue: 'after',\n\t\t\tlabel: __( 'Add Block After' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst addToBeginningOption = {\n\t\t\tvalue: 'start',\n\t\t\tlabel: __( 'Add To Beginning' ),\n\t\t\ticon: insertBefore,\n\t\t};\n\n\t\tconst addToEndOption = {\n\t\t\tvalue: 'end',\n\t\t\tlabel: __( 'Add To End' ),\n\t\t\ticon: insertAfter,\n\t\t};\n\n\t\tconst { isAnyBlockSelected, isSelectedBlockReplaceable } = this.props;\n\t\tif ( isAnyBlockSelected ) {\n\t\t\tif ( isSelectedBlockReplaceable ) {\n\t\t\t\treturn [\n\t\t\t\t\taddToBeginningOption,\n\t\t\t\t\taddBeforeOption,\n\t\t\t\t\treplaceCurrentOption,\n\t\t\t\t\taddAfterOption,\n\t\t\t\t\taddToEndOption,\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn [\n\t\t\t\taddToBeginningOption,\n\t\t\t\taddBeforeOption,\n\t\t\t\taddAfterOption,\n\t\t\t\taddToEndOption,\n\t\t\t];\n\t\t}\n\t\treturn [ addToBeginningOption, addToEndOption ];\n\t}\n\n\tgetInsertionIndex( insertionType ) {\n\t\tconst {\n\t\t\tinsertionIndexDefault,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexEnd,\n\t\t} = this.props;\n\t\tif ( insertionType === 'start' ) {\n\t\t\treturn insertionIndexStart;\n\t\t}\n\t\tif ( insertionType === 'before' || insertionType === 'replace' ) {\n\t\t\treturn insertionIndexBefore;\n\t\t}\n\t\tif ( insertionType === 'after' ) {\n\t\t\treturn insertionIndexAfter;\n\t\t}\n\t\tif ( insertionType === 'end' ) {\n\t\t\treturn insertionIndexEnd;\n\t\t}\n\t\treturn insertionIndexDefault;\n\t}\n\n\tshouldReplaceBlock( insertionType ) {\n\t\tconst { isSelectedBlockReplaceable } = this.props;\n\t\tif ( insertionType === 'replace' ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( insertionType === 'default' && isSelectedBlockReplaceable ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { blockTypeImpressions, onToggle, updateSettings } = this.props;\n\n\t\tif ( ! isOpen ) {\n\t\t\tconst impressionsRemain = Object.values(\n\t\t\t\tblockTypeImpressions\n\t\t\t).some( ( count ) => count > 0 );\n\n\t\t\tif ( impressionsRemain ) {\n\t\t\t\tconst decrementedImpressions = Object.entries(\n\t\t\t\t\tblockTypeImpressions\n\t\t\t\t).reduce(\n\t\t\t\t\t( acc, [ blockName, count ] ) => ( {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ blockName ]: Math.max( count - 1, 0 ),\n\t\t\t\t\t} ),\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\t// Persist block type impression to JavaScript store.\n\t\t\t\tupdateSettings( {\n\t\t\t\t\timpressions: decrementedImpressions,\n\t\t\t\t} );\n\n\t\t\t\t// Persist block type impression count to native app store.\n\t\t\t\tsetBlockTypeImpressions( decrementedImpressions );\n\t\t\t}\n\t\t}\n\n\t\t// Surface toggle callback to parent component.\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t\tthis.onInserterToggledAnnouncement( isOpen );\n\t}\n\n\tonInserterToggledAnnouncement( isOpen ) {\n\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( isEnabled ) => {\n\t\t\tif ( isEnabled ) {\n\t\t\t\tconst isIOS = Platform.OS === 'ios';\n\t\t\t\tconst announcement = isOpen\n\t\t\t\t\t? __( 'Scrollable block menu opened. Select a block.' )\n\t\t\t\t\t: __( 'Scrollable block menu closed.' );\n\t\t\t\tthis.announcementTimeout = setTimeout(\n\t\t\t\t\t() =>\n\t\t\t\t\t\tAccessibilityInfo.announceForAccessibility(\n\t\t\t\t\t\t\tannouncement\n\t\t\t\t\t\t),\n\t\t\t\t\tisIOS ? VOICE_OVER_ANNOUNCEMENT_DELAY : 0\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {Element} Dropdown toggle element.\n\t */\n\trenderInserterToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tshowSeparator,\n\t\t} = this.props;\n\t\tif ( showSeparator && isOpen ) {\n\t\t\treturn <BlockInsertionPoint />;\n\t\t}\n\n\t\tconst buttonStyle = getStylesFromColorScheme(\n\t\t\tstyles[ 'inserter-menu__add-block-button' ],\n\t\t\tstyles[ 'inserter-menu__add-block-button--dark' ]\n\t\t);\n\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles[ 'inserter-menu__add-block-button-icon' ],\n\t\t\tstyles[ 'inserter-menu__add-block-button-icon--dark' ]\n\t\t);\n\n\t\tconst onPress = () => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock: this.shouldReplaceBlock( 'default' ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( 'default' ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\tconst onLongPress = () => {\n\t\t\tif ( this.picker ) {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t};\n\n\t\tconst onPickerSelect = ( insertionType ) => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock:\n\t\t\t\t\t\tthis.shouldReplaceBlock( insertionType ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( insertionType ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ renderToggle( {\n\t\t\t\t\tonToggle: onPress,\n\t\t\t\t\tisOpen,\n\t\t\t\t\tdisabled,\n\t\t\t\t\ticonStyle,\n\t\t\t\t\tbuttonStyle,\n\t\t\t\t\tonLongPress,\n\t\t\t\t} ) }\n\t\t\t\t<Picker\n\t\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\t\toptions={ this.getInsertionOptions() }\n\t\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\t\thideCancelButton\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {Element} Dropdown content element.\n\t */\n\trenderContent( { onClose, isOpen } ) {\n\t\tconst { clientId, isAppender } = this.props;\n\t\tconst { destinationRootClientId, shouldReplaceBlock, insertionIndex } =\n\t\t\tthis.state;\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tisOpen={ isOpen }\n\t\t\t\tonSelect={ onClose }\n\t\t\t\tonDismiss={ onClose }\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshouldReplaceBlock={ shouldReplaceBlock }\n\t\t\t\tinsertionIndex={ insertionIndex }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderInserterToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { updateSettings } = dispatch( blockEditorStore );\n\t\treturn { updateSettings };\n\t} ),\n\twithSelect( ( select, { clientId, isAppender, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockSelectionEnd,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockIndex,\n\t\t\tgetBlock,\n\t\t\tgetSettings: getBlockEditorSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst end = getBlockSelectionEnd();\n\t\t// `end` argument (id) can refer to the component which is removed\n\t\t// due to pressing `undo` button, that's why we need to check\n\t\t// if `getBlock( end) is valid, otherwise `null` is passed\n\t\tconst isAnyBlockSelected = ! isAppender && end && getBlock( end );\n\t\tconst destinationRootClientId = isAnyBlockSelected\n\t\t\t? getBlockRootClientId( end )\n\t\t\t: rootClientId;\n\t\tconst selectedBlockIndex = getBlockIndex( end );\n\t\tconst endOfRootIndex = getBlockOrder( rootClientId ).length;\n\t\tconst isSelectedUnmodifiedDefaultBlock = isAnyBlockSelected\n\t\t\t? isUnmodifiedDefaultBlock( getBlock( end ) )\n\t\t\t: undefined;\n\n\t\tfunction getDefaultInsertionIndex() {\n\t\t\tconst { __experimentalShouldInsertAtTheTop: shouldInsertAtTheTop } =\n\t\t\t\tgetBlockEditorSettings();\n\n\t\t\t// If post title is selected insert as first block.\n\t\t\tif ( shouldInsertAtTheTop ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\tif ( clientId ) {\n\t\t\t\treturn getBlockIndex( clientId );\n\t\t\t}\n\n\t\t\t// If there is a selected block,\n\t\t\tif ( isAnyBlockSelected ) {\n\t\t\t\t// And the last selected block is unmodified (empty), it will be replaced.\n\t\t\t\tif ( isSelectedUnmodifiedDefaultBlock ) {\n\t\t\t\t\treturn selectedBlockIndex;\n\t\t\t\t}\n\n\t\t\t\t// We insert after the selected block.\n\t\t\t\treturn selectedBlockIndex + 1;\n\t\t\t}\n\n\t\t\t// Otherwise, we insert at the end of the current rootClientId.\n\t\t\treturn endOfRootIndex;\n\t\t}\n\n\t\tconst insertionIndexStart = 0;\n\n\t\tconst insertionIndexBefore = isAnyBlockSelected\n\t\t\t? selectedBlockIndex\n\t\t\t: insertionIndexStart;\n\n\t\tconst insertionIndexAfter = isAnyBlockSelected\n\t\t\t? selectedBlockIndex + 1\n\t\t\t: endOfRootIndex;\n\n\t\tconst insertionIndexEnd = endOfRootIndex;\n\n\t\treturn {\n\t\t\tblockTypeImpressions: getBlockEditorSettings().impressions,\n\t\t\tdestinationRootClientId,\n\t\t\tinsertionIndexDefault: getDefaultInsertionIndex(),\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexEnd,\n\t\t\tisAnyBlockSelected: !! isAnyBlockSelected,\n\t\t\tisSelectedBlockReplaceable: isSelectedUnmodifiedDefaultBlock,\n\t\t};\n\t} ),\n\n\twithPreferredColorScheme,\n] )( Inserter );\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_element","_menu","_interopRequireDefault","_store","noop","InserterLibrary","rootClientId","clientId","isAppender","showInserterHelpPanel","showMostUsedBlocks","__experimentalInsertionIndex","__experimentalFilterValue","__experimentalOnPatternCategorySelection","onSelect","shouldFocusBlock","ref","destinationRootClientId","useSelect","select","getBlockRootClientId","blockEditorStore","_rootClientId","undefined","_react","createElement","default","_default","exports","forwardRef"],"sources":["@wordpress/block-editor/src/components/inserter/library.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport InserterMenu from './menu';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\n\nfunction InserterLibrary(\n\t{\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\tshowInserterHelpPanel,\n\t\tshowMostUsedBlocks = false,\n\t\t__experimentalInsertionIndex,\n\t\t__experimentalFilterValue,\n\t\t__experimentalOnPatternCategorySelection,\n\t\tonSelect = noop,\n\t\tshouldFocusBlock = false,\n\t},\n\tref\n) {\n\tconst { destinationRootClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\t\t\tconst _rootClientId =\n\t\t\t\trootClientId || getBlockRootClientId( clientId ) || undefined;\n\t\t\treturn {\n\t\t\t\tdestinationRootClientId: _rootClientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\n\treturn (\n\t\t<InserterMenu\n\t\t\tonSelect={ onSelect }\n\t\t\trootClientId={ destinationRootClientId }\n\t\t\tclientId={ clientId }\n\t\t\tisAppender={ isAppender }\n\t\t\tshowInserterHelpPanel={ showInserterHelpPanel }\n\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t__experimentalInsertionIndex={ __experimentalInsertionIndex }\n\t\t\t__experimentalFilterValue={ __experimentalFilterValue }\n\t\t\t__experimentalOnPatternCategorySelection={\n\t\t\t\t__experimentalOnPatternCategorySelection\n\t\t\t}\n\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( InserterLibrary );\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA,MAAMK,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,SAASC,eAAeA,CACvB;EACCC,YAAY;EACZC,QAAQ;EACRC,UAAU;EACVC,qBAAqB;EACrBC,kBAAkB,GAAG,KAAK;EAC1BC,4BAA4B;EAC5BC,yBAAyB;EACzBC,wCAAwC;EACxCC,QAAQ,GAAGV,IAAI;EACfW,gBAAgB,GAAG;AACpB,CAAC,EACDC,GAAG,EACF;EACD,MAAM;IAAEC;EAAwB,CAAC,GAAG,IAAAC,eAAS,EAC1CC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAqB,CAAC,GAAGD,MAAM,CAAEE,YAAiB,CAAC;IAC3D,MAAMC,aAAa,GAClBhB,YAAY,IAAIc,oBAAoB,CAAEb,QAAS,CAAC,IAAIgB,SAAS;IAC9D,OAAO;MACNN,uBAAuB,EAAEK;IAC1B,CAAC;EACF,CAAC,EACD,CAAEf,QAAQ,EAAED,YAAY,CACzB,CAAC;EAED,OACC,IAAAkB,MAAA,CAAAC,aAAA,EAACxB,KAAA,CAAAyB,OAAY;IACZZ,QAAQ,EAAGA,QAAU;IACrBR,YAAY,EAAGW,uBAAyB;IACxCV,QAAQ,EAAGA,QAAU;IACrBC,UAAU,EAAGA,UAAY;IACzBC,qBAAqB,EAAGA,qBAAuB;IAC/CC,kBAAkB,EAAGA,kBAAoB;IACzCC,4BAA4B,EAAGA,4BAA8B;IAC7DC,yBAAyB,EAAGA,yBAA2B;IACvDC,wCAAwC,EACvCA,wCACA;IACDE,gBAAgB,EAAGA,gBAAkB;IACrCC,GAAG,EAAGA;EAAK,CACX,CAAC;AAEJ;AAAC,IAAAW,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAEc,IAAAG,mBAAU,EAAExB,eAAgB,CAAC"}
1
+ {"version":3,"names":["_data","require","_element","_menu","_interopRequireDefault","_store","noop","InserterLibrary","rootClientId","clientId","isAppender","showInserterHelpPanel","showMostUsedBlocks","__experimentalInsertionIndex","__experimentalFilterValue","__experimentalOnPatternCategorySelection","onSelect","shouldFocusBlock","ref","destinationRootClientId","useSelect","select","getBlockRootClientId","blockEditorStore","_rootClientId","undefined","_react","createElement","default","_default","exports","forwardRef"],"sources":["@wordpress/block-editor/src/components/inserter/library.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport InserterMenu from './menu';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\n\nfunction InserterLibrary(\n\t{\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\tshowInserterHelpPanel,\n\t\tshowMostUsedBlocks = false,\n\t\t__experimentalInsertionIndex,\n\t\t__experimentalFilterValue,\n\t\t__experimentalOnPatternCategorySelection,\n\t\tonSelect = noop,\n\t\tshouldFocusBlock = false,\n\t},\n\tref\n) {\n\tconst { destinationRootClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\t\t\tconst _rootClientId =\n\t\t\t\trootClientId || getBlockRootClientId( clientId ) || undefined;\n\t\t\treturn {\n\t\t\t\tdestinationRootClientId: _rootClientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\n\treturn (\n\t\t<InserterMenu\n\t\t\tonSelect={ onSelect }\n\t\t\trootClientId={ destinationRootClientId }\n\t\t\tclientId={ clientId }\n\t\t\tisAppender={ isAppender }\n\t\t\tshowInserterHelpPanel={ showInserterHelpPanel }\n\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t__experimentalInsertionIndex={ __experimentalInsertionIndex }\n\t\t\t__experimentalFilterValue={ __experimentalFilterValue }\n\t\t\t__experimentalOnPatternCategorySelection={\n\t\t\t\t__experimentalOnPatternCategorySelection\n\t\t\t}\n\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( InserterLibrary );\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA,MAAMK,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,SAASC,eAAeA,CACvB;EACCC,YAAY;EACZC,QAAQ;EACRC,UAAU;EACVC,qBAAqB;EACrBC,kBAAkB,GAAG,KAAK;EAC1BC,4BAA4B;EAC5BC,yBAAyB;EACzBC,wCAAwC;EACxCC,QAAQ,GAAGV,IAAI;EACfW,gBAAgB,GAAG;AACpB,CAAC,EACDC,GAAG,EACF;EACD,MAAM;IAAEC;EAAwB,CAAC,GAAG,IAAAC,eAAS,EAC1CC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAqB,CAAC,GAAGD,MAAM,CAAEE,YAAiB,CAAC;IAC3D,MAAMC,aAAa,GAClBhB,YAAY,IAAIc,oBAAoB,CAAEb,QAAS,CAAC,IAAIgB,SAAS;IAC9D,OAAO;MACNN,uBAAuB,EAAEK;IAC1B,CAAC;EACF,CAAC,EACD,CAAEf,QAAQ,EAAED,YAAY,CACzB,CAAC;EAED,OACC,IAAAkB,MAAA,CAAAC,aAAA,EAACxB,KAAA,CAAAyB,OAAY;IACZZ,QAAQ,EAAGA,QAAU;IACrBR,YAAY,EAAGW,uBAAyB;IACxCV,QAAQ,EAAGA,QAAU;IACrBC,UAAU,EAAGA,UAAY;IACzBC,qBAAqB,EAAGA,qBAAuB;IAC/CC,kBAAkB,EAAGA,kBAAoB;IACzCC,4BAA4B,EAAGA,4BAA8B;IAC7DC,yBAAyB,EAAGA,yBAA2B;IACvDC,wCAAwC,EACvCA,wCACA;IACDE,gBAAgB,EAAGA,gBAAkB;IACrCC,GAAG,EAAGA;EAAK,CACX,CAAC;AAEJ;AAAC,IAAAW,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAEc,IAAAG,mBAAU,EAAExB,eAAgB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_data","_store","_lockUnlock","useMediaResults","category","query","mediaList","setMediaList","useState","isLoading","setIsLoading","lastRequest","useRef","useEffect","key","JSON","stringify","name","current","_media","fetch","Object","values","useMediaCategories","rootClientId","categories","setCategories","inserterMediaCategories","useSelect","select","unlock","blockEditorStore","getInserterMediaCategories","canInsertImage","canInsertVideo","canInsertAudio","canInsertBlockType","_categories","categoriesHaveMedia","Map","Promise","all","map","isExternalResource","results","per_page","e","length","canInsertMediaType","image","video","audio","forEach","mediaType","get","push"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\n/** @typedef {import('../../../store/actions').InserterMediaRequest} InserterMediaRequest */\n/** @typedef {import('../../../store/actions').InserterMediaItem} InserterMediaItem */\n\n/**\n * Fetches media items based on the provided category.\n * Each media category is responsible for providing a `fetch` function.\n *\n * @param {Object} category The media category to fetch results for.\n * @param {InserterMediaRequest} query The query args to use for the request.\n * @return {InserterMediaItem[]} The media results.\n */\nexport function useMediaResults( category, query = {} ) {\n\tconst [ mediaList, setMediaList ] = useState();\n\tconst [ isLoading, setIsLoading ] = useState( false );\n\t// We need to keep track of the last request made because\n\t// multiple request can be fired without knowing the order\n\t// of resolution, and we need to ensure we are showing\n\t// the results of the last request.\n\t// In the future we could use AbortController to cancel previous\n\t// requests, but we don't for now as it involves adding support\n\t// for this to `core-data` package.\n\tconst lastRequest = useRef();\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tconst key = JSON.stringify( {\n\t\t\t\tcategory: category.name,\n\t\t\t\t...query,\n\t\t\t} );\n\t\t\tlastRequest.current = key;\n\t\t\tsetIsLoading( true );\n\t\t\tsetMediaList( [] ); // Empty the previous results.\n\t\t\tconst _media = await category.fetch?.( query );\n\t\t\tif ( key === lastRequest.current ) {\n\t\t\t\tsetMediaList( _media );\n\t\t\t\tsetIsLoading( false );\n\t\t\t}\n\t\t} )();\n\t}, [ category.name, ...Object.values( query ) ] );\n\treturn { mediaList, isLoading };\n}\n\nexport function useMediaCategories( rootClientId ) {\n\tconst [ categories, setCategories ] = useState( [] );\n\n\tconst inserterMediaCategories = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( blockEditorStore ) ).getInserterMediaCategories(),\n\t\t[]\n\t);\n\tconst { canInsertImage, canInsertVideo, canInsertAudio } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tcanInsertImage: canInsertBlockType(\n\t\t\t\t\t'core/image',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanInsertVideo: canInsertBlockType(\n\t\t\t\t\t'core/video',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanInsertAudio: canInsertBlockType(\n\t\t\t\t\t'core/audio',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tconst _categories = [];\n\t\t\t// If `inserterMediaCategories` is not defined in\n\t\t\t// block editor settings, do not show any media categories.\n\t\t\tif ( ! inserterMediaCategories ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Loop through categories to check if they have at least one media item.\n\t\t\tconst categoriesHaveMedia = new Map(\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tinserterMediaCategories.map( async ( category ) => {\n\t\t\t\t\t\t// Some sources are external and we don't need to make a request.\n\t\t\t\t\t\tif ( category.isExternalResource ) {\n\t\t\t\t\t\t\treturn [ category.name, true ];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet results = [];\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresults = await category.fetch( {\n\t\t\t\t\t\t\t\tper_page: 1,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\t// If the request fails, we shallow the error and just don't show\n\t\t\t\t\t\t\t// the category, in order to not break the media tab.\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [ category.name, !! results.length ];\n\t\t\t\t\t} )\n\t\t\t\t)\n\t\t\t);\n\t\t\t// We need to filter out categories that don't have any media items or\n\t\t\t// whose corresponding block type is not allowed to be inserted, based\n\t\t\t// on the category's `mediaType`.\n\t\t\tconst canInsertMediaType = {\n\t\t\t\timage: canInsertImage,\n\t\t\t\tvideo: canInsertVideo,\n\t\t\t\taudio: canInsertAudio,\n\t\t\t};\n\t\t\tinserterMediaCategories.forEach( ( category ) => {\n\t\t\t\tif (\n\t\t\t\t\tcanInsertMediaType[ category.mediaType ] &&\n\t\t\t\t\tcategoriesHaveMedia.get( category.name )\n\t\t\t\t) {\n\t\t\t\t\t_categories.push( category );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tif ( !! _categories.length ) {\n\t\t\t\tsetCategories( _categories );\n\t\t\t}\n\t\t} )();\n\t}, [\n\t\tcanInsertImage,\n\t\tcanInsertVideo,\n\t\tcanInsertAudio,\n\t\tinserterMediaCategories,\n\t] );\n\treturn categories;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_data","_store","_lockUnlock","useMediaResults","category","query","mediaList","setMediaList","useState","isLoading","setIsLoading","lastRequest","useRef","useEffect","key","JSON","stringify","name","current","_media","fetch","Object","values","useMediaCategories","rootClientId","categories","setCategories","inserterMediaCategories","useSelect","select","unlock","blockEditorStore","getInserterMediaCategories","canInsertImage","canInsertVideo","canInsertAudio","canInsertBlockType","_categories","categoriesHaveMedia","Map","Promise","all","map","isExternalResource","results","per_page","e","length","canInsertMediaType","image","video","audio","forEach","mediaType","get","push"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\n/** @typedef {import('../../../store/actions').InserterMediaRequest} InserterMediaRequest */\n/** @typedef {import('../../../store/actions').InserterMediaItem} InserterMediaItem */\n\n/**\n * Fetches media items based on the provided category.\n * Each media category is responsible for providing a `fetch` function.\n *\n * @param {Object} category The media category to fetch results for.\n * @param {InserterMediaRequest} query The query args to use for the request.\n * @return {InserterMediaItem[]} The media results.\n */\nexport function useMediaResults( category, query = {} ) {\n\tconst [ mediaList, setMediaList ] = useState();\n\tconst [ isLoading, setIsLoading ] = useState( false );\n\t// We need to keep track of the last request made because\n\t// multiple request can be fired without knowing the order\n\t// of resolution, and we need to ensure we are showing\n\t// the results of the last request.\n\t// In the future we could use AbortController to cancel previous\n\t// requests, but we don't for now as it involves adding support\n\t// for this to `core-data` package.\n\tconst lastRequest = useRef();\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tconst key = JSON.stringify( {\n\t\t\t\tcategory: category.name,\n\t\t\t\t...query,\n\t\t\t} );\n\t\t\tlastRequest.current = key;\n\t\t\tsetIsLoading( true );\n\t\t\tsetMediaList( [] ); // Empty the previous results.\n\t\t\tconst _media = await category.fetch?.( query );\n\t\t\tif ( key === lastRequest.current ) {\n\t\t\t\tsetMediaList( _media );\n\t\t\t\tsetIsLoading( false );\n\t\t\t}\n\t\t} )();\n\t}, [ category.name, ...Object.values( query ) ] );\n\treturn { mediaList, isLoading };\n}\n\nexport function useMediaCategories( rootClientId ) {\n\tconst [ categories, setCategories ] = useState( [] );\n\n\tconst inserterMediaCategories = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( blockEditorStore ) ).getInserterMediaCategories(),\n\t\t[]\n\t);\n\tconst { canInsertImage, canInsertVideo, canInsertAudio } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tcanInsertImage: canInsertBlockType(\n\t\t\t\t\t'core/image',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanInsertVideo: canInsertBlockType(\n\t\t\t\t\t'core/video',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanInsertAudio: canInsertBlockType(\n\t\t\t\t\t'core/audio',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tconst _categories = [];\n\t\t\t// If `inserterMediaCategories` is not defined in\n\t\t\t// block editor settings, do not show any media categories.\n\t\t\tif ( ! inserterMediaCategories ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Loop through categories to check if they have at least one media item.\n\t\t\tconst categoriesHaveMedia = new Map(\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tinserterMediaCategories.map( async ( category ) => {\n\t\t\t\t\t\t// Some sources are external and we don't need to make a request.\n\t\t\t\t\t\tif ( category.isExternalResource ) {\n\t\t\t\t\t\t\treturn [ category.name, true ];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet results = [];\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresults = await category.fetch( {\n\t\t\t\t\t\t\t\tper_page: 1,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\t// If the request fails, we shallow the error and just don't show\n\t\t\t\t\t\t\t// the category, in order to not break the media tab.\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [ category.name, !! results.length ];\n\t\t\t\t\t} )\n\t\t\t\t)\n\t\t\t);\n\t\t\t// We need to filter out categories that don't have any media items or\n\t\t\t// whose corresponding block type is not allowed to be inserted, based\n\t\t\t// on the category's `mediaType`.\n\t\t\tconst canInsertMediaType = {\n\t\t\t\timage: canInsertImage,\n\t\t\t\tvideo: canInsertVideo,\n\t\t\t\taudio: canInsertAudio,\n\t\t\t};\n\t\t\tinserterMediaCategories.forEach( ( category ) => {\n\t\t\t\tif (\n\t\t\t\t\tcanInsertMediaType[ category.mediaType ] &&\n\t\t\t\t\tcategoriesHaveMedia.get( category.name )\n\t\t\t\t) {\n\t\t\t\t\t_categories.push( category );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tif ( !! _categories.length ) {\n\t\t\t\tsetCategories( _categories );\n\t\t\t}\n\t\t} )();\n\t}, [\n\t\tcanInsertImage,\n\t\tcanInsertVideo,\n\t\tcanInsertAudio,\n\t\tinserterMediaCategories,\n\t] );\n\treturn categories;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,10 +4,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- Object.defineProperty(exports, "MediaCategoryDialog", {
7
+ Object.defineProperty(exports, "MediaCategoryPanel", {
8
8
  enumerable: true,
9
9
  get: function () {
10
- return _mediaPanel.MediaCategoryDialog;
10
+ return _mediaPanel.MediaCategoryPanel;
11
11
  }
12
12
  });
13
13
  Object.defineProperty(exports, "MediaTab", {
@@ -1 +1 @@
1
- {"version":3,"names":["_mediaTab","_interopRequireDefault","require","_mediaPanel","_hooks"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/index.js"],"sourcesContent":["export { default as MediaTab } from './media-tab';\nexport { MediaCategoryDialog } from './media-panel';\nexport { useMediaCategories } from './hooks';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA"}
1
+ {"version":3,"names":["_mediaTab","_interopRequireDefault","require","_mediaPanel","_hooks"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/index.js"],"sourcesContent":["export { default as MediaTab } from './media-tab';\nexport { MediaCategoryPanel } from './media-panel';\nexport { useMediaCategories } from './hooks';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_mediaPreview","_lockUnlock","CompositeV2","Composite","useCompositeStoreV2","useCompositeStore","unlock","componentsPrivateApis","MediaList","mediaList","category","onClick","label","__","compositeStore","_react","createElement","store","role","className","map","media","index","MediaPreview","key","id","sourceId","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { MediaPreview } from './media-preview';\nimport { unlock } from '../../../lock-unlock';\n\nconst { CompositeV2: Composite, useCompositeStoreV2: useCompositeStore } =\n\tunlock( componentsPrivateApis );\n\nfunction MediaList( {\n\tmediaList,\n\tcategory,\n\tonClick,\n\tlabel = __( 'Media List' ),\n} ) {\n\tconst compositeStore = useCompositeStore();\n\treturn (\n\t\t<Composite\n\t\t\tstore={ compositeStore }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-inserter__media-list\"\n\t\t\taria-label={ label }\n\t\t>\n\t\t\t{ mediaList.map( ( media, index ) => (\n\t\t\t\t<MediaPreview\n\t\t\t\t\tkey={ media.id || media.sourceId || index }\n\t\t\t\t\tmedia={ media }\n\t\t\t\t\tcategory={ category }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport default MediaList;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA,MAAM;EAAEI,WAAW,EAAEC,SAAS;EAAEC,mBAAmB,EAAEC;AAAkB,CAAC,GACvE,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;AAEhC,SAASC,SAASA,CAAE;EACnBC,SAAS;EACTC,QAAQ;EACRC,OAAO;EACPC,KAAK,GAAG,IAAAC,QAAE,EAAE,YAAa;AAC1B,CAAC,EAAG;EACH,MAAMC,cAAc,GAAGT,iBAAiB,CAAC,CAAC;EAC1C,OACC,IAAAU,MAAA,CAAAC,aAAA,EAACb,SAAS;IACTc,KAAK,EAAGH,cAAgB;IACxBI,IAAI,EAAC,SAAS;IACdC,SAAS,EAAC,mCAAmC;IAC7C,cAAaP;EAAO,GAElBH,SAAS,CAACW,GAAG,CAAE,CAAEC,KAAK,EAAEC,KAAK,KAC9B,IAAAP,MAAA,CAAAC,aAAA,EAAChB,aAAA,CAAAuB,YAAY;IACZC,GAAG,EAAGH,KAAK,CAACI,EAAE,IAAIJ,KAAK,CAACK,QAAQ,IAAIJ,KAAO;IAC3CD,KAAK,EAAGA,KAAO;IACfX,QAAQ,EAAGA,QAAU;IACrBC,OAAO,EAAGA;EAAS,CACnB,CACA,CACQ,CAAC;AAEd;AAAC,IAAAgB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcrB,SAAS"}
1
+ {"version":3,"names":["_components","require","_i18n","_mediaPreview","_lockUnlock","CompositeV2","Composite","useCompositeStoreV2","useCompositeStore","unlock","componentsPrivateApis","MediaList","mediaList","category","onClick","label","__","compositeStore","_react","createElement","store","role","className","map","media","index","MediaPreview","key","id","sourceId","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { MediaPreview } from './media-preview';\nimport { unlock } from '../../../lock-unlock';\n\nconst { CompositeV2: Composite, useCompositeStoreV2: useCompositeStore } =\n\tunlock( componentsPrivateApis );\n\nfunction MediaList( {\n\tmediaList,\n\tcategory,\n\tonClick,\n\tlabel = __( 'Media List' ),\n} ) {\n\tconst compositeStore = useCompositeStore();\n\treturn (\n\t\t<Composite\n\t\t\tstore={ compositeStore }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-inserter__media-list\"\n\t\t\taria-label={ label }\n\t\t>\n\t\t\t{ mediaList.map( ( media, index ) => (\n\t\t\t\t<MediaPreview\n\t\t\t\t\tkey={ media.id || media.sourceId || index }\n\t\t\t\t\tmedia={ media }\n\t\t\t\t\tcategory={ category }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport default MediaList;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA,MAAM;EAAEI,WAAW,EAAEC,SAAS;EAAEC,mBAAmB,EAAEC;AAAkB,CAAC,GACvE,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;AAEhC,SAASC,SAASA,CAAE;EACnBC,SAAS;EACTC,QAAQ;EACRC,OAAO;EACPC,KAAK,GAAG,IAAAC,QAAE,EAAE,YAAa;AAC1B,CAAC,EAAG;EACH,MAAMC,cAAc,GAAGT,iBAAiB,CAAC,CAAC;EAC1C,OACC,IAAAU,MAAA,CAAAC,aAAA,EAACb,SAAS;IACTc,KAAK,EAAGH,cAAgB;IACxBI,IAAI,EAAC,SAAS;IACdC,SAAS,EAAC,mCAAmC;IAC7C,cAAaP;EAAO,GAElBH,SAAS,CAACW,GAAG,CAAE,CAAEC,KAAK,EAAEC,KAAK,KAC9B,IAAAP,MAAA,CAAAC,aAAA,EAAChB,aAAA,CAAAuB,YAAY;IACZC,GAAG,EAAGH,KAAK,CAACI,EAAE,IAAIJ,KAAK,CAACK,QAAQ,IAAIJ,KAAO;IAC3CD,KAAK,EAAGA,KAAO;IACfX,QAAQ,EAAGA,QAAU;IACrBC,OAAO,EAAGA;EAAS,CACnB,CACA,CACQ,CAAC;AAEd;AAAC,IAAAgB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcrB,SAAS","ignoreList":[]}
@@ -4,12 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.MediaCategoryDialog = MediaCategoryDialog;
8
7
  exports.MediaCategoryPanel = MediaCategoryPanel;
9
8
  var _react = require("react");
10
- var _element = require("@wordpress/element");
11
9
  var _components = require("@wordpress/components");
12
- var _dom = require("@wordpress/dom");
13
10
  var _i18n = require("@wordpress/i18n");
14
11
  var _compose = require("@wordpress/compose");
15
12
  var _mediaList = _interopRequireDefault(require("./media-list"));
@@ -24,28 +21,6 @@ var _noResults = _interopRequireDefault(require("../no-results"));
24
21
  */
25
22
 
26
23
  const INITIAL_MEDIA_ITEMS_PER_PAGE = 10;
27
- function MediaCategoryDialog({
28
- rootClientId,
29
- onInsert,
30
- category
31
- }) {
32
- const container = (0, _element.useRef)();
33
- (0, _element.useEffect)(() => {
34
- const timeout = setTimeout(() => {
35
- const [firstTabbable] = _dom.focus.tabbable.find(container.current);
36
- firstTabbable?.focus();
37
- });
38
- return () => clearTimeout(timeout);
39
- }, [category]);
40
- return (0, _react.createElement)("div", {
41
- ref: container,
42
- className: "block-editor-inserter__media-dialog"
43
- }, (0, _react.createElement)(MediaCategoryPanel, {
44
- rootClientId: rootClientId,
45
- onInsert: onInsert,
46
- category: category
47
- }));
48
- }
49
24
  function MediaCategoryPanel({
50
25
  rootClientId,
51
26
  onInsert,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_components","_dom","_i18n","_compose","_mediaList","_interopRequireDefault","_hooks","_noResults","INITIAL_MEDIA_ITEMS_PER_PAGE","MediaCategoryDialog","rootClientId","onInsert","category","container","useRef","useEffect","timeout","setTimeout","firstTabbable","focus","tabbable","find","current","clearTimeout","_react","createElement","ref","className","MediaCategoryPanel","search","setSearch","debouncedSearch","useDebouncedInput","mediaList","isLoading","useMediaResults","per_page","baseCssClass","searchLabel","labels","search_items","__","SearchControl","onChange","value","label","placeholder","Spinner","length","default","onClick"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef, useEffect } from '@wordpress/element';\nimport { Spinner, SearchControl } from '@wordpress/components';\nimport { focus } from '@wordpress/dom';\nimport { __ } from '@wordpress/i18n';\nimport { useDebouncedInput } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport MediaList from './media-list';\nimport { useMediaResults } from './hooks';\nimport InserterNoResults from '../no-results';\n\nconst INITIAL_MEDIA_ITEMS_PER_PAGE = 10;\n\nexport function MediaCategoryDialog( { rootClientId, onInsert, category } ) {\n\tconst container = useRef();\n\tuseEffect( () => {\n\t\tconst timeout = setTimeout( () => {\n\t\t\tconst [ firstTabbable ] = focus.tabbable.find( container.current );\n\t\t\tfirstTabbable?.focus();\n\t\t} );\n\t\treturn () => clearTimeout( timeout );\n\t}, [ category ] );\n\treturn (\n\t\t<div ref={ container } className=\"block-editor-inserter__media-dialog\">\n\t\t\t<MediaCategoryPanel\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t\tcategory={ category }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport function MediaCategoryPanel( { rootClientId, onInsert, category } ) {\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst { mediaList, isLoading } = useMediaResults( category, {\n\t\tper_page: !! debouncedSearch ? 20 : INITIAL_MEDIA_ITEMS_PER_PAGE,\n\t\tsearch: debouncedSearch,\n\t} );\n\tconst baseCssClass = 'block-editor-inserter__media-panel';\n\tconst searchLabel = category.labels.search_items || __( 'Search' );\n\treturn (\n\t\t<div className={ baseCssClass }>\n\t\t\t<SearchControl\n\t\t\t\tclassName={ `${ baseCssClass }-search` }\n\t\t\t\tonChange={ setSearch }\n\t\t\t\tvalue={ search }\n\t\t\t\tlabel={ searchLabel }\n\t\t\t\tplaceholder={ searchLabel }\n\t\t\t/>\n\t\t\t{ isLoading && (\n\t\t\t\t<div className={ `${ baseCssClass }-spinner` }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! isLoading && ! mediaList?.length && <InserterNoResults /> }\n\t\t\t{ ! isLoading && !! mediaList?.length && (\n\t\t\t\t<MediaList\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tonClick={ onInsert }\n\t\t\t\t\tmediaList={ mediaList }\n\t\t\t\t\tcategory={ category }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","_i18n","_compose","_mediaList","_interopRequireDefault","_hooks","_noResults","INITIAL_MEDIA_ITEMS_PER_PAGE","MediaCategoryPanel","rootClientId","onInsert","category","search","setSearch","debouncedSearch","useDebouncedInput","mediaList","isLoading","useMediaResults","per_page","baseCssClass","searchLabel","labels","search_items","__","_react","createElement","className","SearchControl","onChange","value","label","placeholder","Spinner","length","default","onClick"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Spinner, SearchControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDebouncedInput } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport MediaList from './media-list';\nimport { useMediaResults } from './hooks';\nimport InserterNoResults from '../no-results';\n\nconst INITIAL_MEDIA_ITEMS_PER_PAGE = 10;\n\nexport function MediaCategoryPanel( { rootClientId, onInsert, category } ) {\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst { mediaList, isLoading } = useMediaResults( category, {\n\t\tper_page: !! debouncedSearch ? 20 : INITIAL_MEDIA_ITEMS_PER_PAGE,\n\t\tsearch: debouncedSearch,\n\t} );\n\tconst baseCssClass = 'block-editor-inserter__media-panel';\n\tconst searchLabel = category.labels.search_items || __( 'Search' );\n\treturn (\n\t\t<div className={ baseCssClass }>\n\t\t\t<SearchControl\n\t\t\t\tclassName={ `${ baseCssClass }-search` }\n\t\t\t\tonChange={ setSearch }\n\t\t\t\tvalue={ search }\n\t\t\t\tlabel={ searchLabel }\n\t\t\t\tplaceholder={ searchLabel }\n\t\t\t/>\n\t\t\t{ isLoading && (\n\t\t\t\t<div className={ `${ baseCssClass }-spinner` }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! isLoading && ! mediaList?.length && <InserterNoResults /> }\n\t\t\t{ ! isLoading && !! mediaList?.length && (\n\t\t\t\t<MediaList\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tonClick={ onInsert }\n\t\t\t\t\tmediaList={ mediaList }\n\t\t\t\t\tcategory={ category }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAF,sBAAA,CAAAJ,OAAA;AAZA;AACA;AACA;;AAKA;AACA;AACA;;AAKA,MAAMO,4BAA4B,GAAG,EAAE;AAEhC,SAASC,kBAAkBA,CAAE;EAAEC,YAAY;EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAG;EAC1E,MAAM,CAAEC,MAAM,EAAEC,SAAS,EAAEC,eAAe,CAAE,GAAG,IAAAC,0BAAiB,EAAC,CAAC;EAClE,MAAM;IAAEC,SAAS;IAAEC;EAAU,CAAC,GAAG,IAAAC,sBAAe,EAAEP,QAAQ,EAAE;IAC3DQ,QAAQ,EAAE,CAAC,CAAEL,eAAe,GAAG,EAAE,GAAGP,4BAA4B;IAChEK,MAAM,EAAEE;EACT,CAAE,CAAC;EACH,MAAMM,YAAY,GAAG,oCAAoC;EACzD,MAAMC,WAAW,GAAGV,QAAQ,CAACW,MAAM,CAACC,YAAY,IAAI,IAAAC,QAAE,EAAE,QAAS,CAAC;EAClE,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAGP;EAAc,GAC9B,IAAAK,MAAA,CAAAC,aAAA,EAAC3B,WAAA,CAAA6B,aAAa;IACbD,SAAS,EAAI,GAAGP,YAAc,SAAU;IACxCS,QAAQ,EAAGhB,SAAW;IACtBiB,KAAK,EAAGlB,MAAQ;IAChBmB,KAAK,EAAGV,WAAa;IACrBW,WAAW,EAAGX;EAAa,CAC3B,CAAC,EACAJ,SAAS,IACV,IAAAQ,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAI,GAAGP,YAAc;EAAW,GAC7C,IAAAK,MAAA,CAAAC,aAAA,EAAC3B,WAAA,CAAAkC,OAAO,MAAE,CACN,CACL,EACC,CAAEhB,SAAS,IAAI,CAAED,SAAS,EAAEkB,MAAM,IAAI,IAAAT,MAAA,CAAAC,aAAA,EAACpB,UAAA,CAAA6B,OAAiB,MAAE,CAAC,EAC3D,CAAElB,SAAS,IAAI,CAAC,CAAED,SAAS,EAAEkB,MAAM,IACpC,IAAAT,MAAA,CAAAC,aAAA,EAACvB,UAAA,CAAAgC,OAAS;IACT1B,YAAY,EAAGA,YAAc;IAC7B2B,OAAO,EAAG1B,QAAU;IACpBM,SAAS,EAAGA,SAAW;IACvBL,QAAQ,EAAGA;EAAU,CACrB,CAEE,CAAC;AAER","ignoreList":[]}
@@ -94,18 +94,28 @@ function MediaPreview({
94
94
  createErrorNotice,
95
95
  createSuccessNotice
96
96
  } = (0, _data.useDispatch)(_notices.store);
97
- const mediaUpload = (0, _data.useSelect)(select => select(_store.store).getSettings().mediaUpload, []);
97
+ const {
98
+ getSettings
99
+ } = (0, _data.useSelect)(_store.store);
98
100
  const onMediaInsert = (0, _element.useCallback)(previewBlock => {
99
101
  // Prevent multiple uploads when we're in the process of inserting.
100
102
  if (isInserting) {
101
103
  return;
102
104
  }
105
+ const settings = getSettings();
103
106
  const clonedBlock = (0, _blocks.cloneBlock)(previewBlock);
104
107
  const {
105
108
  id,
106
109
  url,
107
110
  caption
108
111
  } = clonedBlock.attributes;
112
+
113
+ // User has no permission to upload media.
114
+ if (!id && !settings.mediaUpload) {
115
+ setShowExternalUploadModal(true);
116
+ return;
117
+ }
118
+
109
119
  // Media item already exists in library, so just insert it.
110
120
  if (!!id) {
111
121
  onClick(clonedBlock);
@@ -118,7 +128,7 @@ function MediaPreview({
118
128
  // If this happens, we insert the image block using the external
119
129
  // URL and let the user know about the possible implications.
120
130
  window.fetch(url).then(response => response.blob()).then(blob => {
121
- mediaUpload({
131
+ settings.mediaUpload({
122
132
  filesList: [blob],
123
133
  additionalData: {
124
134
  caption
@@ -152,7 +162,7 @@ function MediaPreview({
152
162
  setShowExternalUploadModal(true);
153
163
  setIsInserting(false);
154
164
  });
155
- }, [isInserting, onClick, mediaUpload, createErrorNotice, createSuccessNotice]);
165
+ }, [isInserting, getSettings, onClick, createSuccessNotice, createErrorNotice]);
156
166
  const title = typeof media.title === 'string' ? media.title : media.title?.rendered || (0, _i18n.__)('no title');
157
167
  let truncatedTitle;
158
168
  if (title.length > MAXIMUM_TITLE_LENGTH) {
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_element","_blocks","_icons","_data","_notices","_blob","_inserterDraggableBlocks","_utils","_store","_lockUnlock","ALLOWED_MEDIA_TYPES","MAXIMUM_TITLE_LENGTH","MEDIA_OPTIONS_POPOVER_PROPS","position","className","CompositeItemV2","CompositeItem","unlock","componentsPrivateApis","MediaPreviewOptions","category","media","getReportUrl","reportUrl","_react","createElement","DropdownMenu","label","__","popoverProps","icon","moreVertical","MenuGroup","MenuItem","onClick","window","open","focus","external","sprintf","mediaType","InsertExternalImageModal","onClose","onSubmit","Modal","title","onRequestClose","__experimentalVStack","spacing","Flex","justify","expanded","FlexItem","Button","variant","MediaPreview","showExternalUploadModal","setShowExternalUploadModal","useState","isHovered","setIsHovered","isInserting","setIsInserting","block","preview","useMemo","getBlockAndPreviewFromMedia","createErrorNotice","createSuccessNotice","useDispatch","noticesStore","mediaUpload","useSelect","select","blockEditorStore","getSettings","onMediaInsert","useCallback","previewBlock","clonedBlock","cloneBlock","id","url","caption","attributes","fetch","then","response","blob","filesList","additionalData","onFileChange","img","isBlobURL","type","allowedTypes","onError","message","catch","rendered","truncatedTitle","length","omission","slice","onMouseEnter","onMouseLeave","Fragment","default","isEnabled","blocks","draggable","onDragStart","onDragEnd","classnames","Tooltip","text","render","role","Spinner"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-preview.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tTooltip,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tSpinner,\n\tModal,\n\tFlex,\n\tFlexItem,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useCallback, useState } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\nimport { moreVertical, external } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport InserterDraggableBlocks from '../../inserter-draggable-blocks';\nimport { getBlockAndPreviewFromMedia } from './utils';\nimport { store as blockEditorStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst MAXIMUM_TITLE_LENGTH = 25;\nconst MEDIA_OPTIONS_POPOVER_PROPS = {\n\tposition: 'bottom left',\n\tclassName:\n\t\t'block-editor-inserter__media-list__item-preview-options__popover',\n};\n\nconst { CompositeItemV2: CompositeItem } = unlock( componentsPrivateApis );\n\nfunction MediaPreviewOptions( { category, media } ) {\n\tif ( ! category.getReportUrl ) {\n\t\treturn null;\n\t}\n\tconst reportUrl = category.getReportUrl( media );\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"block-editor-inserter__media-list__item-preview-options\"\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tpopoverProps={ MEDIA_OPTIONS_POPOVER_PROPS }\n\t\t\ticon={ moreVertical }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\twindow.open( reportUrl, '_blank' ).focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: The media type to report e.g: \"image\", \"video\", \"audio\" */\n\t\t\t\t\t\t\t__( 'Report %s' ),\n\t\t\t\t\t\t\tcategory.mediaType\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction InsertExternalImageModal( { onClose, onSubmit } ) {\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Insert external image' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tclassName=\"block-editor-inserter-media-tab-media-preview-inserter-external-image-modal\"\n\t\t>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'This image cannot be uploaded to your Media Library, but it can still be inserted as an external image.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'External images can be removed by the external provider without warning and could even have legal compliance issues related to privacy legislation.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</VStack>\n\t\t\t<Flex\n\t\t\t\tclassName=\"block-editor-block-lock-modal__actions\"\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\texpanded={ false }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"primary\" onClick={ onSubmit }>\n\t\t\t\t\t\t{ __( 'Insert' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n}\n\nexport function MediaPreview( { media, onClick, category } ) {\n\tconst [ showExternalUploadModal, setShowExternalUploadModal ] =\n\t\tuseState( false );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ isInserting, setIsInserting ] = useState( false );\n\tconst [ block, preview ] = useMemo(\n\t\t() => getBlockAndPreviewFromMedia( media, category.mediaType ),\n\t\t[ media, category.mediaType ]\n\t);\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\tconst onMediaInsert = useCallback(\n\t\t( previewBlock ) => {\n\t\t\t// Prevent multiple uploads when we're in the process of inserting.\n\t\t\tif ( isInserting ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst clonedBlock = cloneBlock( previewBlock );\n\t\t\tconst { id, url, caption } = clonedBlock.attributes;\n\t\t\t// Media item already exists in library, so just insert it.\n\t\t\tif ( !! id ) {\n\t\t\t\tonClick( clonedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsInserting( true );\n\t\t\t// Media item does not exist in library, so try to upload it.\n\t\t\t// Fist fetch the image data. This may fail if the image host\n\t\t\t// doesn't allow CORS with the domain.\n\t\t\t// If this happens, we insert the image block using the external\n\t\t\t// URL and let the user know about the possible implications.\n\t\t\twindow\n\t\t\t\t.fetch( url )\n\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t.then( ( blob ) => {\n\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\tadditionalData: { caption },\n\t\t\t\t\t\tonFileChange( [ img ] ) {\n\t\t\t\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick( {\n\t\t\t\t\t\t\t\t...clonedBlock,\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\t...clonedBlock.attributes,\n\t\t\t\t\t\t\t\t\tid: img.id,\n\t\t\t\t\t\t\t\t\turl: img.url,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t__( 'Image uploaded and inserted.' ),\n\t\t\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t\t.catch( () => {\n\t\t\t\t\tsetShowExternalUploadModal( true );\n\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t} );\n\t\t},\n\t\t[\n\t\t\tisInserting,\n\t\t\tonClick,\n\t\t\tmediaUpload,\n\t\t\tcreateErrorNotice,\n\t\t\tcreateSuccessNotice,\n\t\t]\n\t);\n\n\tconst title =\n\t\ttypeof media.title === 'string'\n\t\t\t? media.title\n\t\t\t: media.title?.rendered || __( 'no title' );\n\n\tlet truncatedTitle;\n\tif ( title.length > MAXIMUM_TITLE_LENGTH ) {\n\t\tconst omission = '...';\n\t\ttruncatedTitle =\n\t\t\ttitle.slice( 0, MAXIMUM_TITLE_LENGTH - omission.length ) + omission;\n\t}\n\tconst onMouseEnter = useCallback( () => setIsHovered( true ), [] );\n\tconst onMouseLeave = useCallback( () => setIsHovered( false ), [] );\n\treturn (\n\t\t<>\n\t\t\t<InserterDraggableBlocks isEnabled blocks={ [ block ] }>\n\t\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-inserter__media-list__list-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\t\tonDragStart={ onDragStart }\n\t\t\t\t\t\tonDragEnd={ onDragEnd }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ /* Adding `is-hovered` class to the wrapper element is needed\n\t\t\t\t\t\tbecause the options Popover is rendered outside of this node. */ }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\t\t\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip text={ truncatedTitle || title }>\n\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-list__item\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => onMediaInsert( block ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview\">\n\t\t\t\t\t\t\t\t\t\t{ preview }\n\t\t\t\t\t\t\t\t\t\t{ isInserting && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview-spinner\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t{ ! isInserting && (\n\t\t\t\t\t\t\t\t<MediaPreviewOptions\n\t\t\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t\t\t\tmedia={ media }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</InserterDraggableBlocks>\n\t\t\t{ showExternalUploadModal && (\n\t\t\t\t<InsertExternalImageModal\n\t\t\t\t\tonClose={ () => setShowExternalUploadModal( false ) }\n\t\t\t\t\tonSubmit={ () => {\n\t\t\t\t\t\tonClick( cloneBlock( block ) );\n\t\t\t\t\t\tcreateSuccessNotice( __( 'Image inserted.' ), {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetShowExternalUploadModal( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_element","_blocks","_icons","_data","_notices","_blob","_inserterDraggableBlocks","_utils","_store","_lockUnlock","ALLOWED_MEDIA_TYPES","MAXIMUM_TITLE_LENGTH","MEDIA_OPTIONS_POPOVER_PROPS","position","className","CompositeItemV2","CompositeItem","unlock","componentsPrivateApis","MediaPreviewOptions","category","media","getReportUrl","reportUrl","_react","createElement","DropdownMenu","label","__","popoverProps","icon","moreVertical","MenuGroup","MenuItem","onClick","window","open","focus","external","sprintf","mediaType","InsertExternalImageModal","onClose","onSubmit","Modal","title","onRequestClose","__experimentalVStack","spacing","Flex","justify","expanded","FlexItem","Button","variant","MediaPreview","showExternalUploadModal","setShowExternalUploadModal","useState","isHovered","setIsHovered","isInserting","setIsInserting","block","preview","useMemo","getBlockAndPreviewFromMedia","createErrorNotice","createSuccessNotice","useDispatch","noticesStore","getSettings","useSelect","blockEditorStore","onMediaInsert","useCallback","previewBlock","settings","clonedBlock","cloneBlock","id","url","caption","attributes","mediaUpload","fetch","then","response","blob","filesList","additionalData","onFileChange","img","isBlobURL","type","allowedTypes","onError","message","catch","rendered","truncatedTitle","length","omission","slice","onMouseEnter","onMouseLeave","Fragment","default","isEnabled","blocks","draggable","onDragStart","onDragEnd","classnames","Tooltip","text","render","role","Spinner"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-preview.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tTooltip,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tSpinner,\n\tModal,\n\tFlex,\n\tFlexItem,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useCallback, useState } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\nimport { moreVertical, external } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport InserterDraggableBlocks from '../../inserter-draggable-blocks';\nimport { getBlockAndPreviewFromMedia } from './utils';\nimport { store as blockEditorStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst MAXIMUM_TITLE_LENGTH = 25;\nconst MEDIA_OPTIONS_POPOVER_PROPS = {\n\tposition: 'bottom left',\n\tclassName:\n\t\t'block-editor-inserter__media-list__item-preview-options__popover',\n};\n\nconst { CompositeItemV2: CompositeItem } = unlock( componentsPrivateApis );\n\nfunction MediaPreviewOptions( { category, media } ) {\n\tif ( ! category.getReportUrl ) {\n\t\treturn null;\n\t}\n\tconst reportUrl = category.getReportUrl( media );\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"block-editor-inserter__media-list__item-preview-options\"\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tpopoverProps={ MEDIA_OPTIONS_POPOVER_PROPS }\n\t\t\ticon={ moreVertical }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\twindow.open( reportUrl, '_blank' ).focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: The media type to report e.g: \"image\", \"video\", \"audio\" */\n\t\t\t\t\t\t\t__( 'Report %s' ),\n\t\t\t\t\t\t\tcategory.mediaType\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction InsertExternalImageModal( { onClose, onSubmit } ) {\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Insert external image' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tclassName=\"block-editor-inserter-media-tab-media-preview-inserter-external-image-modal\"\n\t\t>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'This image cannot be uploaded to your Media Library, but it can still be inserted as an external image.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'External images can be removed by the external provider without warning and could even have legal compliance issues related to privacy legislation.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</VStack>\n\t\t\t<Flex\n\t\t\t\tclassName=\"block-editor-block-lock-modal__actions\"\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\texpanded={ false }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"primary\" onClick={ onSubmit }>\n\t\t\t\t\t\t{ __( 'Insert' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n}\n\nexport function MediaPreview( { media, onClick, category } ) {\n\tconst [ showExternalUploadModal, setShowExternalUploadModal ] =\n\t\tuseState( false );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ isInserting, setIsInserting ] = useState( false );\n\tconst [ block, preview ] = useMemo(\n\t\t() => getBlockAndPreviewFromMedia( media, category.mediaType ),\n\t\t[ media, category.mediaType ]\n\t);\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tconst onMediaInsert = useCallback(\n\t\t( previewBlock ) => {\n\t\t\t// Prevent multiple uploads when we're in the process of inserting.\n\t\t\tif ( isInserting ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst settings = getSettings();\n\t\t\tconst clonedBlock = cloneBlock( previewBlock );\n\t\t\tconst { id, url, caption } = clonedBlock.attributes;\n\n\t\t\t// User has no permission to upload media.\n\t\t\tif ( ! id && ! settings.mediaUpload ) {\n\t\t\t\tsetShowExternalUploadModal( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Media item already exists in library, so just insert it.\n\t\t\tif ( !! id ) {\n\t\t\t\tonClick( clonedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetIsInserting( true );\n\t\t\t// Media item does not exist in library, so try to upload it.\n\t\t\t// Fist fetch the image data. This may fail if the image host\n\t\t\t// doesn't allow CORS with the domain.\n\t\t\t// If this happens, we insert the image block using the external\n\t\t\t// URL and let the user know about the possible implications.\n\t\t\twindow\n\t\t\t\t.fetch( url )\n\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t.then( ( blob ) => {\n\t\t\t\t\tsettings.mediaUpload( {\n\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\tadditionalData: { caption },\n\t\t\t\t\t\tonFileChange( [ img ] ) {\n\t\t\t\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick( {\n\t\t\t\t\t\t\t\t...clonedBlock,\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\t...clonedBlock.attributes,\n\t\t\t\t\t\t\t\t\tid: img.id,\n\t\t\t\t\t\t\t\t\turl: img.url,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t__( 'Image uploaded and inserted.' ),\n\t\t\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t\t.catch( () => {\n\t\t\t\t\tsetShowExternalUploadModal( true );\n\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t} );\n\t\t},\n\t\t[\n\t\t\tisInserting,\n\t\t\tgetSettings,\n\t\t\tonClick,\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateErrorNotice,\n\t\t]\n\t);\n\n\tconst title =\n\t\ttypeof media.title === 'string'\n\t\t\t? media.title\n\t\t\t: media.title?.rendered || __( 'no title' );\n\n\tlet truncatedTitle;\n\tif ( title.length > MAXIMUM_TITLE_LENGTH ) {\n\t\tconst omission = '...';\n\t\ttruncatedTitle =\n\t\t\ttitle.slice( 0, MAXIMUM_TITLE_LENGTH - omission.length ) + omission;\n\t}\n\tconst onMouseEnter = useCallback( () => setIsHovered( true ), [] );\n\tconst onMouseLeave = useCallback( () => setIsHovered( false ), [] );\n\treturn (\n\t\t<>\n\t\t\t<InserterDraggableBlocks isEnabled blocks={ [ block ] }>\n\t\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-inserter__media-list__list-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\t\tonDragStart={ onDragStart }\n\t\t\t\t\t\tonDragEnd={ onDragEnd }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ /* Adding `is-hovered` class to the wrapper element is needed\n\t\t\t\t\t\tbecause the options Popover is rendered outside of this node. */ }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\t\t\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip text={ truncatedTitle || title }>\n\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-list__item\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => onMediaInsert( block ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview\">\n\t\t\t\t\t\t\t\t\t\t{ preview }\n\t\t\t\t\t\t\t\t\t\t{ isInserting && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview-spinner\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t{ ! isInserting && (\n\t\t\t\t\t\t\t\t<MediaPreviewOptions\n\t\t\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t\t\t\tmedia={ media }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</InserterDraggableBlocks>\n\t\t\t{ showExternalUploadModal && (\n\t\t\t\t<InsertExternalImageModal\n\t\t\t\t\tonClose={ () => setShowExternalUploadModal( false ) }\n\t\t\t\t\tonSubmit={ () => {\n\t\t\t\t\t\tonClick( cloneBlock( block ) );\n\t\t\t\t\t\tcreateSuccessNotice( __( 'Image inserted.' ), {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetShowExternalUploadModal( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,22 +6,18 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _react = require("react");
9
- var _classnames = _interopRequireDefault(require("classnames"));
10
9
  var _i18n = require("@wordpress/i18n");
11
10
  var _compose = require("@wordpress/compose");
12
11
  var _components = require("@wordpress/components");
13
12
  var _element = require("@wordpress/element");
14
- var _icons = require("@wordpress/icons");
15
13
  var _mediaPanel = require("./media-panel");
16
14
  var _check = _interopRequireDefault(require("../../media-upload/check"));
17
15
  var _mediaUpload = _interopRequireDefault(require("../../media-upload"));
18
16
  var _hooks = require("./hooks");
19
17
  var _utils = require("./utils");
20
18
  var _mobileTabNavigation = _interopRequireDefault(require("../mobile-tab-navigation"));
21
- /**
22
- * External dependencies
23
- */
24
-
19
+ var _categoryTabs = _interopRequireDefault(require("../category-tabs"));
20
+ var _noResults = _interopRequireDefault(require("../no-results"));
25
21
  /**
26
22
  * WordPress dependencies
27
23
  */
@@ -35,7 +31,8 @@ function MediaTab({
35
31
  rootClientId,
36
32
  selectedCategory,
37
33
  onSelectCategory,
38
- onInsert
34
+ onInsert,
35
+ children
39
36
  }) {
40
37
  const mediaCategories = (0, _hooks.useMediaCategories)(rootClientId);
41
38
  const isMobile = (0, _compose.useViewportMatch)('medium', '<');
@@ -47,31 +44,20 @@ function MediaTab({
47
44
  const [block] = (0, _utils.getBlockAndPreviewFromMedia)(media, media.type);
48
45
  onInsert(block);
49
46
  }, [onInsert]);
50
- const mobileMediaCategories = (0, _element.useMemo)(() => mediaCategories.map(mediaCategory => ({
47
+ const categories = (0, _element.useMemo)(() => mediaCategories.map(mediaCategory => ({
51
48
  ...mediaCategory,
52
49
  label: mediaCategory.labels.name
53
50
  })), [mediaCategories]);
51
+ if (!categories.length) {
52
+ return (0, _react.createElement)(_noResults.default, null);
53
+ }
54
54
  return (0, _react.createElement)(_react.Fragment, null, !isMobile && (0, _react.createElement)("div", {
55
55
  className: `${baseCssClass}-container`
56
- }, (0, _react.createElement)("nav", {
57
- "aria-label": (0, _i18n.__)('Media categories')
58
- }, (0, _react.createElement)(_components.__experimentalItemGroup, {
59
- role: "list",
60
- className: baseCssClass
61
- }, mediaCategories.map(mediaCategory => (0, _react.createElement)(_components.__experimentalItem, {
62
- role: "listitem",
63
- key: mediaCategory.name,
64
- onClick: () => onSelectCategory(mediaCategory),
65
- className: (0, _classnames.default)(`${baseCssClass}__media-category`, {
66
- 'is-selected': selectedCategory === mediaCategory
67
- }),
68
- "aria-label": mediaCategory.labels.name,
69
- "aria-current": mediaCategory === selectedCategory ? 'true' : undefined
70
- }, (0, _react.createElement)(_components.__experimentalHStack, null, (0, _react.createElement)(_components.FlexBlock, null, mediaCategory.labels.name), (0, _react.createElement)(_icons.Icon, {
71
- icon: (0, _i18n.isRTL)() ? _icons.chevronLeft : _icons.chevronRight
72
- })))), (0, _react.createElement)("div", {
73
- role: "listitem"
74
- }, (0, _react.createElement)(_check.default, null, (0, _react.createElement)(_mediaUpload.default, {
56
+ }, (0, _react.createElement)(_categoryTabs.default, {
57
+ categories: categories,
58
+ selectedCategory: selectedCategory,
59
+ onSelectCategory: onSelectCategory
60
+ }, children), (0, _react.createElement)(_check.default, null, (0, _react.createElement)(_mediaUpload.default, {
75
61
  multiple: false,
76
62
  onSelect: onSelectMedia,
77
63
  allowedTypes: ALLOWED_MEDIA_TYPES,
@@ -92,8 +78,8 @@ function MediaTab({
92
78
  variant: "secondary",
93
79
  "data-unstable-ignore-focus-outside-for-relatedtarget": ".media-modal"
94
80
  }, (0, _i18n.__)('Open Media Library'))
95
- })))))), isMobile && (0, _react.createElement)(_mobileTabNavigation.default, {
96
- categories: mobileMediaCategories
81
+ }))), isMobile && (0, _react.createElement)(_mobileTabNavigation.default, {
82
+ categories: categories
97
83
  }, category => (0, _react.createElement)(_mediaPanel.MediaCategoryPanel, {
98
84
  onInsert: onInsert,
99
85
  rootClientId: rootClientId,
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_compose","_components","_element","_icons","_mediaPanel","_check","_mediaUpload","_hooks","_utils","_mobileTabNavigation","ALLOWED_MEDIA_TYPES","MediaTab","rootClientId","selectedCategory","onSelectCategory","onInsert","mediaCategories","useMediaCategories","isMobile","useViewportMatch","baseCssClass","onSelectMedia","useCallback","media","url","block","getBlockAndPreviewFromMedia","type","mobileMediaCategories","useMemo","map","mediaCategory","label","labels","name","_react","createElement","Fragment","className","__","__experimentalItemGroup","role","__experimentalItem","key","onClick","classNames","undefined","__experimentalHStack","FlexBlock","Icon","icon","isRTL","chevronLeft","chevronRight","default","multiple","onSelect","allowedTypes","render","open","Button","event","target","focus","variant","categories","category","MediaCategoryPanel","_default","exports"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-tab.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHStack as HStack,\n\tFlexBlock,\n\tButton,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { Icon, chevronRight, chevronLeft } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { MediaCategoryPanel } from './media-panel';\nimport MediaUploadCheck from '../../media-upload/check';\nimport MediaUpload from '../../media-upload';\nimport { useMediaCategories } from './hooks';\nimport { getBlockAndPreviewFromMedia } from './utils';\nimport MobileTabNavigation from '../mobile-tab-navigation';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video', 'audio' ];\n\nfunction MediaTab( {\n\trootClientId,\n\tselectedCategory,\n\tonSelectCategory,\n\tonInsert,\n} ) {\n\tconst mediaCategories = useMediaCategories( rootClientId );\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\tconst baseCssClass = 'block-editor-inserter__media-tabs';\n\tconst onSelectMedia = useCallback(\n\t\t( media ) => {\n\t\t\tif ( ! media?.url ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst [ block ] = getBlockAndPreviewFromMedia( media, media.type );\n\t\t\tonInsert( block );\n\t\t},\n\t\t[ onInsert ]\n\t);\n\tconst mobileMediaCategories = useMemo(\n\t\t() =>\n\t\t\tmediaCategories.map( ( mediaCategory ) => ( {\n\t\t\t\t...mediaCategory,\n\t\t\t\tlabel: mediaCategory.labels.name,\n\t\t\t} ) ),\n\t\t[ mediaCategories ]\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ ! isMobile && (\n\t\t\t\t<div className={ `${ baseCssClass }-container` }>\n\t\t\t\t\t<nav aria-label={ __( 'Media categories' ) }>\n\t\t\t\t\t\t<ItemGroup role=\"list\" className={ baseCssClass }>\n\t\t\t\t\t\t\t{ mediaCategories.map( ( mediaCategory ) => (\n\t\t\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\t\t\trole=\"listitem\"\n\t\t\t\t\t\t\t\t\tkey={ mediaCategory.name }\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tonSelectCategory( mediaCategory )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName={ classNames(\n\t\t\t\t\t\t\t\t\t\t`${ baseCssClass }__media-category`,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-selected':\n\t\t\t\t\t\t\t\t\t\t\t\tselectedCategory ===\n\t\t\t\t\t\t\t\t\t\t\t\tmediaCategory,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\taria-label={ mediaCategory.labels.name }\n\t\t\t\t\t\t\t\t\taria-current={\n\t\t\t\t\t\t\t\t\t\tmediaCategory === selectedCategory\n\t\t\t\t\t\t\t\t\t\t\t? 'true'\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<HStack>\n\t\t\t\t\t\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t\t\t\t\t\t{ mediaCategory.labels.name }\n\t\t\t\t\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\tisRTL()\n\t\t\t\t\t\t\t\t\t\t\t\t\t? chevronLeft\n\t\t\t\t\t\t\t\t\t\t\t\t\t: chevronRight\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</HStack>\n\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t<div role=\"listitem\">\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\t\tmultiple={ false }\n\t\t\t\t\t\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// Safari doesn't emit a focus event on button elements when\n\t\t\t\t\t\t\t\t\t\t\t\t\t// clicked and we need to manually focus the button here.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// The reason is that core's Media Library modal explicitly triggers a\n\t\t\t\t\t\t\t\t\t\t\t\t\t// focus event and therefore a `blur` event is triggered on a different\n\t\t\t\t\t\t\t\t\t\t\t\t\t// element, which doesn't contain the `data-unstable-ignore-focus-outside-for-relatedtarget`\n\t\t\t\t\t\t\t\t\t\t\t\t\t// attribute making the Inserter dialog to close.\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.focus();\n\t\t\t\t\t\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-library-button\"\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\tdata-unstable-ignore-focus-outside-for-relatedtarget=\".media-modal\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</nav>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ isMobile && (\n\t\t\t\t<MobileTabNavigation categories={ mobileMediaCategories }>\n\t\t\t\t\t{ ( category ) => (\n\t\t\t\t\t\t<MediaCategoryPanel\n\t\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</MobileTabNavigation>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default MediaTab;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_i18n","require","_compose","_components","_element","_mediaPanel","_check","_interopRequireDefault","_mediaUpload","_hooks","_utils","_mobileTabNavigation","_categoryTabs","_noResults","ALLOWED_MEDIA_TYPES","MediaTab","rootClientId","selectedCategory","onSelectCategory","onInsert","children","mediaCategories","useMediaCategories","isMobile","useViewportMatch","baseCssClass","onSelectMedia","useCallback","media","url","block","getBlockAndPreviewFromMedia","type","categories","useMemo","map","mediaCategory","label","labels","name","length","_react","createElement","default","Fragment","className","multiple","onSelect","allowedTypes","render","open","Button","onClick","event","target","focus","variant","__","category","MediaCategoryPanel","_default","exports"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-tab.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { Button } from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { MediaCategoryPanel } from './media-panel';\nimport MediaUploadCheck from '../../media-upload/check';\nimport MediaUpload from '../../media-upload';\nimport { useMediaCategories } from './hooks';\nimport { getBlockAndPreviewFromMedia } from './utils';\nimport MobileTabNavigation from '../mobile-tab-navigation';\nimport CategoryTabs from '../category-tabs';\nimport InserterNoResults from '../no-results';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video', 'audio' ];\n\nfunction MediaTab( {\n\trootClientId,\n\tselectedCategory,\n\tonSelectCategory,\n\tonInsert,\n\tchildren,\n} ) {\n\tconst mediaCategories = useMediaCategories( rootClientId );\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\tconst baseCssClass = 'block-editor-inserter__media-tabs';\n\tconst onSelectMedia = useCallback(\n\t\t( media ) => {\n\t\t\tif ( ! media?.url ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst [ block ] = getBlockAndPreviewFromMedia( media, media.type );\n\t\t\tonInsert( block );\n\t\t},\n\t\t[ onInsert ]\n\t);\n\tconst categories = useMemo(\n\t\t() =>\n\t\t\tmediaCategories.map( ( mediaCategory ) => ( {\n\t\t\t\t...mediaCategory,\n\t\t\t\tlabel: mediaCategory.labels.name,\n\t\t\t} ) ),\n\t\t[ mediaCategories ]\n\t);\n\n\tif ( ! categories.length ) {\n\t\treturn <InserterNoResults />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isMobile && (\n\t\t\t\t<div className={ `${ baseCssClass }-container` }>\n\t\t\t\t\t<CategoryTabs\n\t\t\t\t\t\tcategories={ categories }\n\t\t\t\t\t\tselectedCategory={ selectedCategory }\n\t\t\t\t\t\tonSelectCategory={ onSelectCategory }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</CategoryTabs>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\tmultiple={ false }\n\t\t\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t// Safari doesn't emit a focus event on button elements when\n\t\t\t\t\t\t\t\t\t\t// clicked and we need to manually focus the button here.\n\t\t\t\t\t\t\t\t\t\t// The reason is that core's Media Library modal explicitly triggers a\n\t\t\t\t\t\t\t\t\t\t// focus event and therefore a `blur` event is triggered on a different\n\t\t\t\t\t\t\t\t\t\t// element, which doesn't contain the `data-unstable-ignore-focus-outside-for-relatedtarget`\n\t\t\t\t\t\t\t\t\t\t// attribute making the Inserter dialog to close.\n\t\t\t\t\t\t\t\t\t\tevent.target.focus();\n\t\t\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-library-button\"\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tdata-unstable-ignore-focus-outside-for-relatedtarget=\".media-modal\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ isMobile && (\n\t\t\t\t<MobileTabNavigation categories={ categories }>\n\t\t\t\t\t{ ( category ) => (\n\t\t\t\t\t\t<MediaCategoryPanel\n\t\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</MobileTabNavigation>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default MediaTab;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","mediaTypeTag","image","video","audio","getBlockAndPreviewFromMedia","media","mediaType","attributes","id","undefined","caption","mediaSrc","url","alt","includes","src","PreviewTag","preview","_react","createElement","previewUrl","controls","inert","onError","currentTarget","createBlock"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst mediaTypeTag = { image: 'img', video: 'video', audio: 'audio' };\n\n/** @typedef {import('./hooks').InserterMediaItem} InserterMediaItem */\n\n/**\n * Creates a block and a preview element from a media object.\n *\n * @param {InserterMediaItem} media The media object to create the block from.\n * @param {('image'|'audio'|'video')} mediaType The media type to create the block for.\n * @return {[WPBlock, JSX.Element]} An array containing the block and the preview element.\n */\nexport function getBlockAndPreviewFromMedia( media, mediaType ) {\n\t// Add the common attributes between the different media types.\n\tconst attributes = {\n\t\tid: media.id || undefined,\n\t\tcaption: media.caption || undefined,\n\t};\n\tconst mediaSrc = media.url;\n\tconst alt = media.alt || undefined;\n\tif ( mediaType === 'image' ) {\n\t\tattributes.url = mediaSrc;\n\t\tattributes.alt = alt;\n\t} else if ( [ 'video', 'audio' ].includes( mediaType ) ) {\n\t\tattributes.src = mediaSrc;\n\t}\n\tconst PreviewTag = mediaTypeTag[ mediaType ];\n\tconst preview = (\n\t\t<PreviewTag\n\t\t\tsrc={ media.previewUrl || mediaSrc }\n\t\t\talt={ alt }\n\t\t\tcontrols={ mediaType === 'audio' ? true : undefined }\n\t\t\tinert=\"true\"\n\t\t\tonError={ ( { currentTarget } ) => {\n\t\t\t\t// Fall back to the media source if the preview cannot be loaded.\n\t\t\t\tif ( currentTarget.src === media.previewUrl ) {\n\t\t\t\t\tcurrentTarget.src = mediaSrc;\n\t\t\t\t}\n\t\t\t} }\n\t\t/>\n\t);\n\treturn [ createBlock( `core/${ mediaType }`, attributes ), preview ];\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA,MAAMC,YAAY,GAAG;EAAEC,KAAK,EAAE,KAAK;EAAEC,KAAK,EAAE,OAAO;EAAEC,KAAK,EAAE;AAAQ,CAAC;;AAErE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,2BAA2BA,CAAEC,KAAK,EAAEC,SAAS,EAAG;EAC/D;EACA,MAAMC,UAAU,GAAG;IAClBC,EAAE,EAAEH,KAAK,CAACG,EAAE,IAAIC,SAAS;IACzBC,OAAO,EAAEL,KAAK,CAACK,OAAO,IAAID;EAC3B,CAAC;EACD,MAAME,QAAQ,GAAGN,KAAK,CAACO,GAAG;EAC1B,MAAMC,GAAG,GAAGR,KAAK,CAACQ,GAAG,IAAIJ,SAAS;EAClC,IAAKH,SAAS,KAAK,OAAO,EAAG;IAC5BC,UAAU,CAACK,GAAG,GAAGD,QAAQ;IACzBJ,UAAU,CAACM,GAAG,GAAGA,GAAG;EACrB,CAAC,MAAM,IAAK,CAAE,OAAO,EAAE,OAAO,CAAE,CAACC,QAAQ,CAAER,SAAU,CAAC,EAAG;IACxDC,UAAU,CAACQ,GAAG,GAAGJ,QAAQ;EAC1B;EACA,MAAMK,UAAU,GAAGhB,YAAY,CAAEM,SAAS,CAAE;EAC5C,MAAMW,OAAO,GACZ,IAAAC,MAAA,CAAAC,aAAA,EAACH,UAAU;IACVD,GAAG,EAAGV,KAAK,CAACe,UAAU,IAAIT,QAAU;IACpCE,GAAG,EAAGA,GAAK;IACXQ,QAAQ,EAAGf,SAAS,KAAK,OAAO,GAAG,IAAI,GAAGG,SAAW;IACrDa,KAAK,EAAC,MAAM;IACZC,OAAO,EAAGA,CAAE;MAAEC;IAAc,CAAC,KAAM;MAClC;MACA,IAAKA,aAAa,CAACT,GAAG,KAAKV,KAAK,CAACe,UAAU,EAAG;QAC7CI,aAAa,CAACT,GAAG,GAAGJ,QAAQ;MAC7B;IACD;EAAG,CACH,CACD;EACD,OAAO,CAAE,IAAAc,mBAAW,EAAG,QAAQnB,SAAW,EAAC,EAAEC,UAAW,CAAC,EAAEU,OAAO,CAAE;AACrE"}
1
+ {"version":3,"names":["_blocks","require","mediaTypeTag","image","video","audio","getBlockAndPreviewFromMedia","media","mediaType","attributes","id","undefined","caption","mediaSrc","url","alt","includes","src","PreviewTag","preview","_react","createElement","previewUrl","controls","inert","onError","currentTarget","createBlock"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst mediaTypeTag = { image: 'img', video: 'video', audio: 'audio' };\n\n/** @typedef {import('./hooks').InserterMediaItem} InserterMediaItem */\n\n/**\n * Creates a block and a preview element from a media object.\n *\n * @param {InserterMediaItem} media The media object to create the block from.\n * @param {('image'|'audio'|'video')} mediaType The media type to create the block for.\n * @return {[WPBlock, JSX.Element]} An array containing the block and the preview element.\n */\nexport function getBlockAndPreviewFromMedia( media, mediaType ) {\n\t// Add the common attributes between the different media types.\n\tconst attributes = {\n\t\tid: media.id || undefined,\n\t\tcaption: media.caption || undefined,\n\t};\n\tconst mediaSrc = media.url;\n\tconst alt = media.alt || undefined;\n\tif ( mediaType === 'image' ) {\n\t\tattributes.url = mediaSrc;\n\t\tattributes.alt = alt;\n\t} else if ( [ 'video', 'audio' ].includes( mediaType ) ) {\n\t\tattributes.src = mediaSrc;\n\t}\n\tconst PreviewTag = mediaTypeTag[ mediaType ];\n\tconst preview = (\n\t\t<PreviewTag\n\t\t\tsrc={ media.previewUrl || mediaSrc }\n\t\t\talt={ alt }\n\t\t\tcontrols={ mediaType === 'audio' ? true : undefined }\n\t\t\tinert=\"true\"\n\t\t\tonError={ ( { currentTarget } ) => {\n\t\t\t\t// Fall back to the media source if the preview cannot be loaded.\n\t\t\t\tif ( currentTarget.src === media.previewUrl ) {\n\t\t\t\t\tcurrentTarget.src = mediaSrc;\n\t\t\t\t}\n\t\t\t} }\n\t\t/>\n\t);\n\treturn [ createBlock( `core/${ mediaType }`, attributes ), preview ];\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA,MAAMC,YAAY,GAAG;EAAEC,KAAK,EAAE,KAAK;EAAEC,KAAK,EAAE,OAAO;EAAEC,KAAK,EAAE;AAAQ,CAAC;;AAErE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,2BAA2BA,CAAEC,KAAK,EAAEC,SAAS,EAAG;EAC/D;EACA,MAAMC,UAAU,GAAG;IAClBC,EAAE,EAAEH,KAAK,CAACG,EAAE,IAAIC,SAAS;IACzBC,OAAO,EAAEL,KAAK,CAACK,OAAO,IAAID;EAC3B,CAAC;EACD,MAAME,QAAQ,GAAGN,KAAK,CAACO,GAAG;EAC1B,MAAMC,GAAG,GAAGR,KAAK,CAACQ,GAAG,IAAIJ,SAAS;EAClC,IAAKH,SAAS,KAAK,OAAO,EAAG;IAC5BC,UAAU,CAACK,GAAG,GAAGD,QAAQ;IACzBJ,UAAU,CAACM,GAAG,GAAGA,GAAG;EACrB,CAAC,MAAM,IAAK,CAAE,OAAO,EAAE,OAAO,CAAE,CAACC,QAAQ,CAAER,SAAU,CAAC,EAAG;IACxDC,UAAU,CAACQ,GAAG,GAAGJ,QAAQ;EAC1B;EACA,MAAMK,UAAU,GAAGhB,YAAY,CAAEM,SAAS,CAAE;EAC5C,MAAMW,OAAO,GACZ,IAAAC,MAAA,CAAAC,aAAA,EAACH,UAAU;IACVD,GAAG,EAAGV,KAAK,CAACe,UAAU,IAAIT,QAAU;IACpCE,GAAG,EAAGA,GAAK;IACXQ,QAAQ,EAAGf,SAAS,KAAK,OAAO,GAAG,IAAI,GAAGG,SAAW;IACrDa,KAAK,EAAC,MAAM;IACZC,OAAO,EAAGA,CAAE;MAAEC;IAAc,CAAC,KAAM;MAClC;MACA,IAAKA,aAAa,CAACT,GAAG,KAAKV,KAAK,CAACe,UAAU,EAAG;QAC7CI,aAAa,CAACT,GAAG,GAAGJ,QAAQ;MAC7B;IACD;EAAG,CACH,CACD;EACD,OAAO,CAAE,IAAAc,mBAAW,EAAG,QAAQnB,SAAW,EAAC,EAAEC,UAAW,CAAC,EAAEU,OAAO,CAAE;AACrE","ignoreList":[]}