@wordpress/block-editor 16.1.0 → 17.0.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 (2026) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/README.md +13 -1
  3. package/build/autocompleters/block.cjs.map +2 -2
  4. package/build/components/alignment-control/index.cjs.map +2 -2
  5. package/build/components/alignment-control/ui.cjs.map +2 -2
  6. package/build/components/autocomplete/index.cjs.map +2 -2
  7. package/build/components/background-image-control/index.cjs.map +2 -2
  8. package/build/components/block-actions/index.cjs +2 -1
  9. package/build/components/block-actions/index.cjs.map +2 -2
  10. package/build/components/block-alignment-control/constants.cjs.map +2 -2
  11. package/build/components/block-alignment-control/index.cjs.map +2 -2
  12. package/build/components/block-alignment-control/ui.cjs.map +2 -2
  13. package/build/components/block-alignment-control/use-available-alignments.cjs.map +2 -2
  14. package/build/components/block-alignment-matrix-control/index.cjs.map +2 -2
  15. package/build/components/block-allowed-blocks/allowed-blocks-control.cjs.map +2 -2
  16. package/build/components/block-allowed-blocks/modal.cjs.map +2 -2
  17. package/build/components/block-bindings/attribute-control.cjs.map +2 -2
  18. package/build/components/block-bindings/index.cjs.map +2 -2
  19. package/build/components/block-bindings/source-fields-list.cjs.map +2 -2
  20. package/build/components/block-bindings/use-block-bindings-utils.cjs.map +2 -2
  21. package/build/components/block-breadcrumb/index.cjs.map +2 -2
  22. package/build/components/block-canvas/index.cjs.map +2 -2
  23. package/build/components/block-card/index.cjs.map +2 -2
  24. package/build/components/block-compare/block-view.cjs.map +2 -2
  25. package/build/components/block-compare/index.cjs.map +2 -2
  26. package/build/components/block-content-overlay/index.cjs.map +2 -2
  27. package/build/components/block-context/index.cjs.map +2 -2
  28. package/build/components/block-controls/fill.cjs.map +2 -2
  29. package/build/components/block-controls/groups.cjs.map +2 -2
  30. package/build/components/block-controls/hook.cjs.map +2 -2
  31. package/build/components/block-controls/index.cjs.map +2 -2
  32. package/build/components/block-controls/slot.cjs.map +2 -2
  33. package/build/components/block-draggable/draggable-chip.cjs.map +2 -2
  34. package/build/components/block-draggable/index.cjs.map +2 -2
  35. package/build/components/block-draggable/use-scroll-when-dragging.cjs.map +2 -2
  36. package/build/components/block-edit/context.cjs.map +2 -2
  37. package/build/components/block-edit/edit.cjs.map +2 -2
  38. package/build/components/block-edit/index.cjs.map +2 -2
  39. package/build/components/block-edit/multiple-usage-warning.cjs.map +2 -2
  40. package/build/components/block-edit-visually-button/index.cjs.map +2 -2
  41. package/build/components/block-editing-mode/index.cjs.map +2 -2
  42. package/build/components/block-full-height-alignment-control/index.cjs.map +2 -2
  43. package/build/components/block-heading-level-dropdown/heading-level-icon.cjs.map +2 -2
  44. package/build/components/block-heading-level-dropdown/index.cjs.map +2 -2
  45. package/build/components/block-icon/index.cjs.map +2 -2
  46. package/build/components/block-inspector/edit-contents.cjs +48 -40
  47. package/build/components/block-inspector/edit-contents.cjs.map +3 -3
  48. package/build/components/block-inspector/index.cjs +18 -10
  49. package/build/components/block-inspector/index.cjs.map +2 -2
  50. package/build/components/block-inspector/inspector-pre-tabs-slot-fill.cjs.map +2 -2
  51. package/build/components/block-inspector/useBlockInspectorAnimationSettings.cjs.map +2 -2
  52. package/build/components/block-keyboard-shortcuts/index.cjs +201 -0
  53. package/build/components/block-keyboard-shortcuts/index.cjs.map +7 -0
  54. package/build/components/block-list/block-crash-boundary.cjs.map +2 -2
  55. package/build/components/block-list/block-crash-warning.cjs.map +2 -2
  56. package/build/components/block-list/block-html.cjs.map +2 -2
  57. package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
  58. package/build/components/block-list/block.cjs +46 -13
  59. package/build/components/block-list/block.cjs.map +3 -3
  60. package/build/components/block-list/index.cjs +39 -10
  61. package/build/components/block-list/index.cjs.map +2 -2
  62. package/build/components/block-list/layout.cjs.map +2 -2
  63. package/build/components/block-list/private-block-context.cjs.map +2 -2
  64. package/build/components/block-list/subdirectory-icon.cjs.map +2 -2
  65. package/build/components/block-list/use-block-props/index.cjs +36 -2
  66. package/build/components/block-list/use-block-props/index.cjs.map +3 -3
  67. package/build/components/block-list/use-block-props/use-block-refs.cjs.map +2 -2
  68. package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.cjs.map +2 -2
  69. package/build/components/block-list/use-block-props/use-focus-first-element.cjs +4 -0
  70. package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
  71. package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +2 -2
  72. package/build/components/block-list/use-block-props/use-intersection-observer.cjs.map +2 -2
  73. package/build/components/block-list/use-block-props/use-is-hovered.cjs.map +2 -2
  74. package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs.map +2 -2
  75. package/build/components/block-list/use-block-props/use-scroll-into-view.cjs.map +2 -2
  76. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.cjs +6 -7
  77. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.cjs.map +2 -2
  78. package/build/components/block-list/use-in-between-inserter.cjs.map +2 -2
  79. package/build/components/block-list/zoom-out-separator.cjs.map +2 -2
  80. package/build/components/block-list-appender/index.cjs.map +2 -2
  81. package/build/components/block-lock/menu-item.cjs.map +2 -2
  82. package/build/components/block-lock/modal.cjs.map +2 -2
  83. package/build/components/block-lock/toolbar.cjs.map +2 -2
  84. package/build/components/block-lock/use-block-lock.cjs.map +2 -2
  85. package/build/components/block-manager/category.cjs.map +2 -2
  86. package/build/components/block-manager/checklist.cjs.map +2 -2
  87. package/build/components/block-manager/index.cjs.map +2 -2
  88. package/build/components/block-mover/button.cjs +15 -9
  89. package/build/components/block-mover/button.cjs.map +2 -2
  90. package/build/components/block-mover/index.cjs.map +2 -2
  91. package/build/components/block-mover/mover-description.cjs.map +2 -2
  92. package/build/components/block-navigation/dropdown.cjs.map +2 -2
  93. package/build/components/block-parent-selector/index.cjs +98 -29
  94. package/build/components/block-parent-selector/index.cjs.map +3 -3
  95. package/build/components/block-pattern-setup/index.cjs.map +2 -2
  96. package/build/components/block-pattern-setup/setup-toolbar.cjs.map +2 -2
  97. package/build/components/block-pattern-setup/use-patterns-setup.cjs.map +2 -2
  98. package/build/components/block-patterns-list/index.cjs.map +2 -2
  99. package/build/components/block-patterns-paging/index.cjs.map +2 -2
  100. package/build/components/block-popover/cover.cjs.map +2 -2
  101. package/build/components/block-popover/drop-zone.cjs.map +2 -2
  102. package/build/components/block-popover/inbetween.cjs +2 -2
  103. package/build/components/block-popover/inbetween.cjs.map +2 -2
  104. package/build/components/block-popover/index.cjs.map +2 -2
  105. package/build/components/block-popover/use-popover-scroll.cjs.map +2 -2
  106. package/build/components/block-preview/async.cjs.map +2 -2
  107. package/build/components/block-preview/auto.cjs.map +2 -2
  108. package/build/components/block-preview/index.cjs +0 -4
  109. package/build/components/block-preview/index.cjs.map +2 -2
  110. package/build/components/block-quick-navigation/index.cjs.map +2 -2
  111. package/build/components/block-removal-warning-modal/index.cjs.map +2 -2
  112. package/build/components/block-rename/modal.cjs.map +2 -2
  113. package/build/components/block-rename/rename-control.cjs.map +2 -2
  114. package/build/components/block-rename/use-block-rename.cjs.map +2 -2
  115. package/build/components/block-selection-clearer/index.cjs.map +2 -2
  116. package/build/components/block-settings-menu/block-html-convert-button.cjs.map +2 -2
  117. package/build/components/block-settings-menu/block-mode-toggle.cjs.map +2 -2
  118. package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs.map +2 -2
  119. package/build/components/block-settings-menu/block-settings-dropdown.cjs +1 -1
  120. package/build/components/block-settings-menu/block-settings-dropdown.cjs.map +2 -2
  121. package/build/components/block-settings-menu/block-settings-menu-first-item.cjs.map +2 -2
  122. package/build/components/block-settings-menu/index.cjs.map +2 -2
  123. package/build/components/block-settings-menu-controls/index.cjs.map +2 -2
  124. package/build/components/block-styles/index.cjs +77 -33
  125. package/build/components/block-styles/index.cjs.map +3 -3
  126. package/build/components/block-styles/menu-items.cjs.map +2 -2
  127. package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
  128. package/build/components/block-styles/utils.cjs.map +2 -2
  129. package/build/components/block-switcher/block-styles-menu.cjs.map +2 -2
  130. package/build/components/block-switcher/block-transformations-menu.cjs.map +2 -2
  131. package/build/components/block-switcher/block-variation-transformations.cjs.map +2 -2
  132. package/build/components/block-switcher/index.cjs.map +2 -2
  133. package/build/components/block-switcher/pattern-transformations-menu.cjs.map +2 -2
  134. package/build/components/block-switcher/preview-block-popover.cjs.map +2 -2
  135. package/build/components/block-switcher/use-transformed-patterns.cjs.map +2 -2
  136. package/build/components/block-switcher/utils.cjs.map +2 -2
  137. package/build/components/block-title/index.cjs.map +2 -2
  138. package/build/components/block-title/use-block-display-title.cjs.map +2 -2
  139. package/build/components/block-toolbar/block-styles-dropdown.cjs.map +2 -2
  140. package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
  141. package/build/components/block-toolbar/block-toolbar-last-item.cjs.map +2 -2
  142. package/build/components/block-toolbar/change-design.cjs.map +2 -2
  143. package/build/components/block-toolbar/edit-section-button.cjs.map +2 -2
  144. package/build/components/block-toolbar/index.cjs.map +2 -2
  145. package/build/components/block-toolbar/pattern-overrides-dropdown.cjs.map +2 -2
  146. package/build/components/block-toolbar/switch-section-style.cjs.map +2 -2
  147. package/build/components/block-toolbar/use-has-block-toolbar.cjs.map +2 -2
  148. package/build/components/block-toolbar/utils.cjs.map +2 -2
  149. package/build/components/block-tools/block-toolbar-popover.cjs.map +2 -2
  150. package/build/components/block-tools/empty-block-inserter.cjs.map +2 -2
  151. package/build/components/block-tools/index.cjs +2 -4
  152. package/build/components/block-tools/index.cjs.map +2 -2
  153. package/build/components/block-tools/insertion-point.cjs.map +2 -2
  154. package/build/components/block-tools/use-block-toolbar-popover-props.cjs.map +2 -2
  155. package/build/components/block-tools/use-selected-block-tool-props.cjs.map +2 -2
  156. package/build/components/block-tools/use-show-block-tools.cjs.map +2 -2
  157. package/build/components/block-tools/zoom-out-mode-inserter-button.cjs.map +2 -2
  158. package/build/components/block-tools/zoom-out-mode-inserters.cjs.map +2 -2
  159. package/build/components/block-types-list/index.cjs.map +2 -2
  160. package/build/components/block-variation-picker/index.cjs.map +2 -2
  161. package/build/components/block-variation-transforms/index.cjs.map +2 -2
  162. package/build/components/block-vertical-alignment-control/index.cjs.map +2 -2
  163. package/build/components/block-vertical-alignment-control/ui.cjs.map +2 -2
  164. package/build/components/block-visibility/constants.cjs +1 -1
  165. package/build/components/block-visibility/constants.cjs.map +3 -3
  166. package/build/components/block-visibility/modal.cjs.map +2 -2
  167. package/build/components/block-visibility/use-block-visibility.cjs +15 -17
  168. package/build/components/block-visibility/use-block-visibility.cjs.map +3 -3
  169. package/build/components/block-visibility/utils.cjs.map +2 -2
  170. package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
  171. package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
  172. package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
  173. package/build/components/border-radius-control/constants.cjs.map +2 -2
  174. package/build/components/border-radius-control/index.cjs.map +2 -2
  175. package/build/components/border-radius-control/linked-button.cjs.map +2 -2
  176. package/build/components/border-radius-control/utils.cjs.map +2 -2
  177. package/build/components/button-block-appender/index.cjs.map +2 -2
  178. package/build/components/child-layout-control/index.cjs.map +3 -3
  179. package/build/components/collab/note-icon-slot.cjs.map +2 -2
  180. package/build/components/collab/note-icon-toolbar-slot.cjs.map +2 -2
  181. package/build/components/color-palette/control.cjs.map +2 -2
  182. package/build/components/color-palette/index.cjs.map +2 -2
  183. package/build/components/color-palette/with-color-context.cjs.map +2 -2
  184. package/build/components/color-style-selector/index.cjs.map +2 -2
  185. package/build/components/colors/utils.cjs +2 -4
  186. package/build/components/colors/utils.cjs.map +3 -3
  187. package/build/components/colors/with-colors.cjs +57 -75
  188. package/build/components/colors/with-colors.cjs.map +3 -3
  189. package/build/components/colors-gradients/control.cjs.map +2 -2
  190. package/build/components/colors-gradients/dropdown.cjs.map +2 -2
  191. package/build/components/colors-gradients/panel-color-gradient-settings.cjs +5 -5
  192. package/build/components/colors-gradients/panel-color-gradient-settings.cjs.map +2 -2
  193. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.cjs.map +2 -2
  194. package/build/components/contrast-checker/index.cjs.map +2 -2
  195. package/build/components/convert-to-group-buttons/index.cjs +2 -5
  196. package/build/components/convert-to-group-buttons/index.cjs.map +2 -2
  197. package/build/components/convert-to-group-buttons/toolbar.cjs +2 -4
  198. package/build/components/convert-to-group-buttons/toolbar.cjs.map +2 -2
  199. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.cjs.map +2 -2
  200. package/build/components/copy-handler/index.cjs.map +2 -2
  201. package/build/components/date-format-picker/index.cjs.map +2 -2
  202. package/build/components/default-block-appender/index.cjs.map +2 -2
  203. package/build/components/dimension-control/index.cjs.map +2 -2
  204. package/build/components/dimensions-tool/aspect-ratio-tool.cjs +4 -2
  205. package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +2 -2
  206. package/build/components/dimensions-tool/index.cjs +18 -16
  207. package/build/components/dimensions-tool/index.cjs.map +2 -2
  208. package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
  209. package/build/components/dimensions-tool/utils.cjs +61 -0
  210. package/build/components/dimensions-tool/utils.cjs.map +7 -0
  211. package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
  212. package/build/components/duotone-control/index.cjs +2 -0
  213. package/build/components/duotone-control/index.cjs.map +2 -2
  214. package/build/components/editable-text/index.cjs.map +2 -2
  215. package/build/components/editor-styles/index.cjs.map +2 -2
  216. package/build/components/fit-text-size-warning/index.cjs.map +2 -2
  217. package/build/components/font-appearance-control/index.cjs.map +2 -2
  218. package/build/components/font-family/index.cjs.map +2 -2
  219. package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
  220. package/build/components/font-sizes/utils.cjs +2 -4
  221. package/build/components/font-sizes/utils.cjs.map +3 -3
  222. package/build/components/font-sizes/with-font-sizes.cjs.map +2 -2
  223. package/build/components/global-styles/advanced-panel.cjs.map +3 -3
  224. package/build/components/global-styles/background-panel.cjs.map +2 -2
  225. package/build/components/global-styles/border-panel.cjs +2 -5
  226. package/build/components/global-styles/border-panel.cjs.map +2 -2
  227. package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +2 -2
  228. package/build/components/global-styles/color-panel.cjs +14 -2
  229. package/build/components/global-styles/color-panel.cjs.map +2 -2
  230. package/build/components/global-styles/dimensions-panel.cjs +9 -5
  231. package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
  232. package/build/components/global-styles/filters-panel.cjs +12 -8
  233. package/build/components/global-styles/filters-panel.cjs.map +2 -2
  234. package/build/components/global-styles/hooks.cjs.map +2 -2
  235. package/build/components/global-styles/image-settings-panel.cjs.map +2 -2
  236. package/build/components/global-styles/inheritance/index.cjs.map +2 -2
  237. package/build/components/global-styles/inherited-value-context.cjs.map +2 -2
  238. package/build/components/global-styles/shadow-panel-components.cjs +16 -11
  239. package/build/components/global-styles/shadow-panel-components.cjs.map +2 -2
  240. package/build/components/global-styles/state-control-badges.cjs.map +2 -2
  241. package/build/components/global-styles/state-control.cjs.map +2 -2
  242. package/build/components/global-styles/typography-panel.cjs.map +2 -2
  243. package/build/components/global-styles/typography-utils.cjs.map +2 -2
  244. package/build/components/global-styles/utils.cjs +9 -0
  245. package/build/components/global-styles/utils.cjs.map +2 -2
  246. package/build/components/gradients/use-gradient.cjs.map +2 -2
  247. package/build/components/grid/grid-item-movers.cjs.map +2 -2
  248. package/build/components/grid/grid-item-resizer.cjs.map +2 -2
  249. package/build/components/grid/grid-visualizer.cjs.map +2 -2
  250. package/build/components/grid/use-get-number-of-blocks-before-cell.cjs.map +2 -2
  251. package/build/components/grid/use-grid-layout-sync.cjs.map +2 -2
  252. package/build/components/height-control/index.cjs.map +2 -2
  253. package/build/components/html-element-control/index.cjs.map +2 -2
  254. package/build/components/html-element-control/messages.cjs.map +2 -2
  255. package/build/components/iframe/index.cjs +19 -24
  256. package/build/components/iframe/index.cjs.map +2 -2
  257. package/build/components/iframe/use-scale-canvas.cjs +20 -6
  258. package/build/components/iframe/use-scale-canvas.cjs.map +2 -2
  259. package/build/components/image-editor/aspect-ratio-dropdown.cjs.map +2 -2
  260. package/build/components/image-editor/context.cjs.map +2 -2
  261. package/build/components/image-editor/cropper.cjs.map +2 -2
  262. package/build/components/image-editor/form-controls.cjs.map +2 -2
  263. package/build/components/image-editor/index.cjs.map +2 -2
  264. package/build/components/image-editor/rotation-button.cjs.map +2 -2
  265. package/build/components/image-editor/use-save-image.cjs.map +2 -2
  266. package/build/components/image-editor/use-transform-image.cjs.map +2 -2
  267. package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
  268. package/build/components/image-size-control/index.cjs.map +2 -2
  269. package/build/components/image-size-control/use-dimension-handler.cjs.map +2 -2
  270. package/build/components/inner-blocks/button-block-appender.cjs.map +2 -2
  271. package/build/components/inner-blocks/default-block-appender.cjs.map +2 -2
  272. package/build/components/inner-blocks/index.cjs +5 -3
  273. package/build/components/inner-blocks/index.cjs.map +2 -2
  274. package/build/components/inner-blocks/use-block-context.cjs.map +2 -2
  275. package/build/components/inner-blocks/use-inner-block-template-sync.cjs +34 -7
  276. package/build/components/inner-blocks/use-inner-block-template-sync.cjs.map +3 -3
  277. package/build/components/inner-blocks/use-nested-settings-update.cjs.map +2 -2
  278. package/build/components/inner-content/index.cjs.map +2 -2
  279. package/build/components/inserter/block-patterns-explorer/index.cjs +39 -22
  280. package/build/components/inserter/block-patterns-explorer/index.cjs.map +2 -2
  281. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs +21 -55
  282. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs.map +2 -2
  283. package/build/components/inserter/block-patterns-explorer/pattern-list.cjs +19 -44
  284. package/build/components/inserter/block-patterns-explorer/pattern-list.cjs.map +3 -3
  285. package/build/components/inserter/block-patterns-tab/index.cjs.map +2 -2
  286. package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs.map +2 -2
  287. package/build/components/inserter/block-patterns-tab/patterns-filter.cjs.map +2 -2
  288. package/build/components/inserter/block-patterns-tab/use-pattern-categories.cjs.map +2 -2
  289. package/build/components/inserter/block-patterns-tab/utils.cjs.map +2 -2
  290. package/build/components/inserter/block-types-tab.cjs.map +2 -2
  291. package/build/components/inserter/category-tabs/index.cjs.map +2 -2
  292. package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
  293. package/build/components/inserter/hooks/use-insertion-point.cjs +4 -4
  294. package/build/components/inserter/hooks/use-insertion-point.cjs.map +2 -2
  295. package/build/components/inserter/hooks/use-patterns-paging.cjs.map +2 -2
  296. package/build/components/inserter/hooks/use-patterns-state.cjs.map +2 -2
  297. package/build/components/inserter/index.cjs +4 -13
  298. package/build/components/inserter/index.cjs.map +2 -2
  299. package/build/components/inserter/library.cjs.map +2 -2
  300. package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
  301. package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
  302. package/build/components/inserter/media-tab/media-panel.cjs.map +2 -2
  303. package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
  304. package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
  305. package/build/components/inserter/media-tab/utils.cjs.map +2 -2
  306. package/build/components/inserter/menu.cjs +18 -7
  307. package/build/components/inserter/menu.cjs.map +2 -2
  308. package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
  309. package/build/components/inserter/no-results.cjs.map +2 -2
  310. package/build/components/inserter/panel.cjs.map +2 -2
  311. package/build/components/inserter/preview-panel.cjs.map +2 -2
  312. package/build/components/inserter/quick-inserter.cjs +30 -27
  313. package/build/components/inserter/quick-inserter.cjs.map +2 -2
  314. package/build/components/inserter/search-items.cjs.map +2 -2
  315. package/build/components/inserter/search-results.cjs.map +2 -2
  316. package/build/components/inserter/tips.cjs.map +2 -2
  317. package/build/components/inserter-draggable-blocks/index.cjs.map +2 -2
  318. package/build/components/inserter-list-item/index.cjs.map +2 -2
  319. package/build/components/inserter-listbox/context.cjs.map +2 -2
  320. package/build/components/inserter-listbox/group.cjs.map +2 -2
  321. package/build/components/inserter-listbox/index.cjs.map +2 -2
  322. package/build/components/inserter-listbox/item.cjs.map +2 -2
  323. package/build/components/inserter-listbox/row.cjs.map +2 -2
  324. package/build/components/inserter-menu-extension/index.cjs.map +2 -2
  325. package/build/components/inspector-controls/block-support-slot-container.cjs.map +2 -2
  326. package/build/components/inspector-controls/block-support-tools-panel.cjs.map +2 -2
  327. package/build/components/inspector-controls/fill.cjs +15 -17
  328. package/build/components/inspector-controls/fill.cjs.map +2 -2
  329. package/build/components/inspector-controls/groups.cjs.map +2 -2
  330. package/build/components/inspector-controls/index.cjs.map +2 -2
  331. package/build/components/inspector-controls/last-item.cjs.map +2 -2
  332. package/build/components/inspector-controls/list-view-content-popover.cjs.map +2 -2
  333. package/build/components/inspector-controls/slot.cjs.map +2 -2
  334. package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs.map +2 -2
  335. package/build/components/inspector-controls-tabs/content-tab.cjs.map +2 -2
  336. package/build/components/inspector-controls-tabs/index.cjs.map +2 -2
  337. package/build/components/inspector-controls-tabs/position-controls-panel.cjs.map +2 -2
  338. package/build/components/inspector-controls-tabs/settings-tab.cjs.map +2 -2
  339. package/build/components/inspector-controls-tabs/styles-tab.cjs +1 -1
  340. package/build/components/inspector-controls-tabs/styles-tab.cjs.map +2 -2
  341. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs.map +2 -2
  342. package/build/components/inspector-controls-tabs/utils.cjs.map +2 -2
  343. package/build/components/inspector-popover-header/index.cjs.map +2 -2
  344. package/build/components/justify-content-control/index.cjs.map +2 -2
  345. package/build/components/justify-content-control/ui.cjs.map +2 -2
  346. package/build/components/keyboard-shortcuts/index.cjs.map +2 -2
  347. package/build/components/letter-spacing-control/index.cjs.map +2 -2
  348. package/build/components/line-height-control/index.cjs.map +2 -2
  349. package/build/components/link-control/constants.cjs.map +2 -2
  350. package/build/components/link-control/index.cjs.map +2 -2
  351. package/build/components/link-control/is-url-like.cjs.map +2 -2
  352. package/build/components/link-control/link-preview.cjs.map +2 -2
  353. package/build/components/link-control/normalize-url.cjs.map +2 -2
  354. package/build/components/link-control/search-create-button.cjs.map +2 -2
  355. package/build/components/link-control/search-input.cjs.map +2 -2
  356. package/build/components/link-control/search-item.cjs.map +2 -2
  357. package/build/components/link-control/search-results.cjs +1 -1
  358. package/build/components/link-control/search-results.cjs.map +2 -2
  359. package/build/components/link-control/settings-drawer.cjs.map +2 -2
  360. package/build/components/link-control/settings.cjs.map +2 -2
  361. package/build/components/link-control/use-create-page.cjs.map +2 -2
  362. package/build/components/link-control/use-internal-value.cjs.map +2 -2
  363. package/build/components/link-control/use-rich-url-data.cjs +1 -1
  364. package/build/components/link-control/use-rich-url-data.cjs.map +2 -2
  365. package/build/components/link-control/use-search-handler.cjs.map +2 -2
  366. package/build/components/link-control/viewer-slot.cjs.map +2 -2
  367. package/build/components/link-picker/link-picker.cjs.map +2 -2
  368. package/build/components/link-picker/link-preview.cjs.map +2 -2
  369. package/build/components/list-view/appender.cjs +6 -3
  370. package/build/components/list-view/appender.cjs.map +2 -2
  371. package/build/components/list-view/aria-referenced-text.cjs +2 -9
  372. package/build/components/list-view/aria-referenced-text.cjs.map +2 -2
  373. package/build/components/list-view/block-contents.cjs +17 -20
  374. package/build/components/list-view/block-contents.cjs.map +2 -2
  375. package/build/components/list-view/block-select-button.cjs +40 -19
  376. package/build/components/list-view/block-select-button.cjs.map +3 -3
  377. package/build/components/list-view/block.cjs +38 -41
  378. package/build/components/list-view/block.cjs.map +3 -3
  379. package/build/components/list-view/branch.cjs +93 -77
  380. package/build/components/list-view/branch.cjs.map +3 -3
  381. package/build/components/list-view/context.cjs +16 -2
  382. package/build/components/list-view/context.cjs.map +2 -2
  383. package/build/components/list-view/drop-indicator.cjs +4 -3
  384. package/build/components/list-view/drop-indicator.cjs.map +3 -3
  385. package/build/components/list-view/expander.cjs.map +2 -2
  386. package/build/components/list-view/index.cjs +114 -101
  387. package/build/components/list-view/index.cjs.map +3 -3
  388. package/build/components/list-view/leaf.cjs.map +2 -2
  389. package/build/components/list-view/use-block-selection.cjs.map +2 -2
  390. package/build/components/list-view/use-clipboard-handler.cjs.map +2 -2
  391. package/build/components/list-view/use-list-view-block-indexes.cjs.map +2 -2
  392. package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
  393. package/build/components/list-view/use-list-view-collapse-items.cjs +3 -4
  394. package/build/components/list-view/use-list-view-collapse-items.cjs.map +2 -2
  395. package/build/components/list-view/use-list-view-drop-zone.cjs +7 -13
  396. package/build/components/list-view/use-list-view-drop-zone.cjs.map +2 -2
  397. package/build/components/list-view/use-list-view-expand-selected-item.cjs +3 -3
  398. package/build/components/list-view/use-list-view-expand-selected-item.cjs.map +2 -2
  399. package/build/components/list-view/use-list-view-images.cjs +4 -3
  400. package/build/components/list-view/use-list-view-images.cjs.map +2 -2
  401. package/build/components/list-view/use-list-view-scroll-into-view.cjs.map +2 -2
  402. package/build/components/list-view/utils.cjs +19 -4
  403. package/build/components/list-view/utils.cjs.map +2 -2
  404. package/build/components/media-placeholder/index.cjs +1 -1
  405. package/build/components/media-placeholder/index.cjs.map +3 -3
  406. package/build/components/media-replace-flow/index.cjs.map +2 -2
  407. package/build/components/media-upload/check.cjs.map +2 -2
  408. package/build/components/media-upload/index.cjs.map +2 -2
  409. package/build/components/multi-selection-inspector/index.cjs +33 -12
  410. package/build/components/multi-selection-inspector/index.cjs.map +3 -3
  411. package/build/components/navigable-toolbar/index.cjs +29 -18
  412. package/build/components/navigable-toolbar/index.cjs.map +2 -2
  413. package/build/components/observe-typing/index.cjs.map +2 -2
  414. package/build/components/panel-color-settings/index.cjs.map +2 -2
  415. package/build/components/plain-text/index.cjs.map +2 -2
  416. package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
  417. package/build/components/preset-input-control/index.cjs.map +2 -2
  418. package/build/components/preview-options/index.cjs.map +2 -2
  419. package/build/components/provider/block-refs-provider.cjs.map +2 -2
  420. package/build/components/provider/index.cjs +5 -1
  421. package/build/components/provider/index.cjs.map +3 -3
  422. package/build/components/provider/selection-context.cjs.map +2 -2
  423. package/build/components/provider/use-block-sync.cjs.map +2 -2
  424. package/build/components/provider/use-media-upload-settings.cjs.map +2 -2
  425. package/build/components/provider/with-registry-provider.cjs.map +2 -2
  426. package/build/components/publish-date-time-picker/index.cjs +3 -2
  427. package/build/components/publish-date-time-picker/index.cjs.map +2 -2
  428. package/build/components/recursion-provider/index.cjs.map +2 -2
  429. package/build/components/resizable-box-popover/index.cjs.map +2 -2
  430. package/build/components/resolution-tool/index.cjs.map +2 -2
  431. package/build/components/responsive-block-control/index.cjs.map +2 -2
  432. package/build/components/responsive-block-control/label.cjs.map +2 -2
  433. package/build/components/rich-text/content.cjs.map +2 -2
  434. package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +2 -2
  435. package/build/components/rich-text/event-listeners/delete.cjs.map +2 -2
  436. package/build/components/rich-text/event-listeners/enter.cjs +46 -39
  437. package/build/components/rich-text/event-listeners/enter.cjs.map +2 -2
  438. package/build/components/rich-text/event-listeners/firefox-compat.cjs.map +2 -2
  439. package/build/components/rich-text/event-listeners/index.cjs.map +2 -2
  440. package/build/components/rich-text/event-listeners/input-events.cjs.map +2 -2
  441. package/build/components/rich-text/event-listeners/input-rules.cjs +13 -10
  442. package/build/components/rich-text/event-listeners/input-rules.cjs.map +2 -2
  443. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +2 -2
  444. package/build/components/rich-text/event-listeners/paste-handler.cjs +8 -1
  445. package/build/components/rich-text/event-listeners/paste-handler.cjs.map +2 -2
  446. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +2 -2
  447. package/build/components/rich-text/event-listeners/shortcuts.cjs.map +2 -2
  448. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +2 -2
  449. package/build/components/rich-text/format-edit.cjs.map +2 -2
  450. package/build/components/rich-text/format-toolbar/index.cjs.map +2 -2
  451. package/build/components/rich-text/format-toolbar-container.cjs.map +2 -2
  452. package/build/components/rich-text/get-rich-text-values.cjs.map +2 -2
  453. package/build/components/rich-text/index.cjs +7 -5
  454. package/build/components/rich-text/index.cjs.map +2 -2
  455. package/build/components/rich-text/multiline.cjs +105 -70
  456. package/build/components/rich-text/multiline.cjs.map +3 -3
  457. package/build/components/rich-text/prevent-event-discovery.cjs.map +2 -2
  458. package/build/components/rich-text/toolbar-button.cjs.map +2 -2
  459. package/build/components/rich-text/use-mark-persistent.cjs.map +2 -2
  460. package/build/components/rich-text/utils.cjs.map +2 -2
  461. package/build/components/rich-text/with-deprecations.cjs.map +2 -2
  462. package/build/components/selection-scroll-into-view/index.cjs.map +2 -2
  463. package/build/components/skip-to-selected-block/index.cjs.map +2 -2
  464. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.cjs.map +2 -2
  465. package/build/components/spacing-sizes-control/index.cjs +2 -2
  466. package/build/components/spacing-sizes-control/index.cjs.map +2 -2
  467. package/build/components/spacing-sizes-control/input-controls/axial.cjs.map +2 -2
  468. package/build/components/spacing-sizes-control/input-controls/separated.cjs.map +2 -2
  469. package/build/components/spacing-sizes-control/input-controls/single.cjs.map +2 -2
  470. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs.map +2 -2
  471. package/build/components/spacing-sizes-control/linked-button.cjs.map +2 -2
  472. package/build/components/spacing-sizes-control/utils.cjs.map +2 -2
  473. package/build/components/tabbed-sidebar/index.cjs.map +2 -2
  474. package/build/components/text-alignment-control/index.cjs.map +2 -2
  475. package/build/components/text-decoration-control/index.cjs.map +2 -2
  476. package/build/components/text-indent-control/index.cjs.map +2 -2
  477. package/build/components/text-transform-control/index.cjs.map +2 -2
  478. package/build/components/tool-selector/index.cjs.map +2 -2
  479. package/build/components/typewriter/index.cjs.map +2 -2
  480. package/build/components/unit-control/index.cjs.map +2 -2
  481. package/build/components/url-input/button.cjs.map +2 -2
  482. package/build/components/url-input/index.cjs +28 -46
  483. package/build/components/url-input/index.cjs.map +3 -3
  484. package/build/components/url-popover/image-url-input-ui.cjs +2 -2
  485. package/build/components/url-popover/image-url-input-ui.cjs.map +2 -2
  486. package/build/components/url-popover/index.cjs.map +2 -2
  487. package/build/components/url-popover/link-editor.cjs.map +2 -2
  488. package/build/components/url-popover/link-viewer-url.cjs.map +2 -2
  489. package/build/components/url-popover/link-viewer.cjs.map +2 -2
  490. package/build/components/use-block-commands/index.cjs +2 -1
  491. package/build/components/use-block-commands/index.cjs.map +2 -2
  492. package/build/components/use-block-display-information/index.cjs +6 -1
  493. package/build/components/use-block-display-information/index.cjs.map +2 -2
  494. package/build/components/use-block-drop-zone/index.cjs.map +2 -2
  495. package/build/components/use-flash-editable-blocks/index.cjs.map +2 -2
  496. package/build/components/use-list-view-panel-state/index.cjs.map +2 -2
  497. package/build/components/use-moving-animation/index.cjs +2 -2
  498. package/build/components/use-moving-animation/index.cjs.map +2 -2
  499. package/build/components/use-on-block-drop/index.cjs.map +2 -2
  500. package/build/components/use-paste-styles/index.cjs.map +2 -2
  501. package/build/components/use-resize-canvas/index.cjs.map +2 -2
  502. package/build/components/use-settings/index.cjs.map +2 -2
  503. package/build/components/warning/index.cjs.map +2 -2
  504. package/build/components/writing-flow/index.cjs.map +2 -2
  505. package/build/components/writing-flow/use-arrow-nav.cjs +6 -1
  506. package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
  507. package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
  508. package/build/components/writing-flow/use-clipboard-handler.cjs +29 -4
  509. package/build/components/writing-flow/use-clipboard-handler.cjs.map +3 -3
  510. package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
  511. package/build/components/writing-flow/use-editable-root-event-handlers.cjs.map +2 -2
  512. package/build/components/writing-flow/use-editable-root.cjs.map +2 -2
  513. package/build/components/writing-flow/use-home-end.cjs.map +2 -2
  514. package/build/components/writing-flow/use-input.cjs +65 -13
  515. package/build/components/writing-flow/use-input.cjs.map +3 -3
  516. package/build/components/writing-flow/use-multi-selection.cjs.map +2 -2
  517. package/build/components/writing-flow/use-preview-mode-nav.cjs.map +2 -2
  518. package/build/components/writing-flow/use-select-all.cjs.map +2 -2
  519. package/build/components/writing-flow/use-selection-observer.cjs.map +2 -2
  520. package/build/components/writing-flow/use-tab-nav.cjs +3 -1
  521. package/build/components/writing-flow/use-tab-nav.cjs.map +2 -2
  522. package/build/components/writing-flow/utils.cjs.map +2 -2
  523. package/build/components/writing-mode-control/index.cjs.map +2 -2
  524. package/build/hooks/align.cjs.map +2 -2
  525. package/build/hooks/allowed-blocks.cjs.map +2 -2
  526. package/build/hooks/anchor.cjs.map +2 -2
  527. package/build/hooks/aria-label.cjs.map +2 -2
  528. package/build/hooks/auto-inspector-controls.cjs.map +2 -2
  529. package/build/hooks/background.cjs +1 -4
  530. package/build/hooks/background.cjs.map +2 -2
  531. package/build/hooks/block-bindings.cjs.map +2 -2
  532. package/build/hooks/block-fields/fields-dropdown-menu.cjs.map +2 -2
  533. package/build/hooks/block-fields/index.cjs.map +2 -2
  534. package/build/hooks/block-fields/link/index.cjs.map +2 -2
  535. package/build/hooks/block-fields/media/index.cjs.map +2 -2
  536. package/build/hooks/block-fields/rich-text/index.cjs.map +2 -2
  537. package/build/hooks/block-fields/use-inspector-popover-placement.cjs.map +2 -2
  538. package/build/hooks/block-hooks.cjs.map +2 -2
  539. package/build/hooks/block-renaming.cjs.map +2 -2
  540. package/build/hooks/block-style-state.cjs.map +2 -2
  541. package/build/hooks/block-style-variation.cjs.map +2 -2
  542. package/build/hooks/border.cjs +25 -3
  543. package/build/hooks/border.cjs.map +2 -2
  544. package/build/hooks/color.cjs.map +2 -2
  545. package/build/hooks/compat.cjs.map +2 -2
  546. package/build/hooks/contrast-checker.cjs.map +2 -2
  547. package/build/hooks/custom-class-name.cjs.map +2 -2
  548. package/build/hooks/dimensions.cjs +9 -2
  549. package/build/hooks/dimensions.cjs.map +2 -2
  550. package/build/hooks/duotone.cjs +4 -3
  551. package/build/hooks/duotone.cjs.map +2 -2
  552. package/build/hooks/elements.cjs.map +2 -2
  553. package/build/hooks/fit-text.cjs.map +2 -2
  554. package/build/hooks/font-family.cjs +2 -4
  555. package/build/hooks/font-family.cjs.map +3 -3
  556. package/build/hooks/font-size.cjs.map +2 -2
  557. package/build/hooks/gap.cjs +8 -2
  558. package/build/hooks/gap.cjs.map +2 -2
  559. package/build/hooks/generated-class-name.cjs.map +2 -2
  560. package/build/hooks/grid-visualizer.cjs.map +2 -2
  561. package/build/hooks/index.cjs.map +2 -2
  562. package/build/hooks/layout-child.cjs +35 -13
  563. package/build/hooks/layout-child.cjs.map +2 -2
  564. package/build/hooks/layout.cjs +27 -5
  565. package/build/hooks/layout.cjs.map +3 -3
  566. package/build/hooks/line-height.cjs.map +2 -2
  567. package/build/hooks/list-view.cjs.map +2 -2
  568. package/build/hooks/lock.cjs.map +2 -2
  569. package/build/hooks/metadata.cjs.map +2 -2
  570. package/build/hooks/position.cjs.map +2 -2
  571. package/build/hooks/settings.cjs.map +2 -2
  572. package/build/hooks/spacing-visualizer.cjs.map +2 -2
  573. package/build/hooks/state-utils.cjs.map +2 -2
  574. package/build/hooks/states.cjs +7 -4
  575. package/build/hooks/states.cjs.map +2 -2
  576. package/build/hooks/style.cjs.map +2 -2
  577. package/build/hooks/supports.cjs.map +2 -2
  578. package/build/hooks/text-align.cjs.map +2 -2
  579. package/build/hooks/typography.cjs.map +2 -2
  580. package/build/hooks/use-border-props.cjs.map +2 -2
  581. package/build/hooks/use-cached-truthy.cjs.map +2 -2
  582. package/build/hooks/use-color-props.cjs.map +2 -2
  583. package/build/hooks/use-content-only-section-edit.cjs.map +2 -2
  584. package/build/hooks/use-dimensions-props.cjs.map +2 -2
  585. package/build/hooks/use-shadow-props.cjs.map +2 -2
  586. package/build/hooks/use-spacing-props.cjs.map +2 -2
  587. package/build/hooks/use-typography-props.cjs +2 -4
  588. package/build/hooks/use-typography-props.cjs.map +3 -3
  589. package/build/hooks/use-zoom-out.cjs.map +2 -2
  590. package/build/hooks/utils.cjs.map +2 -2
  591. package/build/index.cjs.map +2 -2
  592. package/build/layouts/constrained.cjs +8 -1
  593. package/build/layouts/constrained.cjs.map +2 -2
  594. package/build/layouts/flex.cjs +9 -0
  595. package/build/layouts/flex.cjs.map +2 -2
  596. package/build/layouts/flow.cjs +4 -1
  597. package/build/layouts/flow.cjs.map +2 -2
  598. package/build/layouts/grid.cjs +5 -1
  599. package/build/layouts/grid.cjs.map +2 -2
  600. package/build/layouts/index.cjs.map +2 -2
  601. package/build/layouts/utils.cjs.map +2 -2
  602. package/build/lock-unlock.cjs.map +2 -2
  603. package/build/private-apis.cjs +3 -1
  604. package/build/private-apis.cjs.map +2 -2
  605. package/build/store/actions.cjs +105 -37
  606. package/build/store/actions.cjs.map +3 -3
  607. package/build/store/defaults.cjs +2 -0
  608. package/build/store/defaults.cjs.map +2 -2
  609. package/build/store/get-block-settings.cjs.map +2 -2
  610. package/build/store/index.cjs.map +2 -2
  611. package/build/store/private-actions.cjs +19 -2
  612. package/build/store/private-actions.cjs.map +2 -2
  613. package/build/store/private-selectors.cjs +28 -10
  614. package/build/store/private-selectors.cjs.map +2 -2
  615. package/build/store/reducer.cjs +3 -1
  616. package/build/store/reducer.cjs.map +2 -2
  617. package/build/store/selectors.cjs +21 -8
  618. package/build/store/selectors.cjs.map +2 -2
  619. package/build/store/utils.cjs.map +2 -2
  620. package/build/utils/fit-text-frontend.cjs.map +2 -2
  621. package/build/utils/format-font-style.cjs.map +2 -2
  622. package/build/utils/format-font-weight.cjs.map +2 -2
  623. package/build/utils/get-font-styles-and-weights.cjs.map +2 -2
  624. package/build/utils/group-blocks.cjs +42 -0
  625. package/build/utils/group-blocks.cjs.map +7 -0
  626. package/build/utils/native-undo.cjs.map +2 -2
  627. package/build/utils/pasting.cjs.map +2 -2
  628. package/build/utils/selection.cjs.map +2 -2
  629. package/build/{components/gradients/with-gradient.cjs → utils/sibling-block-attributes.cjs} +22 -13
  630. package/build/utils/sibling-block-attributes.cjs.map +7 -0
  631. package/build/utils/transform-styles/index.cjs.map +2 -2
  632. package/build/utils/use-notify-copy.cjs.map +2 -2
  633. package/build-module/autocompleters/block.mjs.map +2 -2
  634. package/build-module/components/alignment-control/index.mjs.map +2 -2
  635. package/build-module/components/alignment-control/ui.mjs.map +2 -2
  636. package/build-module/components/autocomplete/index.mjs.map +2 -2
  637. package/build-module/components/background-image-control/index.mjs.map +2 -2
  638. package/build-module/components/block-actions/index.mjs +3 -6
  639. package/build-module/components/block-actions/index.mjs.map +2 -2
  640. package/build-module/components/block-alignment-control/constants.mjs.map +2 -2
  641. package/build-module/components/block-alignment-control/index.mjs.map +2 -2
  642. package/build-module/components/block-alignment-control/ui.mjs.map +2 -2
  643. package/build-module/components/block-alignment-control/use-available-alignments.mjs.map +2 -2
  644. package/build-module/components/block-alignment-matrix-control/index.mjs.map +2 -2
  645. package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs.map +2 -2
  646. package/build-module/components/block-allowed-blocks/modal.mjs.map +2 -2
  647. package/build-module/components/block-bindings/attribute-control.mjs.map +2 -2
  648. package/build-module/components/block-bindings/index.mjs.map +2 -2
  649. package/build-module/components/block-bindings/source-fields-list.mjs.map +2 -2
  650. package/build-module/components/block-bindings/use-block-bindings-utils.mjs.map +2 -2
  651. package/build-module/components/block-breadcrumb/index.mjs.map +2 -2
  652. package/build-module/components/block-canvas/index.mjs.map +2 -2
  653. package/build-module/components/block-card/index.mjs.map +2 -2
  654. package/build-module/components/block-compare/block-view.mjs.map +2 -2
  655. package/build-module/components/block-compare/index.mjs.map +2 -2
  656. package/build-module/components/block-content-overlay/index.mjs.map +2 -2
  657. package/build-module/components/block-context/index.mjs.map +2 -2
  658. package/build-module/components/block-controls/fill.mjs.map +2 -2
  659. package/build-module/components/block-controls/groups.mjs.map +2 -2
  660. package/build-module/components/block-controls/hook.mjs.map +2 -2
  661. package/build-module/components/block-controls/index.mjs.map +2 -2
  662. package/build-module/components/block-controls/slot.mjs.map +2 -2
  663. package/build-module/components/block-draggable/draggable-chip.mjs.map +2 -2
  664. package/build-module/components/block-draggable/index.mjs.map +2 -2
  665. package/build-module/components/block-draggable/use-scroll-when-dragging.mjs.map +2 -2
  666. package/build-module/components/block-edit/context.mjs.map +2 -2
  667. package/build-module/components/block-edit/edit.mjs.map +2 -2
  668. package/build-module/components/block-edit/index.mjs.map +2 -2
  669. package/build-module/components/block-edit/multiple-usage-warning.mjs.map +2 -2
  670. package/build-module/components/block-edit-visually-button/index.mjs.map +2 -2
  671. package/build-module/components/block-editing-mode/index.mjs.map +2 -2
  672. package/build-module/components/block-full-height-alignment-control/index.mjs.map +2 -2
  673. package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs.map +2 -2
  674. package/build-module/components/block-heading-level-dropdown/index.mjs.map +2 -2
  675. package/build-module/components/block-icon/index.mjs.map +2 -2
  676. package/build-module/components/block-inspector/edit-contents.mjs +49 -41
  677. package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
  678. package/build-module/components/block-inspector/index.mjs +18 -10
  679. package/build-module/components/block-inspector/index.mjs.map +2 -2
  680. package/build-module/components/block-inspector/inspector-pre-tabs-slot-fill.mjs.map +2 -2
  681. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.mjs.map +2 -2
  682. package/build-module/components/block-keyboard-shortcuts/index.mjs +173 -0
  683. package/build-module/components/block-keyboard-shortcuts/index.mjs.map +7 -0
  684. package/build-module/components/block-list/block-crash-boundary.mjs.map +2 -2
  685. package/build-module/components/block-list/block-crash-warning.mjs.map +2 -2
  686. package/build-module/components/block-list/block-html.mjs.map +2 -2
  687. package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
  688. package/build-module/components/block-list/block.mjs +46 -13
  689. package/build-module/components/block-list/block.mjs.map +3 -3
  690. package/build-module/components/block-list/index.mjs +40 -11
  691. package/build-module/components/block-list/index.mjs.map +2 -2
  692. package/build-module/components/block-list/layout.mjs.map +2 -2
  693. package/build-module/components/block-list/private-block-context.mjs.map +2 -2
  694. package/build-module/components/block-list/subdirectory-icon.mjs.map +2 -2
  695. package/build-module/components/block-list/use-block-props/index.mjs +36 -2
  696. package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
  697. package/build-module/components/block-list/use-block-props/use-block-refs.mjs.map +2 -2
  698. package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.mjs.map +2 -2
  699. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +4 -0
  700. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
  701. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
  702. package/build-module/components/block-list/use-block-props/use-intersection-observer.mjs.map +2 -2
  703. package/build-module/components/block-list/use-block-props/use-is-hovered.mjs.map +2 -2
  704. package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs.map +2 -2
  705. package/build-module/components/block-list/use-block-props/use-scroll-into-view.mjs.map +2 -2
  706. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.mjs +6 -7
  707. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.mjs.map +2 -2
  708. package/build-module/components/block-list/use-in-between-inserter.mjs.map +2 -2
  709. package/build-module/components/block-list/zoom-out-separator.mjs.map +2 -2
  710. package/build-module/components/block-list-appender/index.mjs.map +2 -2
  711. package/build-module/components/block-lock/menu-item.mjs.map +2 -2
  712. package/build-module/components/block-lock/modal.mjs.map +2 -2
  713. package/build-module/components/block-lock/toolbar.mjs.map +2 -2
  714. package/build-module/components/block-lock/use-block-lock.mjs.map +2 -2
  715. package/build-module/components/block-manager/category.mjs.map +2 -2
  716. package/build-module/components/block-manager/checklist.mjs.map +2 -2
  717. package/build-module/components/block-manager/index.mjs.map +2 -2
  718. package/build-module/components/block-mover/button.mjs +17 -11
  719. package/build-module/components/block-mover/button.mjs.map +2 -2
  720. package/build-module/components/block-mover/index.mjs.map +2 -2
  721. package/build-module/components/block-mover/mover-description.mjs.map +2 -2
  722. package/build-module/components/block-navigation/dropdown.mjs.map +2 -2
  723. package/build-module/components/block-parent-selector/index.mjs +101 -32
  724. package/build-module/components/block-parent-selector/index.mjs.map +2 -2
  725. package/build-module/components/block-pattern-setup/index.mjs.map +2 -2
  726. package/build-module/components/block-pattern-setup/setup-toolbar.mjs.map +2 -2
  727. package/build-module/components/block-pattern-setup/use-patterns-setup.mjs.map +2 -2
  728. package/build-module/components/block-patterns-list/index.mjs.map +2 -2
  729. package/build-module/components/block-patterns-paging/index.mjs.map +2 -2
  730. package/build-module/components/block-popover/cover.mjs.map +2 -2
  731. package/build-module/components/block-popover/drop-zone.mjs.map +2 -2
  732. package/build-module/components/block-popover/inbetween.mjs +2 -2
  733. package/build-module/components/block-popover/inbetween.mjs.map +2 -2
  734. package/build-module/components/block-popover/index.mjs.map +2 -2
  735. package/build-module/components/block-popover/use-popover-scroll.mjs.map +2 -2
  736. package/build-module/components/block-preview/async.mjs.map +2 -2
  737. package/build-module/components/block-preview/auto.mjs.map +2 -2
  738. package/build-module/components/block-preview/index.mjs +0 -4
  739. package/build-module/components/block-preview/index.mjs.map +2 -2
  740. package/build-module/components/block-quick-navigation/index.mjs.map +2 -2
  741. package/build-module/components/block-removal-warning-modal/index.mjs.map +2 -2
  742. package/build-module/components/block-rename/modal.mjs.map +2 -2
  743. package/build-module/components/block-rename/rename-control.mjs.map +2 -2
  744. package/build-module/components/block-rename/use-block-rename.mjs.map +2 -2
  745. package/build-module/components/block-selection-clearer/index.mjs.map +2 -2
  746. package/build-module/components/block-settings-menu/block-html-convert-button.mjs.map +2 -2
  747. package/build-module/components/block-settings-menu/block-mode-toggle.mjs.map +2 -2
  748. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs.map +2 -2
  749. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs +1 -1
  750. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs.map +2 -2
  751. package/build-module/components/block-settings-menu/block-settings-menu-first-item.mjs.map +2 -2
  752. package/build-module/components/block-settings-menu/index.mjs.map +2 -2
  753. package/build-module/components/block-settings-menu-controls/index.mjs.map +2 -2
  754. package/build-module/components/block-styles/index.mjs +79 -35
  755. package/build-module/components/block-styles/index.mjs.map +2 -2
  756. package/build-module/components/block-styles/menu-items.mjs.map +2 -2
  757. package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
  758. package/build-module/components/block-styles/utils.mjs.map +2 -2
  759. package/build-module/components/block-switcher/block-styles-menu.mjs.map +2 -2
  760. package/build-module/components/block-switcher/block-transformations-menu.mjs.map +2 -2
  761. package/build-module/components/block-switcher/block-variation-transformations.mjs.map +2 -2
  762. package/build-module/components/block-switcher/index.mjs.map +2 -2
  763. package/build-module/components/block-switcher/pattern-transformations-menu.mjs.map +2 -2
  764. package/build-module/components/block-switcher/preview-block-popover.mjs.map +2 -2
  765. package/build-module/components/block-switcher/use-transformed-patterns.mjs.map +2 -2
  766. package/build-module/components/block-switcher/utils.mjs.map +2 -2
  767. package/build-module/components/block-title/index.mjs.map +2 -2
  768. package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
  769. package/build-module/components/block-toolbar/block-styles-dropdown.mjs.map +2 -2
  770. package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
  771. package/build-module/components/block-toolbar/block-toolbar-last-item.mjs.map +2 -2
  772. package/build-module/components/block-toolbar/change-design.mjs.map +2 -2
  773. package/build-module/components/block-toolbar/edit-section-button.mjs.map +2 -2
  774. package/build-module/components/block-toolbar/index.mjs.map +2 -2
  775. package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs.map +2 -2
  776. package/build-module/components/block-toolbar/switch-section-style.mjs.map +2 -2
  777. package/build-module/components/block-toolbar/use-has-block-toolbar.mjs.map +2 -2
  778. package/build-module/components/block-toolbar/utils.mjs.map +2 -2
  779. package/build-module/components/block-tools/block-toolbar-popover.mjs.map +2 -2
  780. package/build-module/components/block-tools/empty-block-inserter.mjs.map +2 -2
  781. package/build-module/components/block-tools/index.mjs +3 -9
  782. package/build-module/components/block-tools/index.mjs.map +2 -2
  783. package/build-module/components/block-tools/insertion-point.mjs.map +2 -2
  784. package/build-module/components/block-tools/use-block-toolbar-popover-props.mjs.map +2 -2
  785. package/build-module/components/block-tools/use-selected-block-tool-props.mjs.map +2 -2
  786. package/build-module/components/block-tools/use-show-block-tools.mjs.map +2 -2
  787. package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs.map +2 -2
  788. package/build-module/components/block-tools/zoom-out-mode-inserters.mjs.map +2 -2
  789. package/build-module/components/block-types-list/index.mjs.map +2 -2
  790. package/build-module/components/block-variation-picker/index.mjs.map +2 -2
  791. package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
  792. package/build-module/components/block-vertical-alignment-control/index.mjs.map +2 -2
  793. package/build-module/components/block-vertical-alignment-control/ui.mjs.map +2 -2
  794. package/build-module/components/block-visibility/constants.mjs +1 -1
  795. package/build-module/components/block-visibility/constants.mjs.map +3 -3
  796. package/build-module/components/block-visibility/modal.mjs.map +2 -2
  797. package/build-module/components/block-visibility/use-block-visibility.mjs +15 -17
  798. package/build-module/components/block-visibility/use-block-visibility.mjs.map +3 -3
  799. package/build-module/components/block-visibility/utils.mjs.map +2 -2
  800. package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
  801. package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
  802. package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
  803. package/build-module/components/border-radius-control/constants.mjs.map +2 -2
  804. package/build-module/components/border-radius-control/index.mjs.map +2 -2
  805. package/build-module/components/border-radius-control/linked-button.mjs.map +2 -2
  806. package/build-module/components/border-radius-control/utils.mjs.map +2 -2
  807. package/build-module/components/button-block-appender/index.mjs.map +2 -2
  808. package/build-module/components/child-layout-control/index.mjs +5 -5
  809. package/build-module/components/child-layout-control/index.mjs.map +2 -2
  810. package/build-module/components/collab/note-icon-slot.mjs.map +2 -2
  811. package/build-module/components/collab/note-icon-toolbar-slot.mjs.map +2 -2
  812. package/build-module/components/color-palette/control.mjs.map +2 -2
  813. package/build-module/components/color-palette/index.mjs.map +2 -2
  814. package/build-module/components/color-palette/with-color-context.mjs.map +2 -2
  815. package/build-module/components/color-style-selector/index.mjs.map +2 -2
  816. package/build-module/components/colors/utils.mjs +1 -3
  817. package/build-module/components/colors/utils.mjs.map +2 -2
  818. package/build-module/components/colors/with-colors.mjs +57 -75
  819. package/build-module/components/colors/with-colors.mjs.map +2 -2
  820. package/build-module/components/colors-gradients/control.mjs.map +2 -2
  821. package/build-module/components/colors-gradients/dropdown.mjs.map +2 -2
  822. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs +5 -5
  823. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs.map +2 -2
  824. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.mjs.map +2 -2
  825. package/build-module/components/contrast-checker/index.mjs.map +2 -2
  826. package/build-module/components/convert-to-group-buttons/index.mjs +2 -5
  827. package/build-module/components/convert-to-group-buttons/index.mjs.map +2 -2
  828. package/build-module/components/convert-to-group-buttons/toolbar.mjs +3 -5
  829. package/build-module/components/convert-to-group-buttons/toolbar.mjs.map +2 -2
  830. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.mjs.map +2 -2
  831. package/build-module/components/copy-handler/index.mjs.map +2 -2
  832. package/build-module/components/date-format-picker/index.mjs.map +2 -2
  833. package/build-module/components/default-block-appender/index.mjs.map +2 -2
  834. package/build-module/components/dimension-control/index.mjs.map +2 -2
  835. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +4 -2
  836. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
  837. package/build-module/components/dimensions-tool/index.mjs +19 -17
  838. package/build-module/components/dimensions-tool/index.mjs.map +2 -2
  839. package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
  840. package/build-module/components/dimensions-tool/utils.mjs +35 -0
  841. package/build-module/components/dimensions-tool/utils.mjs.map +7 -0
  842. package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
  843. package/build-module/components/duotone-control/index.mjs +2 -0
  844. package/build-module/components/duotone-control/index.mjs.map +2 -2
  845. package/build-module/components/editable-text/index.mjs.map +2 -2
  846. package/build-module/components/editor-styles/index.mjs.map +2 -2
  847. package/build-module/components/fit-text-size-warning/index.mjs.map +2 -2
  848. package/build-module/components/font-appearance-control/index.mjs.map +2 -2
  849. package/build-module/components/font-family/index.mjs.map +2 -2
  850. package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
  851. package/build-module/components/font-sizes/utils.mjs +1 -3
  852. package/build-module/components/font-sizes/utils.mjs.map +2 -2
  853. package/build-module/components/font-sizes/with-font-sizes.mjs.map +2 -2
  854. package/build-module/components/global-styles/advanced-panel.mjs +5 -2
  855. package/build-module/components/global-styles/advanced-panel.mjs.map +2 -2
  856. package/build-module/components/global-styles/background-panel.mjs.map +2 -2
  857. package/build-module/components/global-styles/border-panel.mjs +2 -5
  858. package/build-module/components/global-styles/border-panel.mjs.map +2 -2
  859. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +2 -2
  860. package/build-module/components/global-styles/color-panel.mjs +14 -2
  861. package/build-module/components/global-styles/color-panel.mjs.map +2 -2
  862. package/build-module/components/global-styles/dimensions-panel.mjs +9 -5
  863. package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
  864. package/build-module/components/global-styles/filters-panel.mjs +16 -9
  865. package/build-module/components/global-styles/filters-panel.mjs.map +2 -2
  866. package/build-module/components/global-styles/hooks.mjs.map +2 -2
  867. package/build-module/components/global-styles/image-settings-panel.mjs.map +2 -2
  868. package/build-module/components/global-styles/inheritance/index.mjs.map +2 -2
  869. package/build-module/components/global-styles/inherited-value-context.mjs.map +2 -2
  870. package/build-module/components/global-styles/shadow-panel-components.mjs +16 -11
  871. package/build-module/components/global-styles/shadow-panel-components.mjs.map +2 -2
  872. package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
  873. package/build-module/components/global-styles/state-control.mjs.map +2 -2
  874. package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
  875. package/build-module/components/global-styles/typography-utils.mjs.map +2 -2
  876. package/build-module/components/global-styles/utils.mjs +8 -0
  877. package/build-module/components/global-styles/utils.mjs.map +2 -2
  878. package/build-module/components/gradients/use-gradient.mjs.map +2 -2
  879. package/build-module/components/grid/grid-item-movers.mjs.map +2 -2
  880. package/build-module/components/grid/grid-item-resizer.mjs.map +2 -2
  881. package/build-module/components/grid/grid-visualizer.mjs.map +2 -2
  882. package/build-module/components/grid/use-get-number-of-blocks-before-cell.mjs.map +2 -2
  883. package/build-module/components/grid/use-grid-layout-sync.mjs.map +2 -2
  884. package/build-module/components/height-control/index.mjs.map +2 -2
  885. package/build-module/components/html-element-control/index.mjs.map +2 -2
  886. package/build-module/components/html-element-control/messages.mjs.map +2 -2
  887. package/build-module/components/iframe/index.mjs +19 -24
  888. package/build-module/components/iframe/index.mjs.map +2 -2
  889. package/build-module/components/iframe/use-scale-canvas.mjs +21 -7
  890. package/build-module/components/iframe/use-scale-canvas.mjs.map +2 -2
  891. package/build-module/components/image-editor/aspect-ratio-dropdown.mjs.map +2 -2
  892. package/build-module/components/image-editor/context.mjs.map +2 -2
  893. package/build-module/components/image-editor/cropper.mjs.map +2 -2
  894. package/build-module/components/image-editor/form-controls.mjs.map +2 -2
  895. package/build-module/components/image-editor/index.mjs.map +2 -2
  896. package/build-module/components/image-editor/rotation-button.mjs.map +2 -2
  897. package/build-module/components/image-editor/use-save-image.mjs.map +2 -2
  898. package/build-module/components/image-editor/use-transform-image.mjs.map +2 -2
  899. package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
  900. package/build-module/components/image-size-control/index.mjs.map +2 -2
  901. package/build-module/components/image-size-control/use-dimension-handler.mjs.map +2 -2
  902. package/build-module/components/inner-blocks/button-block-appender.mjs.map +2 -2
  903. package/build-module/components/inner-blocks/default-block-appender.mjs.map +2 -2
  904. package/build-module/components/inner-blocks/index.mjs +5 -3
  905. package/build-module/components/inner-blocks/index.mjs.map +2 -2
  906. package/build-module/components/inner-blocks/use-block-context.mjs.map +2 -2
  907. package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs +35 -8
  908. package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs.map +2 -2
  909. package/build-module/components/inner-blocks/use-nested-settings-update.mjs.map +2 -2
  910. package/build-module/components/inner-content/index.mjs.map +2 -2
  911. package/build-module/components/inserter/block-patterns-explorer/index.mjs +39 -22
  912. package/build-module/components/inserter/block-patterns-explorer/index.mjs.map +2 -2
  913. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs +22 -56
  914. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs.map +2 -2
  915. package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs +20 -45
  916. package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs.map +2 -2
  917. package/build-module/components/inserter/block-patterns-tab/index.mjs.map +2 -2
  918. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs.map +2 -2
  919. package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs.map +2 -2
  920. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.mjs.map +2 -2
  921. package/build-module/components/inserter/block-patterns-tab/utils.mjs.map +2 -2
  922. package/build-module/components/inserter/block-types-tab.mjs.map +2 -2
  923. package/build-module/components/inserter/category-tabs/index.mjs.map +2 -2
  924. package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
  925. package/build-module/components/inserter/hooks/use-insertion-point.mjs +4 -4
  926. package/build-module/components/inserter/hooks/use-insertion-point.mjs.map +2 -2
  927. package/build-module/components/inserter/hooks/use-patterns-paging.mjs.map +2 -2
  928. package/build-module/components/inserter/hooks/use-patterns-state.mjs.map +2 -2
  929. package/build-module/components/inserter/index.mjs +4 -13
  930. package/build-module/components/inserter/index.mjs.map +2 -2
  931. package/build-module/components/inserter/library.mjs.map +2 -2
  932. package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
  933. package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
  934. package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
  935. package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
  936. package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
  937. package/build-module/components/inserter/media-tab/utils.mjs.map +2 -2
  938. package/build-module/components/inserter/menu.mjs +19 -8
  939. package/build-module/components/inserter/menu.mjs.map +2 -2
  940. package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
  941. package/build-module/components/inserter/no-results.mjs.map +2 -2
  942. package/build-module/components/inserter/panel.mjs.map +2 -2
  943. package/build-module/components/inserter/preview-panel.mjs.map +2 -2
  944. package/build-module/components/inserter/quick-inserter.mjs +30 -27
  945. package/build-module/components/inserter/quick-inserter.mjs.map +2 -2
  946. package/build-module/components/inserter/search-items.mjs.map +2 -2
  947. package/build-module/components/inserter/search-results.mjs.map +2 -2
  948. package/build-module/components/inserter/tips.mjs.map +2 -2
  949. package/build-module/components/inserter-draggable-blocks/index.mjs.map +2 -2
  950. package/build-module/components/inserter-list-item/index.mjs.map +2 -2
  951. package/build-module/components/inserter-listbox/context.mjs.map +2 -2
  952. package/build-module/components/inserter-listbox/group.mjs.map +2 -2
  953. package/build-module/components/inserter-listbox/index.mjs.map +2 -2
  954. package/build-module/components/inserter-listbox/item.mjs.map +2 -2
  955. package/build-module/components/inserter-listbox/row.mjs.map +2 -2
  956. package/build-module/components/inserter-menu-extension/index.mjs.map +2 -2
  957. package/build-module/components/inspector-controls/block-support-slot-container.mjs.map +2 -2
  958. package/build-module/components/inspector-controls/block-support-tools-panel.mjs.map +2 -2
  959. package/build-module/components/inspector-controls/fill.mjs +15 -17
  960. package/build-module/components/inspector-controls/fill.mjs.map +2 -2
  961. package/build-module/components/inspector-controls/groups.mjs.map +2 -2
  962. package/build-module/components/inspector-controls/index.mjs.map +2 -2
  963. package/build-module/components/inspector-controls/last-item.mjs.map +2 -2
  964. package/build-module/components/inspector-controls/list-view-content-popover.mjs.map +2 -2
  965. package/build-module/components/inspector-controls/slot.mjs.map +2 -2
  966. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs.map +2 -2
  967. package/build-module/components/inspector-controls-tabs/content-tab.mjs.map +2 -2
  968. package/build-module/components/inspector-controls-tabs/index.mjs.map +2 -2
  969. package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs.map +2 -2
  970. package/build-module/components/inspector-controls-tabs/settings-tab.mjs.map +2 -2
  971. package/build-module/components/inspector-controls-tabs/styles-tab.mjs +1 -1
  972. package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +2 -2
  973. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs.map +2 -2
  974. package/build-module/components/inspector-controls-tabs/utils.mjs.map +2 -2
  975. package/build-module/components/inspector-popover-header/index.mjs.map +2 -2
  976. package/build-module/components/justify-content-control/index.mjs.map +2 -2
  977. package/build-module/components/justify-content-control/ui.mjs.map +2 -2
  978. package/build-module/components/keyboard-shortcuts/index.mjs.map +2 -2
  979. package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
  980. package/build-module/components/line-height-control/index.mjs.map +2 -2
  981. package/build-module/components/link-control/constants.mjs.map +2 -2
  982. package/build-module/components/link-control/index.mjs.map +2 -2
  983. package/build-module/components/link-control/is-url-like.mjs.map +2 -2
  984. package/build-module/components/link-control/link-preview.mjs.map +2 -2
  985. package/build-module/components/link-control/normalize-url.mjs.map +2 -2
  986. package/build-module/components/link-control/search-create-button.mjs.map +2 -2
  987. package/build-module/components/link-control/search-input.mjs.map +2 -2
  988. package/build-module/components/link-control/search-item.mjs.map +2 -2
  989. package/build-module/components/link-control/search-results.mjs +1 -1
  990. package/build-module/components/link-control/search-results.mjs.map +2 -2
  991. package/build-module/components/link-control/settings-drawer.mjs.map +2 -2
  992. package/build-module/components/link-control/settings.mjs.map +2 -2
  993. package/build-module/components/link-control/use-create-page.mjs.map +2 -2
  994. package/build-module/components/link-control/use-internal-value.mjs.map +2 -2
  995. package/build-module/components/link-control/use-rich-url-data.mjs +1 -1
  996. package/build-module/components/link-control/use-rich-url-data.mjs.map +2 -2
  997. package/build-module/components/link-control/use-search-handler.mjs.map +2 -2
  998. package/build-module/components/link-control/viewer-slot.mjs.map +2 -2
  999. package/build-module/components/link-picker/link-picker.mjs.map +2 -2
  1000. package/build-module/components/link-picker/link-preview.mjs.map +2 -2
  1001. package/build-module/components/list-view/appender.mjs +7 -4
  1002. package/build-module/components/list-view/appender.mjs.map +2 -2
  1003. package/build-module/components/list-view/aria-referenced-text.mjs +2 -9
  1004. package/build-module/components/list-view/aria-referenced-text.mjs.map +2 -2
  1005. package/build-module/components/list-view/block-contents.mjs +18 -21
  1006. package/build-module/components/list-view/block-contents.mjs.map +2 -2
  1007. package/build-module/components/list-view/block-select-button.mjs +49 -26
  1008. package/build-module/components/list-view/block-select-button.mjs.map +2 -2
  1009. package/build-module/components/list-view/block.mjs +40 -47
  1010. package/build-module/components/list-view/block.mjs.map +2 -2
  1011. package/build-module/components/list-view/branch.mjs +100 -80
  1012. package/build-module/components/list-view/branch.mjs.map +2 -2
  1013. package/build-module/components/list-view/context.mjs +11 -1
  1014. package/build-module/components/list-view/context.mjs.map +2 -2
  1015. package/build-module/components/list-view/drop-indicator.mjs +6 -6
  1016. package/build-module/components/list-view/drop-indicator.mjs.map +2 -2
  1017. package/build-module/components/list-view/expander.mjs.map +2 -2
  1018. package/build-module/components/list-view/index.mjs +119 -100
  1019. package/build-module/components/list-view/index.mjs.map +3 -3
  1020. package/build-module/components/list-view/leaf.mjs.map +2 -2
  1021. package/build-module/components/list-view/use-block-selection.mjs.map +2 -2
  1022. package/build-module/components/list-view/use-clipboard-handler.mjs.map +2 -2
  1023. package/build-module/components/list-view/use-list-view-block-indexes.mjs.map +2 -2
  1024. package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
  1025. package/build-module/components/list-view/use-list-view-collapse-items.mjs +3 -4
  1026. package/build-module/components/list-view/use-list-view-collapse-items.mjs.map +2 -2
  1027. package/build-module/components/list-view/use-list-view-drop-zone.mjs +7 -13
  1028. package/build-module/components/list-view/use-list-view-drop-zone.mjs.map +2 -2
  1029. package/build-module/components/list-view/use-list-view-expand-selected-item.mjs +3 -3
  1030. package/build-module/components/list-view/use-list-view-expand-selected-item.mjs.map +2 -2
  1031. package/build-module/components/list-view/use-list-view-images.mjs +4 -3
  1032. package/build-module/components/list-view/use-list-view-images.mjs.map +2 -2
  1033. package/build-module/components/list-view/use-list-view-scroll-into-view.mjs.map +2 -2
  1034. package/build-module/components/list-view/utils.mjs +18 -4
  1035. package/build-module/components/list-view/utils.mjs.map +2 -2
  1036. package/build-module/components/media-placeholder/index.mjs +3 -3
  1037. package/build-module/components/media-placeholder/index.mjs.map +2 -2
  1038. package/build-module/components/media-replace-flow/index.mjs.map +2 -2
  1039. package/build-module/components/media-upload/check.mjs.map +2 -2
  1040. package/build-module/components/media-upload/index.mjs.map +2 -2
  1041. package/build-module/components/multi-selection-inspector/index.mjs +33 -12
  1042. package/build-module/components/multi-selection-inspector/index.mjs.map +2 -2
  1043. package/build-module/components/navigable-toolbar/index.mjs +30 -18
  1044. package/build-module/components/navigable-toolbar/index.mjs.map +2 -2
  1045. package/build-module/components/observe-typing/index.mjs.map +2 -2
  1046. package/build-module/components/panel-color-settings/index.mjs.map +2 -2
  1047. package/build-module/components/plain-text/index.mjs.map +2 -2
  1048. package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
  1049. package/build-module/components/preset-input-control/index.mjs.map +2 -2
  1050. package/build-module/components/preview-options/index.mjs.map +2 -2
  1051. package/build-module/components/provider/block-refs-provider.mjs.map +2 -2
  1052. package/build-module/components/provider/index.mjs +6 -2
  1053. package/build-module/components/provider/index.mjs.map +2 -2
  1054. package/build-module/components/provider/selection-context.mjs.map +2 -2
  1055. package/build-module/components/provider/use-block-sync.mjs.map +2 -2
  1056. package/build-module/components/provider/use-media-upload-settings.mjs.map +2 -2
  1057. package/build-module/components/provider/with-registry-provider.mjs.map +2 -2
  1058. package/build-module/components/publish-date-time-picker/index.mjs +3 -2
  1059. package/build-module/components/publish-date-time-picker/index.mjs.map +2 -2
  1060. package/build-module/components/recursion-provider/index.mjs.map +2 -2
  1061. package/build-module/components/resizable-box-popover/index.mjs.map +2 -2
  1062. package/build-module/components/resolution-tool/index.mjs.map +2 -2
  1063. package/build-module/components/responsive-block-control/index.mjs.map +2 -2
  1064. package/build-module/components/responsive-block-control/label.mjs.map +2 -2
  1065. package/build-module/components/rich-text/content.mjs.map +2 -2
  1066. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
  1067. package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
  1068. package/build-module/components/rich-text/event-listeners/enter.mjs +46 -39
  1069. package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
  1070. package/build-module/components/rich-text/event-listeners/firefox-compat.mjs.map +2 -2
  1071. package/build-module/components/rich-text/event-listeners/index.mjs.map +2 -2
  1072. package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
  1073. package/build-module/components/rich-text/event-listeners/input-rules.mjs +13 -10
  1074. package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
  1075. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
  1076. package/build-module/components/rich-text/event-listeners/paste-handler.mjs +8 -1
  1077. package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
  1078. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
  1079. package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
  1080. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
  1081. package/build-module/components/rich-text/format-edit.mjs.map +2 -2
  1082. package/build-module/components/rich-text/format-toolbar/index.mjs.map +2 -2
  1083. package/build-module/components/rich-text/format-toolbar-container.mjs.map +2 -2
  1084. package/build-module/components/rich-text/get-rich-text-values.mjs.map +2 -2
  1085. package/build-module/components/rich-text/index.mjs +7 -5
  1086. package/build-module/components/rich-text/index.mjs.map +2 -2
  1087. package/build-module/components/rich-text/multiline.mjs +112 -72
  1088. package/build-module/components/rich-text/multiline.mjs.map +2 -2
  1089. package/build-module/components/rich-text/prevent-event-discovery.mjs.map +2 -2
  1090. package/build-module/components/rich-text/toolbar-button.mjs.map +2 -2
  1091. package/build-module/components/rich-text/use-mark-persistent.mjs.map +2 -2
  1092. package/build-module/components/rich-text/utils.mjs.map +2 -2
  1093. package/build-module/components/rich-text/with-deprecations.mjs.map +2 -2
  1094. package/build-module/components/selection-scroll-into-view/index.mjs.map +2 -2
  1095. package/build-module/components/skip-to-selected-block/index.mjs.map +2 -2
  1096. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.mjs.map +2 -2
  1097. package/build-module/components/spacing-sizes-control/index.mjs +2 -2
  1098. package/build-module/components/spacing-sizes-control/index.mjs.map +2 -2
  1099. package/build-module/components/spacing-sizes-control/input-controls/axial.mjs.map +2 -2
  1100. package/build-module/components/spacing-sizes-control/input-controls/separated.mjs.map +2 -2
  1101. package/build-module/components/spacing-sizes-control/input-controls/single.mjs.map +2 -2
  1102. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs.map +2 -2
  1103. package/build-module/components/spacing-sizes-control/linked-button.mjs.map +2 -2
  1104. package/build-module/components/spacing-sizes-control/utils.mjs.map +2 -2
  1105. package/build-module/components/tabbed-sidebar/index.mjs.map +2 -2
  1106. package/build-module/components/text-alignment-control/index.mjs.map +2 -2
  1107. package/build-module/components/text-decoration-control/index.mjs.map +2 -2
  1108. package/build-module/components/text-indent-control/index.mjs.map +2 -2
  1109. package/build-module/components/text-transform-control/index.mjs.map +2 -2
  1110. package/build-module/components/tool-selector/index.mjs.map +2 -2
  1111. package/build-module/components/typewriter/index.mjs.map +2 -2
  1112. package/build-module/components/unit-control/index.mjs.map +2 -2
  1113. package/build-module/components/url-input/button.mjs.map +2 -2
  1114. package/build-module/components/url-input/index.mjs +30 -48
  1115. package/build-module/components/url-input/index.mjs.map +2 -2
  1116. package/build-module/components/url-popover/image-url-input-ui.mjs +2 -2
  1117. package/build-module/components/url-popover/image-url-input-ui.mjs.map +2 -2
  1118. package/build-module/components/url-popover/index.mjs.map +2 -2
  1119. package/build-module/components/url-popover/link-editor.mjs.map +2 -2
  1120. package/build-module/components/url-popover/link-viewer-url.mjs.map +2 -2
  1121. package/build-module/components/url-popover/link-viewer.mjs.map +2 -2
  1122. package/build-module/components/use-block-commands/index.mjs +2 -1
  1123. package/build-module/components/use-block-commands/index.mjs.map +2 -2
  1124. package/build-module/components/use-block-display-information/index.mjs +2 -1
  1125. package/build-module/components/use-block-display-information/index.mjs.map +2 -2
  1126. package/build-module/components/use-block-drop-zone/index.mjs.map +2 -2
  1127. package/build-module/components/use-flash-editable-blocks/index.mjs.map +2 -2
  1128. package/build-module/components/use-list-view-panel-state/index.mjs.map +2 -2
  1129. package/build-module/components/use-moving-animation/index.mjs +2 -2
  1130. package/build-module/components/use-moving-animation/index.mjs.map +2 -2
  1131. package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
  1132. package/build-module/components/use-paste-styles/index.mjs.map +2 -2
  1133. package/build-module/components/use-resize-canvas/index.mjs.map +2 -2
  1134. package/build-module/components/use-settings/index.mjs.map +2 -2
  1135. package/build-module/components/warning/index.mjs.map +2 -2
  1136. package/build-module/components/writing-flow/index.mjs.map +2 -2
  1137. package/build-module/components/writing-flow/use-arrow-nav.mjs +11 -2
  1138. package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
  1139. package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
  1140. package/build-module/components/writing-flow/use-clipboard-handler.mjs +31 -5
  1141. package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
  1142. package/build-module/components/writing-flow/use-drag-selection.mjs.map +2 -2
  1143. package/build-module/components/writing-flow/use-editable-root-event-handlers.mjs.map +2 -2
  1144. package/build-module/components/writing-flow/use-editable-root.mjs.map +2 -2
  1145. package/build-module/components/writing-flow/use-home-end.mjs.map +2 -2
  1146. package/build-module/components/writing-flow/use-input.mjs +66 -14
  1147. package/build-module/components/writing-flow/use-input.mjs.map +3 -3
  1148. package/build-module/components/writing-flow/use-multi-selection.mjs.map +2 -2
  1149. package/build-module/components/writing-flow/use-preview-mode-nav.mjs.map +2 -2
  1150. package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
  1151. package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
  1152. package/build-module/components/writing-flow/use-tab-nav.mjs +3 -1
  1153. package/build-module/components/writing-flow/use-tab-nav.mjs.map +2 -2
  1154. package/build-module/components/writing-flow/utils.mjs.map +2 -2
  1155. package/build-module/components/writing-mode-control/index.mjs.map +2 -2
  1156. package/build-module/hooks/align.mjs.map +2 -2
  1157. package/build-module/hooks/allowed-blocks.mjs.map +2 -2
  1158. package/build-module/hooks/anchor.mjs.map +2 -2
  1159. package/build-module/hooks/aria-label.mjs.map +2 -2
  1160. package/build-module/hooks/auto-inspector-controls.mjs.map +2 -2
  1161. package/build-module/hooks/background.mjs +1 -4
  1162. package/build-module/hooks/background.mjs.map +2 -2
  1163. package/build-module/hooks/block-bindings.mjs.map +2 -2
  1164. package/build-module/hooks/block-fields/fields-dropdown-menu.mjs.map +2 -2
  1165. package/build-module/hooks/block-fields/index.mjs.map +2 -2
  1166. package/build-module/hooks/block-fields/link/index.mjs.map +2 -2
  1167. package/build-module/hooks/block-fields/media/index.mjs.map +2 -2
  1168. package/build-module/hooks/block-fields/rich-text/index.mjs.map +2 -2
  1169. package/build-module/hooks/block-fields/use-inspector-popover-placement.mjs.map +2 -2
  1170. package/build-module/hooks/block-hooks.mjs.map +2 -2
  1171. package/build-module/hooks/block-renaming.mjs.map +2 -2
  1172. package/build-module/hooks/block-style-state.mjs.map +2 -2
  1173. package/build-module/hooks/block-style-variation.mjs.map +2 -2
  1174. package/build-module/hooks/border.mjs +26 -8
  1175. package/build-module/hooks/border.mjs.map +2 -2
  1176. package/build-module/hooks/color.mjs.map +2 -2
  1177. package/build-module/hooks/compat.mjs.map +2 -2
  1178. package/build-module/hooks/contrast-checker.mjs.map +2 -2
  1179. package/build-module/hooks/custom-class-name.mjs.map +2 -2
  1180. package/build-module/hooks/dimensions.mjs +9 -2
  1181. package/build-module/hooks/dimensions.mjs.map +2 -2
  1182. package/build-module/hooks/duotone.mjs +8 -4
  1183. package/build-module/hooks/duotone.mjs.map +2 -2
  1184. package/build-module/hooks/elements.mjs.map +2 -2
  1185. package/build-module/hooks/fit-text.mjs.map +2 -2
  1186. package/build-module/hooks/font-family.mjs +1 -3
  1187. package/build-module/hooks/font-family.mjs.map +2 -2
  1188. package/build-module/hooks/font-size.mjs.map +2 -2
  1189. package/build-module/hooks/gap.mjs +6 -1
  1190. package/build-module/hooks/gap.mjs.map +2 -2
  1191. package/build-module/hooks/generated-class-name.mjs.map +2 -2
  1192. package/build-module/hooks/grid-visualizer.mjs.map +2 -2
  1193. package/build-module/hooks/index.mjs.map +2 -2
  1194. package/build-module/hooks/layout-child.mjs +36 -13
  1195. package/build-module/hooks/layout-child.mjs.map +2 -2
  1196. package/build-module/hooks/layout.mjs +24 -4
  1197. package/build-module/hooks/layout.mjs.map +2 -2
  1198. package/build-module/hooks/line-height.mjs.map +2 -2
  1199. package/build-module/hooks/list-view.mjs.map +2 -2
  1200. package/build-module/hooks/lock.mjs.map +2 -2
  1201. package/build-module/hooks/metadata.mjs.map +2 -2
  1202. package/build-module/hooks/position.mjs.map +2 -2
  1203. package/build-module/hooks/settings.mjs.map +2 -2
  1204. package/build-module/hooks/spacing-visualizer.mjs.map +2 -2
  1205. package/build-module/hooks/state-utils.mjs.map +2 -2
  1206. package/build-module/hooks/states.mjs +8 -5
  1207. package/build-module/hooks/states.mjs.map +2 -2
  1208. package/build-module/hooks/style.mjs.map +2 -2
  1209. package/build-module/hooks/supports.mjs.map +2 -2
  1210. package/build-module/hooks/text-align.mjs.map +2 -2
  1211. package/build-module/hooks/typography.mjs.map +2 -2
  1212. package/build-module/hooks/use-border-props.mjs.map +2 -2
  1213. package/build-module/hooks/use-cached-truthy.mjs.map +2 -2
  1214. package/build-module/hooks/use-color-props.mjs.map +2 -2
  1215. package/build-module/hooks/use-content-only-section-edit.mjs.map +2 -2
  1216. package/build-module/hooks/use-dimensions-props.mjs.map +2 -2
  1217. package/build-module/hooks/use-shadow-props.mjs.map +2 -2
  1218. package/build-module/hooks/use-spacing-props.mjs.map +2 -2
  1219. package/build-module/hooks/use-typography-props.mjs +1 -3
  1220. package/build-module/hooks/use-typography-props.mjs.map +2 -2
  1221. package/build-module/hooks/use-zoom-out.mjs.map +2 -2
  1222. package/build-module/hooks/utils.mjs.map +2 -2
  1223. package/build-module/index.mjs.map +2 -2
  1224. package/build-module/layouts/constrained.mjs +8 -1
  1225. package/build-module/layouts/constrained.mjs.map +2 -2
  1226. package/build-module/layouts/flex.mjs +9 -0
  1227. package/build-module/layouts/flex.mjs.map +2 -2
  1228. package/build-module/layouts/flow.mjs +4 -1
  1229. package/build-module/layouts/flow.mjs.map +2 -2
  1230. package/build-module/layouts/grid.mjs +5 -1
  1231. package/build-module/layouts/grid.mjs.map +2 -2
  1232. package/build-module/layouts/index.mjs.map +2 -2
  1233. package/build-module/layouts/utils.mjs.map +2 -2
  1234. package/build-module/lock-unlock.mjs.map +2 -2
  1235. package/build-module/private-apis.mjs +3 -1
  1236. package/build-module/private-apis.mjs.map +2 -2
  1237. package/build-module/store/actions.mjs +105 -37
  1238. package/build-module/store/actions.mjs.map +3 -3
  1239. package/build-module/store/defaults.mjs +2 -0
  1240. package/build-module/store/defaults.mjs.map +2 -2
  1241. package/build-module/store/get-block-settings.mjs.map +2 -2
  1242. package/build-module/store/index.mjs.map +2 -2
  1243. package/build-module/store/private-actions.mjs +19 -2
  1244. package/build-module/store/private-actions.mjs.map +2 -2
  1245. package/build-module/store/private-selectors.mjs +27 -10
  1246. package/build-module/store/private-selectors.mjs.map +2 -2
  1247. package/build-module/store/reducer.mjs +3 -1
  1248. package/build-module/store/reducer.mjs.map +2 -2
  1249. package/build-module/store/selectors.mjs +21 -8
  1250. package/build-module/store/selectors.mjs.map +2 -2
  1251. package/build-module/store/utils.mjs.map +2 -2
  1252. package/build-module/utils/fit-text-frontend.mjs.map +2 -2
  1253. package/build-module/utils/format-font-style.mjs.map +2 -2
  1254. package/build-module/utils/format-font-weight.mjs.map +2 -2
  1255. package/build-module/utils/get-font-styles-and-weights.mjs.map +2 -2
  1256. package/build-module/utils/group-blocks.mjs +21 -0
  1257. package/build-module/utils/group-blocks.mjs.map +7 -0
  1258. package/build-module/utils/native-undo.mjs.map +2 -2
  1259. package/build-module/utils/pasting.mjs.map +2 -2
  1260. package/build-module/utils/selection.mjs.map +2 -2
  1261. package/build-module/utils/sibling-block-attributes.mjs +20 -0
  1262. package/build-module/utils/sibling-block-attributes.mjs.map +7 -0
  1263. package/build-module/utils/transform-styles/index.mjs.map +2 -2
  1264. package/build-module/utils/use-notify-copy.mjs.map +2 -2
  1265. package/build-style/content-rtl.css +2 -2
  1266. package/build-style/content.css +2 -2
  1267. package/build-style/style-rtl.css +145 -76
  1268. package/build-style/style.css +145 -76
  1269. package/build-types/components/block-context/index.d.ts.map +1 -1
  1270. package/build-types/components/block-visibility/constants.d.ts +45 -0
  1271. package/build-types/components/block-visibility/constants.d.ts.map +1 -0
  1272. package/build-types/components/block-visibility/use-block-visibility.d.ts +35 -0
  1273. package/build-types/components/block-visibility/use-block-visibility.d.ts.map +1 -0
  1274. package/build-types/lock-unlock.d.ts +2 -0
  1275. package/build-types/lock-unlock.d.ts.map +1 -0
  1276. package/build-types/utils/fit-text-frontend.d.ts +0 -5
  1277. package/build-types/utils/fit-text-frontend.d.ts.map +1 -1
  1278. package/build-types/utils/format-font-style.d.ts +0 -3
  1279. package/build-types/utils/format-font-style.d.ts.map +1 -1
  1280. package/build-types/utils/format-font-weight.d.ts +0 -3
  1281. package/build-types/utils/format-font-weight.d.ts.map +1 -1
  1282. package/build-types/utils/get-font-styles-and-weights.d.ts.map +1 -1
  1283. package/build-types/utils/pasting.d.ts.map +1 -1
  1284. package/build-types/utils/selection.d.ts.map +1 -1
  1285. package/build-types/utils/transform-styles/index.d.ts +0 -3
  1286. package/build-types/utils/transform-styles/index.d.ts.map +1 -1
  1287. package/package.json +43 -42
  1288. package/src/autocompleters/block.js +0 -7
  1289. package/src/autocompleters/test/block.js +0 -7
  1290. package/src/components/alignment-control/index.js +0 -3
  1291. package/src/components/alignment-control/stories/aliginment-toolbar.story.jsx +0 -7
  1292. package/src/components/alignment-control/stories/index.story.jsx +0 -7
  1293. package/src/components/alignment-control/test/index.js +0 -11
  1294. package/src/components/alignment-control/ui.js +0 -3
  1295. package/src/components/autocomplete/index.js +0 -7
  1296. package/src/components/background-image-control/README.md +122 -0
  1297. package/src/components/background-image-control/index.js +0 -12
  1298. package/src/components/background-image-control/test/index.js +0 -4
  1299. package/src/components/block-actions/README.md +67 -0
  1300. package/src/components/block-actions/index.js +3 -14
  1301. package/src/components/block-alignment-control/constants.js +0 -3
  1302. package/src/components/block-alignment-control/index.js +0 -3
  1303. package/src/components/block-alignment-control/test/index.js +0 -7
  1304. package/src/components/block-alignment-control/ui.js +0 -11
  1305. package/src/components/block-alignment-control/use-available-alignments.js +0 -7
  1306. package/src/components/block-alignment-matrix-control/index.js +0 -3
  1307. package/src/components/block-alignment-matrix-control/stories/index.story.jsx +0 -7
  1308. package/src/components/block-allowed-blocks/allowed-blocks-control.js +0 -7
  1309. package/src/components/block-allowed-blocks/modal.js +0 -7
  1310. package/src/components/block-bindings/attribute-control.js +10 -11
  1311. package/src/components/block-bindings/index.js +0 -3
  1312. package/src/components/block-bindings/source-fields-list.js +0 -11
  1313. package/src/components/block-bindings/test/use-block-bindings-utils.js +1 -12
  1314. package/src/components/block-bindings/use-block-bindings-utils.js +0 -7
  1315. package/src/components/block-breadcrumb/index.js +0 -7
  1316. package/src/components/block-breadcrumb/test/index.js +0 -7
  1317. package/src/components/block-canvas/index.js +0 -7
  1318. package/src/components/block-card/index.js +0 -11
  1319. package/src/components/block-compare/block-view.js +0 -3
  1320. package/src/components/block-compare/index.js +0 -11
  1321. package/src/components/block-compare/test/block-view.js +0 -7
  1322. package/src/components/block-content-overlay/index.js +0 -7
  1323. package/src/components/block-context/README.md +0 -1
  1324. package/src/components/block-context/index.js +0 -3
  1325. package/src/components/block-controls/README.md +0 -3
  1326. package/src/components/block-controls/fill.js +0 -7
  1327. package/src/components/block-controls/groups.js +0 -3
  1328. package/src/components/block-controls/hook.js +0 -7
  1329. package/src/components/block-controls/index.js +0 -3
  1330. package/src/components/block-controls/slot.js +0 -7
  1331. package/src/components/block-controls/test/index.js +0 -11
  1332. package/src/components/block-draggable/draggable-chip.js +0 -7
  1333. package/src/components/block-draggable/index.js +0 -7
  1334. package/src/components/block-draggable/stories/index.story.jsx +0 -3
  1335. package/src/components/block-draggable/use-scroll-when-dragging.js +0 -3
  1336. package/src/components/block-edit/context.js +0 -3
  1337. package/src/components/block-edit/edit.js +0 -11
  1338. package/src/components/block-edit/index.js +0 -7
  1339. package/src/components/block-edit/multiple-usage-warning.js +0 -7
  1340. package/src/components/block-edit/test/edit.js +0 -11
  1341. package/src/components/block-edit-visually-button/README.md +39 -0
  1342. package/src/components/block-edit-visually-button/index.js +0 -7
  1343. package/src/components/block-editing-mode/README.md +72 -0
  1344. package/src/components/block-editing-mode/index.js +0 -7
  1345. package/src/components/block-full-height-alignment-control/index.js +0 -3
  1346. package/src/components/block-heading-level-dropdown/heading-level-icon.js +0 -3
  1347. package/src/components/block-heading-level-dropdown/index.js +0 -7
  1348. package/src/components/block-heading-level-dropdown/stories/index.story.jsx +0 -7
  1349. package/src/components/block-icon/index.js +0 -7
  1350. package/src/components/block-icon/stories/index.story.ts +0 -7
  1351. package/src/components/block-icon/test/index.js +0 -11
  1352. package/src/components/block-inspector/edit-contents.js +27 -32
  1353. package/src/components/block-inspector/index.js +13 -14
  1354. package/src/components/block-inspector/inspector-pre-tabs-slot-fill.js +0 -3
  1355. package/src/components/block-inspector/useBlockInspectorAnimationSettings.js +0 -7
  1356. package/src/components/block-keyboard-shortcuts/index.js +256 -0
  1357. package/src/components/block-list/README.md +98 -0
  1358. package/src/components/block-list/block-crash-boundary.js +0 -3
  1359. package/src/components/block-list/block-crash-warning.js +0 -7
  1360. package/src/components/block-list/block-html.js +0 -11
  1361. package/src/components/block-list/block-invalid-warning.js +0 -7
  1362. package/src/components/block-list/block.js +64 -23
  1363. package/src/components/block-list/index.js +69 -25
  1364. package/src/components/block-list/layout.js +0 -7
  1365. package/src/components/block-list/private-block-context.js +0 -3
  1366. package/src/components/block-list/subdirectory-icon.js +0 -3
  1367. package/src/components/block-list/use-block-props/index.js +57 -12
  1368. package/src/components/block-list/use-block-props/use-block-refs.js +0 -7
  1369. package/src/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +0 -3
  1370. package/src/components/block-list/use-block-props/use-focus-first-element.js +5 -7
  1371. package/src/components/block-list/use-block-props/use-focus-handler.js +0 -7
  1372. package/src/components/block-list/use-block-props/use-intersection-observer.js +0 -7
  1373. package/src/components/block-list/use-block-props/use-is-hovered.js +0 -7
  1374. package/src/components/block-list/use-block-props/use-register-block-event-handlers.js +0 -7
  1375. package/src/components/block-list/use-block-props/use-scroll-into-view.js +0 -3
  1376. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +6 -15
  1377. package/src/components/block-list/use-in-between-inserter.js +0 -7
  1378. package/src/components/block-list/zoom-out-separator.js +0 -11
  1379. package/src/components/block-list-appender/index.js +0 -11
  1380. package/src/components/block-lock/README.md +66 -0
  1381. package/src/components/block-lock/menu-item.js +0 -7
  1382. package/src/components/block-lock/modal.js +0 -7
  1383. package/src/components/block-lock/toolbar.js +0 -7
  1384. package/src/components/block-lock/use-block-lock.js +0 -7
  1385. package/src/components/block-manager/category.js +0 -7
  1386. package/src/components/block-manager/checklist.js +0 -7
  1387. package/src/components/block-manager/index.js +0 -7
  1388. package/src/components/block-mover/button.js +17 -26
  1389. package/src/components/block-mover/index.js +0 -12
  1390. package/src/components/block-mover/mover-description.js +0 -3
  1391. package/src/components/block-mover/stories/index.story.jsx +0 -7
  1392. package/src/components/block-mover/test/mover-description.js +0 -3
  1393. package/src/components/block-navigation/dropdown.js +0 -11
  1394. package/src/components/block-parent-selector/index.js +111 -37
  1395. package/src/components/block-pattern-setup/index.js +0 -8
  1396. package/src/components/block-pattern-setup/setup-toolbar.js +0 -7
  1397. package/src/components/block-pattern-setup/use-patterns-setup.js +0 -7
  1398. package/src/components/block-patterns-list/index.js +0 -11
  1399. package/src/components/block-patterns-list/stories/index.story.jsx +3 -10
  1400. package/src/components/block-patterns-paging/index.js +0 -3
  1401. package/src/components/block-popover/README.md +10 -3
  1402. package/src/components/block-popover/cover.js +0 -7
  1403. package/src/components/block-popover/drop-zone.js +0 -7
  1404. package/src/components/block-popover/inbetween.js +8 -13
  1405. package/src/components/block-popover/index.js +0 -11
  1406. package/src/components/block-popover/stories/index.story.jsx +143 -0
  1407. package/src/components/block-popover/use-popover-scroll.js +0 -3
  1408. package/src/components/block-preview/async.js +0 -3
  1409. package/src/components/block-preview/auto.js +0 -7
  1410. package/src/components/block-preview/index.js +0 -13
  1411. package/src/components/block-preview/test/index.js +0 -11
  1412. package/src/components/block-quick-navigation/index.js +0 -7
  1413. package/src/components/block-removal-warning-modal/index.js +0 -7
  1414. package/src/components/block-rename/modal.js +0 -7
  1415. package/src/components/block-rename/rename-control.js +0 -7
  1416. package/src/components/block-rename/use-block-rename.js +0 -3
  1417. package/src/components/block-selection-clearer/index.js +0 -7
  1418. package/src/components/block-selection-clearer/test/index.js +0 -11
  1419. package/src/components/block-settings-menu/block-html-convert-button.js +0 -7
  1420. package/src/components/block-settings-menu/block-mode-toggle.js +0 -7
  1421. package/src/components/block-settings-menu/block-parent-selector-menu-item.js +0 -7
  1422. package/src/components/block-settings-menu/block-settings-dropdown.js +1 -8
  1423. package/src/components/block-settings-menu/block-settings-menu-first-item.js +0 -3
  1424. package/src/components/block-settings-menu/index.js +0 -7
  1425. package/src/components/block-settings-menu/test/block-mode-toggle.js +0 -11
  1426. package/src/components/block-settings-menu-controls/index.js +0 -7
  1427. package/src/components/block-styles/index.js +95 -54
  1428. package/src/components/block-styles/menu-items.js +0 -3
  1429. package/src/components/block-styles/style.scss +5 -34
  1430. package/src/components/block-styles/test/utils.js +0 -3
  1431. package/src/components/block-styles/use-styles-for-block.js +0 -7
  1432. package/src/components/block-styles/utils.js +0 -3
  1433. package/src/components/block-switcher/block-styles-menu.js +0 -7
  1434. package/src/components/block-switcher/block-transformations-menu.js +0 -7
  1435. package/src/components/block-switcher/block-variation-transformations.js +0 -7
  1436. package/src/components/block-switcher/index.js +0 -7
  1437. package/src/components/block-switcher/pattern-transformations-menu.js +0 -8
  1438. package/src/components/block-switcher/preview-block-popover.js +0 -7
  1439. package/src/components/block-switcher/test/index.js +0 -11
  1440. package/src/components/block-switcher/test/use-transformed.patterns.js +0 -7
  1441. package/src/components/block-switcher/test/utils.js +0 -7
  1442. package/src/components/block-switcher/use-transformed-patterns.js +0 -7
  1443. package/src/components/block-switcher/utils.js +0 -3
  1444. package/src/components/block-title/index.js +0 -4
  1445. package/src/components/block-title/stories/index.story.jsx +0 -7
  1446. package/src/components/block-title/test/index.js +0 -11
  1447. package/src/components/block-title/use-block-display-title.js +0 -7
  1448. package/src/components/block-toolbar/block-styles-dropdown.js +0 -7
  1449. package/src/components/block-toolbar/block-toolbar-icon.js +0 -7
  1450. package/src/components/block-toolbar/block-toolbar-last-item.js +0 -3
  1451. package/src/components/block-toolbar/change-design.js +0 -7
  1452. package/src/components/block-toolbar/edit-section-button.js +0 -7
  1453. package/src/components/block-toolbar/index.js +0 -11
  1454. package/src/components/block-toolbar/pattern-overrides-dropdown.js +0 -7
  1455. package/src/components/block-toolbar/switch-section-style.js +0 -7
  1456. package/src/components/block-toolbar/test/block-toolbar-icon.js +0 -11
  1457. package/src/components/block-toolbar/use-has-block-toolbar.js +0 -6
  1458. package/src/components/block-toolbar/utils.js +0 -7
  1459. package/src/components/block-tools/block-toolbar-popover.js +0 -9
  1460. package/src/components/block-tools/empty-block-inserter.js +0 -7
  1461. package/src/components/block-tools/index.js +3 -20
  1462. package/src/components/block-tools/insertion-point.js +0 -11
  1463. package/src/components/block-tools/style.scss +94 -0
  1464. package/src/components/block-tools/use-block-toolbar-popover-props.js +0 -7
  1465. package/src/components/block-tools/use-selected-block-tool-props.js +0 -7
  1466. package/src/components/block-tools/use-show-block-tools.js +0 -7
  1467. package/src/components/block-tools/zoom-out-mode-inserter-button.js +0 -7
  1468. package/src/components/block-tools/zoom-out-mode-inserters.js +0 -7
  1469. package/src/components/block-types-list/index.js +0 -7
  1470. package/src/components/block-variation-picker/index.js +0 -7
  1471. package/src/components/block-variation-transforms/index.js +0 -7
  1472. package/src/components/block-vertical-alignment-control/index.js +0 -3
  1473. package/src/components/block-vertical-alignment-control/test/index.js +0 -7
  1474. package/src/components/block-vertical-alignment-control/ui.js +0 -3
  1475. package/src/components/block-visibility/{constants.js → constants.ts} +14 -7
  1476. package/src/components/block-visibility/modal.js +0 -11
  1477. package/src/components/block-visibility/test/use-block-visibility.js +0 -12
  1478. package/src/components/block-visibility/test/utils.js +0 -3
  1479. package/src/components/block-visibility/use-block-visibility.ts +92 -0
  1480. package/src/components/block-visibility/utils.js +0 -7
  1481. package/src/components/block-visibility/viewport-menu-item.js +0 -7
  1482. package/src/components/block-visibility/viewport-toolbar.js +0 -7
  1483. package/src/components/block-visibility/viewport-visibility-info.js +0 -7
  1484. package/src/components/border-radius-control/README.md +0 -3
  1485. package/src/components/border-radius-control/constants.js +0 -3
  1486. package/src/components/border-radius-control/index.js +0 -7
  1487. package/src/components/border-radius-control/linked-button.js +0 -3
  1488. package/src/components/border-radius-control/stories/index.story.jsx +0 -7
  1489. package/src/components/border-radius-control/test/index.js +0 -12
  1490. package/src/components/border-radius-control/test/utils.js +0 -3
  1491. package/src/components/border-radius-control/utils.js +0 -7
  1492. package/src/components/button-block-appender/index.js +0 -11
  1493. package/src/components/child-layout-control/index.js +5 -12
  1494. package/src/components/child-layout-control/test/index.js +0 -11
  1495. package/src/components/collab/note-icon-slot.js +0 -3
  1496. package/src/components/collab/note-icon-toolbar-slot.js +0 -3
  1497. package/src/components/color-palette/control.js +0 -3
  1498. package/src/components/color-palette/index.js +0 -7
  1499. package/src/components/color-palette/stories/control.story.jsx +0 -7
  1500. package/src/components/color-palette/test/__snapshots__/control.js.snap +3 -29
  1501. package/src/components/color-palette/test/control.js +0 -7
  1502. package/src/components/color-palette/with-color-context.js +0 -7
  1503. package/src/components/color-style-selector/index.js +0 -3
  1504. package/src/components/colors/test/utils.js +0 -3
  1505. package/src/components/colors/test/with-colors.js +6 -14
  1506. package/src/components/colors/utils.js +1 -15
  1507. package/src/components/colors/with-colors.js +84 -120
  1508. package/src/components/colors-gradients/control.js +0 -11
  1509. package/src/components/colors-gradients/dropdown.js +0 -15
  1510. package/src/components/colors-gradients/panel-color-gradient-settings.js +21 -28
  1511. package/src/components/colors-gradients/style.scss +17 -7
  1512. package/src/components/colors-gradients/test/control.js +0 -7
  1513. package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +0 -7
  1514. package/src/components/contrast-checker/index.js +0 -7
  1515. package/src/components/contrast-checker/stories/index.story.ts +0 -3
  1516. package/src/components/contrast-checker/test/index.js +0 -11
  1517. package/src/components/convert-to-group-buttons/index.js +2 -13
  1518. package/src/components/convert-to-group-buttons/toolbar.js +3 -12
  1519. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +0 -7
  1520. package/src/components/copy-handler/index.js +0 -7
  1521. package/src/components/date-format-picker/index.js +0 -3
  1522. package/src/components/date-format-picker/stories/index.story.jsx +0 -7
  1523. package/src/components/default-block-appender/content.scss +6 -3
  1524. package/src/components/default-block-appender/index.js +0 -11
  1525. package/src/components/default-block-appender/test/index.js +0 -7
  1526. package/src/components/dimension-control/index.js +0 -11
  1527. package/src/components/dimension-control/stories/index.story.jsx +0 -7
  1528. package/src/components/dimensions-tool/aspect-ratio-tool.js +16 -10
  1529. package/src/components/dimensions-tool/index.js +34 -29
  1530. package/src/components/dimensions-tool/scale-tool.js +0 -3
  1531. package/src/components/dimensions-tool/stories/aspect-ratio-tool.story.jsx +0 -7
  1532. package/src/components/dimensions-tool/stories/index.story.jsx +0 -7
  1533. package/src/components/dimensions-tool/stories/scale-tool.story.jsx +0 -7
  1534. package/src/components/dimensions-tool/stories/width-height-tool.story.jsx +0 -7
  1535. package/src/components/dimensions-tool/test/index.js +166 -13
  1536. package/src/components/dimensions-tool/test/utils.js +51 -0
  1537. package/src/components/dimensions-tool/utils.js +67 -0
  1538. package/src/components/dimensions-tool/width-height-tool.js +0 -3
  1539. package/src/components/duotone-control/index.js +2 -3
  1540. package/src/components/duotone-control/test/index.js +100 -0
  1541. package/src/components/editable-text/index.js +0 -7
  1542. package/src/components/editor-styles/index.js +0 -11
  1543. package/src/components/fit-text-size-warning/index.js +0 -3
  1544. package/src/components/font-appearance-control/index.js +0 -7
  1545. package/src/components/font-family/index.js +0 -11
  1546. package/src/components/font-family/stories/index.story.jsx +0 -7
  1547. package/src/components/font-sizes/font-size-picker.js +0 -7
  1548. package/src/components/font-sizes/test/fluid-utils.js +0 -7
  1549. package/src/components/font-sizes/test/utils.js +0 -7
  1550. package/src/components/font-sizes/utils.js +1 -11
  1551. package/src/components/font-sizes/with-font-sizes.js +0 -7
  1552. package/src/components/global-styles/advanced-panel.js +5 -9
  1553. package/src/components/global-styles/background-panel.js +0 -7
  1554. package/src/components/global-styles/border-panel.js +11 -16
  1555. package/src/components/global-styles/color-gradient-dropdown-item.js +0 -11
  1556. package/src/components/global-styles/color-panel.js +13 -8
  1557. package/src/components/global-styles/dimensions-panel.js +17 -16
  1558. package/src/components/global-styles/filters-panel.js +24 -21
  1559. package/src/components/global-styles/hooks.js +0 -7
  1560. package/src/components/global-styles/image-settings-panel.js +0 -7
  1561. package/src/components/global-styles/inheritance/index.js +0 -7
  1562. package/src/components/global-styles/inheritance/test/index.js +0 -11
  1563. package/src/components/global-styles/inherited-value-context.js +0 -7
  1564. package/src/components/global-styles/shadow-panel-components.js +38 -23
  1565. package/src/components/global-styles/state-control-badges.js +0 -7
  1566. package/src/components/global-styles/state-control.js +0 -3
  1567. package/src/components/global-styles/test/background-panel.js +0 -8
  1568. package/src/components/global-styles/test/border-panel.js +230 -7
  1569. package/src/components/global-styles/test/color-panel.js +24 -7
  1570. package/src/components/global-styles/test/dimensions-panel.js +98 -14
  1571. package/src/components/global-styles/test/filters-panel.js +84 -7
  1572. package/src/components/global-styles/test/inherited-value-context-core.js +0 -11
  1573. package/src/components/global-styles/test/inherited-value-context.js +0 -12
  1574. package/src/components/global-styles/test/state-control-badges.js +0 -7
  1575. package/src/components/global-styles/test/typography-panel-core.js +0 -7
  1576. package/src/components/global-styles/test/typography-panel.js +0 -7
  1577. package/src/components/global-styles/test/typography-utils.js +0 -3
  1578. package/src/components/global-styles/test/utils.js +30 -0
  1579. package/src/components/global-styles/typography-panel.js +0 -7
  1580. package/src/components/global-styles/typography-utils.js +0 -3
  1581. package/src/components/global-styles/utils.js +23 -3
  1582. package/src/components/gradients/use-gradient.js +0 -7
  1583. package/src/components/grid/grid-item-movers.js +0 -11
  1584. package/src/components/grid/grid-item-resizer.js +0 -7
  1585. package/src/components/grid/grid-visualizer.js +0 -11
  1586. package/src/components/grid/use-get-number-of-blocks-before-cell.js +0 -7
  1587. package/src/components/grid/use-grid-layout-sync.js +0 -7
  1588. package/src/components/height-control/index.js +0 -7
  1589. package/src/components/height-control/stories/index.story.jsx +0 -7
  1590. package/src/components/html-element-control/index.js +0 -7
  1591. package/src/components/html-element-control/messages.js +0 -3
  1592. package/src/components/iframe/index.js +4 -16
  1593. package/src/components/iframe/use-scale-canvas.js +38 -14
  1594. package/src/components/image-editor/aspect-ratio-dropdown.js +0 -7
  1595. package/src/components/image-editor/context.js +0 -7
  1596. package/src/components/image-editor/cropper.js +0 -11
  1597. package/src/components/image-editor/form-controls.js +0 -7
  1598. package/src/components/image-editor/index.js +0 -7
  1599. package/src/components/image-editor/rotation-button.js +0 -8
  1600. package/src/components/image-editor/test/index.js +0 -3
  1601. package/src/components/image-editor/use-save-image.js +0 -7
  1602. package/src/components/image-editor/use-transform-image.js +0 -3
  1603. package/src/components/image-editor/zoom-dropdown.js +0 -7
  1604. package/src/components/image-size-control/index.js +0 -7
  1605. package/src/components/image-size-control/test/index.js +0 -7
  1606. package/src/components/image-size-control/use-dimension-handler.js +0 -3
  1607. package/src/components/inner-blocks/README.md +2 -0
  1608. package/src/components/inner-blocks/button-block-appender.js +0 -7
  1609. package/src/components/inner-blocks/default-block-appender.js +0 -3
  1610. package/src/components/inner-blocks/index.js +11 -13
  1611. package/src/components/inner-blocks/stories/index.story.jsx +246 -0
  1612. package/src/components/inner-blocks/test/index.js +0 -8
  1613. package/src/components/inner-blocks/use-block-context.js +0 -7
  1614. package/src/components/inner-blocks/use-inner-block-template-sync.js +47 -23
  1615. package/src/components/inner-blocks/use-nested-settings-update.js +0 -7
  1616. package/src/components/inner-content/index.js +0 -7
  1617. package/src/components/inner-content/test/index.js +0 -11
  1618. package/src/components/inserter/block-patterns-explorer/index.js +24 -18
  1619. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +18 -59
  1620. package/src/components/inserter/block-patterns-explorer/pattern-list.js +22 -54
  1621. package/src/components/inserter/block-patterns-tab/index.js +0 -7
  1622. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +0 -8
  1623. package/src/components/inserter/block-patterns-tab/patterns-filter.js +0 -7
  1624. package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +0 -8
  1625. package/src/components/inserter/block-patterns-tab/utils.js +0 -4
  1626. package/src/components/inserter/block-types-tab.js +0 -7
  1627. package/src/components/inserter/category-tabs/index.js +0 -7
  1628. package/src/components/inserter/hooks/use-block-types-state.js +0 -7
  1629. package/src/components/inserter/hooks/use-insertion-point.js +9 -11
  1630. package/src/components/inserter/hooks/use-patterns-paging.js +0 -3
  1631. package/src/components/inserter/hooks/use-patterns-state.js +0 -7
  1632. package/src/components/inserter/index.js +4 -28
  1633. package/src/components/inserter/library.js +0 -7
  1634. package/src/components/inserter/media-tab/hooks.js +0 -7
  1635. package/src/components/inserter/media-tab/media-list.js +0 -7
  1636. package/src/components/inserter/media-tab/media-panel.js +0 -11
  1637. package/src/components/inserter/media-tab/media-preview.js +0 -12
  1638. package/src/components/inserter/media-tab/media-tab.js +0 -7
  1639. package/src/components/inserter/media-tab/test/hooks.js +0 -7
  1640. package/src/components/inserter/media-tab/test/media-panel.js +0 -7
  1641. package/src/components/inserter/media-tab/utils.js +0 -3
  1642. package/src/components/inserter/menu.js +23 -21
  1643. package/src/components/inserter/mobile-tab-navigation.js +0 -3
  1644. package/src/components/inserter/no-results.js +0 -3
  1645. package/src/components/inserter/panel.js +0 -3
  1646. package/src/components/inserter/preview-panel.js +0 -7
  1647. package/src/components/inserter/quick-inserter.js +15 -24
  1648. package/src/components/inserter/search-items.js +0 -3
  1649. package/src/components/inserter/search-results.js +0 -7
  1650. package/src/components/inserter/stories/index.story.jsx +0 -7
  1651. package/src/components/inserter/style.scss +44 -62
  1652. package/src/components/inserter/test/get-appender-label.js +0 -3
  1653. package/src/components/inserter/test/search-items.js +0 -3
  1654. package/src/components/inserter/tips.js +0 -3
  1655. package/src/components/inserter-draggable-blocks/index.js +0 -7
  1656. package/src/components/inserter-list-item/index.js +0 -11
  1657. package/src/components/inserter-listbox/context.js +0 -3
  1658. package/src/components/inserter-listbox/group.js +0 -3
  1659. package/src/components/inserter-listbox/index.js +0 -8
  1660. package/src/components/inserter-listbox/item.js +0 -3
  1661. package/src/components/inserter-listbox/row.js +0 -3
  1662. package/src/components/inserter-menu-extension/index.js +0 -3
  1663. package/src/components/inspector-controls/block-support-slot-container.js +0 -3
  1664. package/src/components/inspector-controls/block-support-tools-panel.js +0 -7
  1665. package/src/components/inspector-controls/fill.js +22 -37
  1666. package/src/components/inspector-controls/groups.js +0 -3
  1667. package/src/components/inspector-controls/index.js +0 -3
  1668. package/src/components/inspector-controls/last-item.js +0 -7
  1669. package/src/components/inspector-controls/list-view-content-popover.js +0 -7
  1670. package/src/components/inspector-controls/slot.js +0 -7
  1671. package/src/components/inspector-controls-tabs/README.md +92 -0
  1672. package/src/components/inspector-controls-tabs/advanced-controls-panel.js +0 -7
  1673. package/src/components/inspector-controls-tabs/content-tab.js +0 -7
  1674. package/src/components/inspector-controls-tabs/index.js +0 -8
  1675. package/src/components/inspector-controls-tabs/position-controls-panel.js +0 -7
  1676. package/src/components/inspector-controls-tabs/settings-tab.js +0 -7
  1677. package/src/components/inspector-controls-tabs/styles-tab.js +1 -8
  1678. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +0 -7
  1679. package/src/components/inspector-controls-tabs/utils.js +0 -3
  1680. package/src/components/inspector-popover-header/index.js +0 -3
  1681. package/src/components/justify-content-control/index.js +0 -3
  1682. package/src/components/justify-content-control/ui.js +0 -3
  1683. package/src/components/keyboard-shortcuts/index.js +0 -7
  1684. package/src/components/letter-spacing-control/index.js +0 -7
  1685. package/src/components/letter-spacing-control/stories/index.story.jsx +0 -7
  1686. package/src/components/line-height-control/index.js +0 -7
  1687. package/src/components/line-height-control/stories/index.story.jsx +0 -7
  1688. package/src/components/line-height-control/test/index.js +0 -11
  1689. package/src/components/link-control/constants.js +0 -3
  1690. package/src/components/link-control/index.js +0 -11
  1691. package/src/components/link-control/is-url-like.js +0 -3
  1692. package/src/components/link-control/link-preview.js +0 -13
  1693. package/src/components/link-control/normalize-url.js +0 -7
  1694. package/src/components/link-control/search-create-button.js +0 -3
  1695. package/src/components/link-control/search-input.js +0 -7
  1696. package/src/components/link-control/search-item.js +0 -3
  1697. package/src/components/link-control/search-results.js +1 -12
  1698. package/src/components/link-control/settings-drawer.js +0 -3
  1699. package/src/components/link-control/settings.js +0 -3
  1700. package/src/components/link-control/style.scss +1 -1
  1701. package/src/components/link-control/test/index.js +5 -11
  1702. package/src/components/link-control/test/is-url-like.js +0 -3
  1703. package/src/components/link-control/test/url-normalization.test.js +0 -11
  1704. package/src/components/link-control/use-create-page.js +0 -3
  1705. package/src/components/link-control/use-internal-value.js +0 -7
  1706. package/src/components/link-control/use-rich-url-data.js +1 -8
  1707. package/src/components/link-control/use-search-handler.js +0 -7
  1708. package/src/components/link-control/viewer-slot.js +0 -3
  1709. package/src/components/link-picker/link-picker.js +0 -7
  1710. package/src/components/link-picker/link-preview.js +0 -7
  1711. package/src/components/link-picker/test/index.js +0 -11
  1712. package/src/components/list-view/appender.js +7 -11
  1713. package/src/components/list-view/aria-referenced-text.js +12 -19
  1714. package/src/components/list-view/block-contents.js +28 -28
  1715. package/src/components/list-view/block-select-button.js +62 -40
  1716. package/src/components/list-view/block.js +41 -58
  1717. package/src/components/list-view/branch.js +179 -169
  1718. package/src/components/list-view/context.js +24 -3
  1719. package/src/components/list-view/drop-indicator.js +6 -18
  1720. package/src/components/list-view/expander.js +0 -3
  1721. package/src/components/list-view/index.js +145 -117
  1722. package/src/components/list-view/leaf.js +0 -11
  1723. package/src/components/list-view/style.scss +24 -4
  1724. package/src/components/list-view/test/use-list-view-drop-zone.js +0 -3
  1725. package/src/components/list-view/test/utils.js +0 -3
  1726. package/src/components/list-view/use-block-selection.js +0 -7
  1727. package/src/components/list-view/use-clipboard-handler.js +0 -7
  1728. package/src/components/list-view/use-list-view-block-indexes.js +0 -3
  1729. package/src/components/list-view/use-list-view-client-ids.js +0 -8
  1730. package/src/components/list-view/use-list-view-collapse-items.js +3 -11
  1731. package/src/components/list-view/use-list-view-drop-zone.js +11 -28
  1732. package/src/components/list-view/use-list-view-expand-selected-item.js +3 -10
  1733. package/src/components/list-view/use-list-view-images.js +6 -10
  1734. package/src/components/list-view/use-list-view-scroll-into-view.js +0 -3
  1735. package/src/components/list-view/utils.js +23 -7
  1736. package/src/components/media-placeholder/index.js +9 -15
  1737. package/src/components/media-placeholder/test/get-computed-accept-attribute.js +0 -3
  1738. package/src/components/media-placeholder/test/index.js +0 -7
  1739. package/src/components/media-replace-flow/index.js +0 -11
  1740. package/src/components/media-replace-flow/test/index.js +0 -10
  1741. package/src/components/media-upload/check.js +0 -7
  1742. package/src/components/media-upload/index.js +0 -3
  1743. package/src/components/multi-selection-inspector/index.js +42 -21
  1744. package/src/components/multi-selection-inspector/style.scss +5 -0
  1745. package/src/components/navigable-toolbar/index.js +38 -27
  1746. package/src/components/observe-typing/index.js +0 -7
  1747. package/src/components/panel-color-settings/README.md +0 -7
  1748. package/src/components/panel-color-settings/index.js +0 -3
  1749. package/src/components/panel-color-settings/test/index.js +0 -7
  1750. package/src/components/plain-text/index.js +0 -11
  1751. package/src/components/plain-text/stories/index.story.jsx +3 -7
  1752. package/src/components/preset-input-control/custom-value-controls.js +0 -4
  1753. package/src/components/preset-input-control/index.js +0 -7
  1754. package/src/components/preset-input-control/test/index.js +0 -7
  1755. package/src/components/preset-input-control/test/utils.js +0 -3
  1756. package/src/components/preview-options/index.js +0 -3
  1757. package/src/components/provider/block-refs-provider.js +0 -3
  1758. package/src/components/provider/index.js +7 -8
  1759. package/src/components/provider/selection-context.js +0 -3
  1760. package/src/components/provider/test/experimental-provider.js +0 -10
  1761. package/src/components/provider/test/use-block-sync.js +0 -12
  1762. package/src/components/provider/use-block-sync.js +0 -7
  1763. package/src/components/provider/use-media-upload-settings.js +0 -3
  1764. package/src/components/provider/with-registry-provider.js +0 -7
  1765. package/src/components/publish-date-time-picker/README.md +10 -0
  1766. package/src/components/publish-date-time-picker/index.js +17 -21
  1767. package/src/components/recursion-provider/README.md +0 -3
  1768. package/src/components/recursion-provider/index.js +0 -7
  1769. package/src/components/recursion-provider/test/index.js +0 -7
  1770. package/src/components/resizable-box-popover/index.js +0 -7
  1771. package/src/components/resolution-tool/index.js +0 -3
  1772. package/src/components/resolution-tool/stories/index.story.jsx +0 -7
  1773. package/src/components/responsive-block-control/index.js +0 -11
  1774. package/src/components/responsive-block-control/label.js +0 -3
  1775. package/src/components/responsive-block-control/test/index.js +0 -11
  1776. package/src/components/rich-text/content.js +0 -11
  1777. package/src/components/rich-text/event-listeners/before-input-rules.js +0 -7
  1778. package/src/components/rich-text/event-listeners/delete.js +0 -7
  1779. package/src/components/rich-text/event-listeners/enter.js +58 -52
  1780. package/src/components/rich-text/event-listeners/firefox-compat.js +0 -3
  1781. package/src/components/rich-text/event-listeners/index.js +0 -7
  1782. package/src/components/rich-text/event-listeners/input-events.js +0 -8
  1783. package/src/components/rich-text/event-listeners/input-rules.js +15 -20
  1784. package/src/components/rich-text/event-listeners/insert-replacement-text.js +0 -8
  1785. package/src/components/rich-text/event-listeners/paste-handler.js +14 -8
  1786. package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +0 -8
  1787. package/src/components/rich-text/event-listeners/shortcuts.js +0 -8
  1788. package/src/components/rich-text/event-listeners/undo-automatic-change.js +0 -8
  1789. package/src/components/rich-text/format-edit.js +0 -7
  1790. package/src/components/rich-text/format-toolbar/index.js +0 -11
  1791. package/src/components/rich-text/format-toolbar-container.js +0 -7
  1792. package/src/components/rich-text/get-rich-text-values.js +0 -7
  1793. package/src/components/rich-text/index.js +9 -15
  1794. package/src/components/rich-text/multiline.js +126 -93
  1795. package/src/components/rich-text/prevent-event-discovery.js +0 -3
  1796. package/src/components/rich-text/toolbar-button.js +0 -3
  1797. package/src/components/rich-text/use-mark-persistent.js +0 -7
  1798. package/src/components/rich-text/utils.js +0 -3
  1799. package/src/components/rich-text/with-deprecations.js +0 -7
  1800. package/src/components/selection-scroll-into-view/index.js +0 -3
  1801. package/src/components/skip-to-selected-block/index.js +0 -7
  1802. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +0 -7
  1803. package/src/components/spacing-sizes-control/index.js +2 -9
  1804. package/src/components/spacing-sizes-control/input-controls/axial.js +0 -3
  1805. package/src/components/spacing-sizes-control/input-controls/separated.js +0 -3
  1806. package/src/components/spacing-sizes-control/input-controls/single.js +0 -3
  1807. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -7
  1808. package/src/components/spacing-sizes-control/linked-button.js +0 -3
  1809. package/src/components/spacing-sizes-control/test/index.js +0 -12
  1810. package/src/components/spacing-sizes-control/test/utils.js +0 -3
  1811. package/src/components/spacing-sizes-control/utils.js +0 -7
  1812. package/src/components/tabbed-sidebar/index.js +0 -7
  1813. package/src/components/tabbed-sidebar/stories/index.story.jsx +0 -7
  1814. package/src/components/text-alignment-control/index.js +0 -7
  1815. package/src/components/text-alignment-control/stories/index.story.jsx +0 -7
  1816. package/src/components/text-decoration-control/index.js +0 -7
  1817. package/src/components/text-decoration-control/stories/index.story.jsx +0 -7
  1818. package/src/components/text-indent-control/index.js +0 -7
  1819. package/src/components/text-transform-control/index.js +0 -7
  1820. package/src/components/text-transform-control/stories/index.story.jsx +0 -7
  1821. package/src/components/tool-selector/index.js +0 -3
  1822. package/src/components/typewriter/index.js +0 -3
  1823. package/src/components/unit-control/index.js +0 -7
  1824. package/src/components/unit-control/stories/index.story.jsx +0 -7
  1825. package/src/components/url-input/button.js +0 -7
  1826. package/src/components/url-input/index.js +57 -77
  1827. package/src/components/url-input/test/button.js +0 -11
  1828. package/src/components/url-input/test/fixtures/validated-input-control-deprecation.js +27 -0
  1829. package/src/components/url-input/test/index.js +90 -11
  1830. package/src/components/url-popover/README.md +7 -0
  1831. package/src/components/url-popover/image-url-input-ui.js +2 -9
  1832. package/src/components/url-popover/index.js +0 -7
  1833. package/src/components/url-popover/link-editor.js +0 -11
  1834. package/src/components/url-popover/link-viewer-url.js +0 -7
  1835. package/src/components/url-popover/link-viewer.js +0 -11
  1836. package/src/components/url-popover/stories/index.story.jsx +133 -54
  1837. package/src/components/url-popover/style.scss +5 -0
  1838. package/src/components/use-block-commands/index.js +2 -9
  1839. package/src/components/use-block-display-information/index.js +1 -8
  1840. package/src/components/use-block-display-information/test/index.js +0 -11
  1841. package/src/components/use-block-drop-zone/index.js +0 -7
  1842. package/src/components/use-block-drop-zone/test/index.js +0 -3
  1843. package/src/components/use-flash-editable-blocks/index.js +0 -7
  1844. package/src/components/use-list-view-panel-state/index.js +0 -7
  1845. package/src/components/use-moving-animation/index.js +9 -14
  1846. package/src/components/use-on-block-drop/index.js +0 -7
  1847. package/src/components/use-on-block-drop/test/index.js +1 -7
  1848. package/src/components/use-paste-styles/index.js +0 -7
  1849. package/src/components/use-resize-canvas/index.js +0 -3
  1850. package/src/components/use-settings/index.js +0 -7
  1851. package/src/components/warning/index.js +0 -7
  1852. package/src/components/warning/stories/index.story.jsx +0 -7
  1853. package/src/components/warning/test/index.js +0 -7
  1854. package/src/components/writing-flow/index.js +0 -11
  1855. package/src/components/writing-flow/test/index.js +0 -7
  1856. package/src/components/writing-flow/use-arrow-nav.js +23 -16
  1857. package/src/components/writing-flow/use-click-selection.js +0 -7
  1858. package/src/components/writing-flow/use-clipboard-handler.js +65 -11
  1859. package/src/components/writing-flow/use-drag-selection.js +0 -7
  1860. package/src/components/writing-flow/use-editable-root-event-handlers.js +0 -7
  1861. package/src/components/writing-flow/use-editable-root.js +0 -7
  1862. package/src/components/writing-flow/use-home-end.js +0 -7
  1863. package/src/components/writing-flow/use-input.js +105 -22
  1864. package/src/components/writing-flow/use-multi-selection.js +0 -7
  1865. package/src/components/writing-flow/use-preview-mode-nav.js +0 -7
  1866. package/src/components/writing-flow/use-select-all.js +0 -7
  1867. package/src/components/writing-flow/use-selection-observer.js +0 -7
  1868. package/src/components/writing-flow/use-tab-nav.js +7 -8
  1869. package/src/components/writing-flow/utils.js +0 -7
  1870. package/src/components/writing-mode-control/index.js +0 -7
  1871. package/src/components/writing-mode-control/stories/index.story.jsx +0 -7
  1872. package/src/elements/test/index.js +0 -3
  1873. package/src/hooks/align.js +0 -11
  1874. package/src/hooks/allowed-blocks.js +0 -7
  1875. package/src/hooks/anchor.js +0 -7
  1876. package/src/hooks/aria-label.js +0 -7
  1877. package/src/hooks/auto-inspector-controls.js +0 -7
  1878. package/src/hooks/background.js +3 -15
  1879. package/src/hooks/block-bindings.js +0 -7
  1880. package/src/hooks/block-fields/fields-dropdown-menu.js +0 -7
  1881. package/src/hooks/block-fields/index.js +0 -1
  1882. package/src/hooks/block-fields/link/index.js +0 -7
  1883. package/src/hooks/block-fields/media/index.js +0 -7
  1884. package/src/hooks/block-fields/rich-text/index.js +0 -7
  1885. package/src/hooks/block-fields/use-inspector-popover-placement.js +0 -3
  1886. package/src/hooks/block-hooks.js +0 -7
  1887. package/src/hooks/block-renaming.js +0 -3
  1888. package/src/hooks/block-style-state.js +0 -7
  1889. package/src/hooks/block-style-variation.js +0 -7
  1890. package/src/hooks/border.js +27 -19
  1891. package/src/hooks/color.js +0 -11
  1892. package/src/hooks/compat.js +0 -3
  1893. package/src/hooks/contrast-checker.js +0 -8
  1894. package/src/hooks/custom-class-name.js +0 -11
  1895. package/src/hooks/dimensions.js +8 -12
  1896. package/src/hooks/duotone.js +23 -18
  1897. package/src/hooks/elements.js +0 -7
  1898. package/src/hooks/fit-text.js +0 -8
  1899. package/src/hooks/font-family.js +1 -10
  1900. package/src/hooks/font-size.js +0 -7
  1901. package/src/hooks/gap.js +15 -2
  1902. package/src/hooks/generated-class-name.js +0 -3
  1903. package/src/hooks/grid-visualizer.js +0 -7
  1904. package/src/hooks/index.js +0 -3
  1905. package/src/hooks/layout-child.js +41 -16
  1906. package/src/hooks/layout.js +118 -84
  1907. package/src/hooks/line-height.js +0 -7
  1908. package/src/hooks/list-view.js +0 -8
  1909. package/src/hooks/lock.js +0 -3
  1910. package/src/hooks/metadata.js +0 -3
  1911. package/src/hooks/position.js +0 -11
  1912. package/src/hooks/settings.js +0 -3
  1913. package/src/hooks/spacing-visualizer.js +0 -7
  1914. package/src/hooks/state-utils.js +0 -3
  1915. package/src/hooks/states.js +8 -12
  1916. package/src/hooks/style.js +0 -7
  1917. package/src/hooks/supports.js +0 -3
  1918. package/src/hooks/test/align.js +0 -7
  1919. package/src/hooks/test/allowed-blocks.js +0 -7
  1920. package/src/hooks/test/anchor.js +0 -7
  1921. package/src/hooks/test/auto-inspector-controls.js +0 -7
  1922. package/src/hooks/test/background.js +115 -3
  1923. package/src/hooks/test/block-style-state.js +0 -3
  1924. package/src/hooks/test/custom-class-name.js +0 -7
  1925. package/src/hooks/test/dimensions.js +0 -7
  1926. package/src/hooks/test/duotone.js +0 -3
  1927. package/src/hooks/test/font-size.js +0 -11
  1928. package/src/hooks/test/gap.js +31 -4
  1929. package/src/hooks/test/generate-fields-from-attributes.js +0 -3
  1930. package/src/hooks/test/generated-class-name.js +0 -7
  1931. package/src/hooks/test/inherited-value-wiring.js +0 -3
  1932. package/src/hooks/test/layout-child.js +60 -4
  1933. package/src/hooks/test/layout.js +27 -3
  1934. package/src/hooks/test/metadata.js +0 -7
  1935. package/src/hooks/test/preset-round-trip.js +0 -6
  1936. package/src/hooks/test/settings.js +0 -7
  1937. package/src/hooks/test/state-utils.js +0 -7
  1938. package/src/hooks/test/style.js +0 -7
  1939. package/src/hooks/test/text-align.js +0 -7
  1940. package/src/hooks/test/use-typography-props.js +0 -3
  1941. package/src/hooks/test/utils.js +0 -3
  1942. package/src/hooks/text-align.js +0 -11
  1943. package/src/hooks/typography.js +0 -8
  1944. package/src/hooks/use-border-props.js +0 -3
  1945. package/src/hooks/use-cached-truthy.js +0 -3
  1946. package/src/hooks/use-color-props.js +0 -11
  1947. package/src/hooks/use-content-only-section-edit.js +0 -7
  1948. package/src/hooks/use-dimensions-props.js +0 -3
  1949. package/src/hooks/use-shadow-props.js +0 -3
  1950. package/src/hooks/use-spacing-props.js +0 -3
  1951. package/src/hooks/use-typography-props.js +1 -15
  1952. package/src/hooks/use-zoom-out.js +0 -7
  1953. package/src/hooks/utils.js +0 -11
  1954. package/src/index.js +0 -3
  1955. package/src/layouts/constrained.js +9 -8
  1956. package/src/layouts/flex.js +15 -7
  1957. package/src/layouts/flow.js +4 -8
  1958. package/src/layouts/grid.js +9 -9
  1959. package/src/layouts/index.js +0 -3
  1960. package/src/layouts/test/constrained.js +26 -11
  1961. package/src/layouts/test/flex.js +0 -11
  1962. package/src/layouts/test/flow.js +26 -3
  1963. package/src/layouts/test/grid.js +46 -11
  1964. package/src/layouts/test/utils.js +0 -3
  1965. package/src/layouts/utils.js +0 -7
  1966. package/src/lock-unlock.ts +0 -3
  1967. package/src/private-apis.js +2 -7
  1968. package/src/store/actions.js +176 -54
  1969. package/src/store/defaults.js +4 -3
  1970. package/src/store/get-block-settings.js +0 -7
  1971. package/src/store/index.js +0 -7
  1972. package/src/store/private-actions.js +33 -5
  1973. package/src/store/private-selectors.js +43 -17
  1974. package/src/store/reducer.js +8 -12
  1975. package/src/store/selectors.js +44 -21
  1976. package/src/store/test/actions.js +203 -26
  1977. package/src/store/test/array.js +0 -3
  1978. package/src/store/test/get-block-settings.js +0 -7
  1979. package/src/store/test/performance.js +0 -3
  1980. package/src/store/test/private-actions.js +0 -3
  1981. package/src/store/test/private-selectors.js +155 -17
  1982. package/src/store/test/reducer.js +30 -11
  1983. package/src/store/test/registry-selectors.js +0 -7
  1984. package/src/store/test/selectors.js +143 -7
  1985. package/src/store/utils.js +0 -7
  1986. package/src/utils/fit-text-frontend.ts +0 -8
  1987. package/src/utils/format-font-style.ts +0 -7
  1988. package/src/utils/format-font-weight.ts +0 -7
  1989. package/src/utils/get-font-styles-and-weights.ts +0 -7
  1990. package/src/utils/group-blocks.js +36 -0
  1991. package/src/utils/native-undo.js +0 -3
  1992. package/src/utils/pasting.ts +0 -3
  1993. package/src/utils/selection.ts +0 -3
  1994. package/src/utils/sibling-block-attributes.js +30 -0
  1995. package/src/utils/test/block-bindings.js +0 -3
  1996. package/src/utils/test/color-values.js +0 -3
  1997. package/src/utils/test/format-font-style.js +0 -3
  1998. package/src/utils/test/format-font-weight.js +0 -3
  1999. package/src/utils/test/get-font-styles-and-weights.js +0 -3
  2000. package/src/utils/test/math.js +0 -3
  2001. package/src/utils/test/object.js +0 -3
  2002. package/src/utils/test/pasting.js +0 -3
  2003. package/src/utils/test/selection.js +0 -3
  2004. package/src/utils/test/sorting.js +0 -3
  2005. package/src/utils/test/transform-styles.js +0 -3
  2006. package/src/utils/transform-styles/index.ts +0 -8
  2007. package/src/utils/use-notify-copy.js +0 -7
  2008. package/build/components/floating-toolbar/nav-up-icon.cjs +0 -52
  2009. package/build/components/floating-toolbar/nav-up-icon.cjs.map +0 -7
  2010. package/build/components/gradients/with-gradient.cjs.map +0 -7
  2011. package/build/components/inserter-button/sparkles.cjs +0 -36
  2012. package/build/components/inserter-button/sparkles.cjs.map +0 -7
  2013. package/build-module/components/floating-toolbar/nav-up-icon.mjs +0 -31
  2014. package/build-module/components/floating-toolbar/nav-up-icon.mjs.map +0 -7
  2015. package/build-module/components/gradients/with-gradient.mjs +0 -11
  2016. package/build-module/components/gradients/with-gradient.mjs.map +0 -7
  2017. package/build-module/components/inserter-button/sparkles.mjs +0 -15
  2018. package/build-module/components/inserter-button/sparkles.mjs.map +0 -7
  2019. package/build-style/default-editor-styles-rtl.css +0 -68
  2020. package/build-style/default-editor-styles.css +0 -68
  2021. package/src/components/block-visibility/use-block-visibility.js +0 -76
  2022. package/src/components/floating-toolbar/nav-up-icon.js +0 -25
  2023. package/src/components/gradients/with-gradient.js +0 -12
  2024. package/src/components/inserter-button/README.md +0 -62
  2025. package/src/components/inserter-button/sparkles.js +0 -15
  2026. package/src/default-editor-styles.scss +0 -25
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/list-view/use-list-view-images.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n// Maximum number of images to display in a list view row.\nconst MAX_IMAGES = 3;\nconst IMAGE_GETTERS = {\n\t'core/image': ( { clientId, attributes } ) => {\n\t\tif ( attributes.url ) {\n\t\t\treturn {\n\t\t\t\turl: attributes.url,\n\t\t\t\talt: attributes.alt || '',\n\t\t\t\tclientId,\n\t\t\t};\n\t\t}\n\t},\n\t'core/cover': ( { clientId, attributes } ) => {\n\t\tif ( attributes.backgroundType === 'image' && attributes.url ) {\n\t\t\treturn {\n\t\t\t\turl: attributes.url,\n\t\t\t\talt: attributes.alt || '',\n\t\t\t\tclientId,\n\t\t\t};\n\t\t}\n\t},\n\t'core/media-text': ( { clientId, attributes } ) => {\n\t\tif ( attributes.mediaType === 'image' && attributes.mediaUrl ) {\n\t\t\treturn {\n\t\t\t\turl: attributes.mediaUrl,\n\t\t\t\talt: attributes.mediaAlt || '',\n\t\t\t\tclientId,\n\t\t\t};\n\t\t}\n\t},\n\t'core/gallery': ( { innerBlocks } ) => {\n\t\tconst images = [];\n\t\tconst getValues = !! innerBlocks?.length\n\t\t\t? IMAGE_GETTERS[ innerBlocks[ 0 ].name ]\n\t\t\t: undefined;\n\t\tif ( ! getValues ) {\n\t\t\treturn images;\n\t\t}\n\n\t\tfor ( const innerBlock of innerBlocks ) {\n\t\t\tconst img = getValues( innerBlock );\n\t\t\tif ( img ) {\n\t\t\t\timages.push( img );\n\t\t\t}\n\t\t\tif ( images.length >= MAX_IMAGES ) {\n\t\t\t\treturn images;\n\t\t\t}\n\t\t}\n\n\t\treturn images;\n\t},\n};\n\nfunction getImagesFromBlock( block, isExpanded ) {\n\tconst getImages = IMAGE_GETTERS[ block.name ];\n\tconst images = !! getImages ? getImages( block ) : undefined;\n\n\tif ( ! images ) {\n\t\treturn [];\n\t}\n\n\tif ( ! Array.isArray( images ) ) {\n\t\treturn [ images ];\n\t}\n\n\treturn isExpanded ? [] : images;\n}\n\n/**\n * Get a block's preview images for display within a list view row.\n *\n * TODO: Currently only supports images from the core/image and core/gallery\n * blocks. This should be expanded to support other blocks that have images,\n * potentially via an API that blocks can opt into / provide their own logic.\n *\n * @param {Object} props Hook properties.\n * @param {string} props.clientId The block's clientId.\n * @param {boolean} props.isExpanded Whether or not the block is expanded in the list view.\n * @return {Array} Images.\n */\nexport default function useListViewImages( { clientId, isExpanded } ) {\n\tconst { block } = useSelect(\n\t\t( select ) => {\n\t\t\treturn { block: select( blockEditorStore ).getBlock( clientId ) };\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst images = useMemo( () => {\n\t\treturn getImagesFromBlock( block, isExpanded );\n\t}, [ block, isExpanded ] );\n\n\treturn images;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAwB;AACxB,kBAA0B;AAK1B,mBAA0C;AAG1C,IAAM,aAAa;AACnB,IAAM,gBAAgB;AAAA,EACrB,cAAc,CAAE,EAAE,UAAU,WAAW,MAAO;AAC7C,QAAK,WAAW,KAAM;AACrB,aAAO;AAAA,QACN,KAAK,WAAW;AAAA,QAChB,KAAK,WAAW,OAAO;AAAA,QACvB;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,cAAc,CAAE,EAAE,UAAU,WAAW,MAAO;AAC7C,QAAK,WAAW,mBAAmB,WAAW,WAAW,KAAM;AAC9D,aAAO;AAAA,QACN,KAAK,WAAW;AAAA,QAChB,KAAK,WAAW,OAAO;AAAA,QACvB;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,mBAAmB,CAAE,EAAE,UAAU,WAAW,MAAO;AAClD,QAAK,WAAW,cAAc,WAAW,WAAW,UAAW;AAC9D,aAAO;AAAA,QACN,KAAK,WAAW;AAAA,QAChB,KAAK,WAAW,YAAY;AAAA,QAC5B;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,gBAAgB,CAAE,EAAE,YAAY,MAAO;AACtC,UAAM,SAAS,CAAC;AAChB,UAAM,YAAY,CAAC,CAAE,aAAa,SAC/B,cAAe,YAAa,CAAE,EAAE,IAAK,IACrC;AACH,QAAK,CAAE,WAAY;AAClB,aAAO;AAAA,IACR;AAEA,eAAY,cAAc,aAAc;AACvC,YAAM,MAAM,UAAW,UAAW;AAClC,UAAK,KAAM;AACV,eAAO,KAAM,GAAI;AAAA,MAClB;AACA,UAAK,OAAO,UAAU,YAAa;AAClC,eAAO;AAAA,MACR;AAAA,IACD;AAEA,WAAO;AAAA,EACR;AACD;AAEA,SAAS,mBAAoB,OAAO,YAAa;AAChD,QAAM,YAAY,cAAe,MAAM,IAAK;AAC5C,QAAM,SAAS,CAAC,CAAE,YAAY,UAAW,KAAM,IAAI;AAEnD,MAAK,CAAE,QAAS;AACf,WAAO,CAAC;AAAA,EACT;AAEA,MAAK,CAAE,MAAM,QAAS,MAAO,GAAI;AAChC,WAAO,CAAE,MAAO;AAAA,EACjB;AAEA,SAAO,aAAa,CAAC,IAAI;AAC1B;AAce,SAAR,kBAAoC,EAAE,UAAU,WAAW,GAAI;AACrE,QAAM,EAAE,MAAM,QAAI;AAAA,IACjB,CAAE,WAAY;AACb,aAAO,EAAE,OAAO,OAAQ,aAAAA,KAAiB,EAAE,SAAU,QAAS,EAAE;AAAA,IACjE;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AACA,QAAM,aAAS,wBAAS,MAAM;AAC7B,WAAO,mBAAoB,OAAO,UAAW;AAAA,EAC9C,GAAG,CAAE,OAAO,UAAW,CAAE;AAEzB,SAAO;AACR;",
4
+ "sourcesContent": ["import { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '../../store';\n\n// Maximum number of images to display in a list view row.\nconst MAX_IMAGES = 3;\nconst IMAGE_GETTERS = {\n\t'core/image': ( { clientId, attributes } ) => {\n\t\tif ( attributes.url ) {\n\t\t\treturn {\n\t\t\t\turl: attributes.url,\n\t\t\t\talt: attributes.alt || '',\n\t\t\t\tclientId,\n\t\t\t};\n\t\t}\n\t},\n\t'core/cover': ( { clientId, attributes } ) => {\n\t\tif ( attributes.backgroundType === 'image' && attributes.url ) {\n\t\t\treturn {\n\t\t\t\turl: attributes.url,\n\t\t\t\talt: attributes.alt || '',\n\t\t\t\tclientId,\n\t\t\t};\n\t\t}\n\t},\n\t'core/media-text': ( { clientId, attributes } ) => {\n\t\tif ( attributes.mediaType === 'image' && attributes.mediaUrl ) {\n\t\t\treturn {\n\t\t\t\turl: attributes.mediaUrl,\n\t\t\t\talt: attributes.mediaAlt || '',\n\t\t\t\tclientId,\n\t\t\t};\n\t\t}\n\t},\n\t'core/gallery': ( { innerBlocks } ) => {\n\t\tconst images = [];\n\t\tconst getValues = !! innerBlocks?.length\n\t\t\t? IMAGE_GETTERS[ innerBlocks[ 0 ].name ]\n\t\t\t: undefined;\n\t\tif ( ! getValues ) {\n\t\t\treturn images;\n\t\t}\n\n\t\tfor ( const innerBlock of innerBlocks ) {\n\t\t\tconst img = getValues( innerBlock );\n\t\t\tif ( img ) {\n\t\t\t\timages.push( img );\n\t\t\t}\n\t\t\tif ( images.length >= MAX_IMAGES ) {\n\t\t\t\treturn images;\n\t\t\t}\n\t\t}\n\n\t\treturn images;\n\t},\n};\n\nfunction getImagesFromBlock( block, isExpanded ) {\n\tconst images = block ? IMAGE_GETTERS[ block.name ]( block ) : undefined;\n\n\tif ( ! images ) {\n\t\treturn [];\n\t}\n\n\tif ( ! Array.isArray( images ) ) {\n\t\treturn [ images ];\n\t}\n\n\treturn isExpanded ? [] : images;\n}\n\n/**\n * Get a block's preview images for display within a list view row.\n *\n * TODO: Currently only supports images from the core/image and core/gallery\n * blocks. This should be expanded to support other blocks that have images,\n * potentially via an API that blocks can opt into / provide their own logic.\n *\n * @param {Object} props Hook properties.\n * @param {string} props.clientId The block's clientId.\n * @param {boolean} props.isExpanded Whether or not the block is expanded in the list view.\n * @return {Array} Images.\n */\nexport default function useListViewImages( { clientId, isExpanded } ) {\n\tconst { block } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockName, getBlock } = select( blockEditorStore );\n\t\t\t// Reading the block subscribes to its whole subtree, so only\n\t\t\t// do it for blocks that can show an image.\n\t\t\tconst hasImages = !! IMAGE_GETTERS[ getBlockName( clientId ) ];\n\t\t\treturn { block: hasImages ? getBlock( clientId ) : undefined };\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst images = useMemo( () => {\n\t\treturn getImagesFromBlock( block, isExpanded );\n\t}, [ block, isExpanded ] );\n\n\treturn images;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAwB;AACxB,kBAA0B;AAC1B,mBAA0C;AAG1C,IAAM,aAAa;AACnB,IAAM,gBAAgB;AAAA,EACrB,cAAc,CAAE,EAAE,UAAU,WAAW,MAAO;AAC7C,QAAK,WAAW,KAAM;AACrB,aAAO;AAAA,QACN,KAAK,WAAW;AAAA,QAChB,KAAK,WAAW,OAAO;AAAA,QACvB;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,cAAc,CAAE,EAAE,UAAU,WAAW,MAAO;AAC7C,QAAK,WAAW,mBAAmB,WAAW,WAAW,KAAM;AAC9D,aAAO;AAAA,QACN,KAAK,WAAW;AAAA,QAChB,KAAK,WAAW,OAAO;AAAA,QACvB;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,mBAAmB,CAAE,EAAE,UAAU,WAAW,MAAO;AAClD,QAAK,WAAW,cAAc,WAAW,WAAW,UAAW;AAC9D,aAAO;AAAA,QACN,KAAK,WAAW;AAAA,QAChB,KAAK,WAAW,YAAY;AAAA,QAC5B;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,gBAAgB,CAAE,EAAE,YAAY,MAAO;AACtC,UAAM,SAAS,CAAC;AAChB,UAAM,YAAY,CAAC,CAAE,aAAa,SAC/B,cAAe,YAAa,CAAE,EAAE,IAAK,IACrC;AACH,QAAK,CAAE,WAAY;AAClB,aAAO;AAAA,IACR;AAEA,eAAY,cAAc,aAAc;AACvC,YAAM,MAAM,UAAW,UAAW;AAClC,UAAK,KAAM;AACV,eAAO,KAAM,GAAI;AAAA,MAClB;AACA,UAAK,OAAO,UAAU,YAAa;AAClC,eAAO;AAAA,MACR;AAAA,IACD;AAEA,WAAO;AAAA,EACR;AACD;AAEA,SAAS,mBAAoB,OAAO,YAAa;AAChD,QAAM,SAAS,QAAQ,cAAe,MAAM,IAAK,EAAG,KAAM,IAAI;AAE9D,MAAK,CAAE,QAAS;AACf,WAAO,CAAC;AAAA,EACT;AAEA,MAAK,CAAE,MAAM,QAAS,MAAO,GAAI;AAChC,WAAO,CAAE,MAAO;AAAA,EACjB;AAEA,SAAO,aAAa,CAAC,IAAI;AAC1B;AAce,SAAR,kBAAoC,EAAE,UAAU,WAAW,GAAI;AACrE,QAAM,EAAE,MAAM,QAAI;AAAA,IACjB,CAAE,WAAY;AACb,YAAM,EAAE,cAAc,SAAS,IAAI,OAAQ,aAAAA,KAAiB;AAG5D,YAAM,YAAY,CAAC,CAAE,cAAe,aAAc,QAAS,CAAE;AAC7D,aAAO,EAAE,OAAO,YAAY,SAAU,QAAS,IAAI,OAAU;AAAA,IAC9D;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AACA,QAAM,aAAS,wBAAS,MAAM;AAC7B,WAAO,mBAAoB,OAAO,UAAW;AAAA,EAC9C,GAAG,CAAE,OAAO,UAAW,CAAE;AAEzB,SAAO;AACR;",
6
6
  "names": ["blockEditorStore"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/list-view/use-list-view-scroll-into-view.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { getScrollContainer } from '@wordpress/dom';\nimport { useLayoutEffect } from '@wordpress/element';\n\nexport default function useListViewScrollIntoView( {\n\tisSelected,\n\tselectedClientIds,\n\trowItemRef,\n} ) {\n\tconst isSingleSelection = selectedClientIds.length === 1;\n\n\tuseLayoutEffect( () => {\n\t\t// Skip scrolling into view if this particular block isn't selected,\n\t\t// or if more than one block is selected overall. This is to avoid\n\t\t// scrolling the view in a multi selection where the user has intentionally\n\t\t// selected multiple blocks within the list view, but the initially\n\t\t// selected block may be out of view.\n\t\tif ( ! isSelected || ! isSingleSelection || ! rowItemRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst scrollContainer = getScrollContainer( rowItemRef.current );\n\t\tconst { ownerDocument } = rowItemRef.current;\n\n\t\tconst windowScroll =\n\t\t\tscrollContainer === ownerDocument.body ||\n\t\t\tscrollContainer === ownerDocument.documentElement;\n\n\t\t// If the there is no scroll container, of if the scroll container is the window,\n\t\t// do not scroll into view, as the block is already in view.\n\t\tif ( windowScroll || ! scrollContainer ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rowRect = rowItemRef.current.getBoundingClientRect();\n\t\tconst scrollContainerRect = scrollContainer.getBoundingClientRect();\n\n\t\t// If the selected block is not currently visible, scroll to it.\n\t\tif (\n\t\t\trowRect.top < scrollContainerRect.top ||\n\t\t\trowRect.bottom > scrollContainerRect.bottom\n\t\t) {\n\t\t\trowItemRef.current.scrollIntoView();\n\t\t}\n\t}, [ isSelected, isSingleSelection, rowItemRef ] );\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,iBAAmC;AACnC,qBAAgC;AAEjB,SAAR,0BAA4C;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,oBAAoB,kBAAkB,WAAW;AAEvD,sCAAiB,MAAM;AAMtB,QAAK,CAAE,cAAc,CAAE,qBAAqB,CAAE,WAAW,SAAU;AAClE;AAAA,IACD;AAEA,UAAM,sBAAkB,+BAAoB,WAAW,OAAQ;AAC/D,UAAM,EAAE,cAAc,IAAI,WAAW;AAErC,UAAM,eACL,oBAAoB,cAAc,QAClC,oBAAoB,cAAc;AAInC,QAAK,gBAAgB,CAAE,iBAAkB;AACxC;AAAA,IACD;AAEA,UAAM,UAAU,WAAW,QAAQ,sBAAsB;AACzD,UAAM,sBAAsB,gBAAgB,sBAAsB;AAGlE,QACC,QAAQ,MAAM,oBAAoB,OAClC,QAAQ,SAAS,oBAAoB,QACpC;AACD,iBAAW,QAAQ,eAAe;AAAA,IACnC;AAAA,EACD,GAAG,CAAE,YAAY,mBAAmB,UAAW,CAAE;AAClD;",
4
+ "sourcesContent": ["import { getScrollContainer } from '@wordpress/dom';\nimport { useLayoutEffect } from '@wordpress/element';\n\nexport default function useListViewScrollIntoView( {\n\tisSelected,\n\tselectedClientIds,\n\trowItemRef,\n} ) {\n\tconst isSingleSelection = selectedClientIds.length === 1;\n\n\tuseLayoutEffect( () => {\n\t\t// Skip scrolling into view if this particular block isn't selected,\n\t\t// or if more than one block is selected overall. This is to avoid\n\t\t// scrolling the view in a multi selection where the user has intentionally\n\t\t// selected multiple blocks within the list view, but the initially\n\t\t// selected block may be out of view.\n\t\tif ( ! isSelected || ! isSingleSelection || ! rowItemRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst scrollContainer = getScrollContainer( rowItemRef.current );\n\t\tconst { ownerDocument } = rowItemRef.current;\n\n\t\tconst windowScroll =\n\t\t\tscrollContainer === ownerDocument.body ||\n\t\t\tscrollContainer === ownerDocument.documentElement;\n\n\t\t// If the there is no scroll container, of if the scroll container is the window,\n\t\t// do not scroll into view, as the block is already in view.\n\t\tif ( windowScroll || ! scrollContainer ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rowRect = rowItemRef.current.getBoundingClientRect();\n\t\tconst scrollContainerRect = scrollContainer.getBoundingClientRect();\n\n\t\t// If the selected block is not currently visible, scroll to it.\n\t\tif (\n\t\t\trowRect.top < scrollContainerRect.top ||\n\t\t\trowRect.bottom > scrollContainerRect.bottom\n\t\t) {\n\t\t\trowItemRef.current.scrollIntoView();\n\t\t}\n\t}, [ isSelected, isSingleSelection, rowItemRef ] );\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAmC;AACnC,qBAAgC;AAEjB,SAAR,0BAA4C;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,oBAAoB,kBAAkB,WAAW;AAEvD,sCAAiB,MAAM;AAMtB,QAAK,CAAE,cAAc,CAAE,qBAAqB,CAAE,WAAW,SAAU;AAClE;AAAA,IACD;AAEA,UAAM,sBAAkB,+BAAoB,WAAW,OAAQ;AAC/D,UAAM,EAAE,cAAc,IAAI,WAAW;AAErC,UAAM,eACL,oBAAoB,cAAc,QAClC,oBAAoB,cAAc;AAInC,QAAK,gBAAgB,CAAE,iBAAkB;AACxC;AAAA,IACD;AAEA,UAAM,UAAU,WAAW,QAAQ,sBAAsB;AACzD,UAAM,sBAAsB,gBAAgB,sBAAsB;AAGlE,QACC,QAAQ,MAAM,oBAAoB,OAClC,QAAQ,SAAS,oBAAoB,QACpC;AACD,iBAAW,QAAQ,eAAe;AAAA,IACnC;AAAA,EACD,GAAG,CAAE,YAAY,mBAAmB,UAAW,CAAE;AAClD;",
6
6
  "names": []
7
7
  }
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // packages/block-editor/src/components/list-view/utils.js
21
21
  var utils_exports = {};
22
22
  __export(utils_exports, {
23
+ BLOCK_LIST_ITEM_HEIGHT: () => BLOCK_LIST_ITEM_HEIGHT,
23
24
  focusListItem: () => focusListItem,
24
25
  getBlockPositionDescription: () => getBlockPositionDescription,
25
26
  getBlockPropertiesDescription: () => getBlockPropertiesDescription,
@@ -30,6 +31,7 @@ __export(utils_exports, {
30
31
  module.exports = __toCommonJS(utils_exports);
31
32
  var import_i18n = require("@wordpress/i18n");
32
33
  var import_dom = require("@wordpress/dom");
34
+ var BLOCK_LIST_ITEM_HEIGHT = 32;
33
35
  var getBlockPositionDescription = (position, siblingCount, level) => (0, import_i18n.sprintf)(
34
36
  /* translators: 1: The numerical position of the block. 2: The total number of blocks. 3. The level of nesting for the block. */
35
37
  (0, import_i18n.__)("Block %1$d of %2$d, Level %3$d."),
@@ -37,11 +39,11 @@ var getBlockPositionDescription = (position, siblingCount, level) => (0, import_
37
39
  siblingCount,
38
40
  level
39
41
  );
40
- var getBlockPropertiesDescription = (blockInformation, isLocked) => [
41
- blockInformation?.positionLabel ? `${(0, import_i18n.sprintf)(
42
+ var getBlockPropertiesDescription = (positionLabel, isLocked) => [
43
+ positionLabel ? `${(0, import_i18n.sprintf)(
42
44
  // translators: %s: Position of selected block, e.g. "Sticky" or "Fixed".
43
45
  (0, import_i18n.__)("Position: %s"),
44
- blockInformation.positionLabel
46
+ positionLabel
45
47
  )}.` : void 0,
46
48
  isLocked ? (0, import_i18n.__)("This block is locked.") : void 0
47
49
  ].filter(Boolean).join(" ");
@@ -57,7 +59,7 @@ function getCommonDepthClientIds(startId, endId, startParents, endParents) {
57
59
  end
58
60
  };
59
61
  }
60
- function focusListItem(focusClientId, treeGridElement) {
62
+ function focusListItem(focusClientId, treeGridElement, signal) {
61
63
  if (!treeGridElement) {
62
64
  return;
63
65
  }
@@ -78,11 +80,23 @@ function focusListItem(focusClientId, treeGridElement) {
78
80
  childList: true,
79
81
  subtree: true
80
82
  });
83
+ signal?.addEventListener(
84
+ "abort",
85
+ () => {
86
+ clearTimeout(timer);
87
+ observer.disconnect();
88
+ resolve(null);
89
+ },
90
+ { once: true }
91
+ );
81
92
  timer = setTimeout(() => {
82
93
  observer.disconnect();
83
94
  resolve(null);
84
95
  }, 3e3);
85
96
  }).then((element) => {
97
+ if (signal?.aborted) {
98
+ return;
99
+ }
86
100
  if (element && element.isConnected) {
87
101
  import_dom.focus.focusable.find(element)?.[0]?.focus();
88
102
  }
@@ -140,6 +154,7 @@ function getDragDisplacementValues({
140
154
  }
141
155
  // Annotate the CommonJS export names for ESM import in node:
142
156
  0 && (module.exports = {
157
+ BLOCK_LIST_ITEM_HEIGHT,
143
158
  focusListItem,
144
159
  getBlockPositionDescription,
145
160
  getBlockPropertiesDescription,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/list-view/utils.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { focus } from '@wordpress/dom';\n\nexport const getBlockPositionDescription = ( position, siblingCount, level ) =>\n\tsprintf(\n\t\t/* translators: 1: The numerical position of the block. 2: The total number of blocks. 3. The level of nesting for the block. */\n\t\t__( 'Block %1$d of %2$d, Level %3$d.' ),\n\t\tposition,\n\t\tsiblingCount,\n\t\tlevel\n\t);\n\nexport const getBlockPropertiesDescription = ( blockInformation, isLocked ) =>\n\t[\n\t\tblockInformation?.positionLabel\n\t\t\t? `${ sprintf(\n\t\t\t\t\t// translators: %s: Position of selected block, e.g. \"Sticky\" or \"Fixed\".\n\t\t\t\t\t__( 'Position: %s' ),\n\t\t\t\t\tblockInformation.positionLabel\n\t\t\t ) }.`\n\t\t\t: undefined,\n\t\tisLocked ? __( 'This block is locked.' ) : undefined,\n\t]\n\t\t.filter( Boolean )\n\t\t.join( ' ' );\n\n/**\n * Returns true if the client ID occurs within the block selection or multi-selection,\n * or false otherwise.\n *\n * @param {string} clientId Block client ID.\n * @param {string|string[]} selectedBlockClientIds Selected block client ID, or an array of multi-selected blocks client IDs.\n *\n * @return {boolean} Whether the block is in multi-selection set.\n */\nexport const isClientIdSelected = ( clientId, selectedBlockClientIds ) =>\n\tArray.isArray( selectedBlockClientIds ) && selectedBlockClientIds.length\n\t\t? selectedBlockClientIds.indexOf( clientId ) !== -1\n\t\t: selectedBlockClientIds === clientId;\n\n/**\n * From a start and end clientId of potentially different nesting levels,\n * return the nearest-depth ids that have a common level of depth in the\n * nesting hierarchy. For multiple block selection, this ensure that the\n * selection is always at the same nesting level, and not split across\n * separate levels.\n *\n * @param {string} startId The first id of a selection.\n * @param {string} endId The end id of a selection, usually one that has been clicked on.\n * @param {string[]} startParents An array of ancestor ids for the start id, in descending order.\n * @param {string[]} endParents An array of ancestor ids for the end id, in descending order.\n * @return {Object} An object containing the start and end ids.\n */\nexport function getCommonDepthClientIds(\n\tstartId,\n\tendId,\n\tstartParents,\n\tendParents\n) {\n\tconst startPath = [ ...startParents, startId ];\n\tconst endPath = [ ...endParents, endId ];\n\tconst depth = Math.min( startPath.length, endPath.length ) - 1;\n\tconst start = startPath[ depth ];\n\tconst end = endPath[ depth ];\n\n\treturn {\n\t\tstart,\n\t\tend,\n\t};\n}\n\n/**\n * Shift focus to the list view item associated with a particular clientId.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {string} focusClientId The client ID of the block to focus.\n * @param {?HTMLElement} treeGridElement The container element to search within.\n */\nexport function focusListItem( focusClientId, treeGridElement ) {\n\tif ( ! treeGridElement ) {\n\t\treturn;\n\t}\n\n\tconst selector = `[role=row][data-block=\"${ focusClientId }\"]`;\n\n\treturn new Promise( ( resolve ) => {\n\t\tif ( treeGridElement.querySelector( selector ) ) {\n\t\t\treturn resolve( treeGridElement.querySelector( selector ) );\n\t\t}\n\n\t\tlet timer = null;\n\t\t// Wait for the element to be added to the DOM.\n\t\tconst observer = new window.MutationObserver( () => {\n\t\t\tif ( treeGridElement.querySelector( selector ) ) {\n\t\t\t\tclearTimeout( timer );\n\t\t\t\tobserver.disconnect();\n\t\t\t\tresolve( treeGridElement.querySelector( selector ) );\n\t\t\t}\n\t\t} );\n\n\t\tobserver.observe( treeGridElement, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t} );\n\n\t\t// Stop trying after 3 seconds.\n\t\ttimer = setTimeout( () => {\n\t\t\tobserver.disconnect();\n\t\t\tresolve( null );\n\t\t}, 3000 );\n\t} ).then( ( element ) => {\n\t\tif ( element && element.isConnected ) {\n\t\t\t// Focus the first focusable in the row, which is the ListViewBlockSelectButton.\n\t\t\tfocus.focusable.find( element )?.[ 0 ]?.focus();\n\t\t}\n\t} );\n}\n\n/**\n * Get values for the block that flag whether the block should be displaced up or down,\n * whether the block is being nested, and whether the block appears after the dragged\n * blocks. These values are used to determine the class names to apply to the block.\n * The list view rows are displaced visually via CSS rules. Displacement rules:\n * - `normal`: no displacement — used to apply a translateY of `0` so that the block\n * appears in its original position, and moves to that position smoothly when dragging\n * outside of the list view area.\n * - `up`: the block should be displaced up, creating room beneath the block for the drop indicator.\n * - `down`: the block should be displaced down, creating room above the block for the drop indicator.\n *\n * @param {Object} props\n * @param {Object} props.blockIndexes The indexes of all the blocks in the list view, keyed by clientId.\n * @param {number|null|undefined} props.blockDropTargetIndex The index of the block that the user is dropping to.\n * @param {?string} props.blockDropPosition The position relative to the block that the user is dropping to.\n * @param {string} props.clientId The client id for the current block.\n * @param {?number} props.firstDraggedBlockIndex The index of the first dragged block.\n * @param {?boolean} props.isDragged Whether the current block is being dragged. Dragged blocks skip displacement.\n * @return {Object} An object containing the `displacement`, `isAfterDraggedBlocks` and `isNesting` values.\n */\nexport function getDragDisplacementValues( {\n\tblockIndexes,\n\tblockDropTargetIndex,\n\tblockDropPosition,\n\tclientId,\n\tfirstDraggedBlockIndex,\n\tisDragged,\n} ) {\n\tlet displacement;\n\tlet isNesting;\n\tlet isAfterDraggedBlocks;\n\n\tif ( ! isDragged ) {\n\t\tisNesting = false;\n\t\tconst thisBlockIndex = blockIndexes[ clientId ];\n\t\tisAfterDraggedBlocks = thisBlockIndex > firstDraggedBlockIndex;\n\n\t\t// Determine where to displace the position of the current block, relative\n\t\t// to the blocks being dragged (in their original position) and the drop target\n\t\t// (the position where a user is currently dragging the blocks to).\n\t\tif (\n\t\t\tblockDropTargetIndex !== undefined &&\n\t\t\tblockDropTargetIndex !== null &&\n\t\t\tfirstDraggedBlockIndex !== undefined\n\t\t) {\n\t\t\t// If the block is being dragged and there is a valid drop target,\n\t\t\t// determine if the block being rendered should be displaced up or down.\n\n\t\t\tif ( thisBlockIndex !== undefined ) {\n\t\t\t\tif (\n\t\t\t\t\tthisBlockIndex >= firstDraggedBlockIndex &&\n\t\t\t\t\tthisBlockIndex < blockDropTargetIndex\n\t\t\t\t) {\n\t\t\t\t\t// If the current block appears after the set of dragged blocks\n\t\t\t\t\t// (in their original position), but is before the drop target,\n\t\t\t\t\t// then the current block should be displaced up.\n\t\t\t\t\tdisplacement = 'up';\n\t\t\t\t} else if (\n\t\t\t\t\tthisBlockIndex < firstDraggedBlockIndex &&\n\t\t\t\t\tthisBlockIndex >= blockDropTargetIndex\n\t\t\t\t) {\n\t\t\t\t\t// If the current block appears before the set of dragged blocks\n\t\t\t\t\t// (in their original position), but is after the drop target,\n\t\t\t\t\t// then the current block should be displaced down.\n\t\t\t\t\tdisplacement = 'down';\n\t\t\t\t} else {\n\t\t\t\t\tdisplacement = 'normal';\n\t\t\t\t}\n\t\t\t\tisNesting =\n\t\t\t\t\ttypeof blockDropTargetIndex === 'number' &&\n\t\t\t\t\tblockDropTargetIndex - 1 === thisBlockIndex &&\n\t\t\t\t\tblockDropPosition === 'inside';\n\t\t\t}\n\t\t} else if (\n\t\t\tblockDropTargetIndex === null &&\n\t\t\tfirstDraggedBlockIndex !== undefined\n\t\t) {\n\t\t\t// A `null` value for `blockDropTargetIndex` indicates that the\n\t\t\t// drop target is outside of the valid areas within the list view.\n\t\t\t// In this case, the drag is still active, but as there is no\n\t\t\t// valid drop target, we should remove the gap indicating where\n\t\t\t// the block would be inserted.\n\t\t\tif (\n\t\t\t\tthisBlockIndex !== undefined &&\n\t\t\t\tthisBlockIndex >= firstDraggedBlockIndex\n\t\t\t) {\n\t\t\t\tdisplacement = 'up';\n\t\t\t} else {\n\t\t\t\tdisplacement = 'normal';\n\t\t\t}\n\t\t} else if (\n\t\t\tblockDropTargetIndex !== undefined &&\n\t\t\tblockDropTargetIndex !== null &&\n\t\t\tfirstDraggedBlockIndex === undefined\n\t\t) {\n\t\t\t// If the blockdrop target is defined, but there are no dragged blocks,\n\t\t\t// then the block should be displaced relative to the drop target.\n\t\t\tif ( thisBlockIndex !== undefined ) {\n\t\t\t\tif ( thisBlockIndex < blockDropTargetIndex ) {\n\t\t\t\t\tdisplacement = 'normal';\n\t\t\t\t} else {\n\t\t\t\t\tdisplacement = 'down';\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( blockDropTargetIndex === null ) {\n\t\t\tdisplacement = 'normal';\n\t\t}\n\t}\n\n\treturn {\n\t\tdisplacement,\n\t\tisNesting,\n\t\tisAfterDraggedBlocks,\n\t};\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { __, sprintf } from '@wordpress/i18n';\nimport { focus } from '@wordpress/dom';\n\n// Must match the row height in `style.scss`; the windowing math relies on it.\n// See: https://github.com/WordPress/gutenberg/pull/35230 for additional context.\nexport const BLOCK_LIST_ITEM_HEIGHT = 32;\n\nexport const getBlockPositionDescription = ( position, siblingCount, level ) =>\n\tsprintf(\n\t\t/* translators: 1: The numerical position of the block. 2: The total number of blocks. 3. The level of nesting for the block. */\n\t\t__( 'Block %1$d of %2$d, Level %3$d.' ),\n\t\tposition,\n\t\tsiblingCount,\n\t\tlevel\n\t);\n\nexport const getBlockPropertiesDescription = ( positionLabel, isLocked ) =>\n\t[\n\t\tpositionLabel\n\t\t\t? `${ sprintf(\n\t\t\t\t\t// translators: %s: Position of selected block, e.g. \"Sticky\" or \"Fixed\".\n\t\t\t\t\t__( 'Position: %s' ),\n\t\t\t\t\tpositionLabel\n\t\t\t ) }.`\n\t\t\t: undefined,\n\t\tisLocked ? __( 'This block is locked.' ) : undefined,\n\t]\n\t\t.filter( Boolean )\n\t\t.join( ' ' );\n\n/**\n * Returns true if the client ID occurs within the block selection or multi-selection,\n * or false otherwise.\n *\n * @param {string} clientId Block client ID.\n * @param {string|string[]} selectedBlockClientIds Selected block client ID, or an array of multi-selected blocks client IDs.\n *\n * @return {boolean} Whether the block is in multi-selection set.\n */\nexport const isClientIdSelected = ( clientId, selectedBlockClientIds ) =>\n\tArray.isArray( selectedBlockClientIds ) && selectedBlockClientIds.length\n\t\t? selectedBlockClientIds.indexOf( clientId ) !== -1\n\t\t: selectedBlockClientIds === clientId;\n\n/**\n * From a start and end clientId of potentially different nesting levels,\n * return the nearest-depth ids that have a common level of depth in the\n * nesting hierarchy. For multiple block selection, this ensure that the\n * selection is always at the same nesting level, and not split across\n * separate levels.\n *\n * @param {string} startId The first id of a selection.\n * @param {string} endId The end id of a selection, usually one that has been clicked on.\n * @param {string[]} startParents An array of ancestor ids for the start id, in descending order.\n * @param {string[]} endParents An array of ancestor ids for the end id, in descending order.\n * @return {Object} An object containing the start and end ids.\n */\nexport function getCommonDepthClientIds(\n\tstartId,\n\tendId,\n\tstartParents,\n\tendParents\n) {\n\tconst startPath = [ ...startParents, startId ];\n\tconst endPath = [ ...endParents, endId ];\n\tconst depth = Math.min( startPath.length, endPath.length ) - 1;\n\tconst start = startPath[ depth ];\n\tconst end = endPath[ depth ];\n\n\treturn {\n\t\tstart,\n\t\tend,\n\t};\n}\n\n/**\n * Shift focus to the list view item associated with a particular clientId.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {string} focusClientId The client ID of the block to focus.\n * @param {?HTMLElement} treeGridElement The container element to search within.\n * @param {?AbortSignal} signal Optional signal to stop waiting for the row and leave focus alone.\n */\nexport function focusListItem( focusClientId, treeGridElement, signal ) {\n\tif ( ! treeGridElement ) {\n\t\treturn;\n\t}\n\n\tconst selector = `[role=row][data-block=\"${ focusClientId }\"]`;\n\n\treturn new Promise( ( resolve ) => {\n\t\tif ( treeGridElement.querySelector( selector ) ) {\n\t\t\treturn resolve( treeGridElement.querySelector( selector ) );\n\t\t}\n\n\t\tlet timer = null;\n\t\t// Wait for the element to be added to the DOM.\n\t\tconst observer = new window.MutationObserver( () => {\n\t\t\tif ( treeGridElement.querySelector( selector ) ) {\n\t\t\t\tclearTimeout( timer );\n\t\t\t\tobserver.disconnect();\n\t\t\t\tresolve( treeGridElement.querySelector( selector ) );\n\t\t\t}\n\t\t} );\n\n\t\tobserver.observe( treeGridElement, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t} );\n\n\t\tsignal?.addEventListener(\n\t\t\t'abort',\n\t\t\t() => {\n\t\t\t\tclearTimeout( timer );\n\t\t\t\tobserver.disconnect();\n\t\t\t\tresolve( null );\n\t\t\t},\n\t\t\t{ once: true }\n\t\t);\n\n\t\t// Stop trying after 3 seconds.\n\t\ttimer = setTimeout( () => {\n\t\t\tobserver.disconnect();\n\t\t\tresolve( null );\n\t\t}, 3000 );\n\t} ).then( ( element ) => {\n\t\tif ( signal?.aborted ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( element && element.isConnected ) {\n\t\t\t// Focus the first focusable in the row, which is the ListViewBlockSelectButton.\n\t\t\tfocus.focusable.find( element )?.[ 0 ]?.focus();\n\t\t}\n\t} );\n}\n\n/**\n * Get values for the block that flag whether the block should be displaced up or down,\n * whether the block is being nested, and whether the block appears after the dragged\n * blocks. These values are used to determine the class names to apply to the block.\n * The list view rows are displaced visually via CSS rules. Displacement rules:\n * - `normal`: no displacement — used to apply a translateY of `0` so that the block\n * appears in its original position, and moves to that position smoothly when dragging\n * outside of the list view area.\n * - `up`: the block should be displaced up, creating room beneath the block for the drop indicator.\n * - `down`: the block should be displaced down, creating room above the block for the drop indicator.\n *\n * @param {Object} props\n * @param {Object} props.blockIndexes The indexes of all the blocks in the list view, keyed by clientId.\n * @param {number|null|undefined} props.blockDropTargetIndex The index of the block that the user is dropping to.\n * @param {?string} props.blockDropPosition The position relative to the block that the user is dropping to.\n * @param {string} props.clientId The client id for the current block.\n * @param {?number} props.firstDraggedBlockIndex The index of the first dragged block.\n * @param {?boolean} props.isDragged Whether the current block is being dragged. Dragged blocks skip displacement.\n * @return {Object} An object containing the `displacement`, `isAfterDraggedBlocks` and `isNesting` values.\n */\nexport function getDragDisplacementValues( {\n\tblockIndexes,\n\tblockDropTargetIndex,\n\tblockDropPosition,\n\tclientId,\n\tfirstDraggedBlockIndex,\n\tisDragged,\n} ) {\n\tlet displacement;\n\tlet isNesting;\n\tlet isAfterDraggedBlocks;\n\n\tif ( ! isDragged ) {\n\t\tisNesting = false;\n\t\tconst thisBlockIndex = blockIndexes[ clientId ];\n\t\tisAfterDraggedBlocks = thisBlockIndex > firstDraggedBlockIndex;\n\n\t\t// Determine where to displace the position of the current block, relative\n\t\t// to the blocks being dragged (in their original position) and the drop target\n\t\t// (the position where a user is currently dragging the blocks to).\n\t\tif (\n\t\t\tblockDropTargetIndex !== undefined &&\n\t\t\tblockDropTargetIndex !== null &&\n\t\t\tfirstDraggedBlockIndex !== undefined\n\t\t) {\n\t\t\t// If the block is being dragged and there is a valid drop target,\n\t\t\t// determine if the block being rendered should be displaced up or down.\n\n\t\t\tif ( thisBlockIndex !== undefined ) {\n\t\t\t\tif (\n\t\t\t\t\tthisBlockIndex >= firstDraggedBlockIndex &&\n\t\t\t\t\tthisBlockIndex < blockDropTargetIndex\n\t\t\t\t) {\n\t\t\t\t\t// If the current block appears after the set of dragged blocks\n\t\t\t\t\t// (in their original position), but is before the drop target,\n\t\t\t\t\t// then the current block should be displaced up.\n\t\t\t\t\tdisplacement = 'up';\n\t\t\t\t} else if (\n\t\t\t\t\tthisBlockIndex < firstDraggedBlockIndex &&\n\t\t\t\t\tthisBlockIndex >= blockDropTargetIndex\n\t\t\t\t) {\n\t\t\t\t\t// If the current block appears before the set of dragged blocks\n\t\t\t\t\t// (in their original position), but is after the drop target,\n\t\t\t\t\t// then the current block should be displaced down.\n\t\t\t\t\tdisplacement = 'down';\n\t\t\t\t} else {\n\t\t\t\t\tdisplacement = 'normal';\n\t\t\t\t}\n\t\t\t\tisNesting =\n\t\t\t\t\ttypeof blockDropTargetIndex === 'number' &&\n\t\t\t\t\tblockDropTargetIndex - 1 === thisBlockIndex &&\n\t\t\t\t\tblockDropPosition === 'inside';\n\t\t\t}\n\t\t} else if (\n\t\t\tblockDropTargetIndex === null &&\n\t\t\tfirstDraggedBlockIndex !== undefined\n\t\t) {\n\t\t\t// A `null` value for `blockDropTargetIndex` indicates that the\n\t\t\t// drop target is outside of the valid areas within the list view.\n\t\t\t// In this case, the drag is still active, but as there is no\n\t\t\t// valid drop target, we should remove the gap indicating where\n\t\t\t// the block would be inserted.\n\t\t\tif (\n\t\t\t\tthisBlockIndex !== undefined &&\n\t\t\t\tthisBlockIndex >= firstDraggedBlockIndex\n\t\t\t) {\n\t\t\t\tdisplacement = 'up';\n\t\t\t} else {\n\t\t\t\tdisplacement = 'normal';\n\t\t\t}\n\t\t} else if (\n\t\t\tblockDropTargetIndex !== undefined &&\n\t\t\tblockDropTargetIndex !== null &&\n\t\t\tfirstDraggedBlockIndex === undefined\n\t\t) {\n\t\t\t// If the blockdrop target is defined, but there are no dragged blocks,\n\t\t\t// then the block should be displaced relative to the drop target.\n\t\t\tif ( thisBlockIndex !== undefined ) {\n\t\t\t\tif ( thisBlockIndex < blockDropTargetIndex ) {\n\t\t\t\t\tdisplacement = 'normal';\n\t\t\t\t} else {\n\t\t\t\t\tdisplacement = 'down';\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( blockDropTargetIndex === null ) {\n\t\t\tdisplacement = 'normal';\n\t\t}\n\t}\n\n\treturn {\n\t\tdisplacement,\n\t\tisNesting,\n\t\tisAfterDraggedBlocks,\n\t};\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -358,7 +358,7 @@ function MediaPlaceholder({
358
358
  types.push(type.slice(prefix.length));
359
359
  }
360
360
  }
361
- return types.every(
361
+ return types.length > 0 && types.every(
362
362
  (type) => allowedTypes.includes(type)
363
363
  ) && (multiple ? true : types.length === 1);
364
364
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/media-placeholder/index.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\t__experimentalInputControl as InputControl,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\twithFilters,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { keyboardReturn } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport URLPopover from '../url-popover';\nimport { store as blockEditorStore } from '../../store';\nimport { parseDropEvent } from '../use-on-block-drop';\nimport { getComputedAcceptAttribute } from './utils';\n\nconst noop = () => {};\n\nconst InsertFromURLPopover = ( {\n\tsrc,\n\tonChange,\n\tonSubmit,\n\tonClose,\n\tpopoverAnchor,\n} ) => (\n\t<URLPopover anchor={ popoverAnchor } onClose={ onClose }>\n\t\t<form\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-form\"\n\t\t\tonSubmit={ onSubmit }\n\t\t>\n\t\t\t<InputControl\n\t\t\t\tlabel={ __( 'URL' ) }\n\t\t\t\ttype=\"text\" // Use text instead of URL to allow relative paths (e.g., /image/image.jpg)\n\t\t\t\thideLabelFromVision\n\t\t\t\tplaceholder={ __( 'Paste or type URL' ) }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ src }\n\t\t\t\tsuffix={\n\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t}\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nconst URLSelectionUI = ( { src, onChangeSrc, onSelectURL } ) => {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t\tpopoverAnchor?.focus();\n\t};\n\n\tconst onSubmitSrc = ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( src && onSelectURL ) {\n\t\t\tonSelectURL( src );\n\t\t\tcloseURLInput();\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\tonClick={ openURLInput }\n\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t>\n\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t</Button>\n\t\t\t{ isURLInputVisible && (\n\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport function MediaPlaceholder( {\n\tvalue = {},\n\tallowedTypes,\n\tclassName,\n\ticon,\n\tlabels = {},\n\tmediaPreview,\n\tnotices,\n\tisAppender,\n\taccept,\n\taddToGallery,\n\tmultiple = false,\n\thandleUpload = true,\n\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonToggleFeaturedImage,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop: deprecatedOnHTMLDrop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tif ( deprecatedOnHTMLDrop ) {\n\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t} );\n\t}\n\n\tconst { mediaUpload, allowedMimeTypes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\t\treturn {\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\tallowedMimeTypes: settings.allowedMimeTypes,\n\t\t};\n\t}, [] );\n\tconst [ src, setSrc ] = useState( '' );\n\n\tuseEffect( () => {\n\t\tsetSrc( value?.src ?? '' );\n\t}, [ value?.src ] );\n\n\tconst computedAccept = useMemo(\n\t\t() =>\n\t\t\tgetComputedAcceptAttribute(\n\t\t\t\tallowedTypes,\n\t\t\t\tallowedMimeTypes,\n\t\t\t\taccept\n\t\t\t),\n\t\t[ allowedTypes, allowedMimeTypes, accept ]\n\t);\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst onFilesUpload = ( files ) => {\n\t\tif (\n\t\t\t! handleUpload ||\n\t\t\t( typeof handleUpload === 'function' && ! handleUpload( files ) )\n\t\t) {\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesPreUpload( files );\n\t\tlet setMedia;\n\t\tif ( multiple ) {\n\t\t\tif ( addToGallery ) {\n\t\t\t\t// Since the setMedia function runs multiple times per upload group\n\t\t\t\t// and is passed newMedia containing every item in its group each time, we must\n\t\t\t\t// filter out whatever this upload group had previously returned to the\n\t\t\t\t// gallery before adding and returning the image array with replacement newMedia\n\t\t\t\t// values.\n\n\t\t\t\t// Define an array to store urls from newMedia between subsequent function calls.\n\t\t\t\tlet lastMediaPassed = [];\n\t\t\t\tsetMedia = ( newMedia ) => {\n\t\t\t\t\t// Remove any images this upload group is responsible for (lastMediaPassed).\n\t\t\t\t\t// Their replacements are contained in newMedia.\n\t\t\t\t\tconst filteredMedia = ( value ?? [] ).filter( ( item ) => {\n\t\t\t\t\t\t// If Item has id, only remove it if lastMediaPassed has an item with that id.\n\t\t\t\t\t\tif ( item.id ) {\n\t\t\t\t\t\t\treturn ! lastMediaPassed.some(\n\t\t\t\t\t\t\t\t// Be sure to convert to number for comparison.\n\t\t\t\t\t\t\t\t( { id } ) => Number( id ) === Number( item.id )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Compare transient images via .includes since gallery may append extra info onto the url.\n\t\t\t\t\t\treturn ! lastMediaPassed.some( ( { urlSlug } ) =>\n\t\t\t\t\t\t\titem.url.includes( urlSlug )\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t\t// Return the filtered media array along with newMedia.\n\t\t\t\t\tonSelect( filteredMedia.concat( newMedia ) );\n\t\t\t\t\t// Reset lastMediaPassed and set it with ids and urls from newMedia.\n\t\t\t\t\tlastMediaPassed = newMedia.map( ( media ) => {\n\t\t\t\t\t\t// Add everything up to '.fileType' to compare via .includes.\n\t\t\t\t\t\tconst cutOffIndex = media.url.lastIndexOf( '.' );\n\t\t\t\t\t\tconst urlSlug = media.url.slice( 0, cutOffIndex );\n\t\t\t\t\t\treturn { id: media.id, urlSlug };\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tsetMedia = onSelect;\n\t\t\t}\n\t\t} else {\n\t\t\tsetMedia = ( [ media ] ) => onSelect( media );\n\t\t}\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t\tmultiple,\n\t\t} );\n\t};\n\n\tasync function handleBlocksDrop( event ) {\n\t\tconst { blocks } = parseDropEvent( event );\n\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tblocks.map( ( block ) => {\n\t\t\t\tconst blockType = block.name.split( '/' )[ 1 ];\n\t\t\t\tif ( block.attributes.id ) {\n\t\t\t\t\tblock.attributes.type = blockType;\n\t\t\t\t\treturn block.attributes;\n\t\t\t\t}\n\t\t\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\t\t\twindow\n\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\ttype: blockType,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\tresolve( media );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tallowedTypes,\n\t\t\t\t\t\t\t\tonError: reject,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.catch( () => resolve( block.attributes.url ) );\n\t\t\t\t} );\n\t\t\t} )\n\t\t).catch( ( err ) => onError( err ) );\n\n\t\tif ( ! uploadedMediaList?.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tonSelect( multiple ? uploadedMediaList : uploadedMediaList[ 0 ] );\n\t}\n\n\tconst onUpload = ( event ) => {\n\t\tonFilesUpload( event.target.files );\n\t};\n\n\tconst defaultRenderPlaceholder = ( content ) => {\n\t\tlet { instructions, title } = labels;\n\n\t\tif ( ! mediaUpload && ! onSelectURL ) {\n\t\t\tinstructions = __(\n\t\t\t\t'To edit this block, you need permission to upload media.'\n\t\t\t);\n\t\t}\n\n\t\tif ( instructions === undefined || title === undefined ) {\n\t\t\tconst typesAllowed = allowedTypes ?? [];\n\n\t\t\tconst [ firstAllowedType ] = typesAllowed;\n\t\t\tconst isOneType = 1 === typesAllowed.length;\n\t\t\tconst isAudio = isOneType && 'audio' === firstAllowedType;\n\t\t\tconst isImage = isOneType && 'image' === firstAllowedType;\n\t\t\tconst isVideo = isOneType && 'video' === firstAllowedType;\n\n\t\t\tif ( instructions === undefined && mediaUpload ) {\n\t\t\t\tinstructions = __(\n\t\t\t\t\t'Drag and drop an image or video, upload, or choose from your library.'\n\t\t\t\t);\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop an audio file, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop an image, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop a video, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( title === undefined ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'is-appender': isAppender,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tinstructions={ instructions }\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tnotices={ notices }\n\t\t\t\tonDoubleClick={ onDoubleClick }\n\t\t\t\tpreview={ mediaPreview }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t\t{ children }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\tconst renderPlaceholder = placeholder ?? defaultRenderPlaceholder;\n\n\tconst renderDropZone = () => {\n\t\tif ( disableDropZone ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<DropZone\n\t\t\t\tonFilesDrop={ onFilesUpload }\n\t\t\t\tonDrop={ handleBlocksDrop }\n\t\t\t\tisEligible={ ( dataTransfer ) => {\n\t\t\t\t\tconst prefix = 'wp-block:core/';\n\t\t\t\t\tconst types = [];\n\t\t\t\t\tfor ( const type of dataTransfer.types ) {\n\t\t\t\t\t\tif ( type.startsWith( prefix ) ) {\n\t\t\t\t\t\t\ttypes.push( type.slice( prefix.length ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypes.every( ( type ) =>\n\t\t\t\t\t\t\tallowedTypes.includes( type )\n\t\t\t\t\t\t) && ( multiple ? true : types.length === 1 )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderCancelLink = () => {\n\t\treturn (\n\t\t\tonCancel && (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tclassName=\"block-editor-media-placeholder__cancel-button\"\n\t\t\t\t\ttitle={ __( 'Cancel' ) }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderUrlSelectionUI = () => {\n\t\treturn (\n\t\t\tonSelectURL && (\n\t\t\t\t<URLSelectionUI\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChangeSrc={ setSrc }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderFeaturedImageToggle = () => {\n\t\treturn (\n\t\t\tonToggleFeaturedImage && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderMediaUploadChecked = () => {\n\t\tconst defaultButton = ( { open } ) => {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t</Button>\n\t\t\t);\n\t\t};\n\t\tconst libraryButton = mediaLibraryButton ?? defaultButton;\n\t\tconst uploadMediaLibraryButton = (\n\t\t\t<MediaUpload\n\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\tgallery={ multiple && onlyAllowsImages() }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tmode=\"browse\"\n\t\t\t\tvalue={\n\t\t\t\t\tArray.isArray( value )\n\t\t\t\t\t\t? value.map( ( { id } ) => id )\n\t\t\t\t\t\t: value.id\n\t\t\t\t}\n\t\t\t\trender={ libraryButton }\n\t\t\t/>\n\t\t);\n\n\t\tif ( mediaUpload && isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ computedAccept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn renderPlaceholder( content );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tif ( mediaUpload ) {\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ computedAccept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t/>\n\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t</>\n\t\t\t);\n\t\t\treturn renderPlaceholder( content );\n\t\t}\n\n\t\treturn renderPlaceholder( uploadMediaLibraryButton );\n\t};\n\n\tif ( disableMediaButtons ) {\n\t\treturn <MediaUploadCheck>{ renderDropZone() }</MediaUploadCheck>;\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck\n\t\t\tfallback={ renderPlaceholder( renderUrlSelectionUI() ) }\n\t\t>\n\t\t\t{ renderMediaUploadChecked() }\n\t\t</MediaUploadCheck>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md\n */\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n"],
5
- "mappings": "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",
6
- "names": ["URLPopover", "InputControl", "InputControlSuffixWrapper", "deprecated", "blockEditorStore", "clsx", "MediaUpload", "MediaUploadCheck"]
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\t__experimentalInputControl as WCInputControl,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\twithFilters,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { keyboardReturn } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport URLPopover from '../url-popover';\nimport { store as blockEditorStore } from '../../store';\nimport { parseDropEvent } from '../use-on-block-drop';\nimport { getComputedAcceptAttribute } from './utils';\nconst noop = () => {};\n\nconst InsertFromURLPopover = ( {\n\tsrc,\n\tonChange,\n\tonSubmit,\n\tonClose,\n\tpopoverAnchor,\n} ) => (\n\t<URLPopover anchor={ popoverAnchor } onClose={ onClose }>\n\t\t<form\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-form\"\n\t\t\tonSubmit={ onSubmit }\n\t\t>\n\t\t\t<WCInputControl\n\t\t\t\tlabel={ __( 'URL' ) }\n\t\t\t\ttype=\"text\" // Use text instead of URL to allow relative paths (e.g., /image/image.jpg)\n\t\t\t\thideLabelFromVision\n\t\t\t\tplaceholder={ __( 'Paste or type URL' ) }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ src }\n\t\t\t\tsuffix={\n\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t}\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nconst URLSelectionUI = ( { src, onChangeSrc, onSelectURL } ) => {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t\tpopoverAnchor?.focus();\n\t};\n\n\tconst onSubmitSrc = ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( src && onSelectURL ) {\n\t\t\tonSelectURL( src );\n\t\t\tcloseURLInput();\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\tonClick={ openURLInput }\n\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t>\n\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t</Button>\n\t\t\t{ isURLInputVisible && (\n\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport function MediaPlaceholder( {\n\tvalue = {},\n\tallowedTypes,\n\tclassName,\n\ticon,\n\tlabels = {},\n\tmediaPreview,\n\tnotices,\n\tisAppender,\n\taccept,\n\taddToGallery,\n\tmultiple = false,\n\thandleUpload = true,\n\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonToggleFeaturedImage,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop: deprecatedOnHTMLDrop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tif ( deprecatedOnHTMLDrop ) {\n\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t} );\n\t}\n\n\tconst { mediaUpload, allowedMimeTypes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\t\treturn {\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\tallowedMimeTypes: settings.allowedMimeTypes,\n\t\t};\n\t}, [] );\n\tconst [ src, setSrc ] = useState( '' );\n\n\tuseEffect( () => {\n\t\tsetSrc( value?.src ?? '' );\n\t}, [ value?.src ] );\n\n\tconst computedAccept = useMemo(\n\t\t() =>\n\t\t\tgetComputedAcceptAttribute(\n\t\t\t\tallowedTypes,\n\t\t\t\tallowedMimeTypes,\n\t\t\t\taccept\n\t\t\t),\n\t\t[ allowedTypes, allowedMimeTypes, accept ]\n\t);\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst onFilesUpload = ( files ) => {\n\t\tif (\n\t\t\t! handleUpload ||\n\t\t\t( typeof handleUpload === 'function' && ! handleUpload( files ) )\n\t\t) {\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesPreUpload( files );\n\t\tlet setMedia;\n\t\tif ( multiple ) {\n\t\t\tif ( addToGallery ) {\n\t\t\t\t// Since the setMedia function runs multiple times per upload group\n\t\t\t\t// and is passed newMedia containing every item in its group each time, we must\n\t\t\t\t// filter out whatever this upload group had previously returned to the\n\t\t\t\t// gallery before adding and returning the image array with replacement newMedia\n\t\t\t\t// values.\n\n\t\t\t\t// Define an array to store urls from newMedia between subsequent function calls.\n\t\t\t\tlet lastMediaPassed = [];\n\t\t\t\tsetMedia = ( newMedia ) => {\n\t\t\t\t\t// Remove any images this upload group is responsible for (lastMediaPassed).\n\t\t\t\t\t// Their replacements are contained in newMedia.\n\t\t\t\t\tconst filteredMedia = ( value ?? [] ).filter( ( item ) => {\n\t\t\t\t\t\t// If Item has id, only remove it if lastMediaPassed has an item with that id.\n\t\t\t\t\t\tif ( item.id ) {\n\t\t\t\t\t\t\treturn ! lastMediaPassed.some(\n\t\t\t\t\t\t\t\t// Be sure to convert to number for comparison.\n\t\t\t\t\t\t\t\t( { id } ) => Number( id ) === Number( item.id )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Compare transient images via .includes since gallery may append extra info onto the url.\n\t\t\t\t\t\treturn ! lastMediaPassed.some( ( { urlSlug } ) =>\n\t\t\t\t\t\t\titem.url.includes( urlSlug )\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t\t// Return the filtered media array along with newMedia.\n\t\t\t\t\tonSelect( filteredMedia.concat( newMedia ) );\n\t\t\t\t\t// Reset lastMediaPassed and set it with ids and urls from newMedia.\n\t\t\t\t\tlastMediaPassed = newMedia.map( ( media ) => {\n\t\t\t\t\t\t// Add everything up to '.fileType' to compare via .includes.\n\t\t\t\t\t\tconst cutOffIndex = media.url.lastIndexOf( '.' );\n\t\t\t\t\t\tconst urlSlug = media.url.slice( 0, cutOffIndex );\n\t\t\t\t\t\treturn { id: media.id, urlSlug };\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tsetMedia = onSelect;\n\t\t\t}\n\t\t} else {\n\t\t\tsetMedia = ( [ media ] ) => onSelect( media );\n\t\t}\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t\tmultiple,\n\t\t} );\n\t};\n\n\tasync function handleBlocksDrop( event ) {\n\t\tconst { blocks } = parseDropEvent( event );\n\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tblocks.map( ( block ) => {\n\t\t\t\tconst blockType = block.name.split( '/' )[ 1 ];\n\t\t\t\tif ( block.attributes.id ) {\n\t\t\t\t\tblock.attributes.type = blockType;\n\t\t\t\t\treturn block.attributes;\n\t\t\t\t}\n\t\t\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\t\t\twindow\n\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\ttype: blockType,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\tresolve( media );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tallowedTypes,\n\t\t\t\t\t\t\t\tonError: reject,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.catch( () => resolve( block.attributes.url ) );\n\t\t\t\t} );\n\t\t\t} )\n\t\t).catch( ( err ) => onError( err ) );\n\n\t\tif ( ! uploadedMediaList?.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tonSelect( multiple ? uploadedMediaList : uploadedMediaList[ 0 ] );\n\t}\n\n\tconst onUpload = ( event ) => {\n\t\tonFilesUpload( event.target.files );\n\t};\n\n\tconst defaultRenderPlaceholder = ( content ) => {\n\t\tlet { instructions, title } = labels;\n\n\t\tif ( ! mediaUpload && ! onSelectURL ) {\n\t\t\tinstructions = __(\n\t\t\t\t'To edit this block, you need permission to upload media.'\n\t\t\t);\n\t\t}\n\n\t\tif ( instructions === undefined || title === undefined ) {\n\t\t\tconst typesAllowed = allowedTypes ?? [];\n\n\t\t\tconst [ firstAllowedType ] = typesAllowed;\n\t\t\tconst isOneType = 1 === typesAllowed.length;\n\t\t\tconst isAudio = isOneType && 'audio' === firstAllowedType;\n\t\t\tconst isImage = isOneType && 'image' === firstAllowedType;\n\t\t\tconst isVideo = isOneType && 'video' === firstAllowedType;\n\n\t\t\tif ( instructions === undefined && mediaUpload ) {\n\t\t\t\tinstructions = __(\n\t\t\t\t\t'Drag and drop an image or video, upload, or choose from your library.'\n\t\t\t\t);\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop an audio file, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop an image, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop a video, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( title === undefined ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'is-appender': isAppender,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tinstructions={ instructions }\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tnotices={ notices }\n\t\t\t\tonDoubleClick={ onDoubleClick }\n\t\t\t\tpreview={ mediaPreview }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t\t{ children }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\tconst renderPlaceholder = placeholder ?? defaultRenderPlaceholder;\n\n\tconst renderDropZone = () => {\n\t\tif ( disableDropZone ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<DropZone\n\t\t\t\tonFilesDrop={ onFilesUpload }\n\t\t\t\tonDrop={ handleBlocksDrop }\n\t\t\t\tisEligible={ ( dataTransfer ) => {\n\t\t\t\t\t// This dropzone only accepts block drags from the inserter, not\n\t\t\t\t\t// canvas block drags. Only the inserter publishes the dragged\n\t\t\t\t\t// blocks' names, as wp-block:core/{name}, so no matches means it\n\t\t\t\t\t// isn't an inserter drag.\n\t\t\t\t\tconst prefix = 'wp-block:core/';\n\t\t\t\t\tconst types = [];\n\t\t\t\t\tfor ( const type of dataTransfer.types ) {\n\t\t\t\t\t\tif ( type.startsWith( prefix ) ) {\n\t\t\t\t\t\t\ttypes.push( type.slice( prefix.length ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypes.length > 0 &&\n\t\t\t\t\t\ttypes.every( ( type ) =>\n\t\t\t\t\t\t\tallowedTypes.includes( type )\n\t\t\t\t\t\t) &&\n\t\t\t\t\t\t( multiple ? true : types.length === 1 )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderCancelLink = () => {\n\t\treturn (\n\t\t\tonCancel && (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tclassName=\"block-editor-media-placeholder__cancel-button\"\n\t\t\t\t\ttitle={ __( 'Cancel' ) }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderUrlSelectionUI = () => {\n\t\treturn (\n\t\t\tonSelectURL && (\n\t\t\t\t<URLSelectionUI\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChangeSrc={ setSrc }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderFeaturedImageToggle = () => {\n\t\treturn (\n\t\t\tonToggleFeaturedImage && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderMediaUploadChecked = () => {\n\t\tconst defaultButton = ( { open } ) => {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t</Button>\n\t\t\t);\n\t\t};\n\t\tconst libraryButton = mediaLibraryButton ?? defaultButton;\n\t\tconst uploadMediaLibraryButton = (\n\t\t\t<MediaUpload\n\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\tgallery={ multiple && onlyAllowsImages() }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tmode=\"browse\"\n\t\t\t\tvalue={\n\t\t\t\t\tArray.isArray( value )\n\t\t\t\t\t\t? value.map( ( { id } ) => id )\n\t\t\t\t\t\t: value.id\n\t\t\t\t}\n\t\t\t\trender={ libraryButton }\n\t\t\t/>\n\t\t);\n\n\t\tif ( mediaUpload && isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ computedAccept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn renderPlaceholder( content );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tif ( mediaUpload ) {\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ computedAccept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t/>\n\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t</>\n\t\t\t);\n\t\t\treturn renderPlaceholder( content );\n\t\t}\n\n\t\treturn renderPlaceholder( uploadMediaLibraryButton );\n\t};\n\n\tif ( disableMediaButtons ) {\n\t\treturn <MediaUploadCheck>{ renderDropZone() }</MediaUploadCheck>;\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck\n\t\t\tfallback={ renderPlaceholder( renderUrlSelectionUI() ) }\n\t\t>\n\t\t\t{ renderMediaUploadChecked() }\n\t\t</MediaUploadCheck>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md\n */\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n"],
5
+ "mappings": "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",
6
+ "names": ["URLPopover", "WCInputControl", "InputControlSuffixWrapper", "deprecated", "blockEditorStore", "clsx", "MediaUpload", "MediaUploadCheck"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/media-replace-flow/index.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tFormFileUpload,\n\tNavigableMenu,\n\tMenuItem,\n\tDropdown,\n\twithFilters,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, withDispatch } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tpostFeaturedImage,\n\tupload,\n\tmedia as mediaIcon,\n} from '@wordpress/icons';\nimport { compose } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport LinkControl from '../link-control';\nimport { store as blockEditorStore } from '../../store';\nimport { getComputedAcceptAttribute } from '../media-placeholder/utils';\n\nconst noop = () => {};\nlet uniqueId = 0;\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tmediaIds,\n\tallowedTypes,\n\taccept,\n\tonError,\n\tonSelect,\n\tonSelectURL,\n\tonReset,\n\tonToggleFeaturedImage,\n\tuseFeaturedImage,\n\tonFilesUpload = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n\tmultiple = false,\n\taddToGallery,\n\thandleUpload = true,\n\tvariant,\n\tpopoverProps,\n\trenderToggle,\n\tclassName,\n} ) => {\n\tconst { mediaUpload, allowedMimeTypes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\t\treturn {\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\tallowedMimeTypes: settings.allowedMimeTypes,\n\t\t};\n\t}, [] );\n\tconst errorNoticeID = `block-editor/media-replace-flow/error-notice/${ ++uniqueId }`;\n\n\tconst computedAccept = useMemo(\n\t\t() =>\n\t\t\tgetComputedAcceptAttribute(\n\t\t\t\tallowedTypes,\n\t\t\t\tallowedMimeTypes,\n\t\t\t\taccept\n\t\t\t),\n\t\t[ allowedTypes, allowedMimeTypes, accept ]\n\t);\n\n\tconst onUploadError = ( message ) => {\n\t\tconst safeMessage = stripHTML( message );\n\t\tif ( onError ) {\n\t\t\tonError( safeMessage );\n\t\t\treturn;\n\t\t}\n\t\t// We need to set a timeout for showing the notice\n\t\t// so that VoiceOver and possibly other screen readers\n\t\t// can announce the error after the toolbar button\n\t\t// regains focus once the upload dialog closes.\n\t\t// Otherwise VO simply skips over the notice and announces\n\t\t// the focused element and the open menu.\n\t\tsetTimeout( () => {\n\t\t\tcreateNotice( 'error', safeMessage, {\n\t\t\t\tspeak: true,\n\t\t\t\tid: errorNoticeID,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}, 1000 );\n\t};\n\n\tconst selectMedia = ( media, closeMenu ) => {\n\t\tif ( useFeaturedImage && onToggleFeaturedImage ) {\n\t\t\tonToggleFeaturedImage();\n\t\t}\n\t\tcloseMenu();\n\t\t// Calling `onSelect` after the state update since it might unmount the component.\n\t\tonSelect( media );\n\t\tspeak( __( 'The media file has been replaced' ) );\n\t\tremoveNotice( errorNoticeID );\n\t};\n\n\tconst uploadFiles = ( event, closeMenu ) => {\n\t\tconst files = event.target.files;\n\t\tif ( ! handleUpload ) {\n\t\t\tcloseMenu();\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesUpload( files );\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tselectMedia( media, closeMenu );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst openOnArrowDown = ( event ) => {\n\t\tif ( event.keyCode === DOWN ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.target.click();\n\t\t}\n\t};\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst gallery = multiple && onlyAllowsImages();\n\n\tconst mergedPopoverProps = {\n\t\t...popoverProps,\n\t\tvariant,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ mergedPopoverProps }\n\t\t\tclassName={ className }\n\t\t\tcontentClassName={ clsx(\n\t\t\t\t'block-editor-media-replace-flow__options',\n\t\t\t\tvariant && `is-variant-${ variant }`\n\t\t\t) }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tif ( renderToggle ) {\n\t\t\t\t\treturn renderToggle( {\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t'aria-haspopup': 'true',\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tonKeyDown: openOnArrowDown,\n\t\t\t\t\t\tchildren: name,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ name }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<NavigableMenu className=\"block-editor-media-replace-flow__media-upload-menu\">\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tgallery={ gallery }\n\t\t\t\t\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\t\tvalue={ multiple ? mediaIds : mediaId }\n\t\t\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\t\t\tselectMedia( media, onClose )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={ mediaIcon }\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\tuploadFiles( event, onClose );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccept={ computedAccept }\n\t\t\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t{ onToggleFeaturedImage && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t: children }\n\t\t\t\t\t\t{ mediaURL && onReset && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t{ onSelectURL && (\n\t\t\t\t\t\t<form className=\"block-editor-media-flow__url-input\">\n\t\t\t\t\t\t\t<span className=\"block-editor-media-replace-flow__image-url-label\">\n\t\t\t\t\t\t\t\t{ __( 'Current media URL:' ) }\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\n\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\tonSelectURL( url );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tsearchInputPlaceholder={ __(\n\t\t\t\t\t\t\t\t\t'Paste or type URL'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md\n */\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createNotice, removeNotice } = dispatch( noticesStore );\n\t\treturn {\n\t\t\tcreateNotice,\n\t\t\tremoveNotice,\n\t\t};\n\t} ),\n\twithFilters( 'editor.MediaReplaceFlow' ),\n] )( MediaReplaceFlow );\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { __, _x } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tFormFileUpload,\n\tNavigableMenu,\n\tMenuItem,\n\tDropdown,\n\twithFilters,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, withDispatch } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tpostFeaturedImage,\n\tupload,\n\tmedia as mediaIcon,\n} from '@wordpress/icons';\nimport { compose } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo } from '@wordpress/element';\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport LinkControl from '../link-control';\nimport { store as blockEditorStore } from '../../store';\nimport { getComputedAcceptAttribute } from '../media-placeholder/utils';\n\nconst noop = () => {};\nlet uniqueId = 0;\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tmediaIds,\n\tallowedTypes,\n\taccept,\n\tonError,\n\tonSelect,\n\tonSelectURL,\n\tonReset,\n\tonToggleFeaturedImage,\n\tuseFeaturedImage,\n\tonFilesUpload = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n\tmultiple = false,\n\taddToGallery,\n\thandleUpload = true,\n\tvariant,\n\tpopoverProps,\n\trenderToggle,\n\tclassName,\n} ) => {\n\tconst { mediaUpload, allowedMimeTypes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\t\treturn {\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\tallowedMimeTypes: settings.allowedMimeTypes,\n\t\t};\n\t}, [] );\n\tconst errorNoticeID = `block-editor/media-replace-flow/error-notice/${ ++uniqueId }`;\n\n\tconst computedAccept = useMemo(\n\t\t() =>\n\t\t\tgetComputedAcceptAttribute(\n\t\t\t\tallowedTypes,\n\t\t\t\tallowedMimeTypes,\n\t\t\t\taccept\n\t\t\t),\n\t\t[ allowedTypes, allowedMimeTypes, accept ]\n\t);\n\n\tconst onUploadError = ( message ) => {\n\t\tconst safeMessage = stripHTML( message );\n\t\tif ( onError ) {\n\t\t\tonError( safeMessage );\n\t\t\treturn;\n\t\t}\n\t\t// We need to set a timeout for showing the notice\n\t\t// so that VoiceOver and possibly other screen readers\n\t\t// can announce the error after the toolbar button\n\t\t// regains focus once the upload dialog closes.\n\t\t// Otherwise VO simply skips over the notice and announces\n\t\t// the focused element and the open menu.\n\t\tsetTimeout( () => {\n\t\t\tcreateNotice( 'error', safeMessage, {\n\t\t\t\tspeak: true,\n\t\t\t\tid: errorNoticeID,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}, 1000 );\n\t};\n\n\tconst selectMedia = ( media, closeMenu ) => {\n\t\tif ( useFeaturedImage && onToggleFeaturedImage ) {\n\t\t\tonToggleFeaturedImage();\n\t\t}\n\t\tcloseMenu();\n\t\t// Calling `onSelect` after the state update since it might unmount the component.\n\t\tonSelect( media );\n\t\tspeak( __( 'The media file has been replaced' ) );\n\t\tremoveNotice( errorNoticeID );\n\t};\n\n\tconst uploadFiles = ( event, closeMenu ) => {\n\t\tconst files = event.target.files;\n\t\tif ( ! handleUpload ) {\n\t\t\tcloseMenu();\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesUpload( files );\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tselectMedia( media, closeMenu );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst openOnArrowDown = ( event ) => {\n\t\tif ( event.keyCode === DOWN ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.target.click();\n\t\t}\n\t};\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst gallery = multiple && onlyAllowsImages();\n\n\tconst mergedPopoverProps = {\n\t\t...popoverProps,\n\t\tvariant,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ mergedPopoverProps }\n\t\t\tclassName={ className }\n\t\t\tcontentClassName={ clsx(\n\t\t\t\t'block-editor-media-replace-flow__options',\n\t\t\t\tvariant && `is-variant-${ variant }`\n\t\t\t) }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tif ( renderToggle ) {\n\t\t\t\t\treturn renderToggle( {\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t'aria-haspopup': 'true',\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tonKeyDown: openOnArrowDown,\n\t\t\t\t\t\tchildren: name,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ name }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<NavigableMenu className=\"block-editor-media-replace-flow__media-upload-menu\">\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tgallery={ gallery }\n\t\t\t\t\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\t\tvalue={ multiple ? mediaIds : mediaId }\n\t\t\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\t\t\tselectMedia( media, onClose )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={ mediaIcon }\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\tuploadFiles( event, onClose );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccept={ computedAccept }\n\t\t\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t{ onToggleFeaturedImage && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t: children }\n\t\t\t\t\t\t{ mediaURL && onReset && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t{ onSelectURL && (\n\t\t\t\t\t\t<form className=\"block-editor-media-flow__url-input\">\n\t\t\t\t\t\t\t<span className=\"block-editor-media-replace-flow__image-url-label\">\n\t\t\t\t\t\t\t\t{ __( 'Current media URL:' ) }\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\n\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\tonSelectURL( url );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tsearchInputPlaceholder={ __(\n\t\t\t\t\t\t\t\t\t'Paste or type URL'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md\n */\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createNotice, removeNotice } = dispatch( noticesStore );\n\t\treturn {\n\t\t\tcreateNotice,\n\t\t\tremoveNotice,\n\t\t};\n\t} ),\n\twithFilters( 'editor.MediaReplaceFlow' ),\n] )( MediaReplaceFlow );\n"],
5
+ "mappings": "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",
6
6
  "names": ["blockEditorStore", "stripHTML", "clsx", "MediaUploadCheck", "MediaUpload", "mediaIcon", "LinkControl", "noticesStore"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/media-upload/check.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nexport function MediaUploadCheck( { fallback = null, children } ) {\n\tconst hasUploadPermissions = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn !! getSettings().mediaUpload;\n\t}, [] );\n\treturn hasUploadPermissions ? children : fallback;\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-upload/README.md\n */\nexport default MediaUploadCheck;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA0B;AAK1B,mBAA0C;AAEnC,SAAS,iBAAkB,EAAE,WAAW,MAAM,SAAS,GAAI;AACjE,QAAM,2BAAuB,uBAAW,CAAE,WAAY;AACrD,UAAM,EAAE,YAAY,IAAI,OAAQ,aAAAA,KAAiB;AACjD,WAAO,CAAC,CAAE,YAAY,EAAE;AAAA,EACzB,GAAG,CAAC,CAAE;AACN,SAAO,uBAAuB,WAAW;AAC1C;AAKA,IAAO,gBAAQ;",
4
+ "sourcesContent": ["import { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '../../store';\n\nexport function MediaUploadCheck( { fallback = null, children } ) {\n\tconst hasUploadPermissions = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn !! getSettings().mediaUpload;\n\t}, [] );\n\treturn hasUploadPermissions ? children : fallback;\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-upload/README.md\n */\nexport default MediaUploadCheck;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA0B;AAC1B,mBAA0C;AAEnC,SAAS,iBAAkB,EAAE,WAAW,MAAM,SAAS,GAAI;AACjE,QAAM,2BAAuB,uBAAW,CAAE,WAAY;AACrD,UAAM,EAAE,YAAY,IAAI,OAAQ,aAAAA,KAAiB;AACjD,WAAO,CAAC,CAAE,YAAY,EAAE;AAAA,EACzB,GAAG,CAAC,CAAE;AACN,SAAO,uBAAuB,WAAW;AAC1C;AAKA,IAAO,gBAAQ;",
6
6
  "names": ["blockEditorStore"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/media-upload/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { withFilters } from '@wordpress/components';\n\n/**\n * This is a placeholder for the media upload component necessary to make it possible to provide\n * an integration with the core blocks that handle media files. By default it renders nothing but\n * it provides a way to have it overridden with the `editor.MediaUpload` filter.\n *\n * @return {Component} The component to be rendered.\n */\nconst MediaUpload = () => null;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-upload/README.md\n */\nexport default withFilters( 'editor.MediaUpload' )( MediaUpload );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAA4B;AAS5B,IAAM,cAAc,MAAM;AAK1B,IAAO,2BAAQ,+BAAa,oBAAqB,EAAG,WAAY;",
4
+ "sourcesContent": ["import { withFilters } from '@wordpress/components';\n\n/**\n * This is a placeholder for the media upload component necessary to make it possible to provide\n * an integration with the core blocks that handle media files. By default it renders nothing but\n * it provides a way to have it overridden with the `editor.MediaUpload` filter.\n *\n * @return {Component} The component to be rendered.\n */\nconst MediaUpload = () => null;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-upload/README.md\n */\nexport default withFilters( 'editor.MediaUpload' )( MediaUpload );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA4B;AAS5B,IAAM,cAAc,MAAM;AAK1B,IAAO,2BAAQ,+BAAa,oBAAqB,EAAG,WAAY;",
6
6
  "names": []
7
7
  }
@@ -36,28 +36,49 @@ module.exports = __toCommonJS(multi_selection_inspector_exports);
36
36
  var import_i18n = require("@wordpress/i18n");
37
37
  var import_data = require("@wordpress/data");
38
38
  var import_icons = require("@wordpress/icons");
39
- var import_components = require("@wordpress/components");
39
+ var import_ui = require("@wordpress/ui");
40
40
  var import_block_icon = __toESM(require("../block-icon/index.cjs"));
41
41
  var import_store = require("../../store/index.cjs");
42
42
  var import_jsx_runtime = require("react/jsx-runtime");
43
43
  function MultiSelectionInspector() {
44
- const selectedBlockCount = (0, import_data.useSelect)(
45
- (select) => select(import_store.store).getSelectedBlockCount(),
46
- []
47
- );
44
+ const { selectedBlockCount, totalBlockCount } = (0, import_data.useSelect)((select) => {
45
+ const {
46
+ getSelectedBlockCount,
47
+ getMultiSelectedBlockClientIds,
48
+ getClientIdsOfDescendants
49
+ } = select(import_store.store);
50
+ const count = getSelectedBlockCount();
51
+ return {
52
+ selectedBlockCount: count,
53
+ totalBlockCount: count + getClientIdsOfDescendants(getMultiSelectedBlockClientIds()).length
54
+ };
55
+ }, []);
48
56
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
49
- import_components.__experimentalHStack,
57
+ import_ui.Stack,
50
58
  {
59
+ direction: "row",
60
+ align: "center",
51
61
  justify: "flex-start",
52
- spacing: 2,
62
+ gap: "sm",
53
63
  className: "block-editor-multi-selection-inspector__card",
54
64
  children: [
55
65
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_icon.default, { icon: import_icons.copy, showColors: true }),
56
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "block-editor-multi-selection-inspector__card-title", children: (0, import_i18n.sprintf)(
57
- /* translators: %d: number of blocks */
58
- (0, import_i18n._n)("%d Block", "%d Blocks", selectedBlockCount),
59
- selectedBlockCount
60
- ) })
66
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ui.Stack, { direction: "column", children: [
67
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "block-editor-multi-selection-inspector__card-title", children: (0, import_i18n.sprintf)(
68
+ /* translators: %d: number of blocks */
69
+ (0, import_i18n._n)("%d Block", "%d Blocks", selectedBlockCount),
70
+ selectedBlockCount
71
+ ) }),
72
+ totalBlockCount > selectedBlockCount && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "block-editor-multi-selection-inspector__card-description", children: (0, import_i18n.sprintf)(
73
+ /* translators: %d: number of blocks including nested blocks */
74
+ (0, import_i18n._n)(
75
+ "%d including nested block",
76
+ "%d including nested blocks",
77
+ totalBlockCount
78
+ ),
79
+ totalBlockCount
80
+ ) })
81
+ ] })
61
82
  ]
62
83
  }
63
84
  );
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/multi-selection-inspector/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { sprintf, _n } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\nimport { __experimentalHStack as HStack } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function MultiSelectionInspector() {\n\tconst selectedBlockCount = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSelectedBlockCount(),\n\t\t[]\n\t);\n\treturn (\n\t\t<HStack\n\t\t\tjustify=\"flex-start\"\n\t\t\tspacing={ 2 }\n\t\t\tclassName=\"block-editor-multi-selection-inspector__card\"\n\t\t>\n\t\t\t<BlockIcon icon={ copy } showColors />\n\t\t\t<div className=\"block-editor-multi-selection-inspector__card-title\">\n\t\t\t\t{ sprintf(\n\t\t\t\t\t/* translators: %d: number of blocks */\n\t\t\t\t\t_n( '%d Block', '%d Blocks', selectedBlockCount ),\n\t\t\t\t\tselectedBlockCount\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</HStack>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA4B;AAC5B,kBAA0B;AAC1B,mBAAqB;AACrB,wBAA+C;AAK/C,wBAAsB;AACtB,mBAA0C;AAQxC;AANa,SAAR,0BAA2C;AACjD,QAAM,yBAAqB;AAAA,IAC1B,CAAE,WAAY,OAAQ,aAAAA,KAAiB,EAAE,sBAAsB;AAAA,IAC/D,CAAC;AAAA,EACF;AACA,SACC;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACA,SAAQ;AAAA,MACR,SAAU;AAAA,MACV,WAAU;AAAA,MAEV;AAAA,oDAAC,kBAAAC,SAAA,EAAU,MAAO,mBAAO,YAAU,MAAC;AAAA,QACpC,4CAAC,SAAI,WAAU,sDACZ;AAAA;AAAA,cAED,gBAAI,YAAY,aAAa,kBAAmB;AAAA,UAChD;AAAA,QACD,GACD;AAAA;AAAA;AAAA,EACD;AAEF;",
6
- "names": ["blockEditorStore", "HStack", "BlockIcon"]
4
+ "sourcesContent": ["import { sprintf, _n } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\nimport { Stack } from '@wordpress/ui';\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function MultiSelectionInspector() {\n\tconst { selectedBlockCount, totalBlockCount } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\tgetClientIdsOfDescendants,\n\t\t} = select( blockEditorStore );\n\t\tconst count = getSelectedBlockCount();\n\t\treturn {\n\t\t\tselectedBlockCount: count,\n\t\t\ttotalBlockCount:\n\t\t\t\tcount +\n\t\t\t\tgetClientIdsOfDescendants( getMultiSelectedBlockClientIds() )\n\t\t\t\t\t.length,\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<Stack\n\t\t\tdirection=\"row\"\n\t\t\talign=\"center\"\n\t\t\tjustify=\"flex-start\"\n\t\t\tgap=\"sm\"\n\t\t\tclassName=\"block-editor-multi-selection-inspector__card\"\n\t\t>\n\t\t\t<BlockIcon icon={ copy } showColors />\n\t\t\t<Stack direction=\"column\">\n\t\t\t\t<div className=\"block-editor-multi-selection-inspector__card-title\">\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %d: number of blocks */\n\t\t\t\t\t\t_n( '%d Block', '%d Blocks', selectedBlockCount ),\n\t\t\t\t\t\tselectedBlockCount\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t{ totalBlockCount > selectedBlockCount && (\n\t\t\t\t\t<div className=\"block-editor-multi-selection-inspector__card-description\">\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %d: number of blocks including nested blocks */\n\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t'%d including nested block',\n\t\t\t\t\t\t\t\t'%d including nested blocks',\n\t\t\t\t\t\t\t\ttotalBlockCount\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttotalBlockCount\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</Stack>\n\t\t</Stack>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA4B;AAC5B,kBAA0B;AAC1B,mBAAqB;AACrB,gBAAsB;AACtB,wBAAsB;AACtB,mBAA0C;AA0BvC;AAxBY,SAAR,0BAA2C;AACjD,QAAM,EAAE,oBAAoB,gBAAgB,QAAI,uBAAW,CAAE,WAAY;AACxE,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI,OAAQ,aAAAA,KAAiB;AAC7B,UAAM,QAAQ,sBAAsB;AACpC,WAAO;AAAA,MACN,oBAAoB;AAAA,MACpB,iBACC,QACA,0BAA2B,+BAA+B,CAAE,EAC1D;AAAA,IACJ;AAAA,EACD,GAAG,CAAC,CAAE;AACN,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,KAAI;AAAA,MACJ,WAAU;AAAA,MAEV;AAAA,oDAAC,kBAAAC,SAAA,EAAU,MAAO,mBAAO,YAAU,MAAC;AAAA,QACpC,6CAAC,mBAAM,WAAU,UAChB;AAAA,sDAAC,SAAI,WAAU,sDACZ;AAAA;AAAA,gBAED,gBAAI,YAAY,aAAa,kBAAmB;AAAA,YAChD;AAAA,UACD,GACD;AAAA,UACE,kBAAkB,sBACnB,4CAAC,SAAI,WAAU,4DACZ;AAAA;AAAA,gBAED;AAAA,cACC;AAAA,cACA;AAAA,cACA;AAAA,YACD;AAAA,YACA;AAAA,UACD,GACD;AAAA,WAEF;AAAA;AAAA;AAAA,EACD;AAEF;",
6
+ "names": ["blockEditorStore", "BlockIcon"]
7
7
  }
@@ -41,6 +41,7 @@ var import_dom = require("@wordpress/dom");
41
41
  var import_keyboard_shortcuts = require("@wordpress/keyboard-shortcuts");
42
42
  var import_keycodes = require("@wordpress/keycodes");
43
43
  var import_store = require("../../store/index.cjs");
44
+ var import_block_refs_provider = require("../provider/block-refs-provider.cjs");
44
45
  var import_lock_unlock = require("../../lock-unlock.cjs");
45
46
  var import_jsx_runtime = require("react/jsx-runtime");
46
47
  function hasOnlyToolbarItem(elements) {
@@ -106,6 +107,10 @@ function useToolbarFocus({
106
107
  }) {
107
108
  const [initialFocusOnMount] = (0, import_element.useState)(focusOnMount);
108
109
  const [initialIndex] = (0, import_element.useState)(defaultIndex);
110
+ const { getLastFocus, getSelectedBlockClientId } = (0, import_lock_unlock.unlock)(
111
+ (0, import_data.useSelect)(import_store.store)
112
+ );
113
+ const { refsMap } = (0, import_element.useContext)(import_block_refs_provider.BlockRefs);
109
114
  const focusToolbar = (0, import_element.useCallback)(() => {
110
115
  focusFirstTabbableIn(toolbarRef.current);
111
116
  }, [toolbarRef]);
@@ -147,26 +152,32 @@ function useToolbarFocus({
147
152
  onIndexChange(index);
148
153
  };
149
154
  }, [initialIndex, initialFocusOnMount, onIndexChange, toolbarRef]);
150
- const { getLastFocus } = (0, import_lock_unlock.unlock)((0, import_data.useSelect)(import_store.store));
151
155
  (0, import_element.useEffect)(() => {
152
- const navigableToolbarRef = toolbarRef.current;
153
- if (focusEditorOnEscape) {
154
- const handleKeyDown = (event) => {
155
- const lastFocus = getLastFocus();
156
- if (event.keyCode === import_keycodes.ESCAPE && lastFocus?.current) {
157
- event.preventDefault();
158
- lastFocus.current.focus();
159
- }
160
- };
161
- navigableToolbarRef.addEventListener("keydown", handleKeyDown);
162
- return () => {
163
- navigableToolbarRef.removeEventListener(
164
- "keydown",
165
- handleKeyDown
166
- );
167
- };
156
+ if (!focusEditorOnEscape) {
157
+ return;
168
158
  }
169
- }, [focusEditorOnEscape, getLastFocus, toolbarRef]);
159
+ const navigableToolbar = toolbarRef.current;
160
+ const handleKeyDown = (event) => {
161
+ if (event.keyCode !== import_keycodes.ESCAPE) {
162
+ return;
163
+ }
164
+ const target = getLastFocus()?.current ?? refsMap.get(getSelectedBlockClientId());
165
+ if (target) {
166
+ event.preventDefault();
167
+ target.focus();
168
+ }
169
+ };
170
+ navigableToolbar.addEventListener("keydown", handleKeyDown);
171
+ return () => {
172
+ navigableToolbar.removeEventListener("keydown", handleKeyDown);
173
+ };
174
+ }, [
175
+ focusEditorOnEscape,
176
+ getLastFocus,
177
+ getSelectedBlockClientId,
178
+ refsMap,
179
+ toolbarRef
180
+ ]);
170
181
  }
171
182
  function NavigableToolbar({
172
183
  children,