@wordpress/block-editor 12.24.0 → 12.26.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.
- package/CHANGELOG.md +11 -3
- package/README.md +7 -1
- package/build/components/alignment-control/ui.js +3 -1
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/block-actions/index.js +4 -2
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +2 -2
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-card/index.js +2 -2
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-compare/index.js +2 -2
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-edit/edit.js +2 -2
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-icon/index.js +2 -2
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-list/block.js +4 -13
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +2 -2
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +6 -5
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +1 -9
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +11 -8
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-refs.js +17 -46
- package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build/components/block-list/use-block-props/use-is-hovered.js +10 -14
- package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build/components/block-list/use-block-props/use-scroll-into-view.js +44 -0
- package/build/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
- package/build/components/block-list-appender/index.js +2 -2
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-mover/button.js +2 -2
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +2 -2
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-mover/index.native.js +3 -1
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-patterns-list/index.js +26 -5
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-popover/cover.js +9 -6
- package/build/components/block-popover/cover.js.map +1 -1
- package/build/components/block-popover/inbetween.js +2 -2
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +22 -4
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/index.js +2 -2
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +8 -30
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +10 -7
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +2 -2
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +3 -1
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/use-transformed-patterns.js +6 -2
- package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build/components/block-switcher/utils.js +15 -5
- package/build/components/block-switcher/utils.js.map +1 -1
- package/build/components/block-toolbar/index.js +3 -3
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/use-has-block-toolbar.js +14 -9
- package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +2 -2
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/block-toolbar-breadcrumb.js +4 -4
- package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
- package/build/components/block-tools/block-toolbar-popover.js +2 -2
- package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build/components/block-tools/empty-block-inserter.js +2 -2
- package/build/components/block-tools/empty-block-inserter.js.map +1 -1
- package/build/components/block-tools/index.js +23 -2
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +4 -4
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +2 -5
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +68 -20
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-variation-picker/index.js +5 -4
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +3 -1
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/button-block-appender/index.js +2 -2
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/child-layout-control/index.js +2 -2
- package/build/components/child-layout-control/index.js.map +1 -1
- package/build/components/colors-gradients/control.js +3 -3
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +2 -2
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +2 -2
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.js +6 -0
- package/build/components/convert-to-group-buttons/index.js.map +1 -1
- package/build/components/default-block-appender/index.js +2 -2
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/dimensions-tool/aspect-ratio-tool.js +30 -36
- package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
- package/build/components/floating-toolbar/index.native.js +9 -5
- package/build/components/floating-toolbar/index.native.js.map +1 -1
- package/build/components/global-styles/background-panel.js +4 -4
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +6 -4
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +20 -4
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +2 -2
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/hooks.js +3 -2
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js +4 -4
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +23 -23
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +149 -132
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +45 -0
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/grid-visualizer/grid-item-resizer.js +141 -24
- package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -1
- package/build/components/grid-visualizer/grid-visualizer.js +11 -5
- package/build/components/grid-visualizer/grid-visualizer.js.map +1 -1
- package/build/components/iframe/index.js +69 -30
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +53 -36
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/image-editor/cropper.js +2 -2
- package/build/components/image-editor/cropper.js.map +1 -1
- package/build/components/image-editor/index.js +1 -1
- package/build/components/image-editor/index.js.map +1 -1
- package/build/components/index.js +8 -0
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/button-block-appender.js +2 -2
- package/build/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +25 -10
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/index.js +20 -30
- package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +9 -3
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/category-tabs/index.js +56 -0
- package/build/components/inserter/category-tabs/index.js.map +1 -0
- package/build/components/inserter/hooks/use-insertion-point.js +11 -2
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +12 -5
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/index.js +2 -2
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/library.js +8 -2
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/media-tab/index.js +2 -2
- package/build/components/inserter/media-tab/index.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +0 -25
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +15 -5
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js +15 -29
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/menu.js +115 -109
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +2 -2
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/tabs.js +23 -11
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter-list-item/index.js +3 -3
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +9 -0
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/line-height-control/index.js +6 -2
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/link-control/index.js +2 -2
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/link-preview.js +3 -3
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-item.js +9 -3
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +2 -2
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/list-view/block-contents.js +2 -2
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +15 -172
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +196 -21
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +3 -3
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/index.js +3 -3
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +2 -2
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/list-view/utils.js +3 -1
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/media-placeholder/index.js +7 -7
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-replace-flow/index.js +2 -2
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +3 -1
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/plain-text/index.js +2 -2
- package/build/components/plain-text/index.js.map +1 -1
- package/build/components/provider/block-refs-provider.js +3 -4
- package/build/components/provider/block-refs-provider.js.map +1 -1
- package/build/components/provider/use-block-sync.js +10 -1
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/responsive-block-control/index.js +2 -2
- package/build/components/responsive-block-control/index.js.map +1 -1
- package/build/components/rich-text/event-listeners/before-input-rules.js +93 -0
- package/build/components/rich-text/event-listeners/before-input-rules.js.map +1 -0
- package/build/components/rich-text/event-listeners/delete.js +58 -0
- package/build/components/rich-text/event-listeners/delete.js.map +1 -0
- package/build/components/rich-text/event-listeners/enter.js +89 -0
- package/build/components/rich-text/event-listeners/enter.js.map +1 -0
- package/build/components/rich-text/event-listeners/firefox-compat.js +36 -0
- package/build/components/rich-text/event-listeners/firefox-compat.js.map +1 -0
- package/build/components/rich-text/event-listeners/index.js +44 -0
- package/build/components/rich-text/event-listeners/index.js.map +1 -0
- package/build/components/rich-text/event-listeners/input-events.js +22 -0
- package/build/components/rich-text/event-listeners/input-events.js.map +1 -0
- package/build/components/rich-text/event-listeners/input-rules.js +135 -0
- package/build/components/rich-text/event-listeners/input-rules.js.map +1 -0
- package/build/components/rich-text/event-listeners/insert-replacement-text.js +33 -0
- package/build/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -0
- package/build/components/rich-text/event-listeners/paste-handler.js +126 -0
- package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -0
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js +27 -0
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -0
- package/build/components/rich-text/event-listeners/shortcuts.js +22 -0
- package/build/components/rich-text/event-listeners/shortcuts.js.map +1 -0
- package/build/components/rich-text/event-listeners/undo-automatic-change.js +51 -0
- package/build/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -0
- package/build/components/rich-text/format-toolbar/index.js +2 -2
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/index.js +20 -33
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +15 -5
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/multiline.js +36 -4
- package/build/components/rich-text/multiline.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +12 -0
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/use-format-types.js +8 -4
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/segmented-text-control/index.js +62 -0
- package/build/components/segmented-text-control/index.js.map +1 -0
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -2
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/text-alignment-control/index.js +76 -0
- package/build/components/text-alignment-control/index.js.map +1 -0
- package/build/components/text-decoration-control/index.js +22 -26
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +19 -23
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/url-input/index.js +4 -4
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-popover/link-editor.js +2 -2
- package/build/components/url-popover/link-editor.js.map +1 -1
- package/build/components/url-popover/link-viewer-url.js +2 -2
- package/build/components/url-popover/link-viewer-url.js.map +1 -1
- package/build/components/url-popover/link-viewer.js +2 -2
- package/build/components/url-popover/link-viewer.js.map +1 -1
- package/build/components/use-block-display-information/index.js +9 -3
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +3 -1
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/warning/index.js +2 -2
- package/build/components/warning/index.js.map +1 -1
- package/build/components/writing-flow/index.js +2 -2
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-clipboard-handler.js +77 -30
- package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build/components/writing-flow/use-drag-selection.js +3 -1
- package/build/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build/components/writing-flow/use-input.js +44 -2
- package/build/components/writing-flow/use-input.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +9 -2
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/components/writing-mode-control/index.js +17 -21
- package/build/components/writing-mode-control/index.js.map +1 -1
- package/build/hooks/align.js +2 -2
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/background.js +1 -1
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/border.js +3 -3
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +3 -3
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +5 -28
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/custom-class-name.js +2 -2
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-class-name.native.js +2 -2
- package/build/hooks/custom-class-name.native.js.map +1 -1
- package/build/hooks/dimensions.js +2 -2
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +3 -1
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/layout-child.js +16 -8
- package/build/hooks/layout-child.js.map +1 -1
- package/build/hooks/layout.js +2 -2
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/position.js +2 -2
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/text-align.js +3 -3
- package/build/hooks/text-align.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +39 -13
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/hooks/use-color-props.js +2 -2
- package/build/hooks/use-color-props.js.map +1 -1
- package/build/hooks/use-typography-props.js +2 -2
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/hooks/utils.js +13 -8
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/grid.js +7 -6
- package/build/layouts/grid.js.map +1 -1
- package/build/private-apis.js +8 -3
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +143 -25
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +26 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-keys.js +2 -1
- package/build/store/private-keys.js.map +1 -1
- package/build/store/private-selectors.js +33 -6
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +11 -8
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +25 -8
- package/build/store/selectors.js.map +1 -1
- package/build/utils/object.js +17 -0
- package/build/utils/object.js.map +1 -1
- package/build/utils/order-inserter-block-items.js +6 -2
- package/build/utils/order-inserter-block-items.js.map +1 -1
- package/build/utils/pasting.js +6 -2
- package/build/utils/pasting.js.map +1 -1
- package/build/utils/selection.js +8 -0
- package/build/utils/selection.js.map +1 -1
- package/build/utils/transform-styles/index.js +12 -7
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +3 -1
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/block-actions/index.js +4 -2
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +2 -2
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-card/index.js +2 -2
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-compare/index.js +2 -2
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-edit/edit.js +2 -2
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-icon/index.js +2 -2
- package/build-module/components/block-icon/index.js.map +1 -1
- package/build-module/components/block-list/block.js +4 -13
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +2 -2
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +6 -5
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +1 -9
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +11 -8
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-refs.js +19 -48
- package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-is-hovered.js +10 -14
- package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-scroll-into-view.js +37 -0
- package/build-module/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
- package/build-module/components/block-list-appender/index.js +2 -2
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-mover/button.js +2 -2
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +2 -2
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +3 -1
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +27 -6
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-popover/cover.js +9 -5
- package/build-module/components/block-popover/cover.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +2 -2
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +21 -3
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/index.js +2 -2
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +9 -31
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +10 -7
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +2 -2
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +3 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/use-transformed-patterns.js +6 -2
- package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build-module/components/block-switcher/utils.js +15 -5
- package/build-module/components/block-switcher/utils.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +3 -3
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/use-has-block-toolbar.js +14 -9
- package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +2 -2
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js +4 -4
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-popover.js +2 -2
- package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build-module/components/block-tools/empty-block-inserter.js +2 -2
- package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
- package/build-module/components/block-tools/index.js +23 -2
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +4 -4
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +2 -5
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +69 -21
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +5 -4
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +3 -1
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +2 -2
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/child-layout-control/index.js +2 -2
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +3 -3
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +2 -2
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +2 -2
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.js +7 -1
- package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js +2 -2
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js +30 -36
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
- package/build-module/components/floating-toolbar/index.native.js +9 -5
- package/build-module/components/floating-toolbar/index.native.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +4 -4
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +6 -4
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +21 -5
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +2 -2
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +3 -2
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +4 -4
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +24 -24
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +149 -132
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +44 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/grid-visualizer/grid-item-resizer.js +141 -24
- package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -1
- package/build-module/components/grid-visualizer/grid-visualizer.js +12 -6
- package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -1
- package/build-module/components/iframe/index.js +70 -31
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +52 -36
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/image-editor/cropper.js +2 -2
- package/build-module/components/image-editor/cropper.js.map +1 -1
- package/build-module/components/image-editor/index.js +1 -1
- package/build-module/components/image-editor/index.js.map +1 -1
- package/build-module/components/index.js +1 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.js +2 -2
- package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +25 -10
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.js +21 -31
- package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +10 -4
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/category-tabs/index.js +49 -0
- package/build-module/components/inserter/category-tabs/index.js.map +1 -0
- package/build-module/components/inserter/hooks/use-insertion-point.js +11 -2
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +12 -5
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.js +2 -2
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/library.js +8 -2
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/media-tab/index.js +1 -1
- package/build-module/components/inserter/media-tab/index.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +0 -24
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +15 -5
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +17 -31
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build-module/components/inserter/menu.js +117 -111
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +2 -2
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/tabs.js +24 -12
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +3 -3
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +9 -0
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +6 -2
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/link-control/index.js +2 -2
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +3 -3
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-item.js +9 -3
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js +2 -2
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +2 -2
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +17 -174
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +198 -23
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +3 -3
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/index.js +3 -3
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +2 -2
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/list-view/utils.js +3 -1
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +7 -7
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +2 -2
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +3 -1
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/plain-text/index.js +2 -2
- package/build-module/components/plain-text/index.js.map +1 -1
- package/build-module/components/provider/block-refs-provider.js +3 -4
- package/build-module/components/provider/block-refs-provider.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +10 -1
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/responsive-block-control/index.js +2 -2
- package/build-module/components/responsive-block-control/index.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/before-input-rules.js +86 -0
- package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/delete.js +51 -0
- package/build-module/components/rich-text/event-listeners/delete.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/enter.js +82 -0
- package/build-module/components/rich-text/event-listeners/enter.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/firefox-compat.js +29 -0
- package/build-module/components/rich-text/event-listeners/firefox-compat.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/index.js +36 -0
- package/build-module/components/rich-text/event-listeners/index.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/input-events.js +15 -0
- package/build-module/components/rich-text/event-listeners/input-events.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/input-rules.js +127 -0
- package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.js +27 -0
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/paste-handler.js +122 -0
- package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js +21 -0
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/shortcuts.js +15 -0
- package/build-module/components/rich-text/event-listeners/shortcuts.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.js +45 -0
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -0
- package/build-module/components/rich-text/format-toolbar/index.js +2 -2
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +21 -34
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +15 -5
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/multiline.js +37 -5
- package/build-module/components/rich-text/multiline.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +12 -0
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js +8 -4
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/segmented-text-control/index.js +55 -0
- package/build-module/components/segmented-text-control/index.js.map +1 -0
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -2
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/text-alignment-control/index.js +68 -0
- package/build-module/components/text-alignment-control/index.js.map +1 -0
- package/build-module/components/text-decoration-control/index.js +22 -26
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +19 -23
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/url-input/index.js +4 -4
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-popover/link-editor.js +2 -2
- package/build-module/components/url-popover/link-editor.js.map +1 -1
- package/build-module/components/url-popover/link-viewer-url.js +2 -2
- package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
- package/build-module/components/url-popover/link-viewer.js +2 -2
- package/build-module/components/url-popover/link-viewer.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +9 -3
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +3 -1
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/warning/index.js +2 -2
- package/build-module/components/warning/index.js.map +1 -1
- package/build-module/components/writing-flow/index.js +2 -2
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-clipboard-handler.js +78 -31
- package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build-module/components/writing-flow/use-drag-selection.js +3 -1
- package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-input.js +45 -3
- package/build-module/components/writing-flow/use-input.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +9 -2
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/components/writing-mode-control/index.js +17 -21
- package/build-module/components/writing-mode-control/index.js.map +1 -1
- package/build-module/hooks/align.js +2 -2
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/background.js +1 -1
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/border.js +3 -3
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +3 -3
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +5 -28
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +2 -2
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-class-name.native.js +2 -2
- package/build-module/hooks/custom-class-name.native.js.map +1 -1
- package/build-module/hooks/dimensions.js +2 -2
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +3 -1
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/layout-child.js +16 -8
- package/build-module/hooks/layout-child.js.map +1 -1
- package/build-module/hooks/layout.js +2 -2
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/position.js +2 -2
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/text-align.js +3 -3
- package/build-module/hooks/text-align.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +39 -13
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/hooks/use-color-props.js +2 -2
- package/build-module/hooks/use-color-props.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +2 -2
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/hooks/utils.js +13 -8
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/grid.js +7 -6
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/private-apis.js +9 -4
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +145 -27
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +24 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-keys.js +1 -0
- package/build-module/store/private-keys.js.map +1 -1
- package/build-module/store/private-selectors.js +32 -5
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +11 -8
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +25 -8
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/object.js +16 -0
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/order-inserter-block-items.js +6 -2
- package/build-module/utils/order-inserter-block-items.js.map +1 -1
- package/build-module/utils/pasting.js +6 -2
- package/build-module/utils/pasting.js.map +1 -1
- package/build-module/utils/selection.js +7 -0
- package/build-module/utils/selection.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +12 -7
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +124 -158
- package/build-style/content.css +124 -158
- package/build-style/style-rtl.css +114 -203
- package/build-style/style.css +114 -203
- package/build-types/components/block-context/index.d.ts +1 -1
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/package.json +32 -32
- package/src/components/alignment-control/ui.js +3 -1
- package/src/components/block-actions/index.js +5 -1
- package/src/components/block-alignment-control/ui.js +2 -2
- package/src/components/block-bindings-toolbar-indicator/style.scss +1 -4
- package/src/components/block-canvas/style.scss +1 -3
- package/src/components/block-card/index.js +2 -2
- package/src/components/block-compare/index.js +2 -2
- package/src/components/block-content-overlay/content.scss +4 -37
- package/src/components/block-edit/edit.js +2 -2
- package/src/components/block-icon/index.js +2 -2
- package/src/components/block-list/block.js +6 -17
- package/src/components/block-list/block.native.js +2 -2
- package/src/components/block-list/content.scss +53 -72
- package/src/components/block-list/index.js +6 -6
- package/src/components/block-list/index.native.js +1 -6
- package/src/components/block-list/use-block-props/index.js +16 -6
- package/src/components/block-list/use-block-props/use-block-refs.js +17 -57
- package/src/components/block-list/use-block-props/use-is-hovered.js +11 -16
- package/src/components/block-list/use-block-props/use-scroll-into-view.js +38 -0
- package/src/components/block-list-appender/index.js +2 -2
- package/src/components/block-mover/button.js +2 -2
- package/src/components/block-mover/index.js +2 -2
- package/src/components/block-mover/index.native.js +3 -1
- package/src/components/block-patterns-list/index.js +29 -4
- package/src/components/block-patterns-list/style.scss +1 -3
- package/src/components/block-popover/README.md +1 -1
- package/src/components/block-popover/cover.js +22 -7
- package/src/components/block-popover/inbetween.js +2 -2
- package/src/components/block-popover/index.js +24 -6
- package/src/components/block-preview/index.js +2 -2
- package/src/components/block-preview/style.scss +13 -15
- package/src/components/block-settings-menu/block-settings-dropdown.js +15 -57
- package/src/components/block-settings-menu-controls/index.js +25 -16
- package/src/components/block-styles/index.js +2 -2
- package/src/components/block-switcher/pattern-transformations-menu.js +3 -1
- package/src/components/block-switcher/use-transformed-patterns.js +6 -2
- package/src/components/block-switcher/utils.js +14 -5
- package/src/components/block-toolbar/index.js +3 -3
- package/src/components/block-toolbar/style.scss +8 -11
- package/src/components/block-toolbar/use-has-block-toolbar.js +21 -16
- package/src/components/block-tools/block-selection-button.js +2 -2
- package/src/components/block-tools/block-toolbar-breadcrumb.js +5 -5
- package/src/components/block-tools/block-toolbar-popover.js +4 -7
- package/src/components/block-tools/empty-block-inserter.js +2 -2
- package/src/components/block-tools/index.js +27 -4
- package/src/components/block-tools/insertion-point.js +4 -4
- package/src/components/block-tools/style.scss +8 -0
- package/src/components/block-tools/use-show-block-tools.js +36 -48
- package/src/components/block-tools/zoom-out-mode-inserters.js +74 -18
- package/src/components/block-variation-picker/content.scss +22 -72
- package/src/components/block-variation-picker/index.js +5 -4
- package/src/components/block-variation-transforms/index.js +3 -1
- package/src/components/button-block-appender/index.js +2 -2
- package/src/components/child-layout-control/index.js +14 -2
- package/src/components/colors-gradients/control.js +3 -3
- package/src/components/colors-gradients/dropdown.js +2 -2
- package/src/components/colors-gradients/panel-color-gradient-settings.js +2 -2
- package/src/components/colors-gradients/test/control.js +3 -3
- package/src/components/convert-to-group-buttons/index.js +10 -1
- package/src/components/default-block-appender/index.js +2 -2
- package/src/components/dimensions-tool/aspect-ratio-tool.js +40 -67
- package/src/components/dimensions-tool/test/index.js +10 -0
- package/src/components/editable-text/README.md +0 -4
- package/src/components/floating-toolbar/index.native.js +5 -2
- package/src/components/global-styles/background-panel.js +4 -6
- package/src/components/global-styles/color-panel.js +6 -4
- package/src/components/global-styles/dimensions-panel.js +22 -5
- package/src/components/global-styles/filters-panel.js +2 -2
- package/src/components/global-styles/hooks.js +2 -0
- package/src/components/global-styles/shadow-panel-components.js +6 -9
- package/src/components/global-styles/test/get-global-styles-changes.js +0 -2
- package/src/components/global-styles/test/use-global-styles-output.js +5 -5
- package/src/components/global-styles/test/utils.js +21 -0
- package/src/components/global-styles/typography-panel.js +27 -23
- package/src/components/global-styles/use-global-styles-output.js +211 -187
- package/src/components/global-styles/utils.js +55 -0
- package/src/components/grid-visualizer/grid-item-resizer.js +169 -40
- package/src/components/grid-visualizer/grid-visualizer.js +19 -6
- package/src/components/iframe/content.scss +63 -0
- package/src/components/iframe/index.js +119 -39
- package/src/components/image-editor/aspect-ratio-dropdown.js +91 -59
- package/src/components/image-editor/cropper.js +2 -2
- package/src/components/image-editor/index.js +1 -1
- package/src/components/image-editor/test/index.js +22 -0
- package/src/components/index.js +1 -0
- package/src/components/inner-blocks/button-block-appender.js +2 -2
- package/src/components/inner-blocks/index.js +24 -9
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -1
- package/src/components/inserter/block-patterns-tab/index.js +30 -64
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -1
- package/src/components/inserter/block-types-tab.js +12 -9
- package/src/components/inserter/category-tabs/index.js +74 -0
- package/src/components/inserter/hooks/use-insertion-point.js +15 -1
- package/src/components/inserter/hooks/use-patterns-state.js +18 -5
- package/src/components/inserter/index.js +4 -5
- package/src/components/inserter/library.js +6 -0
- package/src/components/inserter/media-tab/index.js +1 -1
- package/src/components/inserter/media-tab/media-panel.js +0 -22
- package/src/components/inserter/media-tab/media-preview.js +17 -9
- package/src/components/inserter/media-tab/media-tab.js +44 -83
- package/src/components/inserter/menu.js +168 -140
- package/src/components/inserter/quick-inserter.js +2 -2
- package/src/components/inserter/style.scss +96 -178
- package/src/components/inserter/tabs.js +33 -27
- package/src/components/inserter-list-item/index.js +3 -3
- package/src/components/keyboard-shortcuts/index.js +12 -0
- package/src/components/line-height-control/index.js +6 -2
- package/src/components/line-height-control/test/index.js +16 -14
- package/src/components/link-control/index.js +2 -2
- package/src/components/link-control/link-preview.js +3 -3
- package/src/components/link-control/search-item.js +9 -3
- package/src/components/link-control/search-results.js +2 -2
- package/src/components/list-view/block-contents.js +2 -2
- package/src/components/list-view/block-select-button.js +85 -267
- package/src/components/list-view/block.js +240 -26
- package/src/components/list-view/drop-indicator.js +3 -3
- package/src/components/list-view/index.js +3 -3
- package/src/components/list-view/leaf.js +2 -5
- package/src/components/list-view/style.scss +20 -28
- package/src/components/list-view/use-list-view-drop-zone.js +1 -1
- package/src/components/list-view/utils.js +3 -1
- package/src/components/media-placeholder/content.scss +0 -11
- package/src/components/media-placeholder/index.js +7 -7
- package/src/components/media-replace-flow/index.js +2 -2
- package/src/components/navigable-toolbar/index.js +3 -1
- package/src/components/plain-text/index.js +2 -2
- package/src/components/provider/block-refs-provider.js +3 -8
- package/src/components/provider/test/use-block-sync.js +7 -0
- package/src/components/provider/use-block-sync.js +10 -1
- package/src/components/responsive-block-control/index.js +2 -2
- package/src/components/rich-text/README.md +0 -8
- package/src/components/rich-text/event-listeners/before-input-rules.js +92 -0
- package/src/components/rich-text/event-listeners/delete.js +53 -0
- package/src/components/rich-text/event-listeners/enter.js +84 -0
- package/src/components/rich-text/event-listeners/firefox-compat.js +31 -0
- package/src/components/rich-text/event-listeners/index.js +56 -0
- package/src/components/rich-text/event-listeners/input-events.js +13 -0
- package/src/components/rich-text/event-listeners/input-rules.js +146 -0
- package/src/components/rich-text/event-listeners/insert-replacement-text.js +28 -0
- package/src/components/rich-text/event-listeners/paste-handler.js +132 -0
- package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +24 -0
- package/src/components/rich-text/event-listeners/shortcuts.js +13 -0
- package/src/components/rich-text/event-listeners/undo-automatic-change.js +45 -0
- package/src/components/rich-text/format-toolbar/index.js +2 -2
- package/src/components/rich-text/index.js +17 -37
- package/src/components/rich-text/index.native.js +13 -2
- package/src/components/rich-text/multiline.js +37 -5
- package/src/components/rich-text/native/index.native.js +11 -0
- package/src/components/rich-text/use-format-types.js +6 -2
- package/src/components/segmented-text-control/index.js +63 -0
- package/src/components/{writing-mode-control → segmented-text-control}/style.scss +2 -5
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -1
- package/src/components/text-alignment-control/index.js +91 -0
- package/src/components/text-alignment-control/stories/index.story.js +39 -0
- package/src/components/text-decoration-control/index.js +22 -35
- package/src/components/text-transform-control/index.js +19 -32
- package/src/components/url-input/index.js +4 -4
- package/src/components/url-popover/link-editor.js +2 -2
- package/src/components/url-popover/link-viewer-url.js +2 -2
- package/src/components/url-popover/link-viewer.js +2 -2
- package/src/components/use-block-display-information/index.js +9 -3
- package/src/components/use-on-block-drop/index.js +3 -1
- package/src/components/warning/index.js +2 -2
- package/src/components/writing-flow/index.js +2 -2
- package/src/components/writing-flow/use-clipboard-handler.js +107 -47
- package/src/components/writing-flow/use-drag-selection.js +3 -1
- package/src/components/writing-flow/use-input.js +75 -1
- package/src/components/writing-flow/use-tab-nav.js +13 -2
- package/src/components/writing-mode-control/index.js +17 -33
- package/src/content.scss +1 -0
- package/src/hooks/align.js +2 -2
- package/src/hooks/background.js +1 -1
- package/src/hooks/border.js +3 -3
- package/src/hooks/color.js +12 -19
- package/src/hooks/color.scss +1 -0
- package/src/hooks/content-lock-ui.js +16 -33
- package/src/hooks/custom-class-name.js +2 -2
- package/src/hooks/custom-class-name.native.js +2 -2
- package/src/hooks/dimensions.js +2 -2
- package/src/hooks/duotone.js +3 -1
- package/src/hooks/layout-child.js +34 -20
- package/src/hooks/layout.js +2 -2
- package/src/hooks/position.js +2 -2
- package/src/hooks/text-align.js +3 -3
- package/src/hooks/use-bindings-attributes.js +48 -16
- package/src/hooks/use-color-props.js +2 -2
- package/src/hooks/use-typography-props.js +2 -2
- package/src/hooks/utils.js +18 -4
- package/src/layouts/grid.js +3 -7
- package/src/private-apis.js +8 -2
- package/src/store/actions.js +233 -54
- package/src/store/private-actions.js +24 -0
- package/src/store/private-keys.js +1 -0
- package/src/store/private-selectors.js +43 -4
- package/src/store/reducer.js +13 -23
- package/src/store/selectors.js +24 -9
- package/src/style.scss +1 -2
- package/src/utils/object.js +16 -0
- package/src/utils/order-inserter-block-items.js +6 -2
- package/src/utils/pasting.js +6 -2
- package/src/utils/selection.js +8 -0
- package/src/utils/test/__snapshots__/transform-styles.js.snap +6 -0
- package/src/utils/test/transform-styles.js +14 -0
- package/src/utils/transform-styles/index.js +12 -9
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -54
- package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +0 -1
- package/build/components/rich-text/split-value.js +0 -81
- package/build/components/rich-text/split-value.js.map +0 -1
- package/build/components/rich-text/use-before-input-rules.js +0 -98
- package/build/components/rich-text/use-before-input-rules.js.map +0 -1
- package/build/components/rich-text/use-delete.js +0 -64
- package/build/components/rich-text/use-delete.js.map +0 -1
- package/build/components/rich-text/use-enter.js +0 -109
- package/build/components/rich-text/use-enter.js.map +0 -1
- package/build/components/rich-text/use-firefox-compat.js +0 -44
- package/build/components/rich-text/use-firefox-compat.js.map +0 -1
- package/build/components/rich-text/use-input-events.js +0 -25
- package/build/components/rich-text/use-input-events.js.map +0 -1
- package/build/components/rich-text/use-input-rules.js +0 -139
- package/build/components/rich-text/use-input-rules.js.map +0 -1
- package/build/components/rich-text/use-insert-replacement-text.js +0 -38
- package/build/components/rich-text/use-insert-replacement-text.js.map +0 -1
- package/build/components/rich-text/use-paste-handler.js +0 -158
- package/build/components/rich-text/use-paste-handler.js.map +0 -1
- package/build/components/rich-text/use-remove-browser-shortcuts.js +0 -32
- package/build/components/rich-text/use-remove-browser-shortcuts.js.map +0 -1
- package/build/components/rich-text/use-shortcuts.js +0 -25
- package/build/components/rich-text/use-shortcuts.js.map +0 -1
- package/build/components/rich-text/use-undo-automatic-change.js +0 -53
- package/build/components/rich-text/use-undo-automatic-change.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -47
- package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +0 -1
- package/build-module/components/rich-text/split-value.js +0 -75
- package/build-module/components/rich-text/split-value.js.map +0 -1
- package/build-module/components/rich-text/use-before-input-rules.js +0 -92
- package/build-module/components/rich-text/use-before-input-rules.js.map +0 -1
- package/build-module/components/rich-text/use-delete.js +0 -57
- package/build-module/components/rich-text/use-delete.js.map +0 -1
- package/build-module/components/rich-text/use-enter.js +0 -102
- package/build-module/components/rich-text/use-enter.js.map +0 -1
- package/build-module/components/rich-text/use-firefox-compat.js +0 -37
- package/build-module/components/rich-text/use-firefox-compat.js.map +0 -1
- package/build-module/components/rich-text/use-input-events.js +0 -18
- package/build-module/components/rich-text/use-input-events.js.map +0 -1
- package/build-module/components/rich-text/use-input-rules.js +0 -132
- package/build-module/components/rich-text/use-input-rules.js.map +0 -1
- package/build-module/components/rich-text/use-insert-replacement-text.js +0 -32
- package/build-module/components/rich-text/use-insert-replacement-text.js.map +0 -1
- package/build-module/components/rich-text/use-paste-handler.js +0 -152
- package/build-module/components/rich-text/use-paste-handler.js.map +0 -1
- package/build-module/components/rich-text/use-remove-browser-shortcuts.js +0 -26
- package/build-module/components/rich-text/use-remove-browser-shortcuts.js.map +0 -1
- package/build-module/components/rich-text/use-shortcuts.js +0 -18
- package/build-module/components/rich-text/use-shortcuts.js.map +0 -1
- package/build-module/components/rich-text/use-undo-automatic-change.js +0 -46
- package/build-module/components/rich-text/use-undo-automatic-change.js.map +0 -1
- package/src/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -55
- package/src/components/rich-text/split-value.js +0 -64
- package/src/components/rich-text/use-before-input-rules.js +0 -99
- package/src/components/rich-text/use-delete.js +0 -59
- package/src/components/rich-text/use-enter.js +0 -110
- package/src/components/rich-text/use-firefox-compat.js +0 -39
- package/src/components/rich-text/use-input-events.js +0 -19
- package/src/components/rich-text/use-input-rules.js +0 -150
- package/src/components/rich-text/use-insert-replacement-text.js +0 -31
- package/src/components/rich-text/use-paste-handler.js +0 -180
- package/src/components/rich-text/use-remove-browser-shortcuts.js +0 -29
- package/src/components/rich-text/use-shortcuts.js +0 -19
- package/src/components/rich-text/use-undo-automatic-change.js +0 -46
- package/src/components/text-decoration-control/style.scss +0 -18
- package/src/components/text-transform-control/style.scss +0 -18
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import { createElement, Fragment } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* External dependencies
|
|
4
|
-
*/
|
|
5
|
-
import classNames from 'classnames';
|
|
6
|
-
|
|
7
2
|
/**
|
|
8
3
|
* WordPress dependencies
|
|
9
4
|
*/
|
|
10
|
-
import { __
|
|
5
|
+
import { __ } from '@wordpress/i18n';
|
|
11
6
|
import { useViewportMatch } from '@wordpress/compose';
|
|
12
|
-
import {
|
|
7
|
+
import { Button } from '@wordpress/components';
|
|
13
8
|
import { useCallback, useMemo } from '@wordpress/element';
|
|
14
|
-
import { Icon, chevronRight, chevronLeft } from '@wordpress/icons';
|
|
15
9
|
|
|
16
10
|
/**
|
|
17
11
|
* Internal dependencies
|
|
@@ -22,12 +16,15 @@ import MediaUpload from '../../media-upload';
|
|
|
22
16
|
import { useMediaCategories } from './hooks';
|
|
23
17
|
import { getBlockAndPreviewFromMedia } from './utils';
|
|
24
18
|
import MobileTabNavigation from '../mobile-tab-navigation';
|
|
19
|
+
import CategoryTabs from '../category-tabs';
|
|
20
|
+
import InserterNoResults from '../no-results';
|
|
25
21
|
const ALLOWED_MEDIA_TYPES = ['image', 'video', 'audio'];
|
|
26
22
|
function MediaTab({
|
|
27
23
|
rootClientId,
|
|
28
24
|
selectedCategory,
|
|
29
25
|
onSelectCategory,
|
|
30
|
-
onInsert
|
|
26
|
+
onInsert,
|
|
27
|
+
children
|
|
31
28
|
}) {
|
|
32
29
|
const mediaCategories = useMediaCategories(rootClientId);
|
|
33
30
|
const isMobile = useViewportMatch('medium', '<');
|
|
@@ -39,31 +36,20 @@ function MediaTab({
|
|
|
39
36
|
const [block] = getBlockAndPreviewFromMedia(media, media.type);
|
|
40
37
|
onInsert(block);
|
|
41
38
|
}, [onInsert]);
|
|
42
|
-
const
|
|
39
|
+
const categories = useMemo(() => mediaCategories.map(mediaCategory => ({
|
|
43
40
|
...mediaCategory,
|
|
44
41
|
label: mediaCategory.labels.name
|
|
45
42
|
})), [mediaCategories]);
|
|
43
|
+
if (!categories.length) {
|
|
44
|
+
return createElement(InserterNoResults, null);
|
|
45
|
+
}
|
|
46
46
|
return createElement(Fragment, null, !isMobile && createElement("div", {
|
|
47
47
|
className: `${baseCssClass}-container`
|
|
48
|
-
}, createElement(
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}, mediaCategories.map(mediaCategory => createElement(Item, {
|
|
54
|
-
role: "listitem",
|
|
55
|
-
key: mediaCategory.name,
|
|
56
|
-
onClick: () => onSelectCategory(mediaCategory),
|
|
57
|
-
className: classNames(`${baseCssClass}__media-category`, {
|
|
58
|
-
'is-selected': selectedCategory === mediaCategory
|
|
59
|
-
}),
|
|
60
|
-
"aria-label": mediaCategory.labels.name,
|
|
61
|
-
"aria-current": mediaCategory === selectedCategory ? 'true' : undefined
|
|
62
|
-
}, createElement(HStack, null, createElement(FlexBlock, null, mediaCategory.labels.name), createElement(Icon, {
|
|
63
|
-
icon: isRTL() ? chevronLeft : chevronRight
|
|
64
|
-
})))), createElement("div", {
|
|
65
|
-
role: "listitem"
|
|
66
|
-
}, createElement(MediaUploadCheck, null, createElement(MediaUpload, {
|
|
48
|
+
}, createElement(CategoryTabs, {
|
|
49
|
+
categories: categories,
|
|
50
|
+
selectedCategory: selectedCategory,
|
|
51
|
+
onSelectCategory: onSelectCategory
|
|
52
|
+
}, children), createElement(MediaUploadCheck, null, createElement(MediaUpload, {
|
|
67
53
|
multiple: false,
|
|
68
54
|
onSelect: onSelectMedia,
|
|
69
55
|
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
@@ -84,8 +70,8 @@ function MediaTab({
|
|
|
84
70
|
variant: "secondary",
|
|
85
71
|
"data-unstable-ignore-focus-outside-for-relatedtarget": ".media-modal"
|
|
86
72
|
}, __('Open Media Library'))
|
|
87
|
-
})))
|
|
88
|
-
categories:
|
|
73
|
+
}))), isMobile && createElement(MobileTabNavigation, {
|
|
74
|
+
categories: categories
|
|
89
75
|
}, category => createElement(MediaCategoryPanel, {
|
|
90
76
|
onInsert: onInsert,
|
|
91
77
|
rootClientId: rootClientId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["__","useViewportMatch","Button","useCallback","useMemo","MediaCategoryPanel","MediaUploadCheck","MediaUpload","useMediaCategories","getBlockAndPreviewFromMedia","MobileTabNavigation","CategoryTabs","InserterNoResults","ALLOWED_MEDIA_TYPES","MediaTab","rootClientId","selectedCategory","onSelectCategory","onInsert","children","mediaCategories","isMobile","baseCssClass","onSelectMedia","media","url","block","type","categories","map","mediaCategory","label","labels","name","length","createElement","Fragment","className","multiple","onSelect","allowedTypes","render","open","onClick","event","target","focus","variant","category"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-tab.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { Button } from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { MediaCategoryPanel } from './media-panel';\nimport MediaUploadCheck from '../../media-upload/check';\nimport MediaUpload from '../../media-upload';\nimport { useMediaCategories } from './hooks';\nimport { getBlockAndPreviewFromMedia } from './utils';\nimport MobileTabNavigation from '../mobile-tab-navigation';\nimport CategoryTabs from '../category-tabs';\nimport InserterNoResults from '../no-results';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video', 'audio' ];\n\nfunction MediaTab( {\n\trootClientId,\n\tselectedCategory,\n\tonSelectCategory,\n\tonInsert,\n\tchildren,\n} ) {\n\tconst mediaCategories = useMediaCategories( rootClientId );\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\tconst baseCssClass = 'block-editor-inserter__media-tabs';\n\tconst onSelectMedia = useCallback(\n\t\t( media ) => {\n\t\t\tif ( ! media?.url ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst [ block ] = getBlockAndPreviewFromMedia( media, media.type );\n\t\t\tonInsert( block );\n\t\t},\n\t\t[ onInsert ]\n\t);\n\tconst categories = useMemo(\n\t\t() =>\n\t\t\tmediaCategories.map( ( mediaCategory ) => ( {\n\t\t\t\t...mediaCategory,\n\t\t\t\tlabel: mediaCategory.labels.name,\n\t\t\t} ) ),\n\t\t[ mediaCategories ]\n\t);\n\n\tif ( ! categories.length ) {\n\t\treturn <InserterNoResults />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isMobile && (\n\t\t\t\t<div className={ `${ baseCssClass }-container` }>\n\t\t\t\t\t<CategoryTabs\n\t\t\t\t\t\tcategories={ categories }\n\t\t\t\t\t\tselectedCategory={ selectedCategory }\n\t\t\t\t\t\tonSelectCategory={ onSelectCategory }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</CategoryTabs>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\tmultiple={ false }\n\t\t\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t// Safari doesn't emit a focus event on button elements when\n\t\t\t\t\t\t\t\t\t\t// clicked and we need to manually focus the button here.\n\t\t\t\t\t\t\t\t\t\t// The reason is that core's Media Library modal explicitly triggers a\n\t\t\t\t\t\t\t\t\t\t// focus event and therefore a `blur` event is triggered on a different\n\t\t\t\t\t\t\t\t\t\t// element, which doesn't contain the `data-unstable-ignore-focus-outside-for-relatedtarget`\n\t\t\t\t\t\t\t\t\t\t// attribute making the Inserter dialog to close.\n\t\t\t\t\t\t\t\t\t\tevent.target.focus();\n\t\t\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-library-button\"\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tdata-unstable-ignore-focus-outside-for-relatedtarget=\".media-modal\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ isMobile && (\n\t\t\t\t<MobileTabNavigation categories={ categories }>\n\t\t\t\t\t{ ( category ) => (\n\t\t\t\t\t\t<MediaCategoryPanel\n\t\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</MobileTabNavigation>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default MediaTab;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,WAAW,EAAEC,OAAO,QAAQ,oBAAoB;;AAEzD;AACA;AACA;AACA,SAASC,kBAAkB,QAAQ,eAAe;AAClD,OAAOC,gBAAgB,MAAM,0BAA0B;AACvD,OAAOC,WAAW,MAAM,oBAAoB;AAC5C,SAASC,kBAAkB,QAAQ,SAAS;AAC5C,SAASC,2BAA2B,QAAQ,SAAS;AACrD,OAAOC,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,iBAAiB,MAAM,eAAe;AAE7C,MAAMC,mBAAmB,GAAG,CAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAE;AAEzD,SAASC,QAAQA,CAAE;EAClBC,YAAY;EACZC,gBAAgB;EAChBC,gBAAgB;EAChBC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAMC,eAAe,GAAGZ,kBAAkB,CAAEO,YAAa,CAAC;EAC1D,MAAMM,QAAQ,GAAGpB,gBAAgB,CAAE,QAAQ,EAAE,GAAI,CAAC;EAClD,MAAMqB,YAAY,GAAG,mCAAmC;EACxD,MAAMC,aAAa,GAAGpB,WAAW,CAC9BqB,KAAK,IAAM;IACZ,IAAK,CAAEA,KAAK,EAAEC,GAAG,EAAG;MACnB;IACD;IACA,MAAM,CAAEC,KAAK,CAAE,GAAGjB,2BAA2B,CAAEe,KAAK,EAAEA,KAAK,CAACG,IAAK,CAAC;IAClET,QAAQ,CAAEQ,KAAM,CAAC;EAClB,CAAC,EACD,CAAER,QAAQ,CACX,CAAC;EACD,MAAMU,UAAU,GAAGxB,OAAO,CACzB,MACCgB,eAAe,CAACS,GAAG,CAAIC,aAAa,KAAQ;IAC3C,GAAGA,aAAa;IAChBC,KAAK,EAAED,aAAa,CAACE,MAAM,CAACC;EAC7B,CAAC,CAAG,CAAC,EACN,CAAEb,eAAe,CAClB,CAAC;EAED,IAAK,CAAEQ,UAAU,CAACM,MAAM,EAAG;IAC1B,OAAOC,aAAA,CAACvB,iBAAiB,MAAE,CAAC;EAC7B;EAEA,OACCuB,aAAA,CAAAC,QAAA,QACG,CAAEf,QAAQ,IACXc,aAAA;IAAKE,SAAS,EAAI,GAAGf,YAAc;EAAa,GAC/Ca,aAAA,CAACxB,YAAY;IACZiB,UAAU,EAAGA,UAAY;IACzBZ,gBAAgB,EAAGA,gBAAkB;IACrCC,gBAAgB,EAAGA;EAAkB,GAEnCE,QACW,CAAC,EACfgB,aAAA,CAAC7B,gBAAgB,QAChB6B,aAAA,CAAC5B,WAAW;IACX+B,QAAQ,EAAG,KAAO;IAClBC,QAAQ,EAAGhB,aAAe;IAC1BiB,YAAY,EAAG3B,mBAAqB;IACpC4B,MAAM,EAAGA,CAAE;MAAEC;IAAK,CAAC,KAClBP,aAAA,CAACjC,MAAM;MACNyC,OAAO,EAAKC,KAAK,IAAM;QACtB;QACA;QACA;QACA;QACA;QACA;QACAA,KAAK,CAACC,MAAM,CAACC,KAAK,CAAC,CAAC;QACpBJ,IAAI,CAAC,CAAC;MACP,CAAG;MACHL,SAAS,EAAC,6CAA6C;MACvDU,OAAO,EAAC,WAAW;MACnB,wDAAqD;IAAc,GAEjE/C,EAAE,CAAE,oBAAqB,CACpB;EACN,CACH,CACgB,CACd,CACL,EACCqB,QAAQ,IACTc,aAAA,CAACzB,mBAAmB;IAACkB,UAAU,EAAGA;EAAY,GACzCoB,QAAQ,IACXb,aAAA,CAAC9B,kBAAkB;IAClBa,QAAQ,EAAGA,QAAU;IACrBH,YAAY,EAAGA,YAAc;IAC7BiC,QAAQ,EAAGA;EAAU,CACrB,CAEkB,CAErB,CAAC;AAEL;AAEA,eAAelC,QAAQ","ignoreList":[]}
|
|
@@ -2,32 +2,31 @@ import { createElement, Fragment } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* External dependencies
|
|
4
4
|
*/
|
|
5
|
-
import
|
|
5
|
+
import clsx from 'clsx';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
|
-
import { forwardRef, useState, useCallback, useMemo,
|
|
10
|
+
import { forwardRef, useState, useCallback, useMemo, useRef, useLayoutEffect } from '@wordpress/element';
|
|
11
11
|
import { VisuallyHidden, SearchControl, Popover } from '@wordpress/components';
|
|
12
12
|
import { __ } from '@wordpress/i18n';
|
|
13
|
-
import { useSelect } from '@wordpress/data';
|
|
14
13
|
import { useDebouncedInput } from '@wordpress/compose';
|
|
14
|
+
import { useSelect } from '@wordpress/data';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Internal dependencies
|
|
18
18
|
*/
|
|
19
|
-
import { unlock } from '../../lock-unlock';
|
|
20
19
|
import Tips from './tips';
|
|
21
20
|
import InserterPreviewPanel from './preview-panel';
|
|
22
21
|
import BlockTypesTab from './block-types-tab';
|
|
23
22
|
import BlockPatternsTab from './block-patterns-tab';
|
|
24
23
|
import { PatternCategoryPreviewPanel } from './block-patterns-tab/pattern-category-preview-panel';
|
|
25
|
-
import { MediaTab,
|
|
24
|
+
import { MediaTab, MediaCategoryPanel } from './media-tab';
|
|
26
25
|
import InserterSearchResults from './search-results';
|
|
27
26
|
import useInsertionPoint from './hooks/use-insertion-point';
|
|
28
27
|
import InserterTabs from './tabs';
|
|
29
|
-
import { store as blockEditorStore } from '../../store';
|
|
30
28
|
import { useZoomOut } from '../../hooks/use-zoom-out';
|
|
29
|
+
import { store as blockEditorStore } from '../../store';
|
|
31
30
|
const NOOP = () => {};
|
|
32
31
|
function InserterMenu({
|
|
33
32
|
rootClientId,
|
|
@@ -39,14 +38,18 @@ function InserterMenu({
|
|
|
39
38
|
showMostUsedBlocks,
|
|
40
39
|
__experimentalFilterValue = '',
|
|
41
40
|
shouldFocusBlock = true,
|
|
42
|
-
__experimentalOnPatternCategorySelection = NOOP
|
|
41
|
+
__experimentalOnPatternCategorySelection = NOOP,
|
|
42
|
+
onClose,
|
|
43
|
+
__experimentalInitialTab,
|
|
44
|
+
__experimentalInitialCategory
|
|
43
45
|
}, ref) {
|
|
46
|
+
const isZoomOutMode = useSelect(select => select(blockEditorStore).__unstableGetEditorMode() === 'zoom-out', []);
|
|
44
47
|
const [filterValue, setFilterValue, delayedFilterValue] = useDebouncedInput(__experimentalFilterValue);
|
|
45
48
|
const [hoveredItem, setHoveredItem] = useState(null);
|
|
46
|
-
const [selectedPatternCategory, setSelectedPatternCategory] = useState(
|
|
49
|
+
const [selectedPatternCategory, setSelectedPatternCategory] = useState(__experimentalInitialCategory);
|
|
47
50
|
const [patternFilter, setPatternFilter] = useState('all');
|
|
48
51
|
const [selectedMediaCategory, setSelectedMediaCategory] = useState(null);
|
|
49
|
-
const [selectedTab, setSelectedTab] = useState(
|
|
52
|
+
const [selectedTab, setSelectedTab] = useState(__experimentalInitialTab);
|
|
50
53
|
const [destinationRootClientId, onInsertBlocks, onToggleInsertionPoint] = useInsertionPoint({
|
|
51
54
|
rootClientId,
|
|
52
55
|
clientId,
|
|
@@ -54,22 +57,19 @@ function InserterMenu({
|
|
|
54
57
|
insertionIndex: __experimentalInsertionIndex,
|
|
55
58
|
shouldFocusBlock
|
|
56
59
|
});
|
|
57
|
-
const
|
|
58
|
-
showPatterns
|
|
59
|
-
} = useSelect(select => {
|
|
60
|
-
const {
|
|
61
|
-
hasAllowedPatterns
|
|
62
|
-
} = unlock(select(blockEditorStore));
|
|
63
|
-
return {
|
|
64
|
-
showPatterns: hasAllowedPatterns(destinationRootClientId)
|
|
65
|
-
};
|
|
66
|
-
}, [destinationRootClientId]);
|
|
67
|
-
const mediaCategories = useMediaCategories(destinationRootClientId);
|
|
68
|
-
const showMedia = mediaCategories.length > 0;
|
|
60
|
+
const blockTypesTabRef = useRef();
|
|
69
61
|
const onInsert = useCallback((blocks, meta, shouldForceFocusBlock) => {
|
|
70
62
|
onInsertBlocks(blocks, meta, shouldForceFocusBlock);
|
|
71
63
|
onSelect();
|
|
72
|
-
|
|
64
|
+
|
|
65
|
+
// Check for focus loss due to filtering blocks by selected block type
|
|
66
|
+
window.requestAnimationFrame(() => {
|
|
67
|
+
if (!shouldFocusBlock && !blockTypesTabRef?.current.contains(ref.current.ownerDocument.activeElement)) {
|
|
68
|
+
// There has been a focus loss, so focus the first button in the block types tab
|
|
69
|
+
blockTypesTabRef?.current.querySelector('button').focus();
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}, [onInsertBlocks, onSelect, shouldFocusBlock]);
|
|
73
73
|
const onInsertPattern = useCallback((blocks, patternName) => {
|
|
74
74
|
onInsertBlocks(blocks, {
|
|
75
75
|
patternName
|
|
@@ -83,59 +83,85 @@ function InserterMenu({
|
|
|
83
83
|
const onHoverPattern = useCallback(item => {
|
|
84
84
|
onToggleInsertionPoint(!!item);
|
|
85
85
|
}, [onToggleInsertionPoint]);
|
|
86
|
-
const isZoomedOutViewExperimentEnabled = window?.__experimentalEnableZoomedOutView;
|
|
87
86
|
const onClickPatternCategory = useCallback((patternCategory, filter) => {
|
|
88
87
|
setSelectedPatternCategory(patternCategory);
|
|
89
88
|
setPatternFilter(filter);
|
|
90
|
-
|
|
91
|
-
__experimentalOnPatternCategorySelection();
|
|
92
|
-
}
|
|
89
|
+
__experimentalOnPatternCategorySelection();
|
|
93
90
|
}, [setSelectedPatternCategory, __experimentalOnPatternCategorySelection]);
|
|
94
|
-
const showPatternPanel = selectedTab === 'patterns' && !delayedFilterValue && selectedPatternCategory;
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
onInsert: onInsert,
|
|
100
|
-
onHover: onHover,
|
|
101
|
-
showMostUsedBlocks: showMostUsedBlocks
|
|
102
|
-
})), showInserterHelpPanel && createElement("div", {
|
|
103
|
-
className: "block-editor-inserter__tips"
|
|
104
|
-
}, createElement(VisuallyHidden, {
|
|
105
|
-
as: "h2"
|
|
106
|
-
}, __('A tip for using the block editor')), createElement(Tips, null))), [destinationRootClientId, onInsert, onHover, showMostUsedBlocks, showInserterHelpPanel]);
|
|
107
|
-
const patternsTab = useMemo(() => createElement(BlockPatternsTab, {
|
|
108
|
-
rootClientId: destinationRootClientId,
|
|
109
|
-
onInsert: onInsertPattern,
|
|
110
|
-
onSelectCategory: onClickPatternCategory,
|
|
111
|
-
selectedCategory: selectedPatternCategory
|
|
112
|
-
}, showPatternPanel && createElement(PatternCategoryPreviewPanel, {
|
|
113
|
-
rootClientId: destinationRootClientId,
|
|
114
|
-
onInsert: onInsertPattern,
|
|
115
|
-
onHover: onHoverPattern,
|
|
116
|
-
category: selectedPatternCategory,
|
|
117
|
-
patternFilter: patternFilter,
|
|
118
|
-
showTitlesAsTooltip: true
|
|
119
|
-
})), [destinationRootClientId, onInsertPattern, onClickPatternCategory, selectedPatternCategory, showPatternPanel]);
|
|
120
|
-
const mediaTab = useMemo(() => createElement(MediaTab, {
|
|
121
|
-
rootClientId: destinationRootClientId,
|
|
122
|
-
selectedCategory: selectedMediaCategory,
|
|
123
|
-
onSelectCategory: setSelectedMediaCategory,
|
|
124
|
-
onInsert: onInsert
|
|
125
|
-
}), [destinationRootClientId, onInsert, selectedMediaCategory, setSelectedMediaCategory]);
|
|
126
|
-
const inserterTabsContents = useMemo(() => ({
|
|
127
|
-
blocks: blocksTab,
|
|
128
|
-
patterns: patternsTab,
|
|
129
|
-
media: mediaTab
|
|
130
|
-
}), [blocksTab, mediaTab, patternsTab]);
|
|
131
|
-
const searchRef = useRef();
|
|
132
|
-
useImperativeHandle(ref, () => ({
|
|
133
|
-
focusSearch: () => {
|
|
134
|
-
searchRef.current.focus();
|
|
91
|
+
const showPatternPanel = selectedTab === 'patterns' && !delayedFilterValue && !!selectedPatternCategory;
|
|
92
|
+
const showMediaPanel = selectedTab === 'media' && !!selectedMediaCategory;
|
|
93
|
+
const inserterSearch = useMemo(() => {
|
|
94
|
+
if (selectedTab === 'media') {
|
|
95
|
+
return null;
|
|
135
96
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
97
|
+
return createElement(Fragment, null, createElement(SearchControl, {
|
|
98
|
+
__nextHasNoMarginBottom: true,
|
|
99
|
+
className: "block-editor-inserter__search",
|
|
100
|
+
onChange: value => {
|
|
101
|
+
if (hoveredItem) {
|
|
102
|
+
setHoveredItem(null);
|
|
103
|
+
}
|
|
104
|
+
setFilterValue(value);
|
|
105
|
+
},
|
|
106
|
+
value: filterValue,
|
|
107
|
+
label: __('Search for blocks and patterns'),
|
|
108
|
+
placeholder: __('Search')
|
|
109
|
+
}), !!delayedFilterValue && createElement(InserterSearchResults, {
|
|
110
|
+
filterValue: delayedFilterValue,
|
|
111
|
+
onSelect: onSelect,
|
|
112
|
+
onHover: onHover,
|
|
113
|
+
onHoverPattern: onHoverPattern,
|
|
114
|
+
rootClientId: rootClientId,
|
|
115
|
+
clientId: clientId,
|
|
116
|
+
isAppender: isAppender,
|
|
117
|
+
__experimentalInsertionIndex: __experimentalInsertionIndex,
|
|
118
|
+
showBlockDirectory: true,
|
|
119
|
+
shouldFocusBlock: shouldFocusBlock,
|
|
120
|
+
prioritizePatterns: selectedTab === 'patterns'
|
|
121
|
+
}));
|
|
122
|
+
}, [selectedTab, hoveredItem, setHoveredItem, setFilterValue, filterValue, delayedFilterValue, onSelect, onHover, onHoverPattern, shouldFocusBlock, clientId, rootClientId, __experimentalInsertionIndex, isAppender]);
|
|
123
|
+
const blocksTab = useMemo(() => {
|
|
124
|
+
return createElement(Fragment, null, createElement("div", {
|
|
125
|
+
className: "block-editor-inserter__block-list"
|
|
126
|
+
}, createElement(BlockTypesTab, {
|
|
127
|
+
ref: blockTypesTabRef,
|
|
128
|
+
rootClientId: destinationRootClientId,
|
|
129
|
+
onInsert: onInsert,
|
|
130
|
+
onHover: onHover,
|
|
131
|
+
showMostUsedBlocks: showMostUsedBlocks
|
|
132
|
+
})), showInserterHelpPanel && createElement("div", {
|
|
133
|
+
className: "block-editor-inserter__tips"
|
|
134
|
+
}, createElement(VisuallyHidden, {
|
|
135
|
+
as: "h2"
|
|
136
|
+
}, __('A tip for using the block editor')), createElement(Tips, null)));
|
|
137
|
+
}, [destinationRootClientId, onInsert, onHover, showMostUsedBlocks, showInserterHelpPanel]);
|
|
138
|
+
const patternsTab = useMemo(() => {
|
|
139
|
+
return createElement(BlockPatternsTab, {
|
|
140
|
+
rootClientId: destinationRootClientId,
|
|
141
|
+
onInsert: onInsertPattern,
|
|
142
|
+
onSelectCategory: onClickPatternCategory,
|
|
143
|
+
selectedCategory: selectedPatternCategory
|
|
144
|
+
}, showPatternPanel && createElement(PatternCategoryPreviewPanel, {
|
|
145
|
+
rootClientId: destinationRootClientId,
|
|
146
|
+
onInsert: onInsertPattern,
|
|
147
|
+
onHover: onHoverPattern,
|
|
148
|
+
category: selectedPatternCategory,
|
|
149
|
+
patternFilter: patternFilter,
|
|
150
|
+
showTitlesAsTooltip: true
|
|
151
|
+
}));
|
|
152
|
+
}, [destinationRootClientId, onHoverPattern, onInsertPattern, onClickPatternCategory, patternFilter, selectedPatternCategory, showPatternPanel]);
|
|
153
|
+
const mediaTab = useMemo(() => {
|
|
154
|
+
return createElement(MediaTab, {
|
|
155
|
+
rootClientId: destinationRootClientId,
|
|
156
|
+
selectedCategory: selectedMediaCategory,
|
|
157
|
+
onSelectCategory: setSelectedMediaCategory,
|
|
158
|
+
onInsert: onInsert
|
|
159
|
+
}, showMediaPanel && createElement(MediaCategoryPanel, {
|
|
160
|
+
rootClientId: destinationRootClientId,
|
|
161
|
+
onInsert: onInsert,
|
|
162
|
+
category: selectedMediaCategory
|
|
163
|
+
}));
|
|
164
|
+
}, [destinationRootClientId, onInsert, selectedMediaCategory, setSelectedMediaCategory, showMediaPanel]);
|
|
139
165
|
|
|
140
166
|
// When the pattern panel is showing, we want to use zoom out mode
|
|
141
167
|
useZoomOut(showPatternPanel);
|
|
@@ -146,50 +172,30 @@ function InserterMenu({
|
|
|
146
172
|
}
|
|
147
173
|
setSelectedTab(value);
|
|
148
174
|
};
|
|
175
|
+
|
|
176
|
+
// Focus first active tab, if any
|
|
177
|
+
const tabsRef = useRef();
|
|
178
|
+
useLayoutEffect(() => {
|
|
179
|
+
if (tabsRef.current) {
|
|
180
|
+
window.requestAnimationFrame(() => {
|
|
181
|
+
tabsRef.current.querySelector('[role="tab"][aria-selected="true"]')?.focus();
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
}, []);
|
|
149
185
|
return createElement("div", {
|
|
150
|
-
className:
|
|
151
|
-
'show-panel': showPatternPanel
|
|
152
|
-
|
|
186
|
+
className: clsx('block-editor-inserter__menu', {
|
|
187
|
+
'show-panel': showPatternPanel || showMediaPanel,
|
|
188
|
+
'is-zoom-out': isZoomOutMode
|
|
189
|
+
}),
|
|
190
|
+
ref: ref
|
|
153
191
|
}, createElement("div", {
|
|
154
|
-
className:
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}, createElement(SearchControl, {
|
|
158
|
-
__nextHasNoMarginBottom: true,
|
|
159
|
-
className: "block-editor-inserter__search",
|
|
160
|
-
onChange: value => {
|
|
161
|
-
if (hoveredItem) setHoveredItem(null);
|
|
162
|
-
setFilterValue(value);
|
|
163
|
-
},
|
|
164
|
-
value: filterValue,
|
|
165
|
-
label: __('Search for blocks and patterns'),
|
|
166
|
-
placeholder: __('Search'),
|
|
167
|
-
ref: searchRef
|
|
168
|
-
}), !!delayedFilterValue && createElement("div", {
|
|
169
|
-
className: "block-editor-inserter__no-tab-container"
|
|
170
|
-
}, createElement(InserterSearchResults, {
|
|
171
|
-
filterValue: delayedFilterValue,
|
|
172
|
-
onSelect: onSelect,
|
|
173
|
-
onHover: onHover,
|
|
174
|
-
onHoverPattern: onHoverPattern,
|
|
175
|
-
rootClientId: rootClientId,
|
|
176
|
-
clientId: clientId,
|
|
177
|
-
isAppender: isAppender,
|
|
178
|
-
__experimentalInsertionIndex: __experimentalInsertionIndex,
|
|
179
|
-
showBlockDirectory: true,
|
|
180
|
-
shouldFocusBlock: shouldFocusBlock
|
|
181
|
-
})), showAsTabs && createElement(InserterTabs, {
|
|
182
|
-
showPatterns: showPatterns,
|
|
183
|
-
showMedia: showMedia,
|
|
192
|
+
className: "block-editor-inserter__main-area"
|
|
193
|
+
}, createElement(InserterTabs, {
|
|
194
|
+
ref: tabsRef,
|
|
184
195
|
onSelect: handleSetSelectedTab,
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
}, blocksTab)), showMediaPanel && createElement(MediaCategoryDialog, {
|
|
189
|
-
rootClientId: destinationRootClientId,
|
|
190
|
-
onInsert: onInsert,
|
|
191
|
-
category: selectedMediaCategory
|
|
192
|
-
}), showInserterHelpPanel && hoveredItem && createElement(Popover, {
|
|
196
|
+
onClose: onClose,
|
|
197
|
+
selectedTab: selectedTab
|
|
198
|
+
}, inserterSearch, selectedTab === 'blocks' && !delayedFilterValue && blocksTab, selectedTab === 'patterns' && !delayedFilterValue && patternsTab, selectedTab === 'media' && mediaTab)), showInserterHelpPanel && hoveredItem && createElement(Popover, {
|
|
193
199
|
className: "block-editor-inserter__preview-container__popover",
|
|
194
200
|
placement: "right-start",
|
|
195
201
|
offset: 16,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","forwardRef","useState","useCallback","useMemo","useImperativeHandle","useRef","VisuallyHidden","SearchControl","Popover","__","useSelect","useDebouncedInput","unlock","Tips","InserterPreviewPanel","BlockTypesTab","BlockPatternsTab","PatternCategoryPreviewPanel","MediaTab","MediaCategoryDialog","useMediaCategories","InserterSearchResults","useInsertionPoint","InserterTabs","store","blockEditorStore","useZoomOut","NOOP","InserterMenu","rootClientId","clientId","isAppender","__experimentalInsertionIndex","onSelect","showInserterHelpPanel","showMostUsedBlocks","__experimentalFilterValue","shouldFocusBlock","__experimentalOnPatternCategorySelection","ref","filterValue","setFilterValue","delayedFilterValue","hoveredItem","setHoveredItem","selectedPatternCategory","setSelectedPatternCategory","patternFilter","setPatternFilter","selectedMediaCategory","setSelectedMediaCategory","selectedTab","setSelectedTab","destinationRootClientId","onInsertBlocks","onToggleInsertionPoint","insertionIndex","showPatterns","select","hasAllowedPatterns","mediaCategories","showMedia","length","onInsert","blocks","meta","shouldForceFocusBlock","onInsertPattern","patternName","onHover","item","onHoverPattern","isZoomedOutViewExperimentEnabled","window","__experimentalEnableZoomedOutView","onClickPatternCategory","patternCategory","filter","showPatternPanel","blocksTab","createElement","Fragment","className","as","patternsTab","onSelectCategory","selectedCategory","category","showTitlesAsTooltip","mediaTab","inserterTabsContents","patterns","media","searchRef","focusSearch","current","focus","showAsTabs","showMediaPanel","handleSetSelectedTab","value","__nextHasNoMarginBottom","onChange","label","placeholder","showBlockDirectory","tabsContents","placement","offset","focusOnMount","animate"],"sources":["@wordpress/block-editor/src/components/inserter/menu.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tforwardRef,\n\tuseState,\n\tuseCallback,\n\tuseMemo,\n\tuseImperativeHandle,\n\tuseRef,\n} from '@wordpress/element';\nimport { VisuallyHidden, SearchControl, Popover } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useDebouncedInput } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport Tips from './tips';\nimport InserterPreviewPanel from './preview-panel';\nimport BlockTypesTab from './block-types-tab';\nimport BlockPatternsTab from './block-patterns-tab';\nimport { PatternCategoryPreviewPanel } from './block-patterns-tab/pattern-category-preview-panel';\nimport { MediaTab, MediaCategoryDialog, useMediaCategories } from './media-tab';\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport InserterTabs from './tabs';\nimport { store as blockEditorStore } from '../../store';\nimport { useZoomOut } from '../../hooks/use-zoom-out';\n\nconst NOOP = () => {};\nfunction InserterMenu(\n\t{\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\t__experimentalInsertionIndex,\n\t\tonSelect,\n\t\tshowInserterHelpPanel,\n\t\tshowMostUsedBlocks,\n\t\t__experimentalFilterValue = '',\n\t\tshouldFocusBlock = true,\n\t\t__experimentalOnPatternCategorySelection = NOOP,\n\t},\n\tref\n) {\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( __experimentalFilterValue );\n\tconst [ hoveredItem, setHoveredItem ] = useState( null );\n\tconst [ selectedPatternCategory, setSelectedPatternCategory ] =\n\t\tuseState( null );\n\tconst [ patternFilter, setPatternFilter ] = useState( 'all' );\n\tconst [ selectedMediaCategory, setSelectedMediaCategory ] =\n\t\tuseState( null );\n\tconst [ selectedTab, setSelectedTab ] = useState( null );\n\n\tconst [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ] =\n\t\tuseInsertionPoint( {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\t\tshouldFocusBlock,\n\t\t} );\n\tconst { showPatterns } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { hasAllowedPatterns } = unlock( select( blockEditorStore ) );\n\t\t\treturn {\n\t\t\t\tshowPatterns: hasAllowedPatterns( destinationRootClientId ),\n\t\t\t};\n\t\t},\n\t\t[ destinationRootClientId ]\n\t);\n\n\tconst mediaCategories = useMediaCategories( destinationRootClientId );\n\tconst showMedia = mediaCategories.length > 0;\n\n\tconst onInsert = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock ) => {\n\t\t\tonInsertBlocks( blocks, meta, shouldForceFocusBlock );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onInsertPattern = useCallback(\n\t\t( blocks, patternName ) => {\n\t\t\tonInsertBlocks( blocks, { patternName } );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onHover = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( !! item );\n\t\t\tsetHoveredItem( item );\n\t\t},\n\t\t[ onToggleInsertionPoint, setHoveredItem ]\n\t);\n\n\tconst onHoverPattern = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( !! item );\n\t\t},\n\t\t[ onToggleInsertionPoint ]\n\t);\n\n\tconst isZoomedOutViewExperimentEnabled =\n\t\twindow?.__experimentalEnableZoomedOutView;\n\tconst onClickPatternCategory = useCallback(\n\t\t( patternCategory, filter ) => {\n\t\t\tsetSelectedPatternCategory( patternCategory );\n\t\t\tsetPatternFilter( filter );\n\t\t\tif ( isZoomedOutViewExperimentEnabled ) {\n\t\t\t\t__experimentalOnPatternCategorySelection();\n\t\t\t}\n\t\t},\n\t\t[ setSelectedPatternCategory, __experimentalOnPatternCategorySelection ]\n\t);\n\n\tconst showPatternPanel =\n\t\tselectedTab === 'patterns' &&\n\t\t! delayedFilterValue &&\n\t\tselectedPatternCategory;\n\n\tconst blocksTab = useMemo(\n\t\t() => (\n\t\t\t<>\n\t\t\t\t<div className=\"block-editor-inserter__block-list\">\n\t\t\t\t\t<BlockTypesTab\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ showInserterHelpPanel && (\n\t\t\t\t\t<div className=\"block-editor-inserter__tips\">\n\t\t\t\t\t\t<VisuallyHidden as=\"h2\">\n\t\t\t\t\t\t\t{ __( 'A tip for using the block editor' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<Tips />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tonHover,\n\t\t\tshowMostUsedBlocks,\n\t\t\tshowInserterHelpPanel,\n\t\t]\n\t);\n\n\tconst patternsTab = useMemo(\n\t\t() => (\n\t\t\t<BlockPatternsTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\tonSelectCategory={ onClickPatternCategory }\n\t\t\t\tselectedCategory={ selectedPatternCategory }\n\t\t\t>\n\t\t\t\t{ showPatternPanel && (\n\t\t\t\t\t<PatternCategoryPreviewPanel\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\t\t\tonHover={ onHoverPattern }\n\t\t\t\t\t\tcategory={ selectedPatternCategory }\n\t\t\t\t\t\tpatternFilter={ patternFilter }\n\t\t\t\t\t\tshowTitlesAsTooltip\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockPatternsTab>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsertPattern,\n\t\t\tonClickPatternCategory,\n\t\t\tselectedPatternCategory,\n\t\t\tshowPatternPanel,\n\t\t]\n\t);\n\n\tconst mediaTab = useMemo(\n\t\t() => (\n\t\t\t<MediaTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tselectedCategory={ selectedMediaCategory }\n\t\t\t\tonSelectCategory={ setSelectedMediaCategory }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t/>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tselectedMediaCategory,\n\t\t\tsetSelectedMediaCategory,\n\t\t]\n\t);\n\n\tconst inserterTabsContents = useMemo(\n\t\t() => ( {\n\t\t\tblocks: blocksTab,\n\t\t\tpatterns: patternsTab,\n\t\t\tmedia: mediaTab,\n\t\t} ),\n\t\t[ blocksTab, mediaTab, patternsTab ]\n\t);\n\n\tconst searchRef = useRef();\n\tuseImperativeHandle( ref, () => ( {\n\t\tfocusSearch: () => {\n\t\t\tsearchRef.current.focus();\n\t\t},\n\t} ) );\n\n\tconst showAsTabs = ! delayedFilterValue && ( showPatterns || showMedia );\n\tconst showMediaPanel =\n\t\tselectedTab === 'media' &&\n\t\t! delayedFilterValue &&\n\t\tselectedMediaCategory;\n\n\t// When the pattern panel is showing, we want to use zoom out mode\n\tuseZoomOut( showPatternPanel );\n\n\tconst handleSetSelectedTab = ( value ) => {\n\t\t// If no longer on patterns tab remove the category setting.\n\t\tif ( value !== 'patterns' ) {\n\t\t\tsetSelectedPatternCategory( null );\n\t\t}\n\t\tsetSelectedTab( value );\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'block-editor-inserter__menu', {\n\t\t\t\t'show-panel': showPatternPanel,\n\t\t\t} ) }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'block-editor-inserter__main-area', {\n\t\t\t\t\t'show-as-tabs': showAsTabs,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tif ( hoveredItem ) setHoveredItem( null );\n\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\tref={ searchRef }\n\t\t\t\t/>\n\t\t\t\t{ !! delayedFilterValue && (\n\t\t\t\t\t<div className=\"block-editor-inserter__no-tab-container\">\n\t\t\t\t\t\t<InserterSearchResults\n\t\t\t\t\t\t\tfilterValue={ delayedFilterValue }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tonHoverPattern={ onHoverPattern }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\t\t\t__experimentalInsertionIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowBlockDirectory\n\t\t\t\t\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ showAsTabs && (\n\t\t\t\t\t<InserterTabs\n\t\t\t\t\t\tshowPatterns={ showPatterns }\n\t\t\t\t\t\tshowMedia={ showMedia }\n\t\t\t\t\t\tonSelect={ handleSetSelectedTab }\n\t\t\t\t\t\ttabsContents={ inserterTabsContents }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! delayedFilterValue && ! showAsTabs && (\n\t\t\t\t\t<div className=\"block-editor-inserter__no-tab-container\">\n\t\t\t\t\t\t{ blocksTab }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ showMediaPanel && (\n\t\t\t\t<MediaCategoryDialog\n\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\tcategory={ selectedMediaCategory }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showInserterHelpPanel && hoveredItem && (\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"block-editor-inserter__preview-container__popover\"\n\t\t\t\t\tplacement=\"right-start\"\n\t\t\t\t\toffset={ 16 }\n\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\tanimate={ false }\n\t\t\t\t>\n\t\t\t\t\t<InserterPreviewPanel item={ hoveredItem } />\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default forwardRef( InserterMenu );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","forwardRef","useState","useCallback","useMemo","useRef","useLayoutEffect","VisuallyHidden","SearchControl","Popover","__","useDebouncedInput","useSelect","Tips","InserterPreviewPanel","BlockTypesTab","BlockPatternsTab","PatternCategoryPreviewPanel","MediaTab","MediaCategoryPanel","InserterSearchResults","useInsertionPoint","InserterTabs","useZoomOut","store","blockEditorStore","NOOP","InserterMenu","rootClientId","clientId","isAppender","__experimentalInsertionIndex","onSelect","showInserterHelpPanel","showMostUsedBlocks","__experimentalFilterValue","shouldFocusBlock","__experimentalOnPatternCategorySelection","onClose","__experimentalInitialTab","__experimentalInitialCategory","ref","isZoomOutMode","select","__unstableGetEditorMode","filterValue","setFilterValue","delayedFilterValue","hoveredItem","setHoveredItem","selectedPatternCategory","setSelectedPatternCategory","patternFilter","setPatternFilter","selectedMediaCategory","setSelectedMediaCategory","selectedTab","setSelectedTab","destinationRootClientId","onInsertBlocks","onToggleInsertionPoint","insertionIndex","blockTypesTabRef","onInsert","blocks","meta","shouldForceFocusBlock","window","requestAnimationFrame","current","contains","ownerDocument","activeElement","querySelector","focus","onInsertPattern","patternName","onHover","item","onHoverPattern","onClickPatternCategory","patternCategory","filter","showPatternPanel","showMediaPanel","inserterSearch","createElement","Fragment","__nextHasNoMarginBottom","className","onChange","value","label","placeholder","showBlockDirectory","prioritizePatterns","blocksTab","as","patternsTab","onSelectCategory","selectedCategory","category","showTitlesAsTooltip","mediaTab","handleSetSelectedTab","tabsRef","placement","offset","focusOnMount","animate"],"sources":["@wordpress/block-editor/src/components/inserter/menu.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tforwardRef,\n\tuseState,\n\tuseCallback,\n\tuseMemo,\n\tuseRef,\n\tuseLayoutEffect,\n} from '@wordpress/element';\nimport { VisuallyHidden, SearchControl, Popover } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDebouncedInput } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Tips from './tips';\nimport InserterPreviewPanel from './preview-panel';\nimport BlockTypesTab from './block-types-tab';\nimport BlockPatternsTab from './block-patterns-tab';\nimport { PatternCategoryPreviewPanel } from './block-patterns-tab/pattern-category-preview-panel';\nimport { MediaTab, MediaCategoryPanel } from './media-tab';\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport InserterTabs from './tabs';\nimport { useZoomOut } from '../../hooks/use-zoom-out';\nimport { store as blockEditorStore } from '../../store';\n\nconst NOOP = () => {};\nfunction InserterMenu(\n\t{\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\t__experimentalInsertionIndex,\n\t\tonSelect,\n\t\tshowInserterHelpPanel,\n\t\tshowMostUsedBlocks,\n\t\t__experimentalFilterValue = '',\n\t\tshouldFocusBlock = true,\n\t\t__experimentalOnPatternCategorySelection = NOOP,\n\t\tonClose,\n\t\t__experimentalInitialTab,\n\t\t__experimentalInitialCategory,\n\t},\n\tref\n) {\n\tconst isZoomOutMode = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableGetEditorMode() === 'zoom-out',\n\t\t[]\n\t);\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( __experimentalFilterValue );\n\tconst [ hoveredItem, setHoveredItem ] = useState( null );\n\tconst [ selectedPatternCategory, setSelectedPatternCategory ] = useState(\n\t\t__experimentalInitialCategory\n\t);\n\tconst [ patternFilter, setPatternFilter ] = useState( 'all' );\n\tconst [ selectedMediaCategory, setSelectedMediaCategory ] =\n\t\tuseState( null );\n\tconst [ selectedTab, setSelectedTab ] = useState(\n\t\t__experimentalInitialTab\n\t);\n\n\tconst [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ] =\n\t\tuseInsertionPoint( {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\t\tshouldFocusBlock,\n\t\t} );\n\tconst blockTypesTabRef = useRef();\n\n\tconst onInsert = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock ) => {\n\t\t\tonInsertBlocks( blocks, meta, shouldForceFocusBlock );\n\t\t\tonSelect();\n\n\t\t\t// Check for focus loss due to filtering blocks by selected block type\n\t\t\twindow.requestAnimationFrame( () => {\n\t\t\t\tif (\n\t\t\t\t\t! shouldFocusBlock &&\n\t\t\t\t\t! blockTypesTabRef?.current.contains(\n\t\t\t\t\t\tref.current.ownerDocument.activeElement\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\t// There has been a focus loss, so focus the first button in the block types tab\n\t\t\t\t\tblockTypesTabRef?.current.querySelector( 'button' ).focus();\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t\t[ onInsertBlocks, onSelect, shouldFocusBlock ]\n\t);\n\n\tconst onInsertPattern = useCallback(\n\t\t( blocks, patternName ) => {\n\t\t\tonInsertBlocks( blocks, { patternName } );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onHover = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( !! item );\n\t\t\tsetHoveredItem( item );\n\t\t},\n\t\t[ onToggleInsertionPoint, setHoveredItem ]\n\t);\n\n\tconst onHoverPattern = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( !! item );\n\t\t},\n\t\t[ onToggleInsertionPoint ]\n\t);\n\n\tconst onClickPatternCategory = useCallback(\n\t\t( patternCategory, filter ) => {\n\t\t\tsetSelectedPatternCategory( patternCategory );\n\t\t\tsetPatternFilter( filter );\n\t\t\t__experimentalOnPatternCategorySelection();\n\t\t},\n\t\t[ setSelectedPatternCategory, __experimentalOnPatternCategorySelection ]\n\t);\n\n\tconst showPatternPanel =\n\t\tselectedTab === 'patterns' &&\n\t\t! delayedFilterValue &&\n\t\t!! selectedPatternCategory;\n\n\tconst showMediaPanel = selectedTab === 'media' && !! selectedMediaCategory;\n\n\tconst inserterSearch = useMemo( () => {\n\t\tif ( selectedTab === 'media' ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tif ( hoveredItem ) {\n\t\t\t\t\t\t\tsetHoveredItem( null );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t\t{ !! delayedFilterValue && (\n\t\t\t\t\t<InserterSearchResults\n\t\t\t\t\t\tfilterValue={ delayedFilterValue }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tonHoverPattern={ onHoverPattern }\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\t\t__experimentalInsertionIndex\n\t\t\t\t\t\t}\n\t\t\t\t\t\tshowBlockDirectory\n\t\t\t\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t\t\t\t\tprioritizePatterns={ selectedTab === 'patterns' }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}, [\n\t\tselectedTab,\n\t\thoveredItem,\n\t\tsetHoveredItem,\n\t\tsetFilterValue,\n\t\tfilterValue,\n\t\tdelayedFilterValue,\n\t\tonSelect,\n\t\tonHover,\n\t\tonHoverPattern,\n\t\tshouldFocusBlock,\n\t\tclientId,\n\t\trootClientId,\n\t\t__experimentalInsertionIndex,\n\t\tisAppender,\n\t] );\n\n\tconst blocksTab = useMemo( () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div className=\"block-editor-inserter__block-list\">\n\t\t\t\t\t<BlockTypesTab\n\t\t\t\t\t\tref={ blockTypesTabRef }\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ showInserterHelpPanel && (\n\t\t\t\t\t<div className=\"block-editor-inserter__tips\">\n\t\t\t\t\t\t<VisuallyHidden as=\"h2\">\n\t\t\t\t\t\t\t{ __( 'A tip for using the block editor' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<Tips />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}, [\n\t\tdestinationRootClientId,\n\t\tonInsert,\n\t\tonHover,\n\t\tshowMostUsedBlocks,\n\t\tshowInserterHelpPanel,\n\t] );\n\n\tconst patternsTab = useMemo( () => {\n\t\treturn (\n\t\t\t<BlockPatternsTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\tonSelectCategory={ onClickPatternCategory }\n\t\t\t\tselectedCategory={ selectedPatternCategory }\n\t\t\t>\n\t\t\t\t{ showPatternPanel && (\n\t\t\t\t\t<PatternCategoryPreviewPanel\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\t\t\tonHover={ onHoverPattern }\n\t\t\t\t\t\tcategory={ selectedPatternCategory }\n\t\t\t\t\t\tpatternFilter={ patternFilter }\n\t\t\t\t\t\tshowTitlesAsTooltip\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockPatternsTab>\n\t\t);\n\t}, [\n\t\tdestinationRootClientId,\n\t\tonHoverPattern,\n\t\tonInsertPattern,\n\t\tonClickPatternCategory,\n\t\tpatternFilter,\n\t\tselectedPatternCategory,\n\t\tshowPatternPanel,\n\t] );\n\n\tconst mediaTab = useMemo( () => {\n\t\treturn (\n\t\t\t<MediaTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tselectedCategory={ selectedMediaCategory }\n\t\t\t\tonSelectCategory={ setSelectedMediaCategory }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t>\n\t\t\t\t{ showMediaPanel && (\n\t\t\t\t\t<MediaCategoryPanel\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\tcategory={ selectedMediaCategory }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</MediaTab>\n\t\t);\n\t}, [\n\t\tdestinationRootClientId,\n\t\tonInsert,\n\t\tselectedMediaCategory,\n\t\tsetSelectedMediaCategory,\n\t\tshowMediaPanel,\n\t] );\n\n\t// When the pattern panel is showing, we want to use zoom out mode\n\tuseZoomOut( showPatternPanel );\n\n\tconst handleSetSelectedTab = ( value ) => {\n\t\t// If no longer on patterns tab remove the category setting.\n\t\tif ( value !== 'patterns' ) {\n\t\t\tsetSelectedPatternCategory( null );\n\t\t}\n\t\tsetSelectedTab( value );\n\t};\n\n\t// Focus first active tab, if any\n\tconst tabsRef = useRef();\n\tuseLayoutEffect( () => {\n\t\tif ( tabsRef.current ) {\n\t\t\twindow.requestAnimationFrame( () => {\n\t\t\t\ttabsRef.current\n\t\t\t\t\t.querySelector( '[role=\"tab\"][aria-selected=\"true\"]' )\n\t\t\t\t\t?.focus();\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx( 'block-editor-inserter__menu', {\n\t\t\t\t'show-panel': showPatternPanel || showMediaPanel,\n\t\t\t\t'is-zoom-out': isZoomOutMode,\n\t\t\t} ) }\n\t\t\tref={ ref }\n\t\t>\n\t\t\t<div className=\"block-editor-inserter__main-area\">\n\t\t\t\t<InserterTabs\n\t\t\t\t\tref={ tabsRef }\n\t\t\t\t\tonSelect={ handleSetSelectedTab }\n\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\tselectedTab={ selectedTab }\n\t\t\t\t>\n\t\t\t\t\t{ inserterSearch }\n\t\t\t\t\t{ selectedTab === 'blocks' &&\n\t\t\t\t\t\t! delayedFilterValue &&\n\t\t\t\t\t\tblocksTab }\n\t\t\t\t\t{ selectedTab === 'patterns' &&\n\t\t\t\t\t\t! delayedFilterValue &&\n\t\t\t\t\t\tpatternsTab }\n\t\t\t\t\t{ selectedTab === 'media' && mediaTab }\n\t\t\t\t</InserterTabs>\n\t\t\t</div>\n\t\t\t{ showInserterHelpPanel && hoveredItem && (\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"block-editor-inserter__preview-container__popover\"\n\t\t\t\t\tplacement=\"right-start\"\n\t\t\t\t\toffset={ 16 }\n\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\tanimate={ false }\n\t\t\t\t>\n\t\t\t\t\t<InserterPreviewPanel item={ hoveredItem } />\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default forwardRef( InserterMenu );\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SACCC,UAAU,EACVC,QAAQ,EACRC,WAAW,EACXC,OAAO,EACPC,MAAM,EACNC,eAAe,QACT,oBAAoB;AAC3B,SAASC,cAAc,EAAEC,aAAa,EAAEC,OAAO,QAAQ,uBAAuB;AAC9E,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,oBAAoB,MAAM,iBAAiB;AAClD,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,SAASC,2BAA2B,QAAQ,qDAAqD;AACjG,SAASC,QAAQ,EAAEC,kBAAkB,QAAQ,aAAa;AAC1D,OAAOC,qBAAqB,MAAM,kBAAkB;AACpD,OAAOC,iBAAiB,MAAM,6BAA6B;AAC3D,OAAOC,YAAY,MAAM,QAAQ;AACjC,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AAEvD,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AACrB,SAASC,YAAYA,CACpB;EACCC,YAAY;EACZC,QAAQ;EACRC,UAAU;EACVC,4BAA4B;EAC5BC,QAAQ;EACRC,qBAAqB;EACrBC,kBAAkB;EAClBC,yBAAyB,GAAG,EAAE;EAC9BC,gBAAgB,GAAG,IAAI;EACvBC,wCAAwC,GAAGX,IAAI;EAC/CY,OAAO;EACPC,wBAAwB;EACxBC;AACD,CAAC,EACDC,GAAG,EACF;EACD,MAAMC,aAAa,GAAG9B,SAAS,CAC5B+B,MAAM,IACPA,MAAM,CAAElB,gBAAiB,CAAC,CAACmB,uBAAuB,CAAC,CAAC,KAAK,UAAU,EACpE,EACD,CAAC;EACD,MAAM,CAAEC,WAAW,EAAEC,cAAc,EAAEC,kBAAkB,CAAE,GACxDpC,iBAAiB,CAAEwB,yBAA0B,CAAC;EAC/C,MAAM,CAAEa,WAAW,EAAEC,cAAc,CAAE,GAAG/C,QAAQ,CAAE,IAAK,CAAC;EACxD,MAAM,CAAEgD,uBAAuB,EAAEC,0BAA0B,CAAE,GAAGjD,QAAQ,CACvEsC,6BACD,CAAC;EACD,MAAM,CAAEY,aAAa,EAAEC,gBAAgB,CAAE,GAAGnD,QAAQ,CAAE,KAAM,CAAC;EAC7D,MAAM,CAAEoD,qBAAqB,EAAEC,wBAAwB,CAAE,GACxDrD,QAAQ,CAAE,IAAK,CAAC;EACjB,MAAM,CAAEsD,WAAW,EAAEC,cAAc,CAAE,GAAGvD,QAAQ,CAC/CqC,wBACD,CAAC;EAED,MAAM,CAAEmB,uBAAuB,EAAEC,cAAc,EAAEC,sBAAsB,CAAE,GACxEvC,iBAAiB,CAAE;IAClBO,YAAY;IACZC,QAAQ;IACRC,UAAU;IACV+B,cAAc,EAAE9B,4BAA4B;IAC5CK;EACD,CAAE,CAAC;EACJ,MAAM0B,gBAAgB,GAAGzD,MAAM,CAAC,CAAC;EAEjC,MAAM0D,QAAQ,GAAG5D,WAAW,CAC3B,CAAE6D,MAAM,EAAEC,IAAI,EAAEC,qBAAqB,KAAM;IAC1CP,cAAc,CAAEK,MAAM,EAAEC,IAAI,EAAEC,qBAAsB,CAAC;IACrDlC,QAAQ,CAAC,CAAC;;IAEV;IACAmC,MAAM,CAACC,qBAAqB,CAAE,MAAM;MACnC,IACC,CAAEhC,gBAAgB,IAClB,CAAE0B,gBAAgB,EAAEO,OAAO,CAACC,QAAQ,CACnC7B,GAAG,CAAC4B,OAAO,CAACE,aAAa,CAACC,aAC3B,CAAC,EACA;QACD;QACAV,gBAAgB,EAAEO,OAAO,CAACI,aAAa,CAAE,QAAS,CAAC,CAACC,KAAK,CAAC,CAAC;MAC5D;IACD,CAAE,CAAC;EACJ,CAAC,EACD,CAAEf,cAAc,EAAE3B,QAAQ,EAAEI,gBAAgB,CAC7C,CAAC;EAED,MAAMuC,eAAe,GAAGxE,WAAW,CAClC,CAAE6D,MAAM,EAAEY,WAAW,KAAM;IAC1BjB,cAAc,CAAEK,MAAM,EAAE;MAAEY;IAAY,CAAE,CAAC;IACzC5C,QAAQ,CAAC,CAAC;EACX,CAAC,EACD,CAAE2B,cAAc,EAAE3B,QAAQ,CAC3B,CAAC;EAED,MAAM6C,OAAO,GAAG1E,WAAW,CACxB2E,IAAI,IAAM;IACXlB,sBAAsB,CAAE,CAAC,CAAEkB,IAAK,CAAC;IACjC7B,cAAc,CAAE6B,IAAK,CAAC;EACvB,CAAC,EACD,CAAElB,sBAAsB,EAAEX,cAAc,CACzC,CAAC;EAED,MAAM8B,cAAc,GAAG5E,WAAW,CAC/B2E,IAAI,IAAM;IACXlB,sBAAsB,CAAE,CAAC,CAAEkB,IAAK,CAAC;EAClC,CAAC,EACD,CAAElB,sBAAsB,CACzB,CAAC;EAED,MAAMoB,sBAAsB,GAAG7E,WAAW,CACzC,CAAE8E,eAAe,EAAEC,MAAM,KAAM;IAC9B/B,0BAA0B,CAAE8B,eAAgB,CAAC;IAC7C5B,gBAAgB,CAAE6B,MAAO,CAAC;IAC1B7C,wCAAwC,CAAC,CAAC;EAC3C,CAAC,EACD,CAAEc,0BAA0B,EAAEd,wCAAwC,CACvE,CAAC;EAED,MAAM8C,gBAAgB,GACrB3B,WAAW,KAAK,UAAU,IAC1B,CAAET,kBAAkB,IACpB,CAAC,CAAEG,uBAAuB;EAE3B,MAAMkC,cAAc,GAAG5B,WAAW,KAAK,OAAO,IAAI,CAAC,CAAEF,qBAAqB;EAE1E,MAAM+B,cAAc,GAAGjF,OAAO,CAAE,MAAM;IACrC,IAAKoD,WAAW,KAAK,OAAO,EAAG;MAC9B,OAAO,IAAI;IACZ;IAEA,OACC8B,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAC9E,aAAa;MACbgF,uBAAuB;MACvBC,SAAS,EAAC,+BAA+B;MACzCC,QAAQ,EAAKC,KAAK,IAAM;QACvB,IAAK3C,WAAW,EAAG;UAClBC,cAAc,CAAE,IAAK,CAAC;QACvB;QACAH,cAAc,CAAE6C,KAAM,CAAC;MACxB,CAAG;MACHA,KAAK,EAAG9C,WAAa;MACrB+C,KAAK,EAAGlF,EAAE,CAAE,gCAAiC,CAAG;MAChDmF,WAAW,EAAGnF,EAAE,CAAE,QAAS;IAAG,CAC9B,CAAC,EACA,CAAC,CAAEqC,kBAAkB,IACtBuC,aAAA,CAAClE,qBAAqB;MACrByB,WAAW,EAAGE,kBAAoB;MAClCf,QAAQ,EAAGA,QAAU;MACrB6C,OAAO,EAAGA,OAAS;MACnBE,cAAc,EAAGA,cAAgB;MACjCnD,YAAY,EAAGA,YAAc;MAC7BC,QAAQ,EAAGA,QAAU;MACrBC,UAAU,EAAGA,UAAY;MACzBC,4BAA4B,EAC3BA,4BACA;MACD+D,kBAAkB;MAClB1D,gBAAgB,EAAGA,gBAAkB;MACrC2D,kBAAkB,EAAGvC,WAAW,KAAK;IAAY,CACjD,CAED,CAAC;EAEL,CAAC,EAAE,CACFA,WAAW,EACXR,WAAW,EACXC,cAAc,EACdH,cAAc,EACdD,WAAW,EACXE,kBAAkB,EAClBf,QAAQ,EACR6C,OAAO,EACPE,cAAc,EACd3C,gBAAgB,EAChBP,QAAQ,EACRD,YAAY,EACZG,4BAA4B,EAC5BD,UAAU,CACT,CAAC;EAEH,MAAMkE,SAAS,GAAG5F,OAAO,CAAE,MAAM;IAChC,OACCkF,aAAA,CAAAC,QAAA,QACCD,aAAA;MAAKG,SAAS,EAAC;IAAmC,GACjDH,aAAA,CAACvE,aAAa;MACb0B,GAAG,EAAGqB,gBAAkB;MACxBlC,YAAY,EAAG8B,uBAAyB;MACxCK,QAAQ,EAAGA,QAAU;MACrBc,OAAO,EAAGA,OAAS;MACnB3C,kBAAkB,EAAGA;IAAoB,CACzC,CACG,CAAC,EACJD,qBAAqB,IACtBqD,aAAA;MAAKG,SAAS,EAAC;IAA6B,GAC3CH,aAAA,CAAC/E,cAAc;MAAC0F,EAAE,EAAC;IAAI,GACpBvF,EAAE,CAAE,kCAAmC,CAC1B,CAAC,EACjB4E,aAAA,CAACzE,IAAI,MAAE,CACH,CAEL,CAAC;EAEL,CAAC,EAAE,CACF6C,uBAAuB,EACvBK,QAAQ,EACRc,OAAO,EACP3C,kBAAkB,EAClBD,qBAAqB,CACpB,CAAC;EAEH,MAAMiE,WAAW,GAAG9F,OAAO,CAAE,MAAM;IAClC,OACCkF,aAAA,CAACtE,gBAAgB;MAChBY,YAAY,EAAG8B,uBAAyB;MACxCK,QAAQ,EAAGY,eAAiB;MAC5BwB,gBAAgB,EAAGnB,sBAAwB;MAC3CoB,gBAAgB,EAAGlD;IAAyB,GAE1CiC,gBAAgB,IACjBG,aAAA,CAACrE,2BAA2B;MAC3BW,YAAY,EAAG8B,uBAAyB;MACxCK,QAAQ,EAAGY,eAAiB;MAC5BE,OAAO,EAAGE,cAAgB;MAC1BsB,QAAQ,EAAGnD,uBAAyB;MACpCE,aAAa,EAAGA,aAAe;MAC/BkD,mBAAmB;IAAA,CACnB,CAEe,CAAC;EAErB,CAAC,EAAE,CACF5C,uBAAuB,EACvBqB,cAAc,EACdJ,eAAe,EACfK,sBAAsB,EACtB5B,aAAa,EACbF,uBAAuB,EACvBiC,gBAAgB,CACf,CAAC;EAEH,MAAMoB,QAAQ,GAAGnG,OAAO,CAAE,MAAM;IAC/B,OACCkF,aAAA,CAACpE,QAAQ;MACRU,YAAY,EAAG8B,uBAAyB;MACxC0C,gBAAgB,EAAG9C,qBAAuB;MAC1C6C,gBAAgB,EAAG5C,wBAA0B;MAC7CQ,QAAQ,EAAGA;IAAU,GAEnBqB,cAAc,IACfE,aAAA,CAACnE,kBAAkB;MAClBS,YAAY,EAAG8B,uBAAyB;MACxCK,QAAQ,EAAGA,QAAU;MACrBsC,QAAQ,EAAG/C;IAAuB,CAClC,CAEO,CAAC;EAEb,CAAC,EAAE,CACFI,uBAAuB,EACvBK,QAAQ,EACRT,qBAAqB,EACrBC,wBAAwB,EACxB6B,cAAc,CACb,CAAC;;EAEH;EACA7D,UAAU,CAAE4D,gBAAiB,CAAC;EAE9B,MAAMqB,oBAAoB,GAAKb,KAAK,IAAM;IACzC;IACA,IAAKA,KAAK,KAAK,UAAU,EAAG;MAC3BxC,0BAA0B,CAAE,IAAK,CAAC;IACnC;IACAM,cAAc,CAAEkC,KAAM,CAAC;EACxB,CAAC;;EAED;EACA,MAAMc,OAAO,GAAGpG,MAAM,CAAC,CAAC;EACxBC,eAAe,CAAE,MAAM;IACtB,IAAKmG,OAAO,CAACpC,OAAO,EAAG;MACtBF,MAAM,CAACC,qBAAqB,CAAE,MAAM;QACnCqC,OAAO,CAACpC,OAAO,CACbI,aAAa,CAAE,oCAAqC,CAAC,EACpDC,KAAK,CAAC,CAAC;MACX,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,EAAG,CAAC;EAEP,OACCY,aAAA;IACCG,SAAS,EAAGzF,IAAI,CAAE,6BAA6B,EAAE;MAChD,YAAY,EAAEmF,gBAAgB,IAAIC,cAAc;MAChD,aAAa,EAAE1C;IAChB,CAAE,CAAG;IACLD,GAAG,EAAGA;EAAK,GAEX6C,aAAA;IAAKG,SAAS,EAAC;EAAkC,GAChDH,aAAA,CAAChE,YAAY;IACZmB,GAAG,EAAGgE,OAAS;IACfzE,QAAQ,EAAGwE,oBAAsB;IACjClE,OAAO,EAAGA,OAAS;IACnBkB,WAAW,EAAGA;EAAa,GAEzB6B,cAAc,EACd7B,WAAW,KAAK,QAAQ,IACzB,CAAET,kBAAkB,IACpBiD,SAAS,EACRxC,WAAW,KAAK,UAAU,IAC3B,CAAET,kBAAkB,IACpBmD,WAAW,EACV1C,WAAW,KAAK,OAAO,IAAI+C,QAChB,CACV,CAAC,EACJtE,qBAAqB,IAAIe,WAAW,IACrCsC,aAAA,CAAC7E,OAAO;IACPgF,SAAS,EAAC,mDAAmD;IAC7DiB,SAAS,EAAC,aAAa;IACvBC,MAAM,EAAG,EAAI;IACbC,YAAY,EAAG,KAAO;IACtBC,OAAO,EAAG;EAAO,GAEjBvB,aAAA,CAACxE,oBAAoB;IAACgE,IAAI,EAAG9B;EAAa,CAAE,CACpC,CAEN,CAAC;AAER;AAEA,eAAe/C,UAAU,CAAE0B,YAAa,CAAC","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import { createElement } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* External dependencies
|
|
4
4
|
*/
|
|
5
|
-
import
|
|
5
|
+
import clsx from 'clsx';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
@@ -82,7 +82,7 @@ export default function QuickInserter({
|
|
|
82
82
|
maxBlockPatterns = prioritizePatterns ? SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION : SHOWN_BLOCK_PATTERNS;
|
|
83
83
|
}
|
|
84
84
|
return createElement("div", {
|
|
85
|
-
className:
|
|
85
|
+
className: clsx('block-editor-inserter__quick-inserter', {
|
|
86
86
|
'has-search': showSearch,
|
|
87
87
|
'has-expand': setInserterIsOpened
|
|
88
88
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["clsx","useState","useEffect","__","Button","SearchControl","useSelect","InserterSearchResults","useInsertionPoint","usePatternsState","useBlockTypesState","store","blockEditorStore","SEARCH_THRESHOLD","SHOWN_BLOCK_TYPES","SHOWN_BLOCK_PATTERNS","SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION","QuickInserter","onSelect","rootClientId","clientId","isAppender","prioritizePatterns","selectBlockOnInsert","hasSearch","filterValue","setFilterValue","destinationRootClientId","onInsertBlocks","blockTypes","patterns","setInserterIsOpened","insertionIndex","select","getSettings","getBlockIndex","getBlockCount","settings","index","blockCount","__experimentalSetIsInserterOpened","showPatterns","length","showSearch","onBrowseAll","maxBlockPatterns","createElement","className","__nextHasNoMarginBottom","value","onChange","label","placeholder","maxBlockTypes","isDraggable","onClick"],"sources":["@wordpress/block-editor/src/components/inserter/quick-inserter.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button, SearchControl } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport usePatternsState from './hooks/use-patterns-state';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport { store as blockEditorStore } from '../../store';\n\nconst SEARCH_THRESHOLD = 6;\nconst SHOWN_BLOCK_TYPES = 6;\nconst SHOWN_BLOCK_PATTERNS = 2;\nconst SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION = 4;\n\nexport default function QuickInserter( {\n\tonSelect,\n\trootClientId,\n\tclientId,\n\tisAppender,\n\tprioritizePatterns,\n\tselectBlockOnInsert,\n\thasSearch = true,\n} ) {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\tonSelect,\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\tselectBlockOnInsert,\n\t} );\n\tconst [ blockTypes ] = useBlockTypesState(\n\t\tdestinationRootClientId,\n\t\tonInsertBlocks\n\t);\n\n\tconst [ patterns ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\n\tconst { setInserterIsOpened, insertionIndex } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getBlockIndex, getBlockCount } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst settings = getSettings();\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tconst blockCount = getBlockCount();\n\n\t\t\treturn {\n\t\t\t\tsetInserterIsOpened: settings.__experimentalSetIsInserterOpened,\n\t\t\t\tinsertionIndex: index === -1 ? blockCount : index,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst showPatterns =\n\t\tpatterns.length && ( !! filterValue || prioritizePatterns );\n\tconst showSearch =\n\t\thasSearch &&\n\t\t( ( showPatterns && patterns.length > SEARCH_THRESHOLD ) ||\n\t\t\tblockTypes.length > SEARCH_THRESHOLD );\n\n\tuseEffect( () => {\n\t\tif ( setInserterIsOpened ) {\n\t\t\tsetInserterIsOpened( false );\n\t\t}\n\t}, [ setInserterIsOpened ] );\n\n\t// When clicking Browse All select the appropriate block so as\n\t// the insertion point can work as expected.\n\tconst onBrowseAll = () => {\n\t\tsetInserterIsOpened( { rootClientId, insertionIndex, filterValue } );\n\t};\n\n\tlet maxBlockPatterns = 0;\n\tif ( showPatterns ) {\n\t\tmaxBlockPatterns = prioritizePatterns\n\t\t\t? SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION\n\t\t\t: SHOWN_BLOCK_PATTERNS;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx( 'block-editor-inserter__quick-inserter', {\n\t\t\t\t'has-search': showSearch,\n\t\t\t\t'has-expand': setInserterIsOpened,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ showSearch && (\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t} }\n\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<div className=\"block-editor-inserter__quick-inserter-results\">\n\t\t\t\t<InserterSearchResults\n\t\t\t\t\tfilterValue={ filterValue }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\tmaxBlockPatterns={ maxBlockPatterns }\n\t\t\t\t\tmaxBlockTypes={ SHOWN_BLOCK_TYPES }\n\t\t\t\t\tisDraggable={ false }\n\t\t\t\t\tprioritizePatterns={ prioritizePatterns }\n\t\t\t\t\tselectBlockOnInsert={ selectBlockOnInsert }\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t{ setInserterIsOpened && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"block-editor-inserter__quick-inserter-expand\"\n\t\t\t\t\tonClick={ onBrowseAll }\n\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t'Browse all. This will open the main inserter panel in the editor toolbar.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Browse all' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|