@wordpress/block-editor 8.1.2-next.f435e9e01b.0 → 8.2.1-next.a55ed9455a.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -1
- package/README.md +6 -26
- package/build/autocompleters/link.js +78 -0
- package/build/autocompleters/link.js.map +1 -0
- package/build/components/autocomplete/index.js +3 -1
- package/build/components/autocomplete/index.js.map +1 -1
- package/build/components/block-actions/index.js +1 -1
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-breadcrumb/index.js +4 -2
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-compare/index.js +2 -2
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-controls/index.js +1 -1
- package/build/components/block-controls/index.js.map +1 -1
- package/build/components/block-draggable/index.js +1 -1
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-edit/edit.js +1 -1
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-list/block-html.js +1 -1
- package/build/components/block-list/block-html.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.js +1 -1
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js +4 -4
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block-selection-button.native.js +4 -3
- package/build/components/block-list/block-selection-button.native.js.map +1 -1
- package/build/components/block-list/block.js +17 -3
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +6 -6
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.native.js +5 -5
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-class-names.js +1 -1
- package/build/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +3 -0
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-multi-selection.js +25 -27
- package/build/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
- package/build/components/block-media-update-progress/index.native.js +4 -4
- package/build/components/block-media-update-progress/index.native.js.map +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build/components/block-mobile-toolbar/index.native.js +1 -1
- package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build/components/block-mover/mover-description.js +4 -4
- package/build/components/block-mover/mover-description.js.map +1 -1
- package/build/components/block-mover/mover-description.native.js +5 -5
- package/build/components/block-mover/mover-description.native.js.map +1 -1
- package/build/components/block-settings/container.native.js +1 -5
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +7 -12
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-styles/preview.native.js +1 -1
- package/build/components/block-styles/preview.native.js.map +1 -1
- package/build/components/block-switcher/index.js +2 -1
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/use-transformed-patterns.js +0 -1
- package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build/components/block-title/index.js +7 -62
- package/build/components/block-title/index.js.map +1 -1
- package/build/components/block-title/use-block-display-title.js +94 -0
- package/build/components/block-title/use-block-display-title.js.map +1 -0
- package/build/components/block-toolbar/utils.js +9 -1
- package/build/components/block-toolbar/utils.js.map +1 -1
- package/build/components/block-tools/block-popover.js +1 -1
- package/build/components/block-tools/block-popover.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +2 -1
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-types-list/index.native.js +1 -1
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/border-radius-control/index.js +2 -2
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/utils.js +10 -6
- package/build/components/border-radius-control/utils.js.map +1 -1
- package/build/components/contrast-checker/index.js +3 -3
- package/build/components/contrast-checker/index.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.js +1 -1
- package/build/components/convert-to-group-buttons/index.js.map +1 -1
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -3
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build/components/copy-handler/index.js +3 -3
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +3 -3
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/index.js +9 -0
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +38 -1
- package/build/components/index.native.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +4 -4
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +1 -1
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
- package/build/components/inserter/hooks/use-block-type-impressions.native.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 +7 -7
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/menu.native.js +3 -3
- package/build/components/inserter/menu.native.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +20 -8
- 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.js +28 -11
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +1 -1
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/letter-spacing-control/index.js +3 -3
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/line-height-control/index.js +63 -45
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/line-height-control/index.native.js +3 -1
- package/build/components/line-height-control/index.native.js.map +1 -1
- package/build/components/link-control/index.js +2 -2
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-input.js +1 -1
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/search-results.js +2 -2
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/use-rich-url-data.js +1 -1
- package/build/components/link-control/use-rich-url-data.js.map +1 -1
- package/build/components/link-control/use-search-handler.js +2 -2
- package/build/components/link-control/use-search-handler.js.map +1 -1
- package/build/components/list-view/block-contents.js +8 -4
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +2 -2
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +20 -9
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +2 -1
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/index.js +49 -41
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +139 -0
- package/build/components/list-view/use-block-selection.js.map +1 -0
- package/build/components/list-view/use-list-view-expand-selected-item.js +60 -0
- package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -0
- package/build/components/list-view/utils.js +29 -1
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +7 -5
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/media-replace-flow/index.js +20 -24
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-upload/index.native.js +4 -3
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/media-upload-progress/index.native.js +1 -1
- package/build/components/media-upload-progress/index.native.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +3 -3
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/plain-text/index.native.js +3 -3
- package/build/components/plain-text/index.native.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +2 -2
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.native.js +1 -1
- package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
- package/build/components/rich-text/index.js +7 -12
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +3 -3
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +7 -12
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/url-input/index.js +11 -11
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-moving-animation/index.js +1 -1
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +2 -2
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/writing-flow/index.js +1 -0
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-multi-selection.js +22 -24
- package/build/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build/components/writing-flow/use-select-all.js +3 -2
- package/build/components/writing-flow/use-select-all.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +4 -3
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/align.js +1 -1
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/anchor.js +1 -1
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/border.js +2 -14
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +2 -2
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/custom-class-name.js +40 -0
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/generated-class-name.js +3 -3
- package/build/hooks/generated-class-name.js.map +1 -1
- package/build/hooks/line-height.js +2 -0
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/lock.js +1 -1
- package/build/hooks/lock.js.map +1 -1
- package/build/hooks/style.js +32 -13
- package/build/hooks/style.js.map +1 -1
- package/build/layouts/flow.js +7 -5
- package/build/layouts/flow.js.map +1 -1
- package/build/store/actions.js +55 -48
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +2 -1
- package/build/store/defaults.js.map +1 -1
- package/build/store/index.js +1 -2
- package/build/store/index.js.map +1 -1
- package/build/store/reducer.js +13 -13
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +6 -6
- package/build/store/selectors.js.map +1 -1
- package/build/utils/index.js +0 -14
- package/build/utils/index.js.map +1 -1
- package/build/utils/parse-css-unit-to-px.js +3 -3
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build/utils/pasting.js +91 -0
- package/build/utils/pasting.js.map +1 -0
- package/build/utils/transform-styles/ast/parse.js +5 -5
- package/build/utils/transform-styles/ast/parse.js.map +1 -1
- package/build/utils/transform-styles/transforms/url-rewrite.js +2 -2
- package/build/utils/transform-styles/transforms/url-rewrite.js.map +1 -1
- package/build-module/autocompleters/link.js +64 -0
- package/build-module/autocompleters/link.js.map +1 -0
- package/build-module/components/autocomplete/index.js +2 -1
- package/build-module/components/autocomplete/index.js.map +1 -1
- package/build-module/components/block-actions/index.js +1 -1
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js +4 -2
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-compare/index.js +2 -2
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-controls/index.js +1 -1
- package/build-module/components/block-controls/index.js.map +1 -1
- package/build-module/components/block-draggable/index.js +1 -1
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-edit/edit.js +1 -1
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-list/block-html.js +1 -1
- package/build-module/components/block-list/block-html.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +1 -1
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-list/block-list-item.native.js +4 -4
- 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 +4 -3
- package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
- package/build-module/components/block-list/block.js +18 -4
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +7 -7
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.native.js +5 -5
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-class-names.js +1 -1
- package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +2 -0
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-multi-selection.js +23 -28
- package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
- package/build-module/components/block-media-update-progress/index.native.js +4 -4
- package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
- 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 +1 -1
- package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-mover/mover-description.js +4 -4
- package/build-module/components/block-mover/mover-description.js.map +1 -1
- package/build-module/components/block-mover/mover-description.native.js +5 -5
- package/build-module/components/block-mover/mover-description.native.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +2 -6
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +7 -13
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-styles/preview.native.js +1 -1
- package/build-module/components/block-styles/preview.native.js.map +1 -1
- package/build-module/components/block-switcher/index.js +2 -1
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/use-transformed-patterns.js +0 -1
- package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build-module/components/block-title/index.js +7 -58
- package/build-module/components/block-title/index.js.map +1 -1
- package/build-module/components/block-title/use-block-display-title.js +80 -0
- package/build-module/components/block-title/use-block-display-title.js.map +1 -0
- package/build-module/components/block-toolbar/utils.js +9 -1
- package/build-module/components/block-toolbar/utils.js.map +1 -1
- package/build-module/components/block-tools/block-popover.js +1 -1
- package/build-module/components/block-tools/block-popover.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +2 -1
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +1 -1
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +3 -3
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/utils.js +11 -7
- package/build-module/components/border-radius-control/utils.js.map +1 -1
- package/build-module/components/contrast-checker/index.js +3 -3
- package/build-module/components/contrast-checker/index.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.js +1 -1
- package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -3
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build-module/components/copy-handler/index.js +2 -2
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +3 -3
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/index.js +1 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js +5 -4
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +4 -4
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +1 -1
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build-module/components/inserter/index.js +3 -3
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +7 -7
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/menu.native.js +3 -3
- package/build-module/components/inserter/menu.native.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +20 -8
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/search-items.js +1 -1
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/inserter/search-results.js +28 -11
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +1 -1
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/letter-spacing-control/index.js +3 -3
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +61 -45
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.native.js +3 -1
- package/build-module/components/line-height-control/index.native.js.map +1 -1
- package/build-module/components/link-control/index.js +2 -2
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-input.js +1 -1
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/search-results.js +2 -2
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/use-rich-url-data.js +1 -1
- package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
- package/build-module/components/link-control/use-search-handler.js +2 -2
- package/build-module/components/link-control/use-search-handler.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +8 -4
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +2 -2
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +20 -9
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +2 -1
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/index.js +46 -42
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +123 -0
- package/build-module/components/list-view/use-block-selection.js.map +1 -0
- package/build-module/components/list-view/use-list-view-expand-selected-item.js +50 -0
- package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -0
- package/build-module/components/list-view/utils.js +25 -0
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js +7 -5
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +22 -27
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-upload/index.native.js +4 -3
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/media-upload-progress/index.native.js +1 -1
- package/build-module/components/media-upload-progress/index.native.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +3 -3
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/plain-text/index.native.js +3 -3
- package/build-module/components/plain-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +2 -2
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.native.js +1 -1
- package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
- package/build-module/components/rich-text/index.js +7 -12
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +3 -3
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +6 -12
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/url-input/index.js +11 -11
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +1 -1
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +2 -2
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/writing-flow/index.js +1 -0
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-multi-selection.js +21 -21
- package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-select-all.js +3 -2
- package/build-module/components/writing-flow/use-select-all.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +4 -3
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/align.js +1 -1
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/anchor.js +1 -1
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/border.js +2 -14
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +2 -2
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +38 -0
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/generated-class-name.js +3 -3
- package/build-module/hooks/generated-class-name.js.map +1 -1
- package/build-module/hooks/line-height.js +2 -0
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/lock.js +1 -1
- package/build-module/hooks/lock.js.map +1 -1
- package/build-module/hooks/style.js +31 -13
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/layouts/flow.js +7 -5
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/store/actions.js +52 -45
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +2 -1
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/index.js +1 -2
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/reducer.js +13 -13
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +6 -6
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/index.js +0 -1
- package/build-module/utils/index.js.map +1 -1
- package/build-module/utils/parse-css-unit-to-px.js +3 -3
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/utils/pasting.js +80 -0
- package/build-module/utils/pasting.js.map +1 -0
- package/build-module/utils/transform-styles/ast/parse.js +5 -5
- package/build-module/utils/transform-styles/ast/parse.js.map +1 -1
- package/build-module/utils/transform-styles/transforms/url-rewrite.js +2 -2
- package/build-module/utils/transform-styles/transforms/url-rewrite.js.map +1 -1
- package/build-style/style-rtl.css +10 -12
- package/build-style/style.css +10 -12
- package/package.json +27 -26
- package/src/autocompleters/link.js +62 -0
- package/src/autocompleters/style.scss +8 -0
- package/src/components/alignment-control/test/index.js +2 -2
- package/src/components/autocomplete/index.js +2 -0
- package/src/components/block-actions/index.js +1 -1
- package/src/components/block-alignment-control/test/index.js +1 -1
- package/src/components/block-breadcrumb/index.js +5 -2
- package/src/components/block-compare/index.js +2 -2
- package/src/components/block-controls/index.js +1 -1
- package/src/components/block-draggable/index.js +1 -1
- package/src/components/block-draggable/stories/index.js +1 -1
- package/src/components/block-edit/edit.js +1 -1
- package/src/components/block-list/block-html.js +1 -1
- package/src/components/block-list/block-invalid-warning.js +1 -1
- package/src/components/block-list/block-list-item.native.js +4 -4
- package/src/components/block-list/block-selection-button.native.js +3 -3
- package/src/components/block-list/block.js +28 -4
- package/src/components/block-list/block.native.js +7 -6
- package/src/components/block-list/index.native.js +5 -5
- package/src/components/block-list/style.scss +3 -1
- package/src/components/block-list/use-block-props/use-block-class-names.js +1 -1
- package/src/components/block-list/use-block-props/use-focus-first-element.js +3 -0
- package/src/components/block-list/use-block-props/use-multi-selection.js +22 -30
- package/src/components/block-media-update-progress/index.native.js +4 -4
- package/src/components/block-media-update-progress/test/index.native.js +2 -2
- package/src/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
- package/src/components/block-mobile-toolbar/index.native.js +2 -2
- package/src/components/block-mover/mover-description.js +4 -4
- package/src/components/block-mover/mover-description.native.js +5 -5
- package/src/components/block-settings/container.native.js +5 -6
- package/src/components/block-settings-menu/block-settings-dropdown.js +7 -8
- package/src/components/block-styles/preview.native.js +1 -1
- package/src/components/block-switcher/index.js +4 -1
- package/src/components/block-switcher/use-transformed-patterns.js +0 -1
- package/src/components/block-title/README.md +17 -1
- package/src/components/block-title/index.js +7 -62
- package/src/components/block-title/test/index.js +21 -3
- package/src/components/block-title/use-block-display-title.js +83 -0
- package/src/components/block-toolbar/utils.js +12 -2
- package/src/components/block-tools/block-popover.js +1 -1
- package/src/components/block-tools/block-selection-button.js +4 -1
- package/src/components/block-types-list/index.native.js +1 -1
- package/src/components/border-radius-control/index.js +5 -3
- package/src/components/border-radius-control/test/utils.js +10 -10
- package/src/components/border-radius-control/utils.js +10 -8
- package/src/components/contrast-checker/index.js +3 -3
- package/src/components/convert-to-group-buttons/index.js +1 -1
- package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -6
- package/src/components/copy-handler/index.js +2 -2
- package/src/components/font-sizes/with-font-sizes.js +3 -3
- package/src/components/image-size-control/test/index.js +1 -1
- package/src/components/index.js +1 -0
- package/src/components/index.native.js +11 -4
- package/src/components/inserter/block-patterns-tab.js +13 -17
- package/src/components/inserter/block-types-tab.js +1 -1
- package/src/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
- package/src/components/inserter/index.js +3 -3
- package/src/components/inserter/index.native.js +7 -7
- package/src/components/inserter/menu.js +1 -1
- package/src/components/inserter/menu.native.js +3 -3
- package/src/components/inserter/quick-inserter.js +32 -10
- package/src/components/inserter/search-items.js +1 -1
- package/src/components/inserter/search-results.js +55 -43
- package/src/components/inserter/test/fixtures/index.native.js +1 -1
- package/src/components/inserter/test/reusable-blocks-tab.js +2 -2
- package/src/components/justify-content-control/README.md +1 -1
- package/src/components/keyboard-shortcuts/index.js +1 -1
- package/src/components/letter-spacing-control/index.js +1 -1
- package/src/components/line-height-control/README.md +13 -2
- package/src/components/line-height-control/index.js +66 -43
- package/src/components/line-height-control/index.native.js +2 -0
- package/src/components/line-height-control/stories/index.js +33 -0
- package/src/components/line-height-control/test/index.js +61 -0
- package/src/components/link-control/index.js +2 -2
- package/src/components/link-control/search-input.js +1 -1
- package/src/components/link-control/search-results.js +2 -2
- package/src/components/link-control/test/index.js +142 -144
- package/src/components/link-control/use-rich-url-data.js +1 -1
- package/src/components/link-control/use-search-handler.js +2 -2
- package/src/components/list-view/README.md +2 -2
- package/src/components/list-view/block-contents.js +10 -3
- package/src/components/list-view/block-select-button.js +1 -2
- package/src/components/list-view/block.js +30 -10
- package/src/components/list-view/branch.js +1 -0
- package/src/components/list-view/index.js +56 -30
- package/src/components/list-view/test/utils.js +50 -0
- package/src/components/list-view/use-block-selection.js +163 -0
- package/src/components/list-view/use-list-view-expand-selected-item.js +58 -0
- package/src/components/list-view/utils.js +31 -0
- package/src/components/media-placeholder/index.native.js +11 -9
- package/src/components/media-replace-flow/README.md +7 -0
- package/src/components/media-replace-flow/index.js +20 -26
- package/src/components/media-replace-flow/test/index.js +100 -0
- package/src/components/media-upload/index.native.js +3 -2
- package/src/components/media-upload-progress/index.native.js +1 -1
- package/src/components/navigable-toolbar/index.js +3 -3
- package/src/components/plain-text/index.native.js +3 -3
- package/src/components/responsive-block-control/test/index.js +6 -6
- package/src/components/rich-text/format-toolbar-container.js +2 -2
- package/src/components/rich-text/format-toolbar-container.native.js +1 -1
- package/src/components/rich-text/index.js +7 -14
- package/src/components/rich-text/index.native.js +3 -3
- package/src/components/rich-text/use-paste-handler.js +7 -14
- package/src/components/url-input/index.js +11 -11
- package/src/components/use-block-drop-zone/test/index.js +1 -1
- package/src/components/use-moving-animation/index.js +1 -1
- package/src/components/use-on-block-drop/index.js +2 -2
- package/src/components/writing-flow/index.js +1 -0
- package/src/components/writing-flow/use-multi-selection.js +17 -20
- package/src/components/writing-flow/use-select-all.js +6 -2
- package/src/components/writing-flow/use-tab-nav.js +6 -3
- package/src/hooks/align.js +1 -1
- package/src/hooks/anchor.js +1 -1
- package/src/hooks/border.js +8 -19
- package/src/hooks/color.js +2 -2
- package/src/hooks/custom-class-name.js +45 -0
- package/src/hooks/generated-class-name.js +3 -3
- package/src/hooks/line-height.js +2 -0
- package/src/hooks/lock.js +1 -1
- package/src/hooks/style.js +31 -13
- package/src/hooks/test/align.js +1 -1
- package/src/hooks/typography.scss +0 -4
- package/src/layouts/flow.js +10 -5
- package/src/store/actions.js +24 -14
- package/src/store/defaults.js +2 -2
- package/src/store/index.js +0 -1
- package/src/store/reducer.js +13 -12
- package/src/store/selectors.js +6 -6
- package/src/store/test/actions.js +2 -2
- package/src/store/test/reducer.js +10 -1
- package/src/store/test/selectors.js +1 -1
- package/src/style.scss +0 -1
- package/src/utils/index.js +0 -1
- package/src/utils/parse-css-unit-to-px.js +3 -3
- package/src/utils/pasting.js +77 -0
- package/src/utils/test/parse-css-unit-to-px.js +5 -5
- package/src/utils/test/pasting.js +84 -0
- package/src/utils/transform-styles/ast/parse.js +5 -5
- package/src/utils/transform-styles/transforms/url-rewrite.js +2 -2
- package/build/utils/get-paste-event-data.js +0 -56
- package/build/utils/get-paste-event-data.js.map +0 -1
- package/build/utils/theme.js +0 -63
- package/build/utils/theme.js.map +0 -1
- package/build-module/utils/get-paste-event-data.js +0 -47
- package/build-module/utils/get-paste-event-data.js.map +0 -1
- package/build-module/utils/theme.js +0 -53
- package/build-module/utils/theme.js.map +0 -1
- package/src/components/line-height-control/style.scss +0 -8
- package/src/components/writing-flow/test/use-multi-selection.js +0 -36
- package/src/utils/get-paste-event-data.js +0 -42
- package/src/utils/theme.js +0 -48
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import apiFetch from '@wordpress/api-fetch';
|
|
5
|
+
import { addQueryArgs } from '@wordpress/url';
|
|
6
|
+
import { Icon, page, post } from '@wordpress/icons';
|
|
7
|
+
|
|
8
|
+
const SHOWN_SUGGESTIONS = 10;
|
|
9
|
+
|
|
10
|
+
/** @typedef {import('@wordpress/components').WPCompleter} WPCompleter */
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Creates a suggestion list for links to posts or pages.
|
|
14
|
+
*
|
|
15
|
+
* @return {WPCompleter} A links completer.
|
|
16
|
+
*/
|
|
17
|
+
function createLinkCompleter() {
|
|
18
|
+
return {
|
|
19
|
+
name: 'links',
|
|
20
|
+
className: 'block-editor-autocompleters__link',
|
|
21
|
+
triggerPrefix: '[[',
|
|
22
|
+
options: async ( letters ) => {
|
|
23
|
+
let options = await apiFetch( {
|
|
24
|
+
path: addQueryArgs( '/wp/v2/search', {
|
|
25
|
+
per_page: SHOWN_SUGGESTIONS,
|
|
26
|
+
search: letters,
|
|
27
|
+
type: 'post',
|
|
28
|
+
order_by: 'menu_order',
|
|
29
|
+
} ),
|
|
30
|
+
} );
|
|
31
|
+
|
|
32
|
+
options = options.filter( ( option ) => option.title !== '' );
|
|
33
|
+
|
|
34
|
+
return options;
|
|
35
|
+
},
|
|
36
|
+
getOptionKeywords( item ) {
|
|
37
|
+
const expansionWords = item.title.split( /\s+/ );
|
|
38
|
+
return [ ...expansionWords ];
|
|
39
|
+
},
|
|
40
|
+
getOptionLabel( item ) {
|
|
41
|
+
return (
|
|
42
|
+
<>
|
|
43
|
+
<Icon
|
|
44
|
+
key="icon"
|
|
45
|
+
icon={ item.subtype === 'page' ? page : post }
|
|
46
|
+
/>
|
|
47
|
+
{ item.title }
|
|
48
|
+
</>
|
|
49
|
+
);
|
|
50
|
+
},
|
|
51
|
+
getOptionCompletion( item ) {
|
|
52
|
+
return <a href={ item.url }>{ item.title }</a>;
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Creates a suggestion list for links to posts or pages..
|
|
59
|
+
*
|
|
60
|
+
* @return {WPCompleter} A link completer.
|
|
61
|
+
*/
|
|
62
|
+
export default createLinkCompleter();
|
|
@@ -75,7 +75,7 @@ describe( 'AlignmentUI', () => {
|
|
|
75
75
|
const customControls = wrapperCustomControls.props().controls;
|
|
76
76
|
expect( customControls ).toHaveLength( 2 );
|
|
77
77
|
|
|
78
|
-
//
|
|
78
|
+
// Should correctly call on change when right alignment is pressed (active alignment)
|
|
79
79
|
const rightControl = customControls.find(
|
|
80
80
|
( { align } ) => align === 'custom-right'
|
|
81
81
|
);
|
|
@@ -85,7 +85,7 @@ describe( 'AlignmentUI', () => {
|
|
|
85
85
|
expect( onChangeSpy ).toHaveBeenCalledWith( undefined );
|
|
86
86
|
onChangeSpy.mockClear();
|
|
87
87
|
|
|
88
|
-
//
|
|
88
|
+
// Should correctly call on change when right alignment is pressed (inactive alignment)
|
|
89
89
|
const leftControl = customControls.find(
|
|
90
90
|
( { align } ) => align === 'custom-left'
|
|
91
91
|
);
|
|
@@ -19,6 +19,7 @@ import { getDefaultBlockName, getBlockSupport } from '@wordpress/blocks';
|
|
|
19
19
|
*/
|
|
20
20
|
import { useBlockEditContext } from '../block-edit/context';
|
|
21
21
|
import blockAutocompleter from '../../autocompleters/block';
|
|
22
|
+
import linkAutocompleter from '../../autocompleters/link';
|
|
22
23
|
|
|
23
24
|
/**
|
|
24
25
|
* Shared reference to an empty array for cases where it is important to avoid
|
|
@@ -39,6 +40,7 @@ function useCompleters( { completers = EMPTY_ARRAY } ) {
|
|
|
39
40
|
) {
|
|
40
41
|
filteredCompleters = filteredCompleters.concat( [
|
|
41
42
|
blockAutocompleter,
|
|
43
|
+
linkAutocompleter,
|
|
42
44
|
] );
|
|
43
45
|
}
|
|
44
46
|
|
|
@@ -98,7 +98,7 @@ export default function BlockActions( {
|
|
|
98
98
|
|
|
99
99
|
const groupingBlockName = getGroupingBlockName();
|
|
100
100
|
|
|
101
|
-
// Activate the `transform` on `core/group` which does the conversion
|
|
101
|
+
// Activate the `transform` on `core/group` which does the conversion.
|
|
102
102
|
const newBlocks = switchToBlockType( blocks, groupingBlockName );
|
|
103
103
|
|
|
104
104
|
if ( ! newBlocks ) {
|
|
@@ -14,7 +14,7 @@ import { useSelect } from '@wordpress/data';
|
|
|
14
14
|
import BlockAlignmentUI from '../ui';
|
|
15
15
|
|
|
16
16
|
jest.mock( '@wordpress/data/src/components/use-select', () => {
|
|
17
|
-
// This allows us to tweak the returned value on each test
|
|
17
|
+
// This allows us to tweak the returned value on each test.
|
|
18
18
|
const mock = jest.fn();
|
|
19
19
|
return mock;
|
|
20
20
|
} );
|
|
@@ -80,7 +80,10 @@ function BlockBreadcrumb( { rootLabelText } ) {
|
|
|
80
80
|
variant="tertiary"
|
|
81
81
|
onClick={ () => selectBlock( parentClientId ) }
|
|
82
82
|
>
|
|
83
|
-
<BlockTitle
|
|
83
|
+
<BlockTitle
|
|
84
|
+
clientId={ parentClientId }
|
|
85
|
+
maximumLength={ 35 }
|
|
86
|
+
/>
|
|
84
87
|
</Button>
|
|
85
88
|
<Icon
|
|
86
89
|
icon={ chevronRightSmall }
|
|
@@ -93,7 +96,7 @@ function BlockBreadcrumb( { rootLabelText } ) {
|
|
|
93
96
|
className="block-editor-block-breadcrumb__current"
|
|
94
97
|
aria-current="true"
|
|
95
98
|
>
|
|
96
|
-
<BlockTitle clientId={ clientId } />
|
|
99
|
+
<BlockTitle clientId={ clientId } maximumLength={ 35 } />
|
|
97
100
|
</li>
|
|
98
101
|
) }
|
|
99
102
|
</ul>
|
|
@@ -43,10 +43,10 @@ function BlockCompare( {
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
function getConvertedContent( convertedBlock ) {
|
|
46
|
-
// The convertor may return an array of items or a single item
|
|
46
|
+
// The convertor may return an array of items or a single item.
|
|
47
47
|
const newBlocks = castArray( convertedBlock );
|
|
48
48
|
|
|
49
|
-
// Get converted block details
|
|
49
|
+
// Get converted block details.
|
|
50
50
|
const newContent = newBlocks.map( ( item ) =>
|
|
51
51
|
getSaveContent( item.name, item.attributes, item.innerBlocks )
|
|
52
52
|
);
|
|
@@ -8,7 +8,7 @@ const BlockControls = BlockControlsFill;
|
|
|
8
8
|
|
|
9
9
|
BlockControls.Slot = BlockControlsSlot;
|
|
10
10
|
|
|
11
|
-
// This is just here for backward compatibility
|
|
11
|
+
// This is just here for backward compatibility.
|
|
12
12
|
export const BlockFormatControls = ( props ) => {
|
|
13
13
|
return <BlockControlsFill group="inline" { ...props } />;
|
|
14
14
|
};
|
|
@@ -6,7 +6,7 @@ import BlockDraggableChip from '../draggable-chip';
|
|
|
6
6
|
export default { title: 'BlockEditor/BlockDraggable' };
|
|
7
7
|
|
|
8
8
|
export const _default = () => {
|
|
9
|
-
//
|
|
9
|
+
// Create a wrapper box for the absolutely-positioned child component.
|
|
10
10
|
const wrapperStyle = { margin: '24px 0', position: 'relative' };
|
|
11
11
|
return (
|
|
12
12
|
<div style={ wrapperStyle }>
|
|
@@ -55,7 +55,7 @@ export const Edit = ( props ) => {
|
|
|
55
55
|
return <Component { ...props } context={ context } />;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
// Generate a class name for the block's editable form
|
|
58
|
+
// Generate a class name for the block's editable form.
|
|
59
59
|
const generatedClassName = hasBlockSupport( blockType, 'className', true )
|
|
60
60
|
? getBlockDefaultClassName( name )
|
|
61
61
|
: null;
|
|
@@ -53,7 +53,7 @@ function BlockHTML( { clientId } ) {
|
|
|
53
53
|
isValid,
|
|
54
54
|
} );
|
|
55
55
|
|
|
56
|
-
// Ensure the state is updated if we reset so it displays the default content
|
|
56
|
+
// Ensure the state is updated if we reset so it displays the default content.
|
|
57
57
|
if ( ! html ) {
|
|
58
58
|
setHtml( { content } );
|
|
59
59
|
}
|
|
@@ -28,7 +28,7 @@ export function BlockInvalidWarning( {
|
|
|
28
28
|
const onCompare = useCallback( () => setCompare( true ), [] );
|
|
29
29
|
const onCompareClose = useCallback( () => setCompare( false ), [] );
|
|
30
30
|
|
|
31
|
-
// We memo the array here to prevent the children components from being updated unexpectedly
|
|
31
|
+
// We memo the array here to prevent the children components from being updated unexpectedly.
|
|
32
32
|
const hiddenActions = useMemo(
|
|
33
33
|
() =>
|
|
34
34
|
[
|
|
@@ -209,18 +209,18 @@ export default compose( [
|
|
|
209
209
|
! isStackedHorizontally &&
|
|
210
210
|
blockInsertionPointIsVisible &&
|
|
211
211
|
insertionPoint.rootClientId === rootClientId &&
|
|
212
|
-
//
|
|
212
|
+
// If list is empty, show the insertion point (via the default appender)
|
|
213
213
|
( blockClientIds.length === 0 ||
|
|
214
|
-
//
|
|
214
|
+
// Or if the insertion point is right before the denoted block.
|
|
215
215
|
blockClientIds[ insertionPoint.index ] === clientId );
|
|
216
216
|
|
|
217
217
|
const shouldShowInsertionPointAfter =
|
|
218
218
|
! isStackedHorizontally &&
|
|
219
219
|
blockInsertionPointIsVisible &&
|
|
220
220
|
insertionPoint.rootClientId === rootClientId &&
|
|
221
|
-
//
|
|
221
|
+
// If the insertion point is at the end of the list.
|
|
222
222
|
blockClientIds.length === insertionPoint.index &&
|
|
223
|
-
//
|
|
223
|
+
// And the denoted block is the last one on the list, show the indicator at the end of the block.
|
|
224
224
|
blockClientIds[ insertionPoint.index - 1 ] === clientId;
|
|
225
225
|
|
|
226
226
|
const isReadOnly = getSettings().readOnly;
|
|
@@ -38,11 +38,11 @@ const BlockSelectionButton = ( {
|
|
|
38
38
|
<TouchableOpacity
|
|
39
39
|
style={ styles.button }
|
|
40
40
|
onPress={ () => {
|
|
41
|
-
/* Open BottomSheet with markup */
|
|
41
|
+
/* Open BottomSheet with markup. */
|
|
42
42
|
} }
|
|
43
43
|
disabled={
|
|
44
44
|
true
|
|
45
|
-
} /* Disable temporarily since onPress function is empty */
|
|
45
|
+
} /* Disable temporarily since onPress function is empty. */
|
|
46
46
|
>
|
|
47
47
|
{ rootClientId &&
|
|
48
48
|
rootBlockIcon && [
|
|
@@ -72,7 +72,7 @@ const BlockSelectionButton = ( {
|
|
|
72
72
|
numberOfLines={ 1 }
|
|
73
73
|
style={ styles.selectionButtonTitle }
|
|
74
74
|
>
|
|
75
|
-
<BlockTitle clientId={ clientId } />
|
|
75
|
+
<BlockTitle clientId={ clientId } maximumLength={ 35 } />
|
|
76
76
|
</Text>
|
|
77
77
|
</TouchableOpacity>
|
|
78
78
|
</View>
|
|
@@ -19,7 +19,12 @@ import {
|
|
|
19
19
|
isUnmodifiedDefaultBlock,
|
|
20
20
|
} from '@wordpress/blocks';
|
|
21
21
|
import { withFilters } from '@wordpress/components';
|
|
22
|
-
import {
|
|
22
|
+
import {
|
|
23
|
+
withDispatch,
|
|
24
|
+
withSelect,
|
|
25
|
+
useDispatch,
|
|
26
|
+
useSelect,
|
|
27
|
+
} from '@wordpress/data';
|
|
23
28
|
import { compose, pure, ifCondition } from '@wordpress/compose';
|
|
24
29
|
import { safeHTML } from '@wordpress/dom';
|
|
25
30
|
|
|
@@ -86,6 +91,10 @@ function BlockListBlock( {
|
|
|
86
91
|
onMerge,
|
|
87
92
|
toggleSelection,
|
|
88
93
|
} ) {
|
|
94
|
+
const themeSupportsLayout = useSelect( ( select ) => {
|
|
95
|
+
const { getSettings } = select( blockEditorStore );
|
|
96
|
+
return getSettings().supportsLayout;
|
|
97
|
+
}, [] );
|
|
89
98
|
const { removeBlock } = useDispatch( blockEditorStore );
|
|
90
99
|
const onRemove = useCallback( () => removeBlock( clientId ), [ clientId ] );
|
|
91
100
|
|
|
@@ -119,10 +128,19 @@ function BlockListBlock( {
|
|
|
119
128
|
);
|
|
120
129
|
}
|
|
121
130
|
|
|
122
|
-
const isAligned =
|
|
131
|
+
const isAligned =
|
|
132
|
+
wrapperProps &&
|
|
133
|
+
!! wrapperProps[ 'data-align' ] &&
|
|
134
|
+
! themeSupportsLayout;
|
|
123
135
|
|
|
124
136
|
// For aligned blocks, provide a wrapper element so the block can be
|
|
125
137
|
// positioned relative to the block column.
|
|
138
|
+
// This is only kept for classic themes that don't support layout
|
|
139
|
+
// Historically we used to rely on extra divs and data-align to
|
|
140
|
+
// provide the alignments styles in the editor.
|
|
141
|
+
// Due to the differences between frontend and backend, we migrated
|
|
142
|
+
// to the layout feature, and we're now aligning the markup of frontend
|
|
143
|
+
// and backend.
|
|
126
144
|
if ( isAligned ) {
|
|
127
145
|
blockEdit = (
|
|
128
146
|
<div
|
|
@@ -164,7 +182,13 @@ function BlockListBlock( {
|
|
|
164
182
|
|
|
165
183
|
const value = {
|
|
166
184
|
clientId,
|
|
167
|
-
className
|
|
185
|
+
className:
|
|
186
|
+
wrapperProps?.[ 'data-align' ] && themeSupportsLayout
|
|
187
|
+
? classnames(
|
|
188
|
+
className,
|
|
189
|
+
`align${ wrapperProps[ 'data-align' ] }`
|
|
190
|
+
)
|
|
191
|
+
: className,
|
|
168
192
|
wrapperProps: omit( wrapperProps, [ 'data-align' ] ),
|
|
169
193
|
isAligned,
|
|
170
194
|
};
|
|
@@ -306,7 +330,7 @@ export default compose(
|
|
|
306
330
|
pure,
|
|
307
331
|
applyWithSelect,
|
|
308
332
|
applyWithDispatch,
|
|
309
|
-
//
|
|
333
|
+
// Block is sometimes not mounted at the right time, causing it be undefined
|
|
310
334
|
// see issue for more info
|
|
311
335
|
// https://github.com/WordPress/gutenberg/issues/17013
|
|
312
336
|
ifCondition( ( { block } ) => !! block ),
|
|
@@ -11,6 +11,7 @@ import { Component, createRef, useMemo } from '@wordpress/element';
|
|
|
11
11
|
import {
|
|
12
12
|
GlobalStylesContext,
|
|
13
13
|
getMergedGlobalStyles,
|
|
14
|
+
useMobileGlobalStylesColors,
|
|
14
15
|
alignmentHelpers,
|
|
15
16
|
useGlobalStyles,
|
|
16
17
|
} from '@wordpress/components';
|
|
@@ -50,7 +51,7 @@ function BlockForType( {
|
|
|
50
51
|
blockWidth,
|
|
51
52
|
baseGlobalStyles,
|
|
52
53
|
} ) {
|
|
53
|
-
const defaultColors =
|
|
54
|
+
const defaultColors = useMobileGlobalStylesColors();
|
|
54
55
|
const fontSizes = useSetting( 'typography.fontSizes' ) || emptyArray;
|
|
55
56
|
const globalStyle = useGlobalStyles();
|
|
56
57
|
const mergedStyle = useMemo( () => {
|
|
@@ -85,9 +86,9 @@ function BlockForType( {
|
|
|
85
86
|
onReplace={ onReplace }
|
|
86
87
|
insertBlocksAfter={ insertBlocksAfter }
|
|
87
88
|
mergeBlocks={ mergeBlocks }
|
|
88
|
-
// Block level styles
|
|
89
|
+
// Block level styles.
|
|
89
90
|
wrapperProps={ wrapperProps }
|
|
90
|
-
//
|
|
91
|
+
// Inherited styles merged with block level styles.
|
|
91
92
|
style={ mergedStyle }
|
|
92
93
|
clientId={ clientId }
|
|
93
94
|
parentWidth={ parentWidth }
|
|
@@ -126,7 +127,7 @@ class BlockListBlock extends Component {
|
|
|
126
127
|
this.props.onInsertBlocks( blocks, this.props.order + 1 );
|
|
127
128
|
|
|
128
129
|
if ( blocks[ 0 ] ) {
|
|
129
|
-
//
|
|
130
|
+
// Focus on the first block inserted.
|
|
130
131
|
this.props.onSelect( blocks[ 0 ].clientId );
|
|
131
132
|
}
|
|
132
133
|
}
|
|
@@ -285,7 +286,7 @@ class BlockListBlock extends Component {
|
|
|
285
286
|
}
|
|
286
287
|
}
|
|
287
288
|
|
|
288
|
-
// Helper function to memoize the wrapperProps since getEditWrapperProps always returns a new reference
|
|
289
|
+
// Helper function to memoize the wrapperProps since getEditWrapperProps always returns a new reference.
|
|
289
290
|
const wrapperPropsCache = new WeakMap();
|
|
290
291
|
const emptyObj = {};
|
|
291
292
|
function getWrapperProps( value, getWrapperPropsFunction ) {
|
|
@@ -338,7 +339,7 @@ export default compose( [
|
|
|
338
339
|
: parents[ parents.length - 1 ];
|
|
339
340
|
|
|
340
341
|
const isParentSelected =
|
|
341
|
-
//
|
|
342
|
+
// Set false as a default value to prevent re-render when it's changed from null to false.
|
|
342
343
|
( selectedBlockClientId || false ) &&
|
|
343
344
|
selectedBlockClientId === parentId;
|
|
344
345
|
|
|
@@ -171,7 +171,7 @@ export class BlockList extends Component {
|
|
|
171
171
|
|
|
172
172
|
render() {
|
|
173
173
|
const { isRootList } = this.props;
|
|
174
|
-
// Use of Context to propagate the main scroll ref to its children e.g InnerBlocks
|
|
174
|
+
// Use of Context to propagate the main scroll ref to its children e.g InnerBlocks.
|
|
175
175
|
const blockList = isRootList ? (
|
|
176
176
|
<BlockListContext.Provider value={ this.scrollViewRef }>
|
|
177
177
|
{ this.renderList() }
|
|
@@ -223,7 +223,7 @@ export class BlockList extends Component {
|
|
|
223
223
|
|
|
224
224
|
const containerStyle = {
|
|
225
225
|
flex: isRootList ? 1 : 0,
|
|
226
|
-
// We set negative margin in the parent to remove the edge spacing between parent block and child block in ineer blocks
|
|
226
|
+
// We set negative margin in the parent to remove the edge spacing between parent block and child block in ineer blocks.
|
|
227
227
|
marginVertical: isRootList ? 0 : -marginVertical,
|
|
228
228
|
marginHorizontal: isRootList ? 0 : -marginHorizontal,
|
|
229
229
|
};
|
|
@@ -388,7 +388,7 @@ export default compose( [
|
|
|
388
388
|
const selectedBlockClientId = getSelectedBlockClientId();
|
|
389
389
|
|
|
390
390
|
let blockClientIds = getBlockOrder( rootClientId );
|
|
391
|
-
// Display only block which fulfill the condition in passed `filterInnerBlocks` function
|
|
391
|
+
// Display only block which fulfill the condition in passed `filterInnerBlocks` function.
|
|
392
392
|
if ( filterInnerBlocks ) {
|
|
393
393
|
blockClientIds = filterInnerBlocks( blockClientIds );
|
|
394
394
|
}
|
|
@@ -477,9 +477,9 @@ const EmptyListComponentCompose = compose( [
|
|
|
477
477
|
! isStackedHorizontally &&
|
|
478
478
|
blockInsertionPointIsVisible &&
|
|
479
479
|
insertionPoint.rootClientId === rootClientId &&
|
|
480
|
-
//
|
|
480
|
+
// If list is empty, show the insertion point (via the default appender)
|
|
481
481
|
( blockClientIds.length === 0 ||
|
|
482
|
-
//
|
|
482
|
+
// Or if the insertion point is right before the denoted block.
|
|
483
483
|
! blockClientIds[ insertionPoint.index ] );
|
|
484
484
|
|
|
485
485
|
return {
|
|
@@ -321,7 +321,9 @@
|
|
|
321
321
|
}
|
|
322
322
|
|
|
323
323
|
.wp-block[data-align="left"] > *,
|
|
324
|
-
.wp-block[data-align="right"] >
|
|
324
|
+
.wp-block[data-align="right"] > *,
|
|
325
|
+
.wp-block.alignleft,
|
|
326
|
+
.wp-block.alignright {
|
|
325
327
|
// Without z-index, won't be clickable as "above" adjacent content.
|
|
326
328
|
z-index: z-index("{core/image aligned left or right} .wp-block");
|
|
327
329
|
}
|
|
@@ -43,7 +43,7 @@ export function useBlockClassNames( clientId ) {
|
|
|
43
43
|
const isSelected = isBlockSelected( clientId );
|
|
44
44
|
const name = getBlockName( clientId );
|
|
45
45
|
const checkDeep = true;
|
|
46
|
-
// "ancestor" is the more appropriate label due to "deep" check
|
|
46
|
+
// "ancestor" is the more appropriate label due to "deep" check.
|
|
47
47
|
const isAncestorOfSelectedBlock = hasSelectedInnerBlock(
|
|
48
48
|
clientId,
|
|
49
49
|
checkDeep
|
|
@@ -15,6 +15,7 @@ import { useSelect } from '@wordpress/data';
|
|
|
15
15
|
*/
|
|
16
16
|
import { isInsideRootBlock } from '../../../utils/dom';
|
|
17
17
|
import { store as blockEditorStore } from '../../../store';
|
|
18
|
+
import { setContentEditableWrapper } from './use-multi-selection';
|
|
18
19
|
|
|
19
20
|
/** @typedef {import('@wordpress/element').RefObject} RefObject */
|
|
20
21
|
|
|
@@ -95,6 +96,8 @@ export function useFocusFirstElement( clientId ) {
|
|
|
95
96
|
return;
|
|
96
97
|
}
|
|
97
98
|
|
|
99
|
+
setContentEditableWrapper( ref.current, false );
|
|
100
|
+
|
|
98
101
|
placeCaretAtHorizontalEdge( target, isReverse );
|
|
99
102
|
}, [ initialPosition ] );
|
|
100
103
|
|
|
@@ -10,18 +10,15 @@ import { useRefEffect } from '@wordpress/compose';
|
|
|
10
10
|
import { store as blockEditorStore } from '../../../store';
|
|
11
11
|
import { getBlockClientId } from '../../../utils/dom';
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
node.removeAttribute( 'contenteditable' );
|
|
23
|
-
}
|
|
24
|
-
} );
|
|
13
|
+
/**
|
|
14
|
+
* Sets the `contenteditable` wrapper element to `value`.
|
|
15
|
+
*
|
|
16
|
+
* @param {HTMLElement} node Block element.
|
|
17
|
+
* @param {boolean} value `contentEditable` value (true or false)
|
|
18
|
+
*/
|
|
19
|
+
export function setContentEditableWrapper( node, value ) {
|
|
20
|
+
// Since `closest` considers `node` as a candidate, use `parentElement`.
|
|
21
|
+
node.parentElement.closest( '[contenteditable]' ).contentEditable = value;
|
|
25
22
|
}
|
|
26
23
|
|
|
27
24
|
/**
|
|
@@ -54,10 +51,10 @@ export function useMultiSelection( clientId ) {
|
|
|
54
51
|
function onSelectionChange( { isSelectionEnd } ) {
|
|
55
52
|
const selection = defaultView.getSelection();
|
|
56
53
|
|
|
57
|
-
// If no selection is found, end multi selection and
|
|
58
|
-
//
|
|
54
|
+
// If no selection is found, end multi selection and disable the
|
|
55
|
+
// contentEditable wrapper.
|
|
59
56
|
if ( ! selection.rangeCount || selection.isCollapsed ) {
|
|
60
|
-
|
|
57
|
+
setContentEditableWrapper( node, false );
|
|
61
58
|
return;
|
|
62
59
|
}
|
|
63
60
|
|
|
@@ -70,10 +67,10 @@ export function useMultiSelection( clientId ) {
|
|
|
70
67
|
// If the selection is complete (on mouse up), and no
|
|
71
68
|
// multiple blocks have been selected, set focus back to the
|
|
72
69
|
// anchor element. if the anchor element contains the
|
|
73
|
-
// selection. Additionally,
|
|
74
|
-
//
|
|
70
|
+
// selection. Additionally, the contentEditable wrapper can
|
|
71
|
+
// now be disabled again.
|
|
75
72
|
if ( isSelectionEnd ) {
|
|
76
|
-
|
|
73
|
+
setContentEditableWrapper( node, false );
|
|
77
74
|
|
|
78
75
|
if ( selection.rangeCount ) {
|
|
79
76
|
const {
|
|
@@ -144,16 +141,11 @@ export function useMultiSelection( clientId ) {
|
|
|
144
141
|
);
|
|
145
142
|
defaultView.addEventListener( 'mouseup', onSelectionEnd );
|
|
146
143
|
|
|
147
|
-
//
|
|
148
|
-
//
|
|
149
|
-
//
|
|
150
|
-
//
|
|
151
|
-
|
|
152
|
-
// but the rerender may happen very slowly, especially in Safari
|
|
153
|
-
// for the blocks that are asynchonously rendered. To ensure the
|
|
154
|
-
// browser instantly removes the selection boundaries, we remove
|
|
155
|
-
// the contenteditable attributes manually.
|
|
156
|
-
toggleRichText( node, false );
|
|
144
|
+
// Allow cross contentEditable selection by temporarily making
|
|
145
|
+
// all content editable. We can't rely on using the store and
|
|
146
|
+
// React because re-rending happens too slowly. We need to be
|
|
147
|
+
// able to select across instances immediately.
|
|
148
|
+
setContentEditableWrapper( node, true );
|
|
157
149
|
}
|
|
158
150
|
|
|
159
151
|
function onMouseDown( event ) {
|
|
@@ -189,9 +181,9 @@ export function useMultiSelection( clientId ) {
|
|
|
189
181
|
const start = startPath[ depth ];
|
|
190
182
|
const end = endPath[ depth ];
|
|
191
183
|
// Handle the case of having selected a parent block and
|
|
192
|
-
// then
|
|
184
|
+
// then shift+click on a child.
|
|
193
185
|
if ( start !== end ) {
|
|
194
|
-
|
|
186
|
+
setContentEditableWrapper( node, true );
|
|
195
187
|
multiSelect( start, end );
|
|
196
188
|
event.preventDefault();
|
|
197
189
|
}
|
|
@@ -124,7 +124,7 @@ export class BlockMediaUpdateProgress extends Component {
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
// ---- Block media save actions
|
|
127
|
+
// ---- Block media save actions.
|
|
128
128
|
updateMediaSaveProgress( payload ) {
|
|
129
129
|
this.setState( {
|
|
130
130
|
progress: payload.progress,
|
|
@@ -184,7 +184,7 @@ export class BlockMediaUpdateProgress extends Component {
|
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
-
// ---- Block media upload actions
|
|
187
|
+
// ---- Block media upload actions.
|
|
188
188
|
updateMediaUploadProgress( payload ) {
|
|
189
189
|
this.setState( {
|
|
190
190
|
progress: payload.progress,
|
|
@@ -220,7 +220,7 @@ export class BlockMediaUpdateProgress extends Component {
|
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
addMediaUploadListener() {
|
|
223
|
-
//
|
|
223
|
+
// If we already have a subscription not worth doing it again.
|
|
224
224
|
if ( this.subscriptionParentMediaUpload ) {
|
|
225
225
|
return;
|
|
226
226
|
}
|
|
@@ -238,7 +238,7 @@ export class BlockMediaUpdateProgress extends Component {
|
|
|
238
238
|
}
|
|
239
239
|
|
|
240
240
|
addMediaSaveListener() {
|
|
241
|
-
//
|
|
241
|
+
// If we already have a subscription not worth doing it again.
|
|
242
242
|
if ( this.subscriptionParentMediaSave ) {
|
|
243
243
|
return;
|
|
244
244
|
}
|
|
@@ -130,7 +130,7 @@ describe( 'BlockMediaUpdateProgress component', () => {
|
|
|
130
130
|
expect( onUpdateMediaUploadProgress ).toHaveBeenCalledWith( payload );
|
|
131
131
|
} );
|
|
132
132
|
|
|
133
|
-
// UPLOAD tests
|
|
133
|
+
// UPLOAD tests.
|
|
134
134
|
it( 'upload does not get affected by unrelated media uploads', () => {
|
|
135
135
|
const payload = {
|
|
136
136
|
state: MEDIA_UPLOAD_STATE_UPLOADING,
|
|
@@ -276,7 +276,7 @@ describe( 'BlockMediaUpdateProgress component', () => {
|
|
|
276
276
|
expect( onMediaUploadStateReset ).toHaveBeenCalledWith( payloadReset );
|
|
277
277
|
} );
|
|
278
278
|
|
|
279
|
-
// SAVE tests
|
|
279
|
+
// SAVE tests.
|
|
280
280
|
it( 'save does not get affected by unrelated media save events', () => {
|
|
281
281
|
const payload = {
|
|
282
282
|
state: MEDIA_SAVE_STATE_SAVING,
|
|
@@ -39,7 +39,7 @@ import { store as blockEditorStore } from '../../store';
|
|
|
39
39
|
import BlockTransformationsMenu from '../block-switcher/block-transformations-menu';
|
|
40
40
|
|
|
41
41
|
const BlockActionsMenu = ( {
|
|
42
|
-
// Select
|
|
42
|
+
// Select.
|
|
43
43
|
blockTitle,
|
|
44
44
|
canInsertBlockType,
|
|
45
45
|
getBlocksByClientId,
|
|
@@ -53,7 +53,7 @@ const BlockActionsMenu = ( {
|
|
|
53
53
|
rootClientId,
|
|
54
54
|
selectedBlockClientId,
|
|
55
55
|
selectedBlockPossibleTransformations,
|
|
56
|
-
// Dispatch
|
|
56
|
+
// Dispatch.
|
|
57
57
|
createSuccessNotice,
|
|
58
58
|
convertToRegularBlocks,
|
|
59
59
|
duplicateBlock,
|
|
@@ -62,7 +62,7 @@ const BlockActionsMenu = ( {
|
|
|
62
62
|
openGeneralSidebar,
|
|
63
63
|
pasteBlock,
|
|
64
64
|
removeBlocks,
|
|
65
|
-
// Passed in
|
|
65
|
+
// Passed in.
|
|
66
66
|
anchorNodeRef,
|
|
67
67
|
isStackedHorizontally,
|
|
68
68
|
onDelete,
|