@wordpress/block-editor 12.25.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 +9 -3
- package/README.md +6 -0
- 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-inspector/index.js +1 -1
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block.js +4 -4
- 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 +2 -2
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +5 -2
- package/build/components/block-list/use-block-props/index.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-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 -5
- 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-toolbar/index.js +3 -3
- package/build/components/block-toolbar/index.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 +20 -1
- 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/zoom-out-mode-inserters.js +66 -22
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-variation-picker/index.js +2 -2
- package/build/components/block-variation-picker/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/global-styles/background-panel.js +3 -3
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +3 -3
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +4 -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/shadow-panel-components.js +4 -4
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +1 -1
- package/build/components/global-styles/use-global-styles-output.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 +22 -21
- 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 +9 -0
- 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 +5 -3
- package/build/components/inserter/block-types-tab.js.map +1 -1
- 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/media-preview.js +2 -2
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/menu.js +72 -56
- 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 +17 -5
- 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/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-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 +11 -3
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +35 -12
- 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 +2 -2
- 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/media-placeholder/index.js +4 -4
- 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/plain-text/index.js +2 -2
- package/build/components/plain-text/index.js.map +1 -1
- package/build/components/provider/use-block-sync.js +18 -0
- 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/enter.js +33 -42
- package/build/components/rich-text/event-listeners/enter.js.map +1 -1
- package/build/components/rich-text/event-listeners/paste-handler.js +22 -42
- package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
- 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 +9 -2
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +2 -2
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/multiline.js +30 -2
- package/build/components/rich-text/multiline.js.map +1 -1
- package/build/components/segmented-text-control/index.js +2 -2
- package/build/components/segmented-text-control/index.js.map +1 -1
- package/build/components/text-alignment-control/index.js +2 -2
- package/build/components/text-alignment-control/index.js.map +1 -1
- package/build/components/text-decoration-control/index.js +2 -2
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +2 -2
- 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/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-input.js +44 -2
- package/build/components/writing-flow/use-input.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +6 -1
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/components/writing-mode-control/index.js +2 -2
- 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/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 +2 -2
- 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 +4 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +134 -40
- 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 +6 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/selectors.js +4 -1
- package/build/store/selectors.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/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-inspector/index.js +1 -1
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block.js +4 -4
- 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 +2 -2
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +5 -2
- package/build-module/components/block-list/use-block-props/index.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-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 +8 -5
- 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-toolbar/index.js +3 -3
- package/build-module/components/block-toolbar/index.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 +20 -1
- 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/zoom-out-mode-inserters.js +67 -23
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +2 -2
- package/build-module/components/block-variation-picker/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/global-styles/background-panel.js +3 -3
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +3 -3
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +4 -4
- 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/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/use-global-styles-output.js +1 -1
- package/build-module/components/global-styles/use-global-styles-output.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 +22 -21
- 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 +10 -1
- 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 +6 -4
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- 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/media-preview.js +2 -2
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/menu.js +72 -56
- 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 +18 -6
- 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/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-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 +11 -3
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +36 -13
- 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 +2 -2
- 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/media-placeholder/index.js +4 -4
- 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/plain-text/index.js +2 -2
- package/build-module/components/plain-text/index.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +19 -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/enter.js +33 -43
- package/build-module/components/rich-text/event-listeners/enter.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/paste-handler.js +23 -43
- package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
- 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 +9 -2
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +2 -2
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/multiline.js +31 -3
- package/build-module/components/rich-text/multiline.js.map +1 -1
- package/build-module/components/segmented-text-control/index.js +2 -2
- package/build-module/components/segmented-text-control/index.js.map +1 -1
- package/build-module/components/text-alignment-control/index.js +2 -2
- package/build-module/components/text-alignment-control/index.js.map +1 -1
- package/build-module/components/text-decoration-control/index.js +2 -2
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +2 -2
- 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/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-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 +6 -1
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/components/writing-mode-control/index.js +2 -2
- 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/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 +2 -2
- 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 +5 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +136 -42
- 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 +5 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/selectors.js +4 -1
- package/build-module/store/selectors.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 +89 -96
- package/build-style/content.css +89 -96
- package/build-style/style-rtl.css +14 -4
- package/build-style/style.css +14 -4
- 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/block-actions/index.js +5 -1
- package/src/components/block-alignment-control/ui.js +2 -2
- 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-draggable/test/helpers.native.js +8 -8
- package/src/components/block-edit/edit.js +2 -2
- package/src/components/block-icon/index.js +2 -2
- package/src/components/block-inspector/index.js +2 -1
- package/src/components/block-list/block.js +4 -4
- package/src/components/block-list/block.native.js +2 -2
- package/src/components/block-list/content.scss +46 -73
- package/src/components/block-list/index.js +2 -2
- package/src/components/block-list/use-block-props/index.js +4 -2
- 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-patterns-list/index.js +29 -4
- 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-settings-menu/block-settings-dropdown.js +14 -6
- package/src/components/block-settings-menu-controls/index.js +25 -16
- package/src/components/block-styles/index.js +2 -2
- package/src/components/block-toolbar/index.js +3 -3
- 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 +24 -3
- package/src/components/block-tools/insertion-point.js +4 -4
- package/src/components/block-tools/style.scss +8 -0
- package/src/components/block-tools/zoom-out-mode-inserters.js +73 -21
- package/src/components/block-variation-picker/index.js +2 -2
- 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/global-styles/background-panel.js +3 -3
- package/src/components/global-styles/color-panel.js +3 -3
- package/src/components/global-styles/dimensions-panel.js +4 -4
- package/src/components/global-styles/filters-panel.js +2 -2
- 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/use-global-styles-output.js +1 -1
- 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 +19 -17
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -1
- package/src/components/inserter/block-patterns-tab/index.js +17 -1
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -1
- package/src/components/inserter/block-types-tab.js +7 -9
- 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/media-preview.js +2 -2
- package/src/components/inserter/menu.js +113 -107
- package/src/components/inserter/quick-inserter.js +2 -2
- package/src/components/inserter/style.scss +6 -8
- package/src/components/inserter/tabs.js +29 -15
- 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/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-results.js +2 -2
- package/src/components/list-view/block-contents.js +2 -2
- package/src/components/list-view/block-select-button.js +14 -3
- package/src/components/list-view/block.js +54 -30
- package/src/components/list-view/drop-indicator.js +3 -3
- package/src/components/list-view/index.js +2 -2
- package/src/components/list-view/leaf.js +2 -5
- package/src/components/media-placeholder/index.js +4 -4
- package/src/components/media-replace-flow/index.js +2 -2
- package/src/components/plain-text/index.js +2 -2
- package/src/components/provider/use-block-sync.js +27 -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/enter.js +28 -48
- package/src/components/rich-text/event-listeners/paste-handler.js +21 -58
- package/src/components/rich-text/format-toolbar/index.js +2 -2
- package/src/components/rich-text/index.js +10 -3
- package/src/components/rich-text/index.native.js +2 -2
- package/src/components/rich-text/multiline.js +31 -3
- package/src/components/segmented-text-control/index.js +2 -2
- package/src/components/text-alignment-control/index.js +2 -2
- package/src/components/text-decoration-control/index.js +2 -2
- package/src/components/text-transform-control/index.js +2 -2
- 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/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-input.js +75 -1
- package/src/components/writing-flow/use-tab-nav.js +10 -1
- package/src/components/writing-mode-control/index.js +2 -5
- 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/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 +2 -2
- package/src/layouts/grid.js +3 -7
- package/src/private-apis.js +4 -0
- package/src/store/actions.js +225 -70
- package/src/store/private-actions.js +24 -0
- package/src/store/private-keys.js +1 -0
- package/src/store/private-selectors.js +15 -0
- package/src/store/selectors.js +4 -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/rich-text/split-value.js +0 -81
- package/build/components/rich-text/split-value.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/src/components/rich-text/split-value.js +0 -64
|
@@ -8,34 +8,70 @@ import { __ } from '@wordpress/i18n';
|
|
|
8
8
|
/**
|
|
9
9
|
* Internal dependencies
|
|
10
10
|
*/
|
|
11
|
+
import { useSettings } from '../use-settings';
|
|
11
12
|
import { POPOVER_PROPS } from './constants';
|
|
12
13
|
import { useImageEditingContext } from './context';
|
|
13
14
|
|
|
14
|
-
function
|
|
15
|
+
function AspectRatioGroup( {
|
|
16
|
+
aspectRatios,
|
|
17
|
+
isDisabled,
|
|
18
|
+
label,
|
|
19
|
+
onClick,
|
|
20
|
+
value,
|
|
21
|
+
} ) {
|
|
15
22
|
return (
|
|
16
23
|
<MenuGroup label={ label }>
|
|
17
|
-
{ aspectRatios.map( ( {
|
|
24
|
+
{ aspectRatios.map( ( { name, slug, ratio } ) => (
|
|
18
25
|
<MenuItem
|
|
19
|
-
key={
|
|
26
|
+
key={ slug }
|
|
20
27
|
disabled={ isDisabled }
|
|
21
28
|
onClick={ () => {
|
|
22
|
-
onClick(
|
|
29
|
+
onClick( ratio );
|
|
23
30
|
} }
|
|
24
31
|
role="menuitemradio"
|
|
25
|
-
isSelected={
|
|
26
|
-
icon={
|
|
32
|
+
isSelected={ ratio === value }
|
|
33
|
+
icon={ ratio === value ? check : undefined }
|
|
27
34
|
>
|
|
28
|
-
{
|
|
35
|
+
{ name }
|
|
29
36
|
</MenuItem>
|
|
30
37
|
) ) }
|
|
31
38
|
</MenuGroup>
|
|
32
39
|
);
|
|
33
40
|
}
|
|
34
41
|
|
|
42
|
+
export function ratioToNumber( str ) {
|
|
43
|
+
// TODO: support two-value aspect ratio?
|
|
44
|
+
// https://css-tricks.com/almanac/properties/a/aspect-ratio/#aa-it-can-take-two-values
|
|
45
|
+
const [ a, b, ...rest ] = str.split( '/' ).map( Number );
|
|
46
|
+
if (
|
|
47
|
+
a <= 0 ||
|
|
48
|
+
b <= 0 ||
|
|
49
|
+
Number.isNaN( a ) ||
|
|
50
|
+
Number.isNaN( b ) ||
|
|
51
|
+
rest.length
|
|
52
|
+
) {
|
|
53
|
+
return NaN;
|
|
54
|
+
}
|
|
55
|
+
return b ? a / b : a;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function presetRatioAsNumber( { ratio, ...rest } ) {
|
|
59
|
+
return {
|
|
60
|
+
ratio: ratioToNumber( ratio ),
|
|
61
|
+
...rest,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
35
65
|
export default function AspectRatioDropdown( { toggleProps } ) {
|
|
36
66
|
const { isInProgress, aspect, setAspect, defaultAspect } =
|
|
37
67
|
useImageEditingContext();
|
|
38
68
|
|
|
69
|
+
const [ defaultRatios, themeRatios, showDefaultRatios ] = useSettings(
|
|
70
|
+
'dimensions.aspectRatios.default',
|
|
71
|
+
'dimensions.aspectRatios.theme',
|
|
72
|
+
'dimensions.defaultAspectRatios'
|
|
73
|
+
);
|
|
74
|
+
|
|
39
75
|
return (
|
|
40
76
|
<DropdownMenu
|
|
41
77
|
icon={ aspectRatioIcon }
|
|
@@ -46,7 +82,7 @@ export default function AspectRatioDropdown( { toggleProps } ) {
|
|
|
46
82
|
>
|
|
47
83
|
{ ( { onClose } ) => (
|
|
48
84
|
<>
|
|
49
|
-
<
|
|
85
|
+
<AspectRatioGroup
|
|
50
86
|
isDisabled={ isInProgress }
|
|
51
87
|
onClick={ ( newAspect ) => {
|
|
52
88
|
setAspect( newAspect );
|
|
@@ -56,61 +92,57 @@ export default function AspectRatioDropdown( { toggleProps } ) {
|
|
|
56
92
|
aspectRatios={ [
|
|
57
93
|
// All ratios should be mirrored in AspectRatioTool in @wordpress/block-editor.
|
|
58
94
|
{
|
|
59
|
-
|
|
95
|
+
slug: 'original',
|
|
96
|
+
name: __( 'Original' ),
|
|
60
97
|
aspect: defaultAspect,
|
|
61
98
|
},
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
/>
|
|
68
|
-
<AspectGroup
|
|
69
|
-
label={ __( 'Landscape' ) }
|
|
70
|
-
isDisabled={ isInProgress }
|
|
71
|
-
onClick={ ( newAspect ) => {
|
|
72
|
-
setAspect( newAspect );
|
|
73
|
-
onClose();
|
|
74
|
-
} }
|
|
75
|
-
value={ aspect }
|
|
76
|
-
aspectRatios={ [
|
|
77
|
-
{
|
|
78
|
-
title: __( '16:9' ),
|
|
79
|
-
aspect: 16 / 9,
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
title: __( '4:3' ),
|
|
83
|
-
aspect: 4 / 3,
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
title: __( '3:2' ),
|
|
87
|
-
aspect: 3 / 2,
|
|
88
|
-
},
|
|
89
|
-
] }
|
|
90
|
-
/>
|
|
91
|
-
<AspectGroup
|
|
92
|
-
label={ __( 'Portrait' ) }
|
|
93
|
-
isDisabled={ isInProgress }
|
|
94
|
-
onClick={ ( newAspect ) => {
|
|
95
|
-
setAspect( newAspect );
|
|
96
|
-
onClose();
|
|
97
|
-
} }
|
|
98
|
-
value={ aspect }
|
|
99
|
-
aspectRatios={ [
|
|
100
|
-
{
|
|
101
|
-
title: __( '9:16' ),
|
|
102
|
-
aspect: 9 / 16,
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
title: __( '3:4' ),
|
|
106
|
-
aspect: 3 / 4,
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
title: __( '2:3' ),
|
|
110
|
-
aspect: 2 / 3,
|
|
111
|
-
},
|
|
99
|
+
...( showDefaultRatios
|
|
100
|
+
? defaultRatios
|
|
101
|
+
.map( presetRatioAsNumber )
|
|
102
|
+
.filter( ( { ratio } ) => ratio === 1 )
|
|
103
|
+
: [] ),
|
|
112
104
|
] }
|
|
113
105
|
/>
|
|
106
|
+
{ themeRatios?.length > 0 && (
|
|
107
|
+
<AspectRatioGroup
|
|
108
|
+
label={ __( 'Theme' ) }
|
|
109
|
+
isDisabled={ isInProgress }
|
|
110
|
+
onClick={ ( newAspect ) => {
|
|
111
|
+
setAspect( newAspect );
|
|
112
|
+
onClose();
|
|
113
|
+
} }
|
|
114
|
+
value={ aspect }
|
|
115
|
+
aspectRatios={ themeRatios }
|
|
116
|
+
/>
|
|
117
|
+
) }
|
|
118
|
+
{ showDefaultRatios && (
|
|
119
|
+
<AspectRatioGroup
|
|
120
|
+
label={ __( 'Landscape' ) }
|
|
121
|
+
isDisabled={ isInProgress }
|
|
122
|
+
onClick={ ( newAspect ) => {
|
|
123
|
+
setAspect( newAspect );
|
|
124
|
+
onClose();
|
|
125
|
+
} }
|
|
126
|
+
value={ aspect }
|
|
127
|
+
aspectRatios={ defaultRatios
|
|
128
|
+
.map( presetRatioAsNumber )
|
|
129
|
+
.filter( ( { ratio } ) => ratio > 1 ) }
|
|
130
|
+
/>
|
|
131
|
+
) }
|
|
132
|
+
{ showDefaultRatios && (
|
|
133
|
+
<AspectRatioGroup
|
|
134
|
+
label={ __( 'Portrait' ) }
|
|
135
|
+
isDisabled={ isInProgress }
|
|
136
|
+
onClick={ ( newAspect ) => {
|
|
137
|
+
setAspect( newAspect );
|
|
138
|
+
onClose();
|
|
139
|
+
} }
|
|
140
|
+
value={ aspect }
|
|
141
|
+
aspectRatios={ defaultRatios
|
|
142
|
+
.map( presetRatioAsNumber )
|
|
143
|
+
.filter( ( { ratio } ) => ratio < 1 ) }
|
|
144
|
+
/>
|
|
145
|
+
) }
|
|
114
146
|
</>
|
|
115
147
|
) }
|
|
116
148
|
</DropdownMenu>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import Cropper from 'react-easy-crop';
|
|
5
|
-
import
|
|
5
|
+
import clsx from 'clsx';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
@@ -47,7 +47,7 @@ export default function ImageCropper( {
|
|
|
47
47
|
|
|
48
48
|
const area = (
|
|
49
49
|
<div
|
|
50
|
-
className={
|
|
50
|
+
className={ clsx(
|
|
51
51
|
'wp-block-image__crop-area',
|
|
52
52
|
borderProps?.className,
|
|
53
53
|
{
|
|
@@ -6,11 +6,11 @@ import { ToolbarGroup, ToolbarItem } from '@wordpress/components';
|
|
|
6
6
|
/**
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
9
|
+
import AspectRatioDropdown from './aspect-ratio-dropdown';
|
|
9
10
|
import BlockControls from '../block-controls';
|
|
10
11
|
import ImageEditingProvider from './context';
|
|
11
12
|
import Cropper from './cropper';
|
|
12
13
|
import ZoomDropdown from './zoom-dropdown';
|
|
13
|
-
import AspectRatioDropdown from './aspect-ratio-dropdown';
|
|
14
14
|
import RotationButton from './rotation-button';
|
|
15
15
|
import FormControls from './form-controls';
|
|
16
16
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { ratioToNumber } from '../aspect-ratio-dropdown';
|
|
5
|
+
|
|
6
|
+
test( 'ratioToNumber', () => {
|
|
7
|
+
expect( ratioToNumber( '1/1' ) ).toBe( 1 );
|
|
8
|
+
expect( ratioToNumber( '1' ) ).toBe( 1 );
|
|
9
|
+
expect( ratioToNumber( '11/11' ) ).toBe( 1 );
|
|
10
|
+
expect( ratioToNumber( '16/9' ) ).toBe( 16 / 9 );
|
|
11
|
+
expect( ratioToNumber( '4/3' ) ).toBe( 4 / 3 );
|
|
12
|
+
expect( ratioToNumber( '3/2' ) ).toBe( 3 / 2 );
|
|
13
|
+
expect( ratioToNumber( '2/1' ) ).toBe( 2 );
|
|
14
|
+
expect( ratioToNumber( '1/2' ) ).toBe( 1 / 2 );
|
|
15
|
+
expect( ratioToNumber( '2/3' ) ).toBe( 2 / 3 );
|
|
16
|
+
expect( ratioToNumber( '3/4' ) ).toBe( 3 / 4 );
|
|
17
|
+
expect( ratioToNumber( '9/16' ) ).toBe( 9 / 16 );
|
|
18
|
+
expect( ratioToNumber( '1/16' ) ).toBe( 1 / 16 );
|
|
19
|
+
expect( ratioToNumber( '16/1' ) ).toBe( 16 );
|
|
20
|
+
expect( ratioToNumber( '1/9' ) ).toBe( 1 / 9 );
|
|
21
|
+
expect( ratioToNumber( 'auto' ) ).toBe( NaN );
|
|
22
|
+
} );
|
package/src/components/index.js
CHANGED
|
@@ -160,6 +160,7 @@ export {
|
|
|
160
160
|
export { default as __experimentalBlockPatternsList } from './block-patterns-list';
|
|
161
161
|
export { default as __experimentalPublishDateTimePicker } from './publish-date-time-picker';
|
|
162
162
|
export { default as __experimentalInspectorPopoverHeader } from './inspector-popover-header';
|
|
163
|
+
export { default as BlockPopover } from './block-popover';
|
|
163
164
|
export { useBlockEditingMode } from './block-editing-mode';
|
|
164
165
|
|
|
165
166
|
/*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import
|
|
4
|
+
import clsx from 'clsx';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Internal dependencies
|
|
@@ -18,7 +18,7 @@ export const ButtonBlockAppender = ( {
|
|
|
18
18
|
} ) => {
|
|
19
19
|
return (
|
|
20
20
|
<BaseButtonBlockAppender
|
|
21
|
-
className={
|
|
21
|
+
className={ clsx( {
|
|
22
22
|
'block-list-appender__toggle': isToggle,
|
|
23
23
|
} ) }
|
|
24
24
|
rootClientId={ clientId }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import
|
|
4
|
+
import clsx from 'clsx';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
@@ -190,10 +190,6 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
|
|
|
190
190
|
} = useBlockEditContext();
|
|
191
191
|
const selected = useSelect(
|
|
192
192
|
( select ) => {
|
|
193
|
-
if ( ! clientId ) {
|
|
194
|
-
return {};
|
|
195
|
-
}
|
|
196
|
-
|
|
197
193
|
const {
|
|
198
194
|
getBlockName,
|
|
199
195
|
isBlockSelected,
|
|
@@ -205,8 +201,19 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
|
|
|
205
201
|
getBlockSettings,
|
|
206
202
|
isDragging,
|
|
207
203
|
getSettings,
|
|
208
|
-
getBlockOrder,
|
|
209
204
|
} = unlock( select( blockEditorStore ) );
|
|
205
|
+
let _isDropZoneDisabled;
|
|
206
|
+
// In zoom out mode, we want to disable the drop zone for the sections.
|
|
207
|
+
// The inner blocks belonging to the section drop zone is
|
|
208
|
+
// already disabled by the blocks themselves being disabled.
|
|
209
|
+
if ( __unstableGetEditorMode() === 'zoom-out' ) {
|
|
210
|
+
const { sectionRootClientId } = unlock( getSettings() );
|
|
211
|
+
_isDropZoneDisabled = clientId !== sectionRootClientId;
|
|
212
|
+
}
|
|
213
|
+
if ( ! clientId ) {
|
|
214
|
+
return { isDropZoneDisabled: _isDropZoneDisabled };
|
|
215
|
+
}
|
|
216
|
+
|
|
210
217
|
const { hasBlockSupport, getBlockType } = select( blocksStore );
|
|
211
218
|
const blockName = getBlockName( clientId );
|
|
212
219
|
const enableClickThrough =
|
|
@@ -215,14 +222,8 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
|
|
|
215
222
|
const parentClientId = getBlockRootClientId( clientId );
|
|
216
223
|
const [ defaultLayout ] = getBlockSettings( clientId, 'layout' );
|
|
217
224
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
// already disabled by the blocks themselves being disabled.
|
|
221
|
-
let _isDropZoneDisabled = blockEditingMode === 'disabled';
|
|
222
|
-
if ( __unstableGetEditorMode() === 'zoom-out' ) {
|
|
223
|
-
const { sectionRootClientId } = unlock( getSettings() );
|
|
224
|
-
const sectionsClientIds = getBlockOrder( sectionRootClientId );
|
|
225
|
-
_isDropZoneDisabled = sectionsClientIds?.includes( clientId );
|
|
225
|
+
if ( _isDropZoneDisabled !== undefined ) {
|
|
226
|
+
_isDropZoneDisabled = blockEditingMode === 'disabled';
|
|
226
227
|
}
|
|
227
228
|
|
|
228
229
|
return {
|
|
@@ -262,12 +263,13 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
|
|
|
262
263
|
dropZoneElement,
|
|
263
264
|
rootClientId: clientId,
|
|
264
265
|
parentClientId,
|
|
265
|
-
isDisabled: isDropZoneDisabled,
|
|
266
266
|
} );
|
|
267
267
|
|
|
268
268
|
const ref = useMergeRefs( [
|
|
269
269
|
props.ref,
|
|
270
|
-
__unstableDisableDropZone
|
|
270
|
+
__unstableDisableDropZone || isDropZoneDisabled
|
|
271
|
+
? null
|
|
272
|
+
: blockDropZoneRef,
|
|
271
273
|
] );
|
|
272
274
|
|
|
273
275
|
const innerBlocksProps = {
|
|
@@ -287,7 +289,7 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
|
|
|
287
289
|
return {
|
|
288
290
|
...props,
|
|
289
291
|
ref,
|
|
290
|
-
className:
|
|
292
|
+
className: clsx(
|
|
291
293
|
props.className,
|
|
292
294
|
'block-editor-block-list__layout',
|
|
293
295
|
__unstableDisableLayoutClassNames ? '' : layoutClassNames,
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { useState } from '@wordpress/element';
|
|
5
5
|
import { useViewportMatch } from '@wordpress/compose';
|
|
6
|
-
import { Button } from '@wordpress/components';
|
|
6
|
+
import { Button, Spinner } from '@wordpress/components';
|
|
7
7
|
import { __ } from '@wordpress/i18n';
|
|
8
|
+
import { useSelect } from '@wordpress/data';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Internal dependencies
|
|
@@ -15,6 +16,8 @@ import { PatternCategoryPreviews } from './pattern-category-previews';
|
|
|
15
16
|
import { usePatternCategories } from './use-pattern-categories';
|
|
16
17
|
import CategoryTabs from '../category-tabs';
|
|
17
18
|
import InserterNoResults from '../no-results';
|
|
19
|
+
import { store as blockEditorStore } from '../../../store';
|
|
20
|
+
import { unlock } from '../../../lock-unlock';
|
|
18
21
|
|
|
19
22
|
function BlockPatternsTab( {
|
|
20
23
|
onSelectCategory,
|
|
@@ -28,6 +31,19 @@ function BlockPatternsTab( {
|
|
|
28
31
|
const categories = usePatternCategories( rootClientId );
|
|
29
32
|
|
|
30
33
|
const isMobile = useViewportMatch( 'medium', '<' );
|
|
34
|
+
const isResolvingPatterns = useSelect(
|
|
35
|
+
( select ) =>
|
|
36
|
+
unlock( select( blockEditorStore ) ).isResolvingPatterns(),
|
|
37
|
+
[]
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
if ( isResolvingPatterns ) {
|
|
41
|
+
return (
|
|
42
|
+
<div className="block-editor-inserter__patterns-loading">
|
|
43
|
+
<Spinner />
|
|
44
|
+
</div>
|
|
45
|
+
);
|
|
46
|
+
}
|
|
31
47
|
|
|
32
48
|
if ( ! categories.length ) {
|
|
33
49
|
return <InserterNoResults />;
|
|
@@ -44,7 +44,8 @@ export function PatternCategoryPreviews( {
|
|
|
44
44
|
} ) {
|
|
45
45
|
const [ allPatterns, , onClickPattern ] = usePatternsState(
|
|
46
46
|
onInsert,
|
|
47
|
-
rootClientId
|
|
47
|
+
rootClientId,
|
|
48
|
+
category?.name
|
|
48
49
|
);
|
|
49
50
|
const [ patternSyncFilter, setPatternSyncFilter ] = useState( 'all' );
|
|
50
51
|
const [ patternSourceFilter, setPatternSourceFilter ] = useState( 'all' );
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { __, _x } from '@wordpress/i18n';
|
|
5
|
-
import { useMemo, useEffect } from '@wordpress/element';
|
|
5
|
+
import { useMemo, useEffect, forwardRef } from '@wordpress/element';
|
|
6
6
|
import { pipe, useAsyncList } from '@wordpress/compose';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -27,12 +27,10 @@ const MAX_SUGGESTED_ITEMS = 6;
|
|
|
27
27
|
*/
|
|
28
28
|
const EMPTY_ARRAY = [];
|
|
29
29
|
|
|
30
|
-
export function BlockTypesTab(
|
|
31
|
-
rootClientId,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
showMostUsedBlocks,
|
|
35
|
-
} ) {
|
|
30
|
+
export function BlockTypesTab(
|
|
31
|
+
{ rootClientId, onInsert, onHover, showMostUsedBlocks },
|
|
32
|
+
ref
|
|
33
|
+
) {
|
|
36
34
|
const [ items, categories, collections, onSelectItem ] = useBlockTypesState(
|
|
37
35
|
rootClientId,
|
|
38
36
|
onInsert
|
|
@@ -109,7 +107,7 @@ export function BlockTypesTab( {
|
|
|
109
107
|
|
|
110
108
|
return (
|
|
111
109
|
<InserterListbox>
|
|
112
|
-
<div>
|
|
110
|
+
<div ref={ ref }>
|
|
113
111
|
{ showMostUsedBlocks && !! suggestedItems.length && (
|
|
114
112
|
<InserterPanel title={ _x( 'Most used', 'blocks' ) }>
|
|
115
113
|
<BlockTypesList
|
|
@@ -184,4 +182,4 @@ export function BlockTypesTab( {
|
|
|
184
182
|
);
|
|
185
183
|
}
|
|
186
184
|
|
|
187
|
-
export default BlockTypesTab;
|
|
185
|
+
export default forwardRef( BlockTypesTab );
|
|
@@ -11,6 +11,7 @@ import { useCallback } from '@wordpress/element';
|
|
|
11
11
|
* Internal dependencies
|
|
12
12
|
*/
|
|
13
13
|
import { store as blockEditorStore } from '../../../store';
|
|
14
|
+
import { unlock } from '../../../lock-unlock';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* @typedef WPInserterConfig
|
|
@@ -86,10 +87,23 @@ function useInsertionPoint( {
|
|
|
86
87
|
insertBlocks,
|
|
87
88
|
showInsertionPoint,
|
|
88
89
|
hideInsertionPoint,
|
|
89
|
-
|
|
90
|
+
setLastFocus,
|
|
91
|
+
} = unlock( useDispatch( blockEditorStore ) );
|
|
90
92
|
|
|
91
93
|
const onInsertBlocks = useCallback(
|
|
92
94
|
( blocks, meta, shouldForceFocusBlock = false ) => {
|
|
95
|
+
// When we are trying to move focus or select a new block on insert, we also
|
|
96
|
+
// need to clear the last focus to avoid the focus being set to the wrong block
|
|
97
|
+
// when tabbing back into the canvas if the block was added from outside the
|
|
98
|
+
// editor canvas.
|
|
99
|
+
if (
|
|
100
|
+
shouldForceFocusBlock ||
|
|
101
|
+
shouldFocusBlock ||
|
|
102
|
+
selectBlockOnInsert
|
|
103
|
+
) {
|
|
104
|
+
setLastFocus( null );
|
|
105
|
+
}
|
|
106
|
+
|
|
93
107
|
const selectedBlock = getSelectedBlock();
|
|
94
108
|
|
|
95
109
|
if (
|
|
@@ -16,12 +16,13 @@ import { INSERTER_PATTERN_TYPES } from '../block-patterns-tab/utils';
|
|
|
16
16
|
/**
|
|
17
17
|
* Retrieves the block patterns inserter state.
|
|
18
18
|
*
|
|
19
|
-
* @param {Function} onInsert
|
|
20
|
-
* @param {string=} rootClientId
|
|
19
|
+
* @param {Function} onInsert function called when inserter a list of blocks.
|
|
20
|
+
* @param {string=} rootClientId Insertion's root client ID.
|
|
21
21
|
*
|
|
22
|
+
* @param {string} selectedCategory The selected pattern category.
|
|
22
23
|
* @return {Array} Returns the patterns state. (patterns, categories, onSelect handler)
|
|
23
24
|
*/
|
|
24
|
-
const usePatternsState = ( onInsert, rootClientId ) => {
|
|
25
|
+
const usePatternsState = ( onInsert, rootClientId, selectedCategory ) => {
|
|
25
26
|
const { patternCategories, patterns, userPatternCategories } = useSelect(
|
|
26
27
|
( select ) => {
|
|
27
28
|
const { __experimentalGetAllowedPatterns, getSettings } =
|
|
@@ -63,7 +64,19 @@ const usePatternsState = ( onInsert, rootClientId ) => {
|
|
|
63
64
|
? [ createBlock( 'core/block', { ref: pattern.id } ) ]
|
|
64
65
|
: blocks;
|
|
65
66
|
onInsert(
|
|
66
|
-
( patternBlocks ?? [] ).map( ( block ) =>
|
|
67
|
+
( patternBlocks ?? [] ).map( ( block ) => {
|
|
68
|
+
const clonedBlock = cloneBlock( block );
|
|
69
|
+
if (
|
|
70
|
+
clonedBlock.attributes.metadata?.categories?.includes(
|
|
71
|
+
selectedCategory
|
|
72
|
+
)
|
|
73
|
+
) {
|
|
74
|
+
clonedBlock.attributes.metadata.categories = [
|
|
75
|
+
selectedCategory,
|
|
76
|
+
];
|
|
77
|
+
}
|
|
78
|
+
return clonedBlock;
|
|
79
|
+
} ),
|
|
67
80
|
pattern.name
|
|
68
81
|
);
|
|
69
82
|
createSuccessNotice(
|
|
@@ -78,7 +91,7 @@ const usePatternsState = ( onInsert, rootClientId ) => {
|
|
|
78
91
|
}
|
|
79
92
|
);
|
|
80
93
|
},
|
|
81
|
-
[ createSuccessNotice, onInsert ]
|
|
94
|
+
[ createSuccessNotice, onInsert, selectedCategory ]
|
|
82
95
|
);
|
|
83
96
|
|
|
84
97
|
return [ patterns, allCategories, onClickPattern ];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import
|
|
4
|
+
import clsx from 'clsx';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
@@ -207,10 +207,9 @@ class PrivateInserter extends Component {
|
|
|
207
207
|
return (
|
|
208
208
|
<Dropdown
|
|
209
209
|
className="block-editor-inserter"
|
|
210
|
-
contentClassName={
|
|
211
|
-
'
|
|
212
|
-
|
|
213
|
-
) }
|
|
210
|
+
contentClassName={ clsx( 'block-editor-inserter__popover', {
|
|
211
|
+
'is-quick': isQuick,
|
|
212
|
+
} ) }
|
|
214
213
|
popoverProps={ { position, shift: true } }
|
|
215
214
|
onToggle={ this.onToggle }
|
|
216
215
|
expandOnMobile
|
|
@@ -20,10 +20,13 @@ function InserterLibrary(
|
|
|
20
20
|
showInserterHelpPanel,
|
|
21
21
|
showMostUsedBlocks = false,
|
|
22
22
|
__experimentalInsertionIndex,
|
|
23
|
+
__experimentalInitialTab,
|
|
24
|
+
__experimentalInitialCategory,
|
|
23
25
|
__experimentalFilterValue,
|
|
24
26
|
__experimentalOnPatternCategorySelection,
|
|
25
27
|
onSelect = noop,
|
|
26
28
|
shouldFocusBlock = false,
|
|
29
|
+
onClose,
|
|
27
30
|
},
|
|
28
31
|
ref
|
|
29
32
|
) {
|
|
@@ -52,8 +55,11 @@ function InserterLibrary(
|
|
|
52
55
|
__experimentalOnPatternCategorySelection={
|
|
53
56
|
__experimentalOnPatternCategorySelection
|
|
54
57
|
}
|
|
58
|
+
__experimentalInitialTab={ __experimentalInitialTab }
|
|
59
|
+
__experimentalInitialCategory={ __experimentalInitialCategory }
|
|
55
60
|
shouldFocusBlock={ shouldFocusBlock }
|
|
56
61
|
ref={ ref }
|
|
62
|
+
onClose={ onClose }
|
|
57
63
|
/>
|
|
58
64
|
);
|
|
59
65
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import
|
|
4
|
+
import clsx from 'clsx';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
@@ -222,7 +222,7 @@ export function MediaPreview( { media, onClick, category } ) {
|
|
|
222
222
|
<InserterDraggableBlocks isEnabled blocks={ [ block ] }>
|
|
223
223
|
{ ( { draggable, onDragStart, onDragEnd } ) => (
|
|
224
224
|
<div
|
|
225
|
-
className={
|
|
225
|
+
className={ clsx(
|
|
226
226
|
'block-editor-inserter__media-list__list-item',
|
|
227
227
|
{
|
|
228
228
|
'is-hovered': isHovered,
|