@wordpress/block-editor 9.0.0 → 9.3.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 +10 -0
- package/README.md +1 -0
- package/build/autocompleters/block.js +3 -1
- package/build/autocompleters/block.js.map +1 -1
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +4 -13
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-content-overlay/index.js +4 -82
- package/build/components/block-content-overlay/index.js.map +1 -1
- package/build/components/block-context/index.js.map +1 -1
- package/build/components/block-controls/hook.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.native.js +65 -0
- package/build/components/block-draggable/draggable-chip.native.js.map +1 -0
- package/build/components/block-draggable/dropping-insertion-point.native.js +157 -0
- package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -0
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/index.native.js +488 -0
- package/build/components/block-draggable/index.native.js.map +1 -0
- package/build/components/block-draggable/use-scroll-when-dragging.native.js +130 -0
- package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -0
- package/build/components/block-list/block-list-context.native.js +195 -0
- package/build/components/block-list/block-list-context.native.js.map +1 -0
- package/build/components/block-list/block-list-item-cell.native.js +67 -0
- package/build/components/block-list/block-list-item-cell.native.js.map +1 -0
- package/build/components/block-list/block-list-item.native.js +12 -9
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block-selection-button.native.js.map +1 -1
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +27 -5
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +34 -32
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +75 -23
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +8 -4
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +1 -1
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-list-appender/index.native.js.map +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build/components/block-mobile-toolbar/index.native.js +10 -3
- package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.native.js +17 -4
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +1 -1
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-popover/inbetween.js +19 -8
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +5 -16
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-preview/index.js +1 -1
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-selection-clearer/index.js.map +1 -1
- package/build/components/block-settings-menu/block-mode-toggle.js +3 -7
- package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +6 -3
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-styles/index.js +6 -3
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/menu-items.js +3 -7
- package/build/components/block-styles/menu-items.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build/components/block-toolbar/index.native.js.map +1 -1
- package/build/components/block-toolbar/utils.js +5 -8
- package/build/components/block-toolbar/utils.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +1 -0
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +1 -29
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +16 -2
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +10 -3
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/color-style-selector/index.js.map +1 -1
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +122 -41
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +35 -60
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.js +22 -5
- package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build/components/copy-handler/index.js +17 -1
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/default-block-appender/index.native.js.map +1 -1
- package/build/components/default-style-picker/index.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/iframe/index.js +51 -50
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/image-editor/use-save-image.js +3 -1
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/image-size-control/index.js +3 -1
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/index.js +31 -13
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/block-types-tab.native.js.map +1 -1
- package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +1 -1
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/library.js +3 -7
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/menu.native.js.map +1 -1
- package/build/components/inserter/no-results.native.js.map +1 -1
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/search-items.js +1 -1
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/inserter/search-results.native.js.map +1 -1
- package/build/components/inspector-popover-header/index.js +56 -0
- package/build/components/inspector-popover-header/index.js.map +1 -0
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/link-control/constants.js +11 -1
- package/build/components/link-control/constants.js.map +1 -1
- package/build/components/link-control/index.js +4 -4
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-create-button.js +1 -3
- package/build/components/link-control/search-create-button.js.map +1 -1
- package/build/components/link-control/search-input.js +5 -3
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/search-results.js +4 -3
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/settings-drawer.js +3 -7
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/link-control/use-search-handler.js +4 -4
- package/build/components/link-control/use-search-handler.js.map +1 -1
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +0 -1
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/list-view/utils.js +1 -7
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/media-placeholder/index.js +4 -6
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-replace-flow/index.js +20 -7
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-upload/index.native.js +10 -4
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +12 -2
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/plain-text/index.native.js +62 -7
- package/build/components/plain-text/index.native.js.map +1 -1
- package/build/components/preview-options/index.js +4 -0
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/provider/use-block-sync.js +5 -3
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/publish-date-time-picker/index.js +53 -0
- package/build/components/publish-date-time-picker/index.js.map +1 -0
- package/build/components/rich-text/embed-handler-picker.native.js +4 -8
- package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +0 -1
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/index.js +2 -2
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +5 -1
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/ungroup-button/index.native.js +3 -7
- package/build/components/ungroup-button/index.native.js.map +1 -1
- package/build/components/url-input/index.js +18 -4
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.native.js +167 -0
- package/build/components/use-block-drop-zone/index.native.js.map +1 -0
- package/build/components/use-display-block-controls/index.native.js.map +1 -1
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.native.js +95 -0
- package/build/components/use-on-block-drop/index.native.js.map +1 -0
- package/build/components/use-setting/index.js.map +1 -1
- package/build/components/warning/index.js +6 -1
- package/build/components/warning/index.js.map +1 -1
- package/build/components/writing-flow/use-arrow-nav.js +12 -12
- package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build/components/writing-flow/use-click-selection.js.map +1 -1
- package/build/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build/components/writing-flow/use-input.js +15 -0
- package/build/components/writing-flow/use-input.js.map +1 -1
- package/build/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build/components/writing-flow/use-select-all.js.map +1 -1
- package/build/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/elements/index.js +9 -0
- package/build/elements/index.js.map +1 -0
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/border.js +2 -7
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color-panel.js +14 -7
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/color-panel.native.js.map +1 -1
- package/build/hooks/color.js +8 -88
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/dimensions.js +14 -4
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/gap.js.map +1 -1
- package/build/hooks/layout.js +38 -1
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/style.js +14 -13
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/typography.js +6 -2
- package/build/hooks/typography.js.map +1 -1
- package/build/index.js +14 -0
- package/build/index.js.map +1 -1
- package/build/layouts/flex.js +5 -2
- package/build/layouts/flex.js.map +1 -1
- package/build/store/actions.js +14 -0
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +17 -2
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +30 -2
- package/build/store/selectors.js.map +1 -1
- package/build/utils/pasting.js.map +1 -1
- package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-module/autocompleters/block.js +4 -1
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +3 -11
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-content-overlay/index.js +3 -78
- package/build-module/components/block-content-overlay/index.js.map +1 -1
- package/build-module/components/block-context/index.js.map +1 -1
- package/build-module/components/block-controls/hook.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.native.js +51 -0
- package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -0
- package/build-module/components/block-draggable/dropping-insertion-point.native.js +137 -0
- package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -0
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-draggable/index.native.js +453 -0
- package/build-module/components/block-draggable/index.native.js.map +1 -0
- package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +120 -0
- package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -0
- package/build-module/components/block-list/block-list-context.native.js +179 -0
- package/build-module/components/block-list/block-list-context.native.js.map +1 -0
- package/build-module/components/block-list/block-list-item-cell.native.js +59 -0
- package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -0
- package/build-module/components/block-list/block-list-item.native.js +12 -9
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +26 -5
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +35 -33
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +72 -23
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +9 -5
- 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-custom-class-name.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.native.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/index.native.js +9 -3
- package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +18 -5
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +1 -1
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +19 -8
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +5 -15
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-preview/index.js +1 -1
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-selection-clearer/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-mode-toggle.js +3 -5
- package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +9 -3
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-styles/index.js +5 -2
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/menu-items.js +3 -5
- package/build-module/components/block-styles/menu-items.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build-module/components/block-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-toolbar/utils.js +3 -5
- package/build-module/components/block-toolbar/utils.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +1 -0
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +2 -29
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +13 -2
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +11 -4
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/color-style-selector/index.js.map +1 -1
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +124 -43
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +36 -64
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js +23 -6
- package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build-module/components/copy-handler/index.js +18 -2
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.native.js.map +1 -1
- package/build-module/components/default-style-picker/index.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/iframe/index.js +52 -51
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js +2 -1
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/image-size-control/index.js +4 -1
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/index.js +4 -2
- package/build-module/components/index.js.map +1 -1
- 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.map +1 -1
- package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +1 -1
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/library.js +2 -5
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/menu.native.js.map +1 -1
- package/build-module/components/inserter/no-results.native.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/search-items.js +2 -2
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/inserter/search-results.native.js.map +1 -1
- package/build-module/components/inspector-popover-header/index.js +46 -0
- package/build-module/components/inspector-popover-header/index.js.map +1 -0
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/link-control/constants.js +5 -0
- package/build-module/components/link-control/constants.js.map +1 -1
- package/build-module/components/link-control/index.js +2 -1
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-create-button.js +1 -2
- package/build-module/components/link-control/search-create-button.js.map +1 -1
- package/build-module/components/link-control/search-input.js +3 -1
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/search-results.js +3 -4
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/settings-drawer.js +2 -5
- package/build-module/components/link-control/settings-drawer.js.map +1 -1
- package/build-module/components/link-control/use-search-handler.js +5 -5
- package/build-module/components/link-control/use-search-handler.js.map +1 -1
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +0 -1
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/list-view/utils.js +1 -6
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +2 -3
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +22 -9
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-upload/index.native.js +8 -3
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +12 -2
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/plain-text/index.native.js +63 -8
- package/build-module/components/plain-text/index.native.js.map +1 -1
- package/build-module/components/preview-options/index.js +4 -0
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +4 -1
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/publish-date-time-picker/index.js +40 -0
- package/build-module/components/publish-date-time-picker/index.js.map +1 -0
- package/build-module/components/rich-text/embed-handler-picker.native.js +3 -5
- package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +0 -1
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/index.js +2 -2
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +5 -1
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/ungroup-button/index.native.js +3 -5
- package/build-module/components/ungroup-button/index.native.js.map +1 -1
- package/build-module/components/url-input/index.js +15 -2
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.native.js +148 -0
- package/build-module/components/use-block-drop-zone/index.native.js.map +1 -0
- package/build-module/components/use-display-block-controls/index.native.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.native.js +83 -0
- package/build-module/components/use-on-block-drop/index.native.js.map +1 -0
- package/build-module/components/use-setting/index.js.map +1 -1
- package/build-module/components/warning/index.js +6 -1
- package/build-module/components/warning/index.js.map +1 -1
- package/build-module/components/writing-flow/use-arrow-nav.js +12 -11
- package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build-module/components/writing-flow/use-click-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-input.js +15 -0
- package/build-module/components/writing-flow/use-input.js.map +1 -1
- package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-select-all.js.map +1 -1
- package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/elements/index.js +2 -0
- package/build-module/elements/index.js.map +1 -0
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/border.js +2 -7
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color-panel.js +11 -6
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/color-panel.native.js.map +1 -1
- package/build-module/hooks/color.js +8 -88
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/dimensions.js +14 -4
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/gap.js.map +1 -1
- package/build-module/hooks/layout.js +39 -2
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/style.js +15 -14
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/typography.js +6 -2
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/index.js +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/layouts/flex.js +4 -2
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/store/actions.js +12 -0
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +17 -2
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +25 -2
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/pasting.js.map +1 -1
- package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-style/style-rtl.css +79 -197
- package/build-style/style.css +79 -197
- package/package.json +30 -30
- package/src/autocompleters/block.js +2 -1
- package/src/components/block-actions/index.js +2 -3
- package/src/components/block-alignment-control/ui.js +4 -6
- package/src/components/block-alignment-matrix-control/index.js +3 -9
- package/src/components/block-breadcrumb/index.js +2 -5
- package/src/components/block-compare/test/block-view.js +2 -1
- package/src/components/block-content-overlay/index.js +10 -100
- package/src/components/block-content-overlay/style.scss +2 -11
- package/src/components/block-context/index.js +4 -4
- package/src/components/block-controls/hook.js +2 -3
- package/src/components/block-draggable/draggable-chip.native.js +49 -0
- package/src/components/block-draggable/dropping-insertion-point.native.js +181 -0
- package/src/components/block-draggable/dropping-insertion-point.native.scss +8 -0
- package/src/components/block-draggable/index.js +6 -13
- package/src/components/block-draggable/index.native.js +454 -0
- package/src/components/block-draggable/style.native.scss +19 -0
- package/src/components/block-draggable/test/__snapshots__/index.native.js.snap +73 -0
- package/src/components/block-draggable/test/helpers.native.js +183 -0
- package/src/components/block-draggable/test/index.native.js +493 -0
- package/src/components/block-draggable/use-scroll-when-dragging.native.js +135 -0
- package/src/components/block-edit/test/edit.js +2 -1
- package/src/components/block-list/block-list-context.native.js +175 -0
- package/src/components/block-list/block-list-item-cell.native.js +49 -0
- package/src/components/block-list/block-list-item.native.js +11 -23
- package/src/components/block-list/block-selection-button.native.js +2 -3
- package/src/components/block-list/block.js +8 -10
- package/src/components/block-list/block.native.js +47 -23
- package/src/components/block-list/index.js +46 -47
- package/src/components/block-list/index.native.js +63 -31
- package/src/components/block-list/test/block-list-context.native.js +245 -0
- package/src/components/block-list/test/fixtures/block-list-context.native.js +79 -0
- package/src/components/block-list/use-block-props/index.js +16 -8
- package/src/components/block-list/use-block-props/use-block-custom-class-name.js +2 -3
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +2 -3
- package/src/components/block-list/use-in-between-inserter.js +3 -4
- package/src/components/block-list-appender/index.js +2 -5
- package/src/components/block-list-appender/index.native.js +2 -3
- package/src/components/block-mobile-toolbar/block-actions-menu.native.js +4 -6
- package/src/components/block-mobile-toolbar/index.native.js +9 -1
- package/src/components/block-mover/button.js +2 -3
- package/src/components/block-mover/index.native.js +26 -12
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +10 -0
- package/src/components/block-parent-selector/index.js +2 -3
- package/src/components/block-pattern-setup/index.js +3 -5
- package/src/components/block-popover/inbetween.js +21 -8
- package/src/components/block-popover/index.js +2 -16
- package/src/components/block-popover/style.scss +1 -0
- package/src/components/block-preview/auto.js +4 -8
- package/src/components/block-preview/index.js +1 -4
- package/src/components/block-selection-clearer/index.js +2 -3
- package/src/components/block-settings-menu/block-mode-toggle.js +4 -8
- package/src/components/block-settings-menu/block-settings-dropdown.js +9 -9
- package/src/components/block-styles/index.js +3 -1
- package/src/components/block-styles/menu-items.js +2 -5
- package/src/components/block-switcher/block-transformations-menu.js +2 -4
- package/src/components/block-switcher/style.scss +2 -39
- package/src/components/block-toolbar/index.native.js +2 -5
- package/src/components/block-toolbar/utils.js +3 -11
- package/src/components/block-tools/block-contextual-toolbar.js +2 -5
- package/src/components/block-tools/block-selection-button.js +1 -0
- package/src/components/block-tools/index.js +2 -3
- package/src/components/block-tools/selected-block-popover.js +1 -36
- package/src/components/block-tools/style.scss +1 -12
- package/src/components/block-types-list/index.native.js +2 -4
- package/src/components/block-variation-transforms/index.js +10 -8
- package/src/components/border-radius-control/input-controls.js +16 -8
- package/src/components/border-radius-control/style.scss +3 -2
- package/src/components/color-palette/test/control.js +2 -1
- package/src/components/color-style-selector/index.js +27 -28
- package/src/components/colors/test/with-colors.js +14 -14
- package/src/components/colors/with-colors.js +8 -12
- package/src/components/colors-gradients/dropdown.js +135 -62
- package/src/components/colors-gradients/panel-color-gradient-settings.js +30 -76
- package/src/components/colors-gradients/style.scss +52 -50
- package/src/components/colors-gradients/test/control.js +10 -10
- package/src/components/convert-to-group-buttons/toolbar.js +32 -19
- package/src/components/copy-handler/README.md +7 -2
- package/src/components/copy-handler/index.js +26 -6
- package/src/components/default-block-appender/index.js +4 -6
- package/src/components/default-block-appender/index.native.js +4 -9
- package/src/components/default-style-picker/index.js +20 -21
- package/src/components/duotone-control/style.scss +1 -7
- package/src/components/font-sizes/with-font-sizes.js +2 -3
- package/src/components/iframe/index.js +62 -54
- package/src/components/image-editor/aspect-ratio-dropdown.js +2 -6
- package/src/components/image-editor/use-save-image.js +2 -1
- package/src/components/image-size-control/index.js +4 -7
- package/src/components/index.js +4 -2
- package/src/components/inner-blocks/use-inner-block-template-sync.js +2 -3
- package/src/components/inner-blocks/use-nested-settings-update.js +6 -9
- package/src/components/inserter/block-types-tab.native.js +2 -3
- package/src/components/inserter/hooks/use-block-type-impressions.native.js +2 -3
- package/src/components/inserter/hooks/use-insertion-point.js +3 -2
- package/src/components/inserter/hooks/use-patterns-state.js +4 -5
- package/src/components/inserter/index.js +4 -6
- package/src/components/inserter/index.native.js +7 -12
- package/src/components/inserter/library.js +2 -5
- package/src/components/inserter/menu.js +14 -19
- package/src/components/inserter/menu.native.js +8 -6
- package/src/components/inserter/no-results.native.js +2 -1
- package/src/components/inserter/quick-inserter.js +2 -3
- package/src/components/inserter/search-items.js +6 -6
- package/src/components/inserter/search-results.native.js +4 -6
- package/src/components/inserter/style.scss +2 -1
- package/src/components/inspector-popover-header/README.md +76 -0
- package/src/components/inspector-popover-header/index.js +56 -0
- package/src/components/inspector-popover-header/style.scss +16 -0
- package/src/components/line-height-control/index.js +1 -2
- package/src/components/link-control/constants.js +11 -0
- package/src/components/link-control/index.js +4 -4
- package/src/components/link-control/search-create-button.js +4 -2
- package/src/components/link-control/search-input.js +3 -1
- package/src/components/link-control/search-results.js +4 -5
- package/src/components/link-control/settings-drawer.js +2 -5
- package/src/components/link-control/test/fixtures/index.js +3 -4
- package/src/components/link-control/test/index.js +24 -36
- package/src/components/link-control/use-search-handler.js +13 -7
- package/src/components/list-view/block-contents.js +2 -4
- package/src/components/list-view/branch.js +22 -23
- package/src/components/list-view/drop-indicator.js +0 -1
- package/src/components/list-view/index.js +4 -8
- package/src/components/list-view/style.scss +2 -1
- package/src/components/list-view/use-block-selection.js +5 -5
- package/src/components/list-view/use-list-view-drop-zone.js +2 -1
- package/src/components/list-view/utils.js +1 -6
- package/src/components/media-placeholder/index.js +2 -3
- package/src/components/media-replace-flow/index.js +77 -48
- package/src/components/media-upload/index.native.js +6 -2
- package/src/components/media-upload/test/index.native.js +31 -6
- package/src/components/navigable-toolbar/index.js +13 -4
- package/src/components/panel-color-settings/test/index.js +2 -1
- package/src/components/plain-text/index.native.js +60 -8
- package/src/components/preview-options/index.js +4 -0
- package/src/components/preview-options/style.scss +0 -4
- package/src/components/provider/use-block-sync.js +5 -2
- package/src/components/publish-date-time-picker/README.md +52 -0
- package/src/components/publish-date-time-picker/index.js +39 -0
- package/src/components/responsive-block-control/test/index.js +3 -2
- package/src/components/rich-text/embed-handler-picker.native.js +2 -5
- package/src/components/rich-text/format-toolbar-container.js +0 -1
- package/src/components/rich-text/index.js +10 -5
- package/src/components/rich-text/index.native.js +4 -0
- package/src/components/rich-text/style.scss +2 -8
- package/src/components/rich-text/use-format-types.js +16 -16
- package/src/components/rich-text/use-mark-persistent.js +2 -3
- package/src/components/skip-to-selected-block/index.js +2 -3
- package/src/components/ungroup-button/index.native.js +4 -8
- package/src/components/url-input/index.js +24 -21
- package/src/components/use-block-display-information/index.js +4 -6
- package/src/components/use-block-drop-zone/index.js +2 -3
- package/src/components/use-block-drop-zone/index.native.js +171 -0
- package/src/components/use-block-drop-zone/test/index.js +22 -23
- package/src/components/use-display-block-controls/index.native.js +2 -3
- package/src/components/use-no-recursive-renders/test/use-no-recursive-renders.js +2 -3
- package/src/components/use-on-block-drop/index.js +2 -5
- package/src/components/use-on-block-drop/index.native.js +115 -0
- package/src/components/use-setting/index.js +8 -6
- package/src/components/warning/index.js +47 -42
- package/src/components/warning/test/__snapshots__/index.js.snap +15 -6
- package/src/components/warning/test/index.js +1 -1
- package/src/components/writing-flow/test/index.js +22 -4
- package/src/components/writing-flow/use-arrow-nav.js +22 -10
- package/src/components/writing-flow/use-click-selection.js +2 -5
- package/src/components/writing-flow/use-drag-selection.js +6 -9
- package/src/components/writing-flow/use-input.js +12 -0
- package/src/components/writing-flow/use-multi-selection.js +2 -4
- package/src/components/writing-flow/use-select-all.js +2 -5
- package/src/components/writing-flow/use-selection-observer.js +4 -6
- package/src/components/writing-flow/use-tab-nav.js +2 -5
- package/src/elements/index.js +1 -0
- package/src/hooks/anchor.js +1 -1
- package/src/hooks/border.js +2 -11
- package/src/hooks/border.scss +0 -48
- package/src/hooks/color-panel.js +17 -13
- package/src/hooks/color-panel.native.js +2 -2
- package/src/hooks/color.js +7 -76
- package/src/hooks/color.scss +5 -58
- package/src/hooks/dimensions.js +11 -3
- package/src/hooks/font-family.js +4 -2
- package/src/hooks/gap.js +2 -3
- package/src/hooks/layout.js +54 -4
- package/src/hooks/style.js +25 -39
- package/src/hooks/test/align.js +2 -1
- package/src/hooks/test/generated-class-name.js +2 -5
- package/src/hooks/test/utils.js +2 -5
- package/src/hooks/typography.js +2 -0
- package/src/index.js +1 -0
- package/src/layouts/flex.js +11 -3
- package/src/store/actions.js +784 -728
- package/src/store/reducer.js +202 -178
- package/src/store/selectors.js +82 -54
- package/src/store/test/actions.js +2 -1
- package/src/store/test/reducer.js +8 -1
- package/src/store/test/selectors.js +17 -21
- package/src/style.scss +1 -1
- package/src/utils/pasting.js +3 -3
- package/src/utils/transform-styles/transforms/wrap.js +30 -28
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/colors/color-panel.js +0 -82
- package/build/components/colors/color-panel.js.map +0 -1
- package/build/components/colors/color-panel.native.js +0 -11
- package/build/components/colors/color-panel.native.js.map +0 -1
- package/build/components/colors-gradients/tools-panel-color-dropdown.js +0 -89
- package/build/components/colors-gradients/tools-panel-color-dropdown.js.map +0 -1
- package/build-module/components/colors/color-panel.js +0 -70
- package/build-module/components/colors/color-panel.js.map +0 -1
- package/build-module/components/colors/color-panel.native.js +0 -4
- package/build-module/components/colors/color-panel.native.js.map +0 -1
- package/build-module/components/colors-gradients/tools-panel-color-dropdown.js +0 -75
- package/build-module/components/colors-gradients/tools-panel-color-dropdown.js.map +0 -1
- package/src/components/block-alignment-matrix-control/style.scss +0 -10
- package/src/components/colors/color-panel.js +0 -91
- package/src/components/colors/color-panel.native.js +0 -3
- package/src/components/colors-gradients/tools-panel-color-dropdown.js +0 -85
package/src/store/reducer.js
CHANGED
|
@@ -258,197 +258,208 @@ function updateParentInnerBlocksInTree(
|
|
|
258
258
|
*
|
|
259
259
|
* @return {Function} Enhanced reducer function.
|
|
260
260
|
*/
|
|
261
|
-
const withBlockTree =
|
|
262
|
-
|
|
261
|
+
const withBlockTree =
|
|
262
|
+
( reducer ) =>
|
|
263
|
+
( state = {}, action ) => {
|
|
264
|
+
const newState = reducer( state, action );
|
|
263
265
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
newState.tree = state.tree ? state.tree : {};
|
|
269
|
-
switch ( action.type ) {
|
|
270
|
-
case 'RECEIVE_BLOCKS':
|
|
271
|
-
case 'INSERT_BLOCKS': {
|
|
272
|
-
const subTree = buildBlockTree( newState, action.blocks );
|
|
273
|
-
newState.tree = updateParentInnerBlocksInTree(
|
|
274
|
-
newState,
|
|
275
|
-
{
|
|
276
|
-
...newState.tree,
|
|
277
|
-
...subTree,
|
|
278
|
-
},
|
|
279
|
-
action.rootClientId ? [ action.rootClientId ] : [ '' ],
|
|
280
|
-
true
|
|
281
|
-
);
|
|
282
|
-
break;
|
|
266
|
+
if ( newState === state ) {
|
|
267
|
+
return state;
|
|
283
268
|
}
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
269
|
+
|
|
270
|
+
newState.tree = state.tree ? state.tree : {};
|
|
271
|
+
switch ( action.type ) {
|
|
272
|
+
case 'RECEIVE_BLOCKS':
|
|
273
|
+
case 'INSERT_BLOCKS': {
|
|
274
|
+
const subTree = buildBlockTree( newState, action.blocks );
|
|
275
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
276
|
+
newState,
|
|
277
|
+
{
|
|
278
|
+
...newState.tree,
|
|
279
|
+
...subTree,
|
|
293
280
|
},
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
...newState.tree
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
281
|
+
action.rootClientId ? [ action.rootClientId ] : [ '' ],
|
|
282
|
+
true
|
|
283
|
+
);
|
|
284
|
+
break;
|
|
285
|
+
}
|
|
286
|
+
case 'UPDATE_BLOCK':
|
|
287
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
288
|
+
newState,
|
|
289
|
+
{
|
|
290
|
+
...newState.tree,
|
|
291
|
+
[ action.clientId ]: {
|
|
292
|
+
...newState.tree[ action.clientId ],
|
|
293
|
+
...newState.byClientId[ action.clientId ],
|
|
294
|
+
attributes: newState.attributes[ action.clientId ],
|
|
295
|
+
},
|
|
296
|
+
},
|
|
297
|
+
[ action.clientId ],
|
|
298
|
+
false
|
|
299
|
+
);
|
|
300
|
+
break;
|
|
301
|
+
case 'UPDATE_BLOCK_ATTRIBUTES': {
|
|
302
|
+
const newSubTree = action.clientIds.reduce(
|
|
303
|
+
( result, clientId ) => {
|
|
304
|
+
result[ clientId ] = {
|
|
305
|
+
...newState.tree[ clientId ],
|
|
306
|
+
attributes: newState.attributes[ clientId ],
|
|
307
|
+
};
|
|
308
|
+
return result;
|
|
309
|
+
},
|
|
310
|
+
{}
|
|
311
|
+
);
|
|
312
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
313
|
+
newState,
|
|
314
|
+
{
|
|
315
|
+
...newState.tree,
|
|
316
|
+
...newSubTree,
|
|
317
|
+
},
|
|
318
|
+
action.clientIds,
|
|
319
|
+
false
|
|
320
|
+
);
|
|
321
|
+
break;
|
|
322
|
+
}
|
|
323
|
+
case 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN': {
|
|
324
|
+
const subTree = buildBlockTree( newState, action.blocks );
|
|
325
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
326
|
+
newState,
|
|
327
|
+
{
|
|
328
|
+
...omit(
|
|
329
|
+
newState.tree,
|
|
330
|
+
action.replacedClientIds.concat(
|
|
331
|
+
// Controlled inner blocks are only removed
|
|
332
|
+
// if the block doesn't move to another position
|
|
333
|
+
// otherwise their content will be lost.
|
|
334
|
+
action.replacedClientIds
|
|
335
|
+
.filter(
|
|
336
|
+
( clientId ) => ! subTree[ clientId ]
|
|
337
|
+
)
|
|
338
|
+
.map(
|
|
339
|
+
( clientId ) =>
|
|
340
|
+
'controlled||' + clientId
|
|
341
|
+
)
|
|
342
|
+
)
|
|
343
|
+
),
|
|
344
|
+
...subTree,
|
|
345
|
+
},
|
|
346
|
+
action.blocks.map( ( b ) => b.clientId ),
|
|
347
|
+
false
|
|
348
|
+
);
|
|
349
|
+
|
|
350
|
+
// If there are no replaced blocks, it means we're removing blocks so we need to update their parent.
|
|
351
|
+
const parentsOfRemovedBlocks = [];
|
|
352
|
+
for ( const clientId of action.clientIds ) {
|
|
353
|
+
if (
|
|
354
|
+
state.parents[ clientId ] !== undefined &&
|
|
355
|
+
( state.parents[ clientId ] === '' ||
|
|
356
|
+
newState.byClientId[ state.parents[ clientId ] ] )
|
|
357
|
+
) {
|
|
358
|
+
parentsOfRemovedBlocks.push(
|
|
359
|
+
state.parents[ clientId ]
|
|
360
|
+
);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
364
|
+
newState,
|
|
365
|
+
newState.tree,
|
|
366
|
+
parentsOfRemovedBlocks,
|
|
367
|
+
true
|
|
368
|
+
);
|
|
369
|
+
break;
|
|
370
|
+
}
|
|
371
|
+
case 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN':
|
|
372
|
+
const parentsOfRemovedBlocks = [];
|
|
373
|
+
for ( const clientId of action.clientIds ) {
|
|
374
|
+
if (
|
|
375
|
+
state.parents[ clientId ] !== undefined &&
|
|
376
|
+
( state.parents[ clientId ] === '' ||
|
|
377
|
+
newState.byClientId[ state.parents[ clientId ] ] )
|
|
378
|
+
) {
|
|
379
|
+
parentsOfRemovedBlocks.push(
|
|
380
|
+
state.parents[ clientId ]
|
|
381
|
+
);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
385
|
+
newState,
|
|
386
|
+
omit(
|
|
327
387
|
newState.tree,
|
|
328
|
-
action.
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
action.replacedClientIds
|
|
333
|
-
.filter( ( clientId ) => ! subTree[ clientId ] )
|
|
334
|
-
.map(
|
|
335
|
-
( clientId ) => 'controlled||' + clientId
|
|
336
|
-
)
|
|
388
|
+
action.removedClientIds.concat(
|
|
389
|
+
action.removedClientIds.map(
|
|
390
|
+
( clientId ) => 'controlled||' + clientId
|
|
391
|
+
)
|
|
337
392
|
)
|
|
338
393
|
),
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
for ( const clientId of action.clientIds ) {
|
|
348
|
-
if (
|
|
349
|
-
state.parents[ clientId ] !== undefined &&
|
|
350
|
-
( state.parents[ clientId ] === '' ||
|
|
351
|
-
newState.byClientId[ state.parents[ clientId ] ] )
|
|
352
|
-
) {
|
|
353
|
-
parentsOfRemovedBlocks.push( state.parents[ clientId ] );
|
|
394
|
+
parentsOfRemovedBlocks,
|
|
395
|
+
true
|
|
396
|
+
);
|
|
397
|
+
break;
|
|
398
|
+
case 'MOVE_BLOCKS_TO_POSITION': {
|
|
399
|
+
const updatedBlockUids = [];
|
|
400
|
+
if ( action.fromRootClientId ) {
|
|
401
|
+
updatedBlockUids.push( action.fromRootClientId );
|
|
354
402
|
}
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
newState,
|
|
358
|
-
newState.tree,
|
|
359
|
-
parentsOfRemovedBlocks,
|
|
360
|
-
true
|
|
361
|
-
);
|
|
362
|
-
break;
|
|
363
|
-
}
|
|
364
|
-
case 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN':
|
|
365
|
-
const parentsOfRemovedBlocks = [];
|
|
366
|
-
for ( const clientId of action.clientIds ) {
|
|
367
|
-
if (
|
|
368
|
-
state.parents[ clientId ] !== undefined &&
|
|
369
|
-
( state.parents[ clientId ] === '' ||
|
|
370
|
-
newState.byClientId[ state.parents[ clientId ] ] )
|
|
371
|
-
) {
|
|
372
|
-
parentsOfRemovedBlocks.push( state.parents[ clientId ] );
|
|
403
|
+
if ( action.toRootClientId ) {
|
|
404
|
+
updatedBlockUids.push( action.toRootClientId );
|
|
373
405
|
}
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
406
|
+
if ( ! action.fromRootClientId || ! action.fromRootClientId ) {
|
|
407
|
+
updatedBlockUids.push( '' );
|
|
408
|
+
}
|
|
409
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
410
|
+
newState,
|
|
378
411
|
newState.tree,
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
)
|
|
384
|
-
),
|
|
385
|
-
parentsOfRemovedBlocks,
|
|
386
|
-
true
|
|
387
|
-
);
|
|
388
|
-
break;
|
|
389
|
-
case 'MOVE_BLOCKS_TO_POSITION': {
|
|
390
|
-
const updatedBlockUids = [];
|
|
391
|
-
if ( action.fromRootClientId ) {
|
|
392
|
-
updatedBlockUids.push( action.fromRootClientId );
|
|
393
|
-
}
|
|
394
|
-
if ( action.toRootClientId ) {
|
|
395
|
-
updatedBlockUids.push( action.toRootClientId );
|
|
412
|
+
updatedBlockUids,
|
|
413
|
+
true
|
|
414
|
+
);
|
|
415
|
+
break;
|
|
396
416
|
}
|
|
397
|
-
|
|
398
|
-
|
|
417
|
+
case 'MOVE_BLOCKS_UP':
|
|
418
|
+
case 'MOVE_BLOCKS_DOWN': {
|
|
419
|
+
const updatedBlockUids = [
|
|
420
|
+
action.rootClientId ? action.rootClientId : '',
|
|
421
|
+
];
|
|
422
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
423
|
+
newState,
|
|
424
|
+
newState.tree,
|
|
425
|
+
updatedBlockUids,
|
|
426
|
+
true
|
|
427
|
+
);
|
|
428
|
+
break;
|
|
399
429
|
}
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
const updatedBlockUids = [
|
|
411
|
-
action.rootClientId ? action.rootClientId : '',
|
|
412
|
-
];
|
|
413
|
-
newState.tree = updateParentInnerBlocksInTree(
|
|
414
|
-
newState,
|
|
415
|
-
newState.tree,
|
|
416
|
-
updatedBlockUids,
|
|
417
|
-
true
|
|
418
|
-
);
|
|
419
|
-
break;
|
|
420
|
-
}
|
|
421
|
-
case 'SAVE_REUSABLE_BLOCK_SUCCESS': {
|
|
422
|
-
const updatedBlockUids = keys(
|
|
423
|
-
omitBy( newState.attributes, ( attributes, clientId ) => {
|
|
424
|
-
return (
|
|
425
|
-
newState.byClientId[ clientId ].name !== 'core/block' ||
|
|
426
|
-
attributes.ref !== action.updatedId
|
|
427
|
-
);
|
|
428
|
-
} )
|
|
429
|
-
);
|
|
430
|
+
case 'SAVE_REUSABLE_BLOCK_SUCCESS': {
|
|
431
|
+
const updatedBlockUids = keys(
|
|
432
|
+
omitBy( newState.attributes, ( attributes, clientId ) => {
|
|
433
|
+
return (
|
|
434
|
+
newState.byClientId[ clientId ].name !==
|
|
435
|
+
'core/block' ||
|
|
436
|
+
attributes.ref !== action.updatedId
|
|
437
|
+
);
|
|
438
|
+
} )
|
|
439
|
+
);
|
|
430
440
|
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
441
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
442
|
+
newState,
|
|
443
|
+
{
|
|
444
|
+
...newState.tree,
|
|
445
|
+
...updatedBlockUids.reduce( ( result, clientId ) => {
|
|
446
|
+
result[ clientId ] = {
|
|
447
|
+
...newState.byClientId[ clientId ],
|
|
448
|
+
attributes: newState.attributes[ clientId ],
|
|
449
|
+
innerBlocks:
|
|
450
|
+
newState.tree[ clientId ].innerBlocks,
|
|
451
|
+
};
|
|
452
|
+
return result;
|
|
453
|
+
}, {} ),
|
|
454
|
+
},
|
|
455
|
+
updatedBlockUids,
|
|
456
|
+
false
|
|
457
|
+
);
|
|
458
|
+
}
|
|
447
459
|
}
|
|
448
|
-
}
|
|
449
460
|
|
|
450
|
-
|
|
451
|
-
};
|
|
461
|
+
return newState;
|
|
462
|
+
};
|
|
452
463
|
|
|
453
464
|
/**
|
|
454
465
|
* Higher-order reducer intended to augment the blocks reducer, assigning an
|
|
@@ -606,6 +617,7 @@ const withBlockReset = ( reducer ) => ( state, action ) => {
|
|
|
606
617
|
order: mapBlockOrder( action.blocks ),
|
|
607
618
|
parents: mapBlockParents( action.blocks ),
|
|
608
619
|
controlledInnerBlocks: {},
|
|
620
|
+
visibility: {},
|
|
609
621
|
};
|
|
610
622
|
|
|
611
623
|
const subTree = buildBlockTree( newState, action.blocks );
|
|
@@ -1139,6 +1151,17 @@ export const blocks = flow(
|
|
|
1139
1151
|
}
|
|
1140
1152
|
return state;
|
|
1141
1153
|
},
|
|
1154
|
+
|
|
1155
|
+
visibility( state = {}, action ) {
|
|
1156
|
+
if ( action.type === 'SET_BLOCK_VISIBILITY' ) {
|
|
1157
|
+
return {
|
|
1158
|
+
...state,
|
|
1159
|
+
...action.updates,
|
|
1160
|
+
};
|
|
1161
|
+
}
|
|
1162
|
+
|
|
1163
|
+
return state;
|
|
1164
|
+
},
|
|
1142
1165
|
} );
|
|
1143
1166
|
|
|
1144
1167
|
/**
|
|
@@ -1678,7 +1701,8 @@ export function automaticChangeStatus( state, action ) {
|
|
|
1678
1701
|
|
|
1679
1702
|
return;
|
|
1680
1703
|
// Undoing an automatic change should still be possible after mouse
|
|
1681
|
-
// move.
|
|
1704
|
+
// move or after visibility change.
|
|
1705
|
+
case 'SET_BLOCK_VISIBILITY':
|
|
1682
1706
|
case 'START_TYPING':
|
|
1683
1707
|
case 'STOP_TYPING':
|
|
1684
1708
|
return state;
|
package/src/store/selectors.js
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
import {
|
|
5
5
|
castArray,
|
|
6
6
|
first,
|
|
7
|
-
isArray,
|
|
8
7
|
isBoolean,
|
|
9
8
|
last,
|
|
10
9
|
map,
|
|
@@ -412,8 +411,8 @@ export function getBlockSelectionEnd( state ) {
|
|
|
412
411
|
* @return {number} Number of blocks selected in the post.
|
|
413
412
|
*/
|
|
414
413
|
export function getSelectedBlockCount( state ) {
|
|
415
|
-
const multiSelectedBlockCount =
|
|
416
|
-
.length;
|
|
414
|
+
const multiSelectedBlockCount =
|
|
415
|
+
getMultiSelectedBlockClientIds( state ).length;
|
|
417
416
|
|
|
418
417
|
if ( multiSelectedBlockCount ) {
|
|
419
418
|
return multiSelectedBlockCount;
|
|
@@ -774,9 +773,8 @@ export function getMultiSelectedBlockClientIds( state ) {
|
|
|
774
773
|
*/
|
|
775
774
|
export const getMultiSelectedBlocks = createSelector(
|
|
776
775
|
( state ) => {
|
|
777
|
-
const multiSelectedBlockClientIds =
|
|
778
|
-
state
|
|
779
|
-
);
|
|
776
|
+
const multiSelectedBlockClientIds =
|
|
777
|
+
getMultiSelectedBlockClientIds( state );
|
|
780
778
|
if ( ! multiSelectedBlockClientIds.length ) {
|
|
781
779
|
return EMPTY_ARRAY;
|
|
782
780
|
}
|
|
@@ -1450,7 +1448,7 @@ const checkAllowList = ( list, item, defaultResult = null ) => {
|
|
|
1450
1448
|
if ( isBoolean( list ) ) {
|
|
1451
1449
|
return list;
|
|
1452
1450
|
}
|
|
1453
|
-
if ( isArray( list ) ) {
|
|
1451
|
+
if ( Array.isArray( list ) ) {
|
|
1454
1452
|
// TODO: when there is a canonical way to detect that we are editing a post
|
|
1455
1453
|
// the following check should be changed to something like:
|
|
1456
1454
|
// if ( list.includes( 'core/post-content' ) && getEditorMode() === 'post-content' && item === null )
|
|
@@ -1843,42 +1841,48 @@ const calculateFrecency = ( time, count ) => {
|
|
|
1843
1841
|
* @param {string} options.buildScope The scope for which the item is going to be used.
|
|
1844
1842
|
* @return {Function} Function returns an item to be shown in a specific context (Inserter|Transforms list).
|
|
1845
1843
|
*/
|
|
1846
|
-
const buildBlockTypeItem =
|
|
1847
|
-
|
|
1848
|
-
) => {
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1844
|
+
const buildBlockTypeItem =
|
|
1845
|
+
( state, { buildScope = 'inserter' } ) =>
|
|
1846
|
+
( blockType ) => {
|
|
1847
|
+
const id = blockType.name;
|
|
1848
|
+
|
|
1849
|
+
let isDisabled = false;
|
|
1850
|
+
if ( ! hasBlockSupport( blockType.name, 'multiple', true ) ) {
|
|
1851
|
+
isDisabled = some(
|
|
1852
|
+
getBlocksByClientId(
|
|
1853
|
+
state,
|
|
1854
|
+
getClientIdsWithDescendants( state )
|
|
1855
|
+
),
|
|
1856
|
+
{ name: blockType.name }
|
|
1857
|
+
);
|
|
1858
|
+
}
|
|
1858
1859
|
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1860
|
+
const { time, count = 0 } = getInsertUsage( state, id ) || {};
|
|
1861
|
+
const blockItemBase = {
|
|
1862
|
+
id,
|
|
1863
|
+
name: blockType.name,
|
|
1864
|
+
title: blockType.title,
|
|
1865
|
+
icon: blockType.icon,
|
|
1866
|
+
isDisabled,
|
|
1867
|
+
frecency: calculateFrecency( time, count ),
|
|
1868
|
+
};
|
|
1869
|
+
if ( buildScope === 'transform' ) return blockItemBase;
|
|
1869
1870
|
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1871
|
+
const inserterVariations = getBlockVariations(
|
|
1872
|
+
blockType.name,
|
|
1873
|
+
'inserter'
|
|
1874
|
+
);
|
|
1875
|
+
return {
|
|
1876
|
+
...blockItemBase,
|
|
1877
|
+
initialAttributes: {},
|
|
1878
|
+
description: blockType.description,
|
|
1879
|
+
category: blockType.category,
|
|
1880
|
+
keywords: blockType.keywords,
|
|
1881
|
+
variations: inserterVariations,
|
|
1882
|
+
example: blockType.example,
|
|
1883
|
+
utility: 1, // Deprecated.
|
|
1884
|
+
};
|
|
1880
1885
|
};
|
|
1881
|
-
};
|
|
1882
1886
|
|
|
1883
1887
|
/**
|
|
1884
1888
|
* Determines the items that appear in the inserter. Includes both static
|
|
@@ -1928,7 +1932,8 @@ export const getInserterItems = createSelector(
|
|
|
1928
1932
|
* - prepended ^\s*
|
|
1929
1933
|
*
|
|
1930
1934
|
*/
|
|
1931
|
-
const blockParserTokenizer =
|
|
1935
|
+
const blockParserTokenizer =
|
|
1936
|
+
/^\s*<!--\s+(\/)?wp:([a-z][a-z0-9_-]*\/)?([a-z][a-z0-9_-]*)\s+({(?:(?=([^}]+|}+(?=})|(?!}\s+\/?-->)[^])*)\5|[^]*?)}\s+)?(\/)?-->/;
|
|
1932
1937
|
|
|
1933
1938
|
const buildReusableBlockInserterItem = ( reusableBlock ) => {
|
|
1934
1939
|
let icon = symbol;
|
|
@@ -1948,12 +1953,8 @@ export const getInserterItems = createSelector(
|
|
|
1948
1953
|
: reusableBlock.content;
|
|
1949
1954
|
const rawBlockMatch = content.match( blockParserTokenizer );
|
|
1950
1955
|
if ( rawBlockMatch ) {
|
|
1951
|
-
const [
|
|
1952
|
-
|
|
1953
|
-
,
|
|
1954
|
-
namespace = 'core/',
|
|
1955
|
-
blockName,
|
|
1956
|
-
] = rawBlockMatch;
|
|
1956
|
+
const [ , , namespace = 'core/', blockName ] =
|
|
1957
|
+
rawBlockMatch;
|
|
1957
1958
|
const referencedBlockType = getBlockType(
|
|
1958
1959
|
namespace + blockName
|
|
1959
1960
|
);
|
|
@@ -2020,10 +2021,10 @@ export const getInserterItems = createSelector(
|
|
|
2020
2021
|
type.push( block );
|
|
2021
2022
|
return blocks;
|
|
2022
2023
|
};
|
|
2023
|
-
const {
|
|
2024
|
-
|
|
2025
|
-
noncore:
|
|
2026
|
-
|
|
2024
|
+
const { core: coreItems, noncore: nonCoreItems } = items.reduce(
|
|
2025
|
+
groupByType,
|
|
2026
|
+
{ core: [], noncore: [] }
|
|
2027
|
+
);
|
|
2027
2028
|
const sortedBlockTypes = [ ...coreItems, ...nonCoreItems ];
|
|
2028
2029
|
return [ ...sortedBlockTypes, ...reusableBlockInserterItems ];
|
|
2029
2030
|
},
|
|
@@ -2615,9 +2616,8 @@ export const __experimentalGetActiveBlockIdByBlockNames = createSelector(
|
|
|
2615
2616
|
return selectedBlockClientId;
|
|
2616
2617
|
}
|
|
2617
2618
|
// Check if first selected block is a child of a valid entity area.
|
|
2618
|
-
const multiSelectedBlockClientIds =
|
|
2619
|
-
state
|
|
2620
|
-
);
|
|
2619
|
+
const multiSelectedBlockClientIds =
|
|
2620
|
+
getMultiSelectedBlockClientIds( state );
|
|
2621
2621
|
const entityAreaParents = getBlockParentsByBlockName(
|
|
2622
2622
|
state,
|
|
2623
2623
|
selectedBlockClientId || multiSelectedBlockClientIds[ 0 ],
|
|
@@ -2651,3 +2651,31 @@ export function wasBlockJustInserted( state, clientId, source ) {
|
|
|
2651
2651
|
lastBlockInserted.source === source
|
|
2652
2652
|
);
|
|
2653
2653
|
}
|
|
2654
|
+
|
|
2655
|
+
/**
|
|
2656
|
+
* Tells if the block is visible on the canvas or not.
|
|
2657
|
+
*
|
|
2658
|
+
* @param {Object} state Global application state.
|
|
2659
|
+
* @param {Object} clientId Client Id of the block.
|
|
2660
|
+
* @return {boolean} True if the block is visible.
|
|
2661
|
+
*/
|
|
2662
|
+
export function isBlockVisible( state, clientId ) {
|
|
2663
|
+
return state.blocks.visibility?.[ clientId ] ?? true;
|
|
2664
|
+
}
|
|
2665
|
+
|
|
2666
|
+
/**
|
|
2667
|
+
* Returns the list of all hidden blocks.
|
|
2668
|
+
*
|
|
2669
|
+
* @param {Object} state Global application state.
|
|
2670
|
+
* @return {[string]} List of hidden blocks.
|
|
2671
|
+
*/
|
|
2672
|
+
export const __unstableGetVisibleBlocks = createSelector(
|
|
2673
|
+
( state ) => {
|
|
2674
|
+
return new Set(
|
|
2675
|
+
Object.keys( state.blocks.visibility ).filter(
|
|
2676
|
+
( key ) => state.blocks.visibility[ key ]
|
|
2677
|
+
)
|
|
2678
|
+
);
|
|
2679
|
+
},
|
|
2680
|
+
( state ) => [ state.blocks.visibility ]
|
|
2681
|
+
);
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { noop } from 'lodash';
|
|
5
4
|
import deepFreeze from 'deep-freeze';
|
|
6
5
|
|
|
7
6
|
/**
|
|
@@ -24,6 +23,8 @@ import reducer from '../reducer';
|
|
|
24
23
|
import * as actions from '../actions';
|
|
25
24
|
import { STORE_NAME as blockEditorStoreName } from '../../store/constants';
|
|
26
25
|
|
|
26
|
+
const noop = () => {};
|
|
27
|
+
|
|
27
28
|
const {
|
|
28
29
|
clearSelectedBlock,
|
|
29
30
|
hideInsertionPoint,
|