@wordpress/block-editor 9.1.0 → 9.4.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/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 +3 -7
- 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.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 +2 -1
- package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/index.native.js +7 -3
- package/build/components/block-draggable/index.native.js.map +1 -1
- 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 +2 -1
- 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.map +1 -1
- 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.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 +2 -1
- 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.map +1 -1
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +3 -9
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js +3 -8
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-popover/inbetween.js +9 -6
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +2 -1
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/auto.js +21 -5
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-selection-clearer/index.js.map +1 -1
- package/build/components/block-settings-menu/block-edit-visually-button.js +70 -0
- package/build/components/block-settings-menu/block-edit-visually-button.js.map +1 -0
- 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-settings-menu/index.js +6 -2
- package/build/components/block-settings-menu/index.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +4 -1
- package/build/components/block-settings-menu-controls/index.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-title/use-block-display-title.js +3 -10
- package/build/components/block-title/use-block-display-title.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-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/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 +72 -95
- 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/duotone/components.js +145 -0
- package/build/components/duotone/components.js.map +1 -0
- package/build/components/duotone/index.js +40 -0
- package/build/components/duotone/index.js.map +1 -0
- package/build/components/duotone/utils.js +38 -0
- package/build/components/duotone/utils.js.map +1 -0
- package/build/components/duotone-control/index.js +17 -5
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.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 +41 -0
- 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 +3 -3
- package/build/components/inserter/index.js.map +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/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/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.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/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 +5 -6
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +4 -4
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/media-replace-flow/index.js +23 -14
- 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.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 +56 -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/index.js +1 -1
- 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-input-rules.js +4 -13
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +20 -5
- package/build/components/rich-text/use-paste-handler.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 +14 -3
- 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.map +1 -1
- 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.map +1 -1
- package/build/components/use-setting/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 +17 -0
- package/build/elements/index.js.map +1 -0
- package/build/hooks/aria-label.js +71 -0
- package/build/hooks/aria-label.js.map +1 -0
- 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/duotone.js +33 -160
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/gap.js.map +1 -1
- package/build/hooks/index.js +3 -7
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/layout.js +44 -5
- package/build/hooks/layout.js.map +1 -1
- package/build/index.js +14 -7
- package/build/index.js.map +1 -1
- package/build/layouts/flex.js +7 -4
- package/build/layouts/flex.js.map +1 -1
- package/build/store/actions.js +24 -14
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +35 -11
- 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/selection.js +34 -0
- package/build/utils/selection.js.map +1 -0
- 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 +2 -5
- 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.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 +2 -1
- package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-draggable/index.native.js +7 -3
- package/build-module/components/block-draggable/index.native.js.map +1 -1
- 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 +2 -1
- 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.map +1 -1
- 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.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 +2 -1
- 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.map +1 -1
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +3 -9
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js +3 -8
- package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +9 -6
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +2 -1
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js +20 -5
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-selection-clearer/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-edit-visually-button.js +56 -0
- package/build-module/components/block-settings-menu/block-edit-visually-button.js.map +1 -0
- 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 +6 -2
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu/index.js +6 -3
- package/build-module/components/block-settings-menu/index.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +5 -2
- package/build-module/components/block-settings-menu-controls/index.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-title/use-block-display-title.js +3 -9
- package/build-module/components/block-title/use-block-display-title.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-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/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 +74 -97
- 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/duotone/components.js +130 -0
- package/build-module/components/duotone/components.js.map +1 -0
- package/build-module/components/duotone/index.js +3 -0
- package/build-module/components/duotone/index.js.map +1 -0
- package/build-module/components/duotone/utils.js +30 -0
- package/build-module/components/duotone/utils.js.map +1 -0
- package/build-module/components/duotone-control/index.js +18 -6
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.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 -0
- 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 +3 -2
- package/build-module/components/inserter/index.js.map +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/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/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.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/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 +3 -3
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js +5 -3
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +24 -14
- 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.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 +42 -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/index.js +1 -1
- 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-input-rules.js +3 -11
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +20 -5
- package/build-module/components/rich-text/use-paste-handler.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 +11 -1
- 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.map +1 -1
- 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.map +1 -1
- package/build-module/components/use-setting/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 +8 -0
- package/build-module/elements/index.js.map +1 -0
- package/build-module/hooks/aria-label.js +59 -0
- package/build-module/hooks/aria-label.js.map +1 -0
- 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/duotone.js +22 -140
- package/build-module/hooks/duotone.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/index.js +1 -1
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/layout.js +45 -6
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/index.js +2 -1
- package/build-module/index.js.map +1 -1
- package/build-module/layouts/flex.js +6 -4
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/store/actions.js +18 -11
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +36 -12
- 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/selection.js +24 -0
- package/build-module/utils/selection.js.map +1 -0
- package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-style/style-rtl.css +37 -37
- package/build-style/style.css +37 -37
- 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 +2 -4
- 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 +2 -5
- 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 +1 -1
- package/src/components/block-draggable/index.js +6 -13
- package/src/components/block-draggable/index.native.js +10 -14
- 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-edit/test/edit.js +2 -1
- package/src/components/block-list/block-list-item.native.js +4 -12
- 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 +11 -15
- package/src/components/block-list/index.js +46 -47
- package/src/components/block-list/index.native.js +12 -21
- package/src/components/block-list/style.scss +1 -1
- package/src/components/block-list/test/block-list-context.native.js +8 -16
- package/src/components/block-list/use-block-props/index.js +6 -3
- 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 +2 -3
- 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 +1 -0
- package/src/components/block-mover/button.js +2 -3
- package/src/components/block-mover/index.native.js +4 -6
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +4 -0
- package/src/components/block-parent-selector/index.js +2 -3
- package/src/components/block-pattern-setup/index.js +4 -14
- package/src/components/block-pattern-setup/setup-toolbar.js +2 -9
- package/src/components/block-popover/inbetween.js +12 -7
- package/src/components/block-popover/index.js +1 -0
- package/src/components/block-preview/auto.js +21 -11
- package/src/components/block-selection-clearer/index.js +2 -3
- package/src/components/block-settings-menu/block-edit-visually-button.js +52 -0
- package/src/components/block-settings-menu/block-mode-toggle.js +4 -8
- package/src/components/block-settings-menu/block-settings-dropdown.js +9 -8
- package/src/components/block-settings-menu/index.js +15 -11
- package/src/components/block-settings-menu-controls/index.js +3 -2
- 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-title/use-block-display-title.js +9 -7
- 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-types-list/index.native.js +2 -4
- package/src/components/block-variation-transforms/index.js +10 -8
- 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 +49 -69
- package/src/components/colors-gradients/panel-color-gradient-settings.js +30 -76
- package/src/components/colors-gradients/style.scss +11 -37
- 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/components.js +133 -0
- package/src/components/duotone/index.js +7 -0
- package/src/components/duotone/utils.js +25 -0
- package/src/components/duotone-control/index.js +12 -7
- package/src/components/duotone-control/style.scss +5 -0
- package/src/components/font-sizes/with-font-sizes.js +2 -3
- package/src/components/image-editor/aspect-ratio-dropdown.js +2 -6
- package/src/components/image-size-control/index.js +4 -7
- package/src/components/index.js +4 -0
- 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 +7 -11
- package/src/components/inserter/index.native.js +6 -11
- 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/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/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/settings-drawer.js +2 -5
- package/src/components/link-control/test/fixtures/index.js +5 -7
- package/src/components/link-control/test/index.js +79 -102
- package/src/components/link-control/use-search-handler.js +2 -2
- package/src/components/list-view/block-contents.js +2 -4
- package/src/components/list-view/branch.js +22 -23
- package/src/components/list-view/index.js +4 -8
- 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 +3 -3
- package/src/components/media-placeholder/index.native.js +9 -5
- package/src/components/media-replace-flow/index.js +78 -55
- package/src/components/media-upload/README.md +8 -0
- 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 +1 -2
- 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/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 +41 -0
- package/src/components/responsive-block-control/README.md +3 -1
- package/src/components/responsive-block-control/test/index.js +4 -4
- package/src/components/rich-text/embed-handler-picker.native.js +2 -5
- package/src/components/rich-text/index.js +9 -4
- package/src/components/rich-text/index.native.js +4 -0
- package/src/components/rich-text/use-format-types.js +16 -16
- package/src/components/rich-text/use-input-rules.js +6 -15
- package/src/components/rich-text/use-mark-persistent.js +2 -3
- package/src/components/rich-text/use-paste-handler.js +17 -5
- 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 +21 -20
- 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 +2 -4
- 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 +4 -8
- package/src/components/use-setting/index.js +8 -6
- 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 +8 -0
- package/src/elements/test/index.js +18 -0
- package/src/hooks/aria-label.js +67 -0
- package/src/hooks/color-panel.js +4 -4
- package/src/hooks/color-panel.native.js +2 -2
- package/src/hooks/color.js +7 -76
- package/src/hooks/color.scss +9 -0
- package/src/hooks/dimensions.js +11 -3
- package/src/hooks/duotone.js +18 -139
- package/src/hooks/font-family.js +4 -2
- package/src/hooks/gap.js +2 -3
- package/src/hooks/index.js +1 -1
- package/src/hooks/layout.js +74 -13
- 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/index.js +1 -1
- package/src/layouts/flex.js +13 -5
- package/src/store/actions.js +772 -729
- package/src/store/reducer.js +219 -183
- package/src/store/selectors.js +82 -54
- package/src/store/test/actions.js +2 -1
- package/src/store/test/reducer.js +145 -10
- package/src/store/test/selectors.js +20 -27
- package/src/style.scss +1 -0
- package/src/utils/pasting.js +3 -3
- package/src/utils/selection.js +26 -0
- package/src/utils/test/selection.js +39 -0
- 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-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/src/components/colors/color-panel.js +0 -91
- package/src/components/colors/color-panel.native.js +0 -3
package/src/store/reducer.js
CHANGED
|
@@ -9,7 +9,6 @@ import {
|
|
|
9
9
|
omit,
|
|
10
10
|
without,
|
|
11
11
|
mapValues,
|
|
12
|
-
keys,
|
|
13
12
|
isEqual,
|
|
14
13
|
isEmpty,
|
|
15
14
|
identity,
|
|
@@ -148,7 +147,7 @@ function getMutateSafeObject( original, working ) {
|
|
|
148
147
|
* @return {boolean} Whether the two objects have the same keys.
|
|
149
148
|
*/
|
|
150
149
|
export function hasSameKeys( a, b ) {
|
|
151
|
-
return isEqual( keys( a ), keys( b ) );
|
|
150
|
+
return isEqual( Object.keys( a ), Object.keys( b ) );
|
|
152
151
|
}
|
|
153
152
|
|
|
154
153
|
/**
|
|
@@ -258,197 +257,207 @@ function updateParentInnerBlocksInTree(
|
|
|
258
257
|
*
|
|
259
258
|
* @return {Function} Enhanced reducer function.
|
|
260
259
|
*/
|
|
261
|
-
const withBlockTree =
|
|
262
|
-
|
|
260
|
+
const withBlockTree =
|
|
261
|
+
( reducer ) =>
|
|
262
|
+
( state = {}, action ) => {
|
|
263
|
+
const newState = reducer( state, action );
|
|
263
264
|
|
|
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;
|
|
265
|
+
if ( newState === state ) {
|
|
266
|
+
return state;
|
|
283
267
|
}
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
268
|
+
|
|
269
|
+
newState.tree = state.tree ? state.tree : {};
|
|
270
|
+
switch ( action.type ) {
|
|
271
|
+
case 'RECEIVE_BLOCKS':
|
|
272
|
+
case 'INSERT_BLOCKS': {
|
|
273
|
+
const subTree = buildBlockTree( newState, action.blocks );
|
|
274
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
275
|
+
newState,
|
|
276
|
+
{
|
|
277
|
+
...newState.tree,
|
|
278
|
+
...subTree,
|
|
293
279
|
},
|
|
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
|
-
|
|
280
|
+
action.rootClientId ? [ action.rootClientId ] : [ '' ],
|
|
281
|
+
true
|
|
282
|
+
);
|
|
283
|
+
break;
|
|
284
|
+
}
|
|
285
|
+
case 'UPDATE_BLOCK':
|
|
286
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
287
|
+
newState,
|
|
288
|
+
{
|
|
289
|
+
...newState.tree,
|
|
290
|
+
[ action.clientId ]: {
|
|
291
|
+
...newState.tree[ action.clientId ],
|
|
292
|
+
...newState.byClientId[ action.clientId ],
|
|
293
|
+
attributes: newState.attributes[ action.clientId ],
|
|
294
|
+
},
|
|
295
|
+
},
|
|
296
|
+
[ action.clientId ],
|
|
297
|
+
false
|
|
298
|
+
);
|
|
299
|
+
break;
|
|
300
|
+
case 'UPDATE_BLOCK_ATTRIBUTES': {
|
|
301
|
+
const newSubTree = action.clientIds.reduce(
|
|
302
|
+
( result, clientId ) => {
|
|
303
|
+
result[ clientId ] = {
|
|
304
|
+
...newState.tree[ clientId ],
|
|
305
|
+
attributes: newState.attributes[ clientId ],
|
|
306
|
+
};
|
|
307
|
+
return result;
|
|
308
|
+
},
|
|
309
|
+
{}
|
|
310
|
+
);
|
|
311
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
312
|
+
newState,
|
|
313
|
+
{
|
|
314
|
+
...newState.tree,
|
|
315
|
+
...newSubTree,
|
|
316
|
+
},
|
|
317
|
+
action.clientIds,
|
|
318
|
+
false
|
|
319
|
+
);
|
|
320
|
+
break;
|
|
321
|
+
}
|
|
322
|
+
case 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN': {
|
|
323
|
+
const subTree = buildBlockTree( newState, action.blocks );
|
|
324
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
325
|
+
newState,
|
|
326
|
+
{
|
|
327
|
+
...omit(
|
|
328
|
+
newState.tree,
|
|
329
|
+
action.replacedClientIds.concat(
|
|
330
|
+
// Controlled inner blocks are only removed
|
|
331
|
+
// if the block doesn't move to another position
|
|
332
|
+
// otherwise their content will be lost.
|
|
333
|
+
action.replacedClientIds
|
|
334
|
+
.filter(
|
|
335
|
+
( clientId ) => ! subTree[ clientId ]
|
|
336
|
+
)
|
|
337
|
+
.map(
|
|
338
|
+
( clientId ) =>
|
|
339
|
+
'controlled||' + clientId
|
|
340
|
+
)
|
|
341
|
+
)
|
|
342
|
+
),
|
|
343
|
+
...subTree,
|
|
344
|
+
},
|
|
345
|
+
action.blocks.map( ( b ) => b.clientId ),
|
|
346
|
+
false
|
|
347
|
+
);
|
|
348
|
+
|
|
349
|
+
// If there are no replaced blocks, it means we're removing blocks so we need to update their parent.
|
|
350
|
+
const parentsOfRemovedBlocks = [];
|
|
351
|
+
for ( const clientId of action.clientIds ) {
|
|
352
|
+
if (
|
|
353
|
+
state.parents[ clientId ] !== undefined &&
|
|
354
|
+
( state.parents[ clientId ] === '' ||
|
|
355
|
+
newState.byClientId[ state.parents[ clientId ] ] )
|
|
356
|
+
) {
|
|
357
|
+
parentsOfRemovedBlocks.push(
|
|
358
|
+
state.parents[ clientId ]
|
|
359
|
+
);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
363
|
+
newState,
|
|
364
|
+
newState.tree,
|
|
365
|
+
parentsOfRemovedBlocks,
|
|
366
|
+
true
|
|
367
|
+
);
|
|
368
|
+
break;
|
|
369
|
+
}
|
|
370
|
+
case 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN':
|
|
371
|
+
const parentsOfRemovedBlocks = [];
|
|
372
|
+
for ( const clientId of action.clientIds ) {
|
|
373
|
+
if (
|
|
374
|
+
state.parents[ clientId ] !== undefined &&
|
|
375
|
+
( state.parents[ clientId ] === '' ||
|
|
376
|
+
newState.byClientId[ state.parents[ clientId ] ] )
|
|
377
|
+
) {
|
|
378
|
+
parentsOfRemovedBlocks.push(
|
|
379
|
+
state.parents[ clientId ]
|
|
380
|
+
);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
384
|
+
newState,
|
|
385
|
+
omit(
|
|
327
386
|
newState.tree,
|
|
328
|
-
action.
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
action.replacedClientIds
|
|
333
|
-
.filter( ( clientId ) => ! subTree[ clientId ] )
|
|
334
|
-
.map(
|
|
335
|
-
( clientId ) => 'controlled||' + clientId
|
|
336
|
-
)
|
|
387
|
+
action.removedClientIds.concat(
|
|
388
|
+
action.removedClientIds.map(
|
|
389
|
+
( clientId ) => 'controlled||' + clientId
|
|
390
|
+
)
|
|
337
391
|
)
|
|
338
392
|
),
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
state.parents[ clientId ] !== undefined &&
|
|
350
|
-
( state.parents[ clientId ] === '' ||
|
|
351
|
-
newState.byClientId[ state.parents[ clientId ] ] )
|
|
352
|
-
) {
|
|
353
|
-
parentsOfRemovedBlocks.push( state.parents[ clientId ] );
|
|
393
|
+
parentsOfRemovedBlocks,
|
|
394
|
+
true
|
|
395
|
+
);
|
|
396
|
+
break;
|
|
397
|
+
case 'MOVE_BLOCKS_TO_POSITION': {
|
|
398
|
+
const updatedBlockUids = [];
|
|
399
|
+
if ( action.fromRootClientId ) {
|
|
400
|
+
updatedBlockUids.push( action.fromRootClientId );
|
|
401
|
+
} else {
|
|
402
|
+
updatedBlockUids.push( '' );
|
|
354
403
|
}
|
|
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 ] );
|
|
404
|
+
if ( action.toRootClientId ) {
|
|
405
|
+
updatedBlockUids.push( action.toRootClientId );
|
|
373
406
|
}
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
newState,
|
|
377
|
-
omit(
|
|
407
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
408
|
+
newState,
|
|
378
409
|
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 );
|
|
410
|
+
updatedBlockUids,
|
|
411
|
+
true
|
|
412
|
+
);
|
|
413
|
+
break;
|
|
396
414
|
}
|
|
397
|
-
|
|
398
|
-
|
|
415
|
+
case 'MOVE_BLOCKS_UP':
|
|
416
|
+
case 'MOVE_BLOCKS_DOWN': {
|
|
417
|
+
const updatedBlockUids = [
|
|
418
|
+
action.rootClientId ? action.rootClientId : '',
|
|
419
|
+
];
|
|
420
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
421
|
+
newState,
|
|
422
|
+
newState.tree,
|
|
423
|
+
updatedBlockUids,
|
|
424
|
+
true
|
|
425
|
+
);
|
|
426
|
+
break;
|
|
399
427
|
}
|
|
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
|
-
);
|
|
428
|
+
case 'SAVE_REUSABLE_BLOCK_SUCCESS': {
|
|
429
|
+
const updatedBlockUids = Object.keys(
|
|
430
|
+
omitBy( newState.attributes, ( attributes, clientId ) => {
|
|
431
|
+
return (
|
|
432
|
+
newState.byClientId[ clientId ].name !==
|
|
433
|
+
'core/block' ||
|
|
434
|
+
attributes.ref !== action.updatedId
|
|
435
|
+
);
|
|
436
|
+
} )
|
|
437
|
+
);
|
|
430
438
|
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
439
|
+
newState.tree = updateParentInnerBlocksInTree(
|
|
440
|
+
newState,
|
|
441
|
+
{
|
|
442
|
+
...newState.tree,
|
|
443
|
+
...updatedBlockUids.reduce( ( result, clientId ) => {
|
|
444
|
+
result[ clientId ] = {
|
|
445
|
+
...newState.byClientId[ clientId ],
|
|
446
|
+
attributes: newState.attributes[ clientId ],
|
|
447
|
+
innerBlocks:
|
|
448
|
+
newState.tree[ clientId ].innerBlocks,
|
|
449
|
+
};
|
|
450
|
+
return result;
|
|
451
|
+
}, {} ),
|
|
452
|
+
},
|
|
453
|
+
updatedBlockUids,
|
|
454
|
+
false
|
|
455
|
+
);
|
|
456
|
+
}
|
|
447
457
|
}
|
|
448
|
-
}
|
|
449
458
|
|
|
450
|
-
|
|
451
|
-
};
|
|
459
|
+
return newState;
|
|
460
|
+
};
|
|
452
461
|
|
|
453
462
|
/**
|
|
454
463
|
* Higher-order reducer intended to augment the blocks reducer, assigning an
|
|
@@ -606,6 +615,7 @@ const withBlockReset = ( reducer ) => ( state, action ) => {
|
|
|
606
615
|
order: mapBlockOrder( action.blocks ),
|
|
607
616
|
parents: mapBlockParents( action.blocks ),
|
|
608
617
|
controlledInnerBlocks: {},
|
|
618
|
+
visibility: {},
|
|
609
619
|
};
|
|
610
620
|
|
|
611
621
|
const subTree = buildBlockTree( newState, action.blocks );
|
|
@@ -678,9 +688,9 @@ const withReplaceInnerBlocks = ( reducer ) => ( state, action ) => {
|
|
|
678
688
|
index: 0,
|
|
679
689
|
} );
|
|
680
690
|
|
|
681
|
-
// We need to re-attach the
|
|
682
|
-
// Otherwise, an inner block controller's blocks
|
|
683
|
-
// from its entity
|
|
691
|
+
// We need to re-attach the controlled inner blocks to the blocks tree and
|
|
692
|
+
// preserve their block order. Otherwise, an inner block controller's blocks
|
|
693
|
+
// will be deleted entirely from its entity.
|
|
684
694
|
stateAfterInsert.order = {
|
|
685
695
|
...stateAfterInsert.order,
|
|
686
696
|
...reduce(
|
|
@@ -694,6 +704,20 @@ const withReplaceInnerBlocks = ( reducer ) => ( state, action ) => {
|
|
|
694
704
|
{}
|
|
695
705
|
),
|
|
696
706
|
};
|
|
707
|
+
stateAfterInsert.tree = {
|
|
708
|
+
...stateAfterInsert.tree,
|
|
709
|
+
...reduce(
|
|
710
|
+
nestedControllers,
|
|
711
|
+
( result, value, _key ) => {
|
|
712
|
+
const key = `controlled||${ _key }`;
|
|
713
|
+
if ( state.tree[ key ] ) {
|
|
714
|
+
result[ key ] = state.tree[ key ];
|
|
715
|
+
}
|
|
716
|
+
return result;
|
|
717
|
+
},
|
|
718
|
+
{}
|
|
719
|
+
),
|
|
720
|
+
};
|
|
697
721
|
}
|
|
698
722
|
return stateAfterInsert;
|
|
699
723
|
};
|
|
@@ -1139,6 +1163,17 @@ export const blocks = flow(
|
|
|
1139
1163
|
}
|
|
1140
1164
|
return state;
|
|
1141
1165
|
},
|
|
1166
|
+
|
|
1167
|
+
visibility( state = {}, action ) {
|
|
1168
|
+
if ( action.type === 'SET_BLOCK_VISIBILITY' ) {
|
|
1169
|
+
return {
|
|
1170
|
+
...state,
|
|
1171
|
+
...action.updates,
|
|
1172
|
+
};
|
|
1173
|
+
}
|
|
1174
|
+
|
|
1175
|
+
return state;
|
|
1176
|
+
},
|
|
1142
1177
|
} );
|
|
1143
1178
|
|
|
1144
1179
|
/**
|
|
@@ -1678,7 +1713,8 @@ export function automaticChangeStatus( state, action ) {
|
|
|
1678
1713
|
|
|
1679
1714
|
return;
|
|
1680
1715
|
// Undoing an automatic change should still be possible after mouse
|
|
1681
|
-
// move.
|
|
1716
|
+
// move or after visibility change.
|
|
1717
|
+
case 'SET_BLOCK_VISIBILITY':
|
|
1682
1718
|
case 'START_TYPING':
|
|
1683
1719
|
case 'STOP_TYPING':
|
|
1684
1720
|
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,
|