@wordpress/block-editor 9.8.1-next.957ca95e4c.0 → 10.0.1
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 +6 -0
- package/README.md +13 -1
- package/build/components/alignment-control/ui.js +6 -5
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/autocomplete/index.js +2 -2
- package/build/components/autocomplete/index.js.map +1 -1
- package/build/components/block-actions/index.js +5 -9
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +5 -5
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-content-overlay/index.js +2 -4
- package/build/components/block-content-overlay/index.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.js +2 -1
- package/build/components/block-draggable/draggable-chip.js.map +1 -1
- package/build/components/block-edit/edit.js +1 -1
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-inspector/index.js +125 -17
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-list-compact.native.js +2 -1
- package/build/components/block-list/block-list-compact.native.js.map +1 -1
- package/build/components/block-list/block.js +40 -9
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/index.js +4 -4
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +14 -11
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-class-names.js +3 -2
- package/build/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +3 -9
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-is-hovered.js +1 -2
- package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +7 -12
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-list-appender/index.js +20 -21
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-list-appender/index.native.js +1 -7
- package/build/components/block-list-appender/index.native.js.map +1 -1
- package/build/components/block-lock/use-block-lock.js +3 -1
- package/build/components/block-lock/use-block-lock.js.map +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js +20 -10
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build/components/block-mover/button.js +4 -6
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +4 -6
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-mover/index.native.js +24 -8
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-popover/inbetween.js +82 -52
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +31 -7
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/auto.js +4 -2
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +3 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +3 -1
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/preview-panel.js +7 -1
- package/build/components/block-styles/preview-panel.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.js +114 -25
- package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build/components/block-toolbar/index.js +9 -8
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +3 -2
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +13 -5
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/index.js +33 -15
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +4 -9
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +9 -8
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/block-tools/use-block-toolbar-popover-props.js +13 -8
- package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +71 -0
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -0
- package/build/components/block-vertical-alignment-control/ui.js +5 -2
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +5 -6
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +1 -1
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.js +8 -3
- package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build/components/iframe/index.js +31 -4
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/inner-blocks/default-block-appender.js +1 -7
- package/build/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +9 -3
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/use-inner-block-template-sync.js +28 -17
- package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +28 -4
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/index.js +3 -6
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/library.js +14 -3
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/menu.js +21 -8
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/preview-panel.js +1 -1
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter/tabs.js +11 -4
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/link-control/link-preview.js +1 -1
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-input.js +6 -3
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/search-item.js +36 -5
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/list-view/block.js +23 -11
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +19 -2
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +30 -28
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/index.js +8 -4
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +0 -1
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/provider/use-block-sync.js +1 -7
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/publish-date-time-picker/index.js +1 -1
- package/build/components/publish-date-time-picker/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +9 -9
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/index.js +31 -21
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +11 -20
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/spacing-sizes-control/linked-button.js +2 -3
- package/build/components/spacing-sizes-control/linked-button.js.map +1 -1
- package/build/components/spacing-sizes-control/utils.js +1 -4
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/text-decoration-control/index.js +19 -15
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +25 -17
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/tool-selector/index.js +6 -11
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +6 -4
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/url-popover/index.js +1 -1
- package/build/components/url-popover/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +7 -4
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-moving-animation/index.js +9 -28
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/writing-flow/use-select-all.js +1 -7
- package/build/components/writing-flow/use-select-all.js.map +1 -1
- package/build/hooks/align.js +14 -2
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/color-panel.js +2 -1
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/content-lock-ui.js +145 -0
- package/build/hooks/content-lock-ui.js.map +1 -0
- package/build/hooks/duotone.js +8 -1
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/index.js +14 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/layout.js +11 -9
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/metadata-name.js +55 -0
- package/build/hooks/metadata-name.js.map +1 -0
- package/build/hooks/metadata.js +65 -0
- package/build/hooks/metadata.js.map +1 -0
- package/build/hooks/typography.js +10 -11
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/use-typography-props.js +51 -0
- package/build/hooks/use-typography-props.js.map +1 -0
- package/build/hooks/utils.js +3 -1
- package/build/hooks/utils.js.map +1 -1
- package/build/index.js +7 -0
- package/build/index.js.map +1 -1
- package/build/layouts/constrained.js +59 -20
- package/build/layouts/constrained.js.map +1 -1
- package/build/store/actions.js +65 -21
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +43 -19
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +96 -10
- package/build/store/selectors.js.map +1 -1
- package/build/utils/parse-css-unit-to-px.js +1 -1
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +6 -5
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/autocomplete/index.js +2 -2
- package/build-module/components/autocomplete/index.js.map +1 -1
- package/build-module/components/block-actions/index.js +5 -8
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +5 -5
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-content-overlay/index.js +2 -4
- package/build-module/components/block-content-overlay/index.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.js +2 -1
- package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
- package/build-module/components/block-edit/edit.js +1 -1
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-inspector/index.js +127 -19
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-list-compact.native.js +2 -1
- package/build-module/components/block-list/block-list-compact.native.js.map +1 -1
- package/build-module/components/block-list/block.js +41 -9
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/index.js +4 -4
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +13 -11
- 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-class-names.js +3 -2
- package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +3 -8
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-is-hovered.js +1 -2
- package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +7 -12
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-list-appender/index.js +20 -20
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.native.js +1 -6
- package/build-module/components/block-list-appender/index.native.js.map +1 -1
- package/build-module/components/block-lock/use-block-lock.js +3 -1
- package/build-module/components/block-lock/use-block-lock.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +20 -9
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build-module/components/block-mover/button.js +4 -5
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +4 -5
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +24 -7
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +83 -53
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +31 -7
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js +4 -2
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +3 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +3 -1
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/preview-panel.js +6 -1
- package/build-module/components/block-styles/preview-panel.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.js +115 -27
- package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +9 -8
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +3 -2
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +12 -5
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/index.js +30 -15
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +4 -9
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +9 -8
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/block-tools/use-block-toolbar-popover-props.js +13 -8
- package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +59 -0
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -0
- package/build-module/components/block-vertical-alignment-control/ui.js +5 -2
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +5 -6
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +1 -1
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js +8 -3
- package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build-module/components/iframe/index.js +32 -5
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/inner-blocks/default-block-appender.js +1 -6
- package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +9 -3
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js +28 -17
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +28 -4
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inserter/index.js +3 -6
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/library.js +14 -3
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/menu.js +20 -8
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +1 -1
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter/tabs.js +11 -4
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +1 -1
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-input.js +6 -2
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/search-item.js +37 -6
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/list-view/block.js +23 -11
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +19 -3
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +30 -28
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/index.js +8 -4
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +0 -1
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +1 -6
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/publish-date-time-picker/index.js +1 -1
- package/build-module/components/publish-date-time-picker/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +10 -10
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/index.js +31 -20
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +11 -18
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/spacing-sizes-control/linked-button.js +2 -3
- package/build-module/components/spacing-sizes-control/linked-button.js.map +1 -1
- package/build-module/components/spacing-sizes-control/utils.js +1 -4
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/text-decoration-control/index.js +21 -16
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +28 -20
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/tool-selector/index.js +6 -11
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +6 -4
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/url-popover/index.js +1 -1
- package/build-module/components/url-popover/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +7 -4
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +9 -28
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/writing-flow/use-select-all.js +1 -6
- package/build-module/components/writing-flow/use-select-all.js.map +1 -1
- package/build-module/hooks/align.js +12 -2
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/color-panel.js +2 -1
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +128 -0
- package/build-module/hooks/content-lock-ui.js.map +1 -0
- package/build-module/hooks/duotone.js +6 -1
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/index.js +4 -0
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/layout.js +11 -9
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/metadata-name.js +45 -0
- package/build-module/hooks/metadata-name.js.map +1 -0
- package/build-module/hooks/metadata.js +50 -0
- package/build-module/hooks/metadata.js.map +1 -0
- package/build-module/hooks/typography.js +10 -11
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +38 -0
- package/build-module/hooks/use-typography-props.js.map +1 -0
- package/build-module/hooks/utils.js +4 -2
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/layouts/constrained.js +61 -22
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/store/actions.js +58 -20
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +41 -19
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +81 -10
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/parse-css-unit-to-px.js +1 -1
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-style/style-rtl.css +142 -46
- package/build-style/style.css +142 -46
- package/package.json +28 -28
- package/src/components/alignment-control/test/__snapshots__/index.js.snap +137 -108
- package/src/components/alignment-control/test/index.js +124 -33
- package/src/components/alignment-control/ui.js +8 -3
- package/src/components/autocomplete/index.js +2 -5
- package/src/components/block-actions/index.js +9 -8
- package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +108 -65
- package/src/components/block-alignment-control/test/index.js +95 -31
- package/src/components/block-alignment-control/ui.js +2 -2
- package/src/components/block-compare/test/__snapshots__/block-view.js.snap +28 -26
- package/src/components/block-compare/test/block-view.js +3 -3
- package/src/components/block-content-overlay/index.js +2 -6
- package/src/components/block-content-overlay/style.scss +24 -3
- package/src/components/block-draggable/draggable-chip.js +4 -1
- package/src/components/block-edit/edit.js +5 -1
- package/src/components/block-edit/test/edit.js +23 -21
- package/src/components/block-icon/test/__snapshots__/index.js.snap +22 -0
- package/src/components/block-icon/test/index.js +31 -16
- package/src/components/block-inspector/index.js +126 -12
- package/src/components/block-inspector/style.scss +7 -1
- package/src/components/block-list/block-list-compact.native.js +1 -1
- package/src/components/block-list/block.js +53 -13
- package/src/components/block-list/index.js +4 -4
- package/src/components/block-list/style.scss +57 -11
- package/src/components/block-list/test/block-list-context.native.js +11 -13
- package/src/components/block-list/use-block-props/index.js +10 -10
- package/src/components/block-list/use-block-props/use-block-class-names.js +4 -1
- package/src/components/block-list/use-block-props/use-focus-first-element.js +3 -8
- package/src/components/block-list/use-block-props/use-is-hovered.js +2 -2
- package/src/components/block-list/use-in-between-inserter.js +11 -13
- package/src/components/block-list-appender/index.js +27 -18
- package/src/components/block-list-appender/index.native.js +3 -6
- package/src/components/block-lock/use-block-lock.js +2 -0
- package/src/components/block-mobile-toolbar/block-actions-menu.native.js +15 -9
- package/src/components/block-mover/button.js +6 -5
- package/src/components/block-mover/index.js +8 -7
- package/src/components/block-mover/index.native.js +20 -13
- package/src/components/block-popover/inbetween.js +124 -62
- package/src/components/block-popover/index.js +47 -8
- package/src/components/block-popover/style.scss +3 -4
- package/src/components/block-preview/auto.js +4 -2
- package/src/components/block-settings-menu/block-settings-dropdown.js +4 -0
- package/src/components/block-settings-menu-controls/README.md +9 -0
- package/src/components/block-settings-menu-controls/index.js +13 -2
- package/src/components/block-styles/preview-panel.js +3 -0
- package/src/components/block-switcher/block-transformations-menu.js +127 -33
- package/src/components/block-switcher/style.scss +4 -2
- package/src/components/block-title/test/index.js +28 -25
- package/src/components/block-toolbar/index.js +27 -17
- package/src/components/block-tools/block-contextual-toolbar.js +10 -3
- package/src/components/block-tools/block-selection-button.js +35 -16
- package/src/components/block-tools/index.js +40 -24
- package/src/components/block-tools/insertion-point.js +3 -7
- package/src/components/block-tools/selected-block-popover.js +9 -7
- package/src/components/block-tools/style.scss +5 -0
- package/src/components/block-tools/use-block-toolbar-popover-props.js +19 -6
- package/src/components/block-tools/zoom-out-mode-inserters.js +57 -0
- package/src/components/block-vertical-alignment-control/test/__snapshots__/index.js.snap +91 -51
- package/src/components/block-vertical-alignment-control/test/index.js +92 -23
- package/src/components/block-vertical-alignment-control/ui.js +3 -2
- package/src/components/border-radius-control/linked-button.js +12 -11
- package/src/components/color-palette/test/__snapshots__/control.js.snap +3 -12
- package/src/components/colors/test/with-colors.js +37 -12
- package/src/components/colors-gradients/dropdown.js +1 -1
- package/src/components/contrast-checker/test/index.js +135 -116
- package/src/components/convert-to-group-buttons/toolbar.js +6 -2
- package/src/components/default-block-appender/test/__snapshots__/index.js.snap +39 -57
- package/src/components/default-block-appender/test/index.js +32 -18
- package/src/components/font-sizes/README.MD +9 -0
- package/src/components/iframe/index.js +64 -5
- package/src/components/inner-blocks/README.md +2 -1
- package/src/components/inner-blocks/default-block-appender.js +1 -6
- package/src/components/inner-blocks/index.js +10 -2
- package/src/components/inner-blocks/use-inner-block-template-sync.js +40 -25
- package/src/components/inner-blocks/use-nested-settings-update.js +32 -3
- package/src/components/inserter/index.js +2 -8
- package/src/components/inserter/library.js +11 -5
- package/src/components/inserter/menu.js +42 -29
- package/src/components/inserter/preview-panel.js +1 -1
- package/src/components/inserter/stories/fixtures.js +44 -0
- package/src/components/inserter/stories/index.js +90 -0
- package/src/components/inserter/style.scss +21 -27
- package/src/components/inserter/tabs.js +8 -4
- package/src/components/link-control/link-preview.js +5 -3
- package/src/components/link-control/search-input.js +2 -2
- package/src/components/link-control/search-item.js +39 -7
- package/src/components/list-view/block.js +29 -10
- package/src/components/list-view/branch.js +27 -4
- package/src/components/list-view/drop-indicator.js +33 -32
- package/src/components/list-view/index.js +8 -3
- package/src/components/list-view/use-block-selection.js +0 -1
- package/src/components/media-placeholder/test/index.js +2 -2
- package/src/components/media-replace-flow/README.md +1 -1
- package/src/components/provider/use-block-sync.js +3 -6
- package/src/components/publish-date-time-picker/index.js +1 -1
- package/src/components/rich-text/format-toolbar-container.js +18 -10
- package/src/components/rich-text/index.js +26 -37
- package/src/components/rich-text/index.native.js +8 -21
- package/src/components/spacing-sizes-control/linked-button.js +2 -3
- package/src/components/spacing-sizes-control/style.scss +4 -1
- package/src/components/spacing-sizes-control/utils.js +1 -8
- package/src/components/text-decoration-control/index.js +31 -23
- package/src/components/text-decoration-control/style.scss +18 -0
- package/src/components/text-transform-control/index.js +42 -26
- package/src/components/text-transform-control/style.scss +18 -0
- package/src/components/tool-selector/index.js +9 -11
- package/src/components/url-input/test/button.js +145 -71
- package/src/components/url-popover/image-url-input-ui.js +5 -3
- package/src/components/url-popover/index.js +1 -1
- package/src/components/url-popover/test/__snapshots__/index.js.snap +108 -80
- package/src/components/url-popover/test/index.js +14 -12
- package/src/components/use-block-drop-zone/index.js +15 -4
- package/src/components/use-moving-animation/index.js +9 -24
- package/src/components/warning/test/__snapshots__/index.js.snap +11 -14
- package/src/components/warning/test/index.js +32 -29
- package/src/components/writing-flow/use-select-all.js +4 -6
- package/src/hooks/align.js +22 -13
- package/src/hooks/color-panel.js +2 -1
- package/src/hooks/content-lock-ui.js +161 -0
- package/src/hooks/duotone.js +13 -1
- package/src/hooks/index.js +4 -0
- package/src/hooks/layout.js +25 -19
- package/src/hooks/layout.scss +7 -1
- package/src/hooks/metadata-name.js +48 -0
- package/src/hooks/metadata.js +64 -0
- package/src/hooks/test/use-typography-props.js +28 -0
- package/src/hooks/typography.js +13 -14
- package/src/hooks/use-typography-props.js +41 -0
- package/src/hooks/utils.js +2 -11
- package/src/index.js +1 -0
- package/src/layouts/constrained.js +73 -24
- package/src/store/actions.js +45 -4
- package/src/store/reducer.js +36 -21
- package/src/store/selectors.js +99 -20
- package/src/store/test/reducer.js +8 -5
- package/src/store/test/selectors.js +4 -4
- package/src/style.scss +2 -0
- package/src/utils/parse-css-unit-to-px.js +1 -1
- package/src/components/colors/test/__snapshots__/with-colors.js.snap +0 -23
|
@@ -34,6 +34,7 @@ import { useNavModeExit } from './use-nav-mode-exit';
|
|
|
34
34
|
import { useBlockRefProvider } from './use-block-refs';
|
|
35
35
|
import { useIntersectionObserver } from './use-intersection-observer';
|
|
36
36
|
import { store as blockEditorStore } from '../../../store';
|
|
37
|
+
import useBlockOverlayActive from '../../block-content-overlay';
|
|
37
38
|
|
|
38
39
|
/**
|
|
39
40
|
* If the block count exceeds the threshold, we disable the reordering animation
|
|
@@ -50,18 +51,14 @@ const BLOCK_ANIMATION_THRESHOLD = 200;
|
|
|
50
51
|
* also pass any other props through this hook, and they will be merged and
|
|
51
52
|
* returned.
|
|
52
53
|
*
|
|
53
|
-
* @param {Object} props
|
|
54
|
-
*
|
|
55
|
-
* @param {Object} options
|
|
54
|
+
* @param {Object} props Optional. Props to pass to the element. Must contain
|
|
55
|
+
* the ref if one is defined.
|
|
56
|
+
* @param {Object} options Options for internal use only.
|
|
56
57
|
* @param {boolean} options.__unstableIsHtml
|
|
57
|
-
* @param {boolean} options.__unstableIsDisabled Whether the block should be disabled.
|
|
58
58
|
*
|
|
59
59
|
* @return {Object} Props to pass to the element to mark as a block.
|
|
60
60
|
*/
|
|
61
|
-
export function useBlockProps(
|
|
62
|
-
props = {},
|
|
63
|
-
{ __unstableIsHtml, __unstableIsDisabled = false } = {}
|
|
64
|
-
) {
|
|
61
|
+
export function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {
|
|
65
62
|
const {
|
|
66
63
|
clientId,
|
|
67
64
|
className,
|
|
@@ -114,6 +111,8 @@ export function useBlockProps(
|
|
|
114
111
|
[ clientId ]
|
|
115
112
|
);
|
|
116
113
|
|
|
114
|
+
const hasOverlay = useBlockOverlayActive( clientId );
|
|
115
|
+
|
|
117
116
|
// translators: %s: Type of block (i.e. Text, Image etc)
|
|
118
117
|
const blockLabel = sprintf( __( 'Block: %s' ), blockTitle );
|
|
119
118
|
const htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';
|
|
@@ -132,7 +131,7 @@ export function useBlockProps(
|
|
|
132
131
|
enableAnimation,
|
|
133
132
|
triggerAnimationOnChange: index,
|
|
134
133
|
} ),
|
|
135
|
-
useDisabled( { isDisabled: !
|
|
134
|
+
useDisabled( { isDisabled: ! hasOverlay } ),
|
|
136
135
|
] );
|
|
137
136
|
|
|
138
137
|
const blockEditContext = useBlockEditContext();
|
|
@@ -144,11 +143,11 @@ export function useBlockProps(
|
|
|
144
143
|
}
|
|
145
144
|
|
|
146
145
|
return {
|
|
146
|
+
tabIndex: 0,
|
|
147
147
|
...wrapperProps,
|
|
148
148
|
...props,
|
|
149
149
|
ref: mergedRefs,
|
|
150
150
|
id: `block-${ clientId }${ htmlSuffix }`,
|
|
151
|
-
tabIndex: 0,
|
|
152
151
|
role: 'document',
|
|
153
152
|
'aria-label': blockLabel,
|
|
154
153
|
'data-block': clientId,
|
|
@@ -158,6 +157,7 @@ export function useBlockProps(
|
|
|
158
157
|
// The wp-block className is important for editor styles.
|
|
159
158
|
classnames( 'block-editor-block-list__block', {
|
|
160
159
|
'wp-block': ! isAligned,
|
|
160
|
+
'has-block-overlay': hasOverlay,
|
|
161
161
|
} ),
|
|
162
162
|
className,
|
|
163
163
|
props.className,
|
|
@@ -34,6 +34,7 @@ export function useBlockClassNames( clientId ) {
|
|
|
34
34
|
hasSelectedInnerBlock,
|
|
35
35
|
isTyping,
|
|
36
36
|
__unstableIsFullySelected,
|
|
37
|
+
__unstableSelectionHasUnmergeableBlock,
|
|
37
38
|
} = select( blockEditorStore );
|
|
38
39
|
const { outlineMode } = getSettings();
|
|
39
40
|
const isDragging = isBlockBeingDragged( clientId );
|
|
@@ -51,7 +52,9 @@ export function useBlockClassNames( clientId ) {
|
|
|
51
52
|
'is-highlighted': isBlockHighlighted( clientId ),
|
|
52
53
|
'is-multi-selected': isMultiSelected,
|
|
53
54
|
'is-partially-selected':
|
|
54
|
-
isMultiSelected &&
|
|
55
|
+
isMultiSelected &&
|
|
56
|
+
! __unstableIsFullySelected() &&
|
|
57
|
+
! __unstableSelectionHasUnmergeableBlock(),
|
|
55
58
|
'is-reusable': isReusableBlock( getBlockType( name ) ),
|
|
56
59
|
'is-dragging': isDragging,
|
|
57
60
|
'has-child-selected': isAncestorOfSelectedBlock,
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { first, last } from 'lodash';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* WordPress dependencies
|
|
8
3
|
*/
|
|
@@ -36,7 +31,7 @@ function useInitialPosition( clientId ) {
|
|
|
36
31
|
( select ) => {
|
|
37
32
|
const {
|
|
38
33
|
getSelectedBlocksInitialCaretPosition,
|
|
39
|
-
|
|
34
|
+
__unstableGetEditorMode,
|
|
40
35
|
isBlockSelected,
|
|
41
36
|
} = select( blockEditorStore );
|
|
42
37
|
|
|
@@ -44,7 +39,7 @@ function useInitialPosition( clientId ) {
|
|
|
44
39
|
return;
|
|
45
40
|
}
|
|
46
41
|
|
|
47
|
-
if (
|
|
42
|
+
if ( __unstableGetEditorMode() !== 'edit' ) {
|
|
48
43
|
return;
|
|
49
44
|
}
|
|
50
45
|
|
|
@@ -98,7 +93,7 @@ export function useFocusFirstElement( clientId ) {
|
|
|
98
93
|
// tabbables.
|
|
99
94
|
const isReverse = -1 === initialPosition;
|
|
100
95
|
const target =
|
|
101
|
-
|
|
96
|
+
textInputs[ isReverse ? textInputs.length - 1 : 0 ] || ref.current;
|
|
102
97
|
|
|
103
98
|
if ( ! isInsideRootBlock( ref.current, target ) ) {
|
|
104
99
|
ref.current.focus();
|
|
@@ -26,8 +26,8 @@ function listener( event ) {
|
|
|
26
26
|
*/
|
|
27
27
|
export function useIsHovered() {
|
|
28
28
|
const isEnabled = useSelect( ( select ) => {
|
|
29
|
-
const {
|
|
30
|
-
return
|
|
29
|
+
const { getSettings } = select( blockEditorStore );
|
|
30
|
+
return getSettings().outlineMode;
|
|
31
31
|
}, [] );
|
|
32
32
|
|
|
33
33
|
return useRefEffect(
|
|
@@ -14,8 +14,10 @@ import { InsertionPointOpenRef } from '../block-tools/insertion-point';
|
|
|
14
14
|
|
|
15
15
|
export function useInBetweenInserter() {
|
|
16
16
|
const openRef = useContext( InsertionPointOpenRef );
|
|
17
|
-
const
|
|
18
|
-
( select ) =>
|
|
17
|
+
const isInBetweenInserterDisabled = useSelect(
|
|
18
|
+
( select ) =>
|
|
19
|
+
select( blockEditorStore ).getSettings().hasReducedUI ||
|
|
20
|
+
select( blockEditorStore ).__unstableGetEditorMode() === 'zoom-out',
|
|
19
21
|
[]
|
|
20
22
|
);
|
|
21
23
|
const {
|
|
@@ -26,13 +28,14 @@ export function useInBetweenInserter() {
|
|
|
26
28
|
isMultiSelecting,
|
|
27
29
|
getSelectedBlockClientIds,
|
|
28
30
|
getTemplateLock,
|
|
31
|
+
__unstableIsWithinBlockOverlay,
|
|
29
32
|
} = useSelect( blockEditorStore );
|
|
30
33
|
const { showInsertionPoint, hideInsertionPoint } =
|
|
31
34
|
useDispatch( blockEditorStore );
|
|
32
35
|
|
|
33
36
|
return useRefEffect(
|
|
34
37
|
( node ) => {
|
|
35
|
-
if (
|
|
38
|
+
if ( isInBetweenInserterDisabled ) {
|
|
36
39
|
return;
|
|
37
40
|
}
|
|
38
41
|
|
|
@@ -108,16 +111,11 @@ export function useInBetweenInserter() {
|
|
|
108
111
|
|
|
109
112
|
// Don't show the insertion point if a parent block has an "overlay"
|
|
110
113
|
// See https://github.com/WordPress/gutenberg/pull/34012#pullrequestreview-727762337
|
|
111
|
-
const parentOverlay = element.parentElement?.closest(
|
|
112
|
-
'.block-editor-block-content-overlay'
|
|
113
|
-
);
|
|
114
|
-
if ( parentOverlay ) {
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
114
|
const clientId = element.id.slice( 'block-'.length );
|
|
119
|
-
|
|
120
|
-
|
|
115
|
+
if (
|
|
116
|
+
! clientId ||
|
|
117
|
+
__unstableIsWithinBlockOverlay( clientId )
|
|
118
|
+
) {
|
|
121
119
|
return;
|
|
122
120
|
}
|
|
123
121
|
|
|
@@ -126,7 +124,6 @@ export function useInBetweenInserter() {
|
|
|
126
124
|
if ( getSelectedBlockClientIds().includes( clientId ) ) {
|
|
127
125
|
return;
|
|
128
126
|
}
|
|
129
|
-
|
|
130
127
|
const elementRect = element.getBoundingClientRect();
|
|
131
128
|
|
|
132
129
|
if (
|
|
@@ -175,6 +172,7 @@ export function useInBetweenInserter() {
|
|
|
175
172
|
showInsertionPoint,
|
|
176
173
|
hideInsertionPoint,
|
|
177
174
|
getSelectedBlockClientIds,
|
|
175
|
+
isInBetweenInserterDisabled,
|
|
178
176
|
]
|
|
179
177
|
);
|
|
180
178
|
}
|
|
@@ -6,7 +6,7 @@ import classnames from 'classnames';
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
9
|
+
import { useSelect } from '@wordpress/data';
|
|
10
10
|
import { getDefaultBlockName } from '@wordpress/blocks';
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -18,14 +18,35 @@ import { store as blockEditorStore } from '../../store';
|
|
|
18
18
|
|
|
19
19
|
function BlockListAppender( {
|
|
20
20
|
rootClientId,
|
|
21
|
-
canInsertDefaultBlock,
|
|
22
|
-
isLocked,
|
|
23
21
|
renderAppender: CustomAppender,
|
|
24
22
|
className,
|
|
25
|
-
selectedBlockClientId,
|
|
26
23
|
tagName: TagName = 'div',
|
|
27
24
|
} ) {
|
|
28
|
-
|
|
25
|
+
const { hideInserter, canInsertDefaultBlock, selectedBlockClientId } =
|
|
26
|
+
useSelect(
|
|
27
|
+
( select ) => {
|
|
28
|
+
const {
|
|
29
|
+
canInsertBlockType,
|
|
30
|
+
getTemplateLock,
|
|
31
|
+
getSelectedBlockClientId,
|
|
32
|
+
__unstableGetEditorMode,
|
|
33
|
+
} = select( blockEditorStore );
|
|
34
|
+
|
|
35
|
+
return {
|
|
36
|
+
hideInserter:
|
|
37
|
+
!! getTemplateLock( rootClientId ) ||
|
|
38
|
+
__unstableGetEditorMode() === 'zoom-out',
|
|
39
|
+
canInsertDefaultBlock: canInsertBlockType(
|
|
40
|
+
getDefaultBlockName(),
|
|
41
|
+
rootClientId
|
|
42
|
+
),
|
|
43
|
+
selectedBlockClientId: getSelectedBlockClientId(),
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
[ rootClientId ]
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
if ( hideInserter || CustomAppender === false ) {
|
|
29
50
|
return null;
|
|
30
51
|
}
|
|
31
52
|
|
|
@@ -92,16 +113,4 @@ function BlockListAppender( {
|
|
|
92
113
|
);
|
|
93
114
|
}
|
|
94
115
|
|
|
95
|
-
export default
|
|
96
|
-
const { canInsertBlockType, getTemplateLock, getSelectedBlockClientId } =
|
|
97
|
-
select( blockEditorStore );
|
|
98
|
-
|
|
99
|
-
return {
|
|
100
|
-
isLocked: !! getTemplateLock( rootClientId ),
|
|
101
|
-
canInsertDefaultBlock: canInsertBlockType(
|
|
102
|
-
getDefaultBlockName(),
|
|
103
|
-
rootClientId
|
|
104
|
-
),
|
|
105
|
-
selectedBlockClientId: getSelectedBlockClientId(),
|
|
106
|
-
};
|
|
107
|
-
} )( BlockListAppender );
|
|
116
|
+
export default BlockListAppender;
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { last } from 'lodash';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* WordPress dependencies
|
|
8
3
|
*/
|
|
@@ -36,7 +31,9 @@ function BlockListAppender( {
|
|
|
36
31
|
return (
|
|
37
32
|
<DefaultBlockAppender
|
|
38
33
|
rootClientId={ rootClientId }
|
|
39
|
-
lastBlockClientId={
|
|
34
|
+
lastBlockClientId={
|
|
35
|
+
blockClientIds[ blockClientIds.length - 1 ]
|
|
36
|
+
}
|
|
40
37
|
containerStyle={ styles.blockListAppender }
|
|
41
38
|
placeholder={ blockClientIds.length > 0 ? '' : null }
|
|
42
39
|
showSeparator={ showSeparator }
|
|
@@ -25,6 +25,7 @@ export default function useBlockLock( clientId ) {
|
|
|
25
25
|
canLockBlockType,
|
|
26
26
|
getBlockName,
|
|
27
27
|
getBlockRootClientId,
|
|
28
|
+
getTemplateLock,
|
|
28
29
|
} = select( blockEditorStore );
|
|
29
30
|
const rootClientId = getBlockRootClientId( clientId );
|
|
30
31
|
|
|
@@ -37,6 +38,7 @@ export default function useBlockLock( clientId ) {
|
|
|
37
38
|
canMove,
|
|
38
39
|
canRemove,
|
|
39
40
|
canLock: canLockBlockType( getBlockName( clientId ) ),
|
|
41
|
+
isContentLocked: getTemplateLock( clientId ) === 'contentOnly',
|
|
40
42
|
isLocked: ! canEdit || ! canMove || ! canRemove,
|
|
41
43
|
};
|
|
42
44
|
},
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { Platform, findNodeHandle } from 'react-native';
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
@@ -307,21 +307,25 @@ export default compose(
|
|
|
307
307
|
canInsertBlockType,
|
|
308
308
|
getTemplateLock,
|
|
309
309
|
} = select( blockEditorStore );
|
|
310
|
-
const normalizedClientIds =
|
|
310
|
+
const normalizedClientIds = Array.isArray( clientIds )
|
|
311
|
+
? clientIds
|
|
312
|
+
: [ clientIds ];
|
|
311
313
|
const block = getBlock( normalizedClientIds );
|
|
312
314
|
const blockName = getBlockName( normalizedClientIds );
|
|
313
315
|
const blockType = getBlockType( blockName );
|
|
314
316
|
const blockTitle = blockType?.title;
|
|
315
|
-
const firstClientId =
|
|
317
|
+
const firstClientId = normalizedClientIds[ 0 ];
|
|
316
318
|
const rootClientId = getBlockRootClientId( firstClientId );
|
|
317
319
|
const blockOrder = getBlockOrder( rootClientId );
|
|
318
320
|
|
|
319
321
|
const firstIndex = getBlockIndex( firstClientId );
|
|
320
|
-
const lastIndex = getBlockIndex(
|
|
322
|
+
const lastIndex = getBlockIndex(
|
|
323
|
+
normalizedClientIds[ normalizedClientIds.length - 1 ]
|
|
324
|
+
);
|
|
321
325
|
|
|
322
326
|
const innerBlocks = getBlocksByClientId( clientIds );
|
|
323
327
|
|
|
324
|
-
const canDuplicate = every(
|
|
328
|
+
const canDuplicate = innerBlocks.every( ( innerBlock ) => {
|
|
325
329
|
return (
|
|
326
330
|
!! innerBlock &&
|
|
327
331
|
hasBlockSupport( innerBlock.name, 'multiple', true ) &&
|
|
@@ -336,9 +340,9 @@ export default compose(
|
|
|
336
340
|
isExactlyOneBlock && isDefaultBlock && isEmptyContent;
|
|
337
341
|
const isLocked = !! getTemplateLock( rootClientId );
|
|
338
342
|
|
|
339
|
-
const selectedBlockClientId =
|
|
343
|
+
const selectedBlockClientId = getSelectedBlockClientIds()[ 0 ];
|
|
340
344
|
const selectedBlock = selectedBlockClientId
|
|
341
|
-
?
|
|
345
|
+
? getBlocksByClientId( selectedBlockClientId )[ 0 ]
|
|
342
346
|
: undefined;
|
|
343
347
|
const selectedBlockPossibleTransformations = selectedBlock
|
|
344
348
|
? getBlockTransformItems( [ selectedBlock ], rootClientId )
|
|
@@ -406,8 +410,10 @@ export default compose(
|
|
|
406
410
|
duplicateBlock() {
|
|
407
411
|
return duplicateBlocks( clientIds );
|
|
408
412
|
},
|
|
409
|
-
onMoveDown:
|
|
410
|
-
|
|
413
|
+
onMoveDown: ( ...args ) =>
|
|
414
|
+
moveBlocksDown( clientIds, rootClientId, ...args ),
|
|
415
|
+
onMoveUp: ( ...args ) =>
|
|
416
|
+
moveBlocksUp( clientIds, rootClientId, ...args ),
|
|
411
417
|
openGeneralSidebar: () =>
|
|
412
418
|
openGeneralSidebar( 'edit-post/block' ),
|
|
413
419
|
pasteBlock: ( clipboardBlock ) => {
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import classnames from 'classnames';
|
|
5
|
-
import { castArray, first, last } from 'lodash';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* WordPress dependencies
|
|
@@ -62,7 +61,10 @@ const BlockMoverButton = forwardRef(
|
|
|
62
61
|
ref
|
|
63
62
|
) => {
|
|
64
63
|
const instanceId = useInstanceId( BlockMoverButton );
|
|
65
|
-
const
|
|
64
|
+
const normalizedClientIds = Array.isArray( clientIds )
|
|
65
|
+
? clientIds
|
|
66
|
+
: [ clientIds ];
|
|
67
|
+
const blocksCount = normalizedClientIds.length;
|
|
66
68
|
|
|
67
69
|
const {
|
|
68
70
|
blockType,
|
|
@@ -81,12 +83,11 @@ const BlockMoverButton = forwardRef(
|
|
|
81
83
|
getBlock,
|
|
82
84
|
getBlockListSettings,
|
|
83
85
|
} = select( blockEditorStore );
|
|
84
|
-
const
|
|
85
|
-
const firstClientId = first( normalizedClientIds );
|
|
86
|
+
const firstClientId = normalizedClientIds[ 0 ];
|
|
86
87
|
const blockRootClientId = getBlockRootClientId( firstClientId );
|
|
87
88
|
const firstBlockIndex = getBlockIndex( firstClientId );
|
|
88
89
|
const lastBlockIndex = getBlockIndex(
|
|
89
|
-
|
|
90
|
+
normalizedClientIds[ normalizedClientIds.length - 1 ]
|
|
90
91
|
);
|
|
91
92
|
const blockOrder = getBlockOrder( blockRootClientId );
|
|
92
93
|
const block = getBlock( firstClientId );
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { first, last, castArray } from 'lodash';
|
|
5
4
|
import classnames from 'classnames';
|
|
6
5
|
|
|
7
6
|
/**
|
|
@@ -30,13 +29,15 @@ function BlockMover( { clientIds, hideDragHandle } ) {
|
|
|
30
29
|
getBlockOrder,
|
|
31
30
|
getBlockRootClientId,
|
|
32
31
|
} = select( blockEditorStore );
|
|
33
|
-
const normalizedClientIds =
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
);
|
|
32
|
+
const normalizedClientIds = Array.isArray( clientIds )
|
|
33
|
+
? clientIds
|
|
34
|
+
: [ clientIds ];
|
|
35
|
+
const firstClientId = normalizedClientIds[ 0 ];
|
|
36
|
+
const _rootClientId = getBlockRootClientId( firstClientId );
|
|
38
37
|
const firstIndex = getBlockIndex( firstClientId );
|
|
39
|
-
const lastIndex = getBlockIndex(
|
|
38
|
+
const lastIndex = getBlockIndex(
|
|
39
|
+
normalizedClientIds[ normalizedClientIds.length - 1 ]
|
|
40
|
+
);
|
|
40
41
|
const blockOrder = getBlockOrder( _rootClientId );
|
|
41
42
|
|
|
42
43
|
return {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { first, last, partial, castArray } from 'lodash';
|
|
5
4
|
import { Platform } from 'react-native';
|
|
6
5
|
|
|
7
6
|
/**
|
|
@@ -149,12 +148,16 @@ export default compose(
|
|
|
149
148
|
getBlockRootClientId,
|
|
150
149
|
getBlockOrder,
|
|
151
150
|
} = select( blockEditorStore );
|
|
152
|
-
const normalizedClientIds =
|
|
153
|
-
|
|
151
|
+
const normalizedClientIds = Array.isArray( clientIds )
|
|
152
|
+
? clientIds
|
|
153
|
+
: [ clientIds ];
|
|
154
|
+
const firstClientId = normalizedClientIds[ 0 ];
|
|
154
155
|
const rootClientId = getBlockRootClientId( firstClientId );
|
|
155
156
|
const blockOrder = getBlockOrder( rootClientId );
|
|
156
157
|
const firstIndex = getBlockIndex( firstClientId );
|
|
157
|
-
const lastIndex = getBlockIndex(
|
|
158
|
+
const lastIndex = getBlockIndex(
|
|
159
|
+
normalizedClientIds[ normalizedClientIds.length - 1 ]
|
|
160
|
+
);
|
|
158
161
|
|
|
159
162
|
return {
|
|
160
163
|
firstIndex,
|
|
@@ -169,15 +172,19 @@ export default compose(
|
|
|
169
172
|
const { moveBlocksDown, moveBlocksUp, moveBlocksToPosition } =
|
|
170
173
|
dispatch( blockEditorStore );
|
|
171
174
|
return {
|
|
172
|
-
onMoveDown:
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
175
|
+
onMoveDown: ( ...args ) =>
|
|
176
|
+
moveBlocksDown( clientIds, rootClientId, ...args ),
|
|
177
|
+
onMoveUp: ( ...args ) =>
|
|
178
|
+
moveBlocksUp( clientIds, rootClientId, ...args ),
|
|
179
|
+
onLongMove:
|
|
180
|
+
( targetIndex ) =>
|
|
181
|
+
( ...args ) =>
|
|
182
|
+
moveBlocksToPosition(
|
|
183
|
+
clientIds,
|
|
184
|
+
rootClientId,
|
|
185
|
+
targetIndex,
|
|
186
|
+
...args
|
|
187
|
+
),
|
|
181
188
|
};
|
|
182
189
|
} ),
|
|
183
190
|
withInstanceId
|