@wordpress/block-editor 15.22.1 → 16.0.1-next.v.202607070741.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 +27 -0
- package/build/autocompleters/block.cjs +10 -2
- package/build/autocompleters/block.cjs.map +2 -2
- package/build/components/background-image-control/index.cjs +0 -2
- package/build/components/background-image-control/index.cjs.map +2 -2
- package/build/components/block-inspector/edit-contents.cjs +3 -0
- package/build/components/block-inspector/edit-contents.cjs.map +3 -3
- package/build/components/block-inspector/index.cjs +18 -36
- package/build/components/block-inspector/index.cjs.map +2 -2
- package/build/components/block-list/block-invalid-warning.cjs +8 -19
- package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
- package/build/components/block-styles/use-styles-for-block.cjs +2 -1
- package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
- package/build/components/block-title/use-block-display-title.cjs +7 -2
- package/build/components/block-title/use-block-display-title.cjs.map +2 -2
- package/build/components/block-toolbar/block-toolbar-icon.cjs +10 -14
- package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
- package/build/components/block-variation-transforms/index.cjs +0 -1
- package/build/components/block-variation-transforms/index.cjs.map +2 -2
- package/build/components/child-layout-control/index.cjs +0 -2
- package/build/components/child-layout-control/index.cjs.map +2 -2
- package/build/components/colors-gradients/control.cjs +5 -5
- package/build/components/colors-gradients/control.cjs.map +2 -2
- package/build/components/date-format-picker/index.cjs +0 -1
- package/build/components/date-format-picker/index.cjs.map +2 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs +1 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +2 -2
- package/build/components/dimensions-tool/scale-tool.cjs +0 -1
- package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
- package/build/components/dimensions-tool/width-height-tool.cjs +2 -4
- package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
- package/build/components/font-appearance-control/index.cjs +6 -25
- package/build/components/font-appearance-control/index.cjs.map +3 -3
- package/build/components/font-family/index.cjs +6 -15
- package/build/components/font-family/index.cjs.map +3 -3
- package/build/components/font-sizes/font-size-picker.cjs +1 -2
- package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
- package/build/components/global-styles/border-panel.cjs +0 -1
- package/build/components/global-styles/border-panel.cjs.map +2 -2
- package/build/components/global-styles/dimensions-panel.cjs +0 -3
- package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
- package/build/components/global-styles/typography-panel.cjs +4 -10
- package/build/components/global-styles/typography-panel.cjs.map +2 -2
- package/build/components/height-control/index.cjs +0 -2
- package/build/components/height-control/index.cjs.map +2 -2
- package/build/components/html-element-control/index.cjs +0 -1
- package/build/components/html-element-control/index.cjs.map +2 -2
- package/build/components/image-editor/index.cjs +5 -0
- package/build/components/image-editor/index.cjs.map +3 -3
- package/build/components/image-editor/zoom-dropdown.cjs +0 -1
- package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
- package/build/components/image-size-control/index.cjs +1 -3
- package/build/components/image-size-control/index.cjs.map +2 -2
- package/build/components/inner-content/index.cjs +107 -0
- package/build/components/inner-content/index.cjs.map +7 -0
- package/build/components/inserter/hooks/use-block-types-state.cjs +10 -2
- package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
- package/build/components/inserter/media-tab/hooks.cjs +34 -6
- package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-list.cjs +3 -1
- package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-panel.cjs +224 -27
- package/build/components/inserter/media-tab/media-panel.cjs.map +3 -3
- package/build/components/inserter/media-tab/media-preview.cjs +32 -17
- package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-tab.cjs +26 -6
- package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
- package/build/components/inserter/mobile-tab-navigation.cjs +6 -1
- package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
- package/build/components/inserter/no-results.cjs +2 -2
- package/build/components/inserter/no-results.cjs.map +2 -2
- package/build/components/inserter/preview-panel.cjs +2 -1
- package/build/components/inserter/preview-panel.cjs.map +2 -2
- package/build/components/inserter-list-item/index.cjs +8 -2
- package/build/components/inserter-list-item/index.cjs.map +2 -2
- package/build/components/letter-spacing-control/index.cjs +0 -24
- package/build/components/letter-spacing-control/index.cjs.map +3 -3
- package/build/components/line-height-control/index.cjs +7 -22
- package/build/components/line-height-control/index.cjs.map +3 -3
- package/build/components/list-view/block-select-button.cjs +90 -84
- package/build/components/list-view/block-select-button.cjs.map +2 -2
- package/build/components/list-view/block.cjs +51 -20
- package/build/components/list-view/block.cjs.map +2 -2
- package/build/components/list-view/expander.cjs +1 -1
- package/build/components/list-view/expander.cjs.map +2 -2
- package/build/components/list-view/use-list-view-client-ids.cjs +2 -2
- package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
- package/build/components/observe-typing/index.cjs +4 -3
- package/build/components/observe-typing/index.cjs.map +2 -2
- package/build/components/preset-input-control/custom-value-controls.cjs +1 -3
- package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
- package/build/components/preset-input-control/index.cjs +1 -3
- package/build/components/preset-input-control/index.cjs.map +2 -2
- package/build/components/resolution-tool/index.cjs +1 -2
- package/build/components/resolution-tool/index.cjs.map +2 -2
- package/build/components/text-alignment-control/index.cjs +0 -1
- package/build/components/text-alignment-control/index.cjs.map +2 -2
- package/build/components/text-decoration-control/index.cjs +0 -1
- package/build/components/text-decoration-control/index.cjs.map +2 -2
- package/build/components/text-indent-control/index.cjs +0 -8
- package/build/components/text-indent-control/index.cjs.map +2 -2
- package/build/components/text-transform-control/index.cjs +0 -1
- package/build/components/text-transform-control/index.cjs.map +2 -2
- package/build/components/use-block-display-information/index.cjs +10 -8
- package/build/components/use-block-display-information/index.cjs.map +2 -2
- package/build/components/use-on-block-drop/index.cjs +3 -7
- package/build/components/use-on-block-drop/index.cjs.map +2 -2
- package/build/components/use-resize-canvas/index.cjs +16 -53
- package/build/components/use-resize-canvas/index.cjs.map +3 -3
- package/build/components/writing-mode-control/index.cjs +0 -1
- package/build/components/writing-mode-control/index.cjs.map +2 -2
- package/build/hooks/font-size.cjs +1 -2
- package/build/hooks/font-size.cjs.map +2 -2
- package/build/hooks/layout.cjs +5 -3
- package/build/hooks/layout.cjs.map +2 -2
- package/build/hooks/position.cjs +36 -16
- package/build/hooks/position.cjs.map +2 -2
- package/build/hooks/states.cjs +10 -21
- package/build/hooks/states.cjs.map +2 -2
- package/build/layouts/constrained.cjs +21 -21
- package/build/layouts/constrained.cjs.map +2 -2
- package/build/layouts/flex.cjs +0 -3
- package/build/layouts/flex.cjs.map +2 -2
- package/build/layouts/grid.cjs +51 -9
- package/build/layouts/grid.cjs.map +2 -2
- package/build/private-apis.cjs +4 -2
- package/build/private-apis.cjs.map +3 -3
- package/build/store/actions.cjs.map +2 -2
- package/build/store/private-actions.cjs +16 -0
- package/build/store/private-actions.cjs.map +2 -2
- package/build/store/private-keys.cjs +3 -3
- package/build/store/private-keys.cjs.map +2 -2
- package/build/store/private-selectors.cjs +96 -10
- package/build/store/private-selectors.cjs.map +2 -2
- package/build/store/reducer.cjs +19 -3
- package/build/store/reducer.cjs.map +2 -2
- package/build/store/selectors.cjs +13 -0
- package/build/store/selectors.cjs.map +2 -2
- package/build-module/autocompleters/block.mjs +10 -2
- package/build-module/autocompleters/block.mjs.map +2 -2
- package/build-module/components/background-image-control/index.mjs +0 -2
- package/build-module/components/background-image-control/index.mjs.map +2 -2
- package/build-module/components/block-inspector/edit-contents.mjs +4 -1
- package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
- package/build-module/components/block-inspector/index.mjs +18 -36
- package/build-module/components/block-inspector/index.mjs.map +2 -2
- package/build-module/components/block-list/block-invalid-warning.mjs +8 -19
- package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
- package/build-module/components/block-styles/use-styles-for-block.mjs +2 -1
- package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
- package/build-module/components/block-title/use-block-display-title.mjs +7 -2
- package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs +10 -14
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
- package/build-module/components/block-variation-transforms/index.mjs +0 -1
- package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
- package/build-module/components/child-layout-control/index.mjs +0 -2
- package/build-module/components/child-layout-control/index.mjs.map +2 -2
- package/build-module/components/colors-gradients/control.mjs +5 -5
- package/build-module/components/colors-gradients/control.mjs.map +2 -2
- package/build-module/components/date-format-picker/index.mjs +0 -1
- package/build-module/components/date-format-picker/index.mjs.map +2 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +1 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
- package/build-module/components/dimensions-tool/scale-tool.mjs +0 -1
- package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
- package/build-module/components/dimensions-tool/width-height-tool.mjs +2 -4
- package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
- package/build-module/components/font-appearance-control/index.mjs +6 -15
- package/build-module/components/font-appearance-control/index.mjs.map +2 -2
- package/build-module/components/font-family/index.mjs +6 -15
- package/build-module/components/font-family/index.mjs.map +2 -2
- package/build-module/components/font-sizes/font-size-picker.mjs +1 -2
- package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
- package/build-module/components/global-styles/border-panel.mjs +0 -1
- package/build-module/components/global-styles/border-panel.mjs.map +2 -2
- package/build-module/components/global-styles/dimensions-panel.mjs +0 -3
- package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
- package/build-module/components/global-styles/typography-panel.mjs +4 -10
- package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
- package/build-module/components/height-control/index.mjs +0 -2
- package/build-module/components/height-control/index.mjs.map +2 -2
- package/build-module/components/html-element-control/index.mjs +0 -1
- package/build-module/components/html-element-control/index.mjs.map +2 -2
- package/build-module/components/image-editor/index.mjs +5 -0
- package/build-module/components/image-editor/index.mjs.map +2 -2
- package/build-module/components/image-editor/zoom-dropdown.mjs +0 -1
- package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
- package/build-module/components/image-size-control/index.mjs +1 -3
- package/build-module/components/image-size-control/index.mjs.map +2 -2
- package/build-module/components/inner-content/index.mjs +82 -0
- package/build-module/components/inner-content/index.mjs.map +7 -0
- package/build-module/components/inserter/hooks/use-block-types-state.mjs +10 -2
- package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/hooks.mjs +33 -6
- package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-list.mjs +3 -1
- package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-panel.mjs +227 -30
- package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-preview.mjs +33 -18
- package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-tab.mjs +27 -7
- package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
- package/build-module/components/inserter/mobile-tab-navigation.mjs +6 -1
- package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
- package/build-module/components/inserter/no-results.mjs +2 -2
- package/build-module/components/inserter/no-results.mjs.map +2 -2
- package/build-module/components/inserter/preview-panel.mjs +2 -1
- package/build-module/components/inserter/preview-panel.mjs.map +2 -2
- package/build-module/components/inserter-list-item/index.mjs +8 -2
- package/build-module/components/inserter-list-item/index.mjs.map +2 -2
- package/build-module/components/letter-spacing-control/index.mjs +0 -14
- package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
- package/build-module/components/line-height-control/index.mjs +7 -12
- package/build-module/components/line-height-control/index.mjs.map +2 -2
- package/build-module/components/list-view/block-select-button.mjs +90 -84
- package/build-module/components/list-view/block-select-button.mjs.map +2 -2
- package/build-module/components/list-view/block.mjs +51 -20
- package/build-module/components/list-view/block.mjs.map +2 -2
- package/build-module/components/list-view/expander.mjs +1 -1
- package/build-module/components/list-view/expander.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-client-ids.mjs +2 -2
- package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
- package/build-module/components/observe-typing/index.mjs +4 -3
- package/build-module/components/observe-typing/index.mjs.map +2 -2
- package/build-module/components/preset-input-control/custom-value-controls.mjs +1 -3
- package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
- package/build-module/components/preset-input-control/index.mjs +1 -3
- package/build-module/components/preset-input-control/index.mjs.map +2 -2
- package/build-module/components/resolution-tool/index.mjs +1 -2
- package/build-module/components/resolution-tool/index.mjs.map +2 -2
- package/build-module/components/text-alignment-control/index.mjs +0 -1
- package/build-module/components/text-alignment-control/index.mjs.map +2 -2
- package/build-module/components/text-decoration-control/index.mjs +0 -1
- package/build-module/components/text-decoration-control/index.mjs.map +2 -2
- package/build-module/components/text-indent-control/index.mjs +0 -8
- package/build-module/components/text-indent-control/index.mjs.map +2 -2
- package/build-module/components/text-transform-control/index.mjs +0 -1
- package/build-module/components/text-transform-control/index.mjs.map +2 -2
- package/build-module/components/use-block-display-information/index.mjs +10 -8
- package/build-module/components/use-block-display-information/index.mjs.map +2 -2
- package/build-module/components/use-on-block-drop/index.mjs +4 -7
- package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
- package/build-module/components/use-resize-canvas/index.mjs +6 -53
- package/build-module/components/use-resize-canvas/index.mjs.map +2 -2
- package/build-module/components/writing-mode-control/index.mjs +0 -1
- package/build-module/components/writing-mode-control/index.mjs.map +2 -2
- package/build-module/hooks/font-size.mjs +1 -2
- package/build-module/hooks/font-size.mjs.map +2 -2
- package/build-module/hooks/layout.mjs +4 -3
- package/build-module/hooks/layout.mjs.map +2 -2
- package/build-module/hooks/position.mjs +38 -18
- package/build-module/hooks/position.mjs.map +2 -2
- package/build-module/hooks/states.mjs +10 -21
- package/build-module/hooks/states.mjs.map +2 -2
- package/build-module/layouts/constrained.mjs +21 -21
- package/build-module/layouts/constrained.mjs.map +2 -2
- package/build-module/layouts/flex.mjs +0 -3
- package/build-module/layouts/flex.mjs.map +2 -2
- package/build-module/layouts/grid.mjs +52 -9
- package/build-module/layouts/grid.mjs.map +2 -2
- package/build-module/private-apis.mjs +5 -3
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/actions.mjs.map +2 -2
- package/build-module/store/private-actions.mjs +14 -0
- package/build-module/store/private-actions.mjs.map +2 -2
- package/build-module/store/private-keys.mjs +2 -2
- package/build-module/store/private-keys.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +93 -10
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/reducer.mjs +17 -3
- package/build-module/store/reducer.mjs.map +2 -2
- package/build-module/store/selectors.mjs +13 -0
- package/build-module/store/selectors.mjs.map +2 -2
- package/build-style/content-rtl.css +11 -5
- package/build-style/content.css +11 -5
- package/build-style/style-rtl.css +113 -3
- package/build-style/style.css +113 -3
- package/package.json +43 -41
- package/src/autocompleters/block.js +10 -3
- package/src/autocompleters/test/block.js +53 -0
- package/src/components/background-image-control/index.js +0 -2
- package/src/components/block-inspector/edit-contents.js +5 -1
- package/src/components/block-inspector/index.js +25 -44
- package/src/components/block-list/block-invalid-warning.js +8 -19
- package/src/components/block-patterns-list/stories/index.story.jsx +1 -1
- package/src/components/block-styles/use-styles-for-block.js +1 -0
- package/src/components/block-title/use-block-display-title.js +7 -2
- package/src/components/block-toolbar/block-toolbar-icon.js +11 -16
- package/src/components/block-toolbar/test/block-toolbar-icon.js +32 -9
- package/src/components/block-variation-transforms/index.js +0 -1
- package/src/components/child-layout-control/index.js +0 -2
- package/src/components/color-palette/test/__snapshots__/control.js.snap +11 -106
- package/src/components/colors-gradients/control.js +4 -4
- package/src/components/colors-gradients/style.scss +2 -2
- package/src/components/date-format-picker/index.js +0 -1
- package/src/components/dimensions-tool/aspect-ratio-tool.js +0 -1
- package/src/components/dimensions-tool/scale-tool.js +0 -1
- package/src/components/dimensions-tool/width-height-tool.js +0 -2
- package/src/components/font-appearance-control/index.js +6 -19
- package/src/components/font-family/README.md +0 -9
- package/src/components/font-family/index.js +6 -19
- package/src/components/font-family/stories/index.story.jsx +0 -1
- package/src/components/font-sizes/font-size-picker.js +0 -1
- package/src/components/global-styles/border-panel.js +0 -1
- package/src/components/global-styles/dimensions-panel.js +0 -3
- package/src/components/global-styles/typography-panel.js +0 -6
- package/src/components/height-control/index.js +0 -2
- package/src/components/html-element-control/index.js +0 -1
- package/src/components/iframe/content.scss +3 -3
- package/src/components/image-editor/index.js +22 -0
- package/src/components/image-editor/zoom-dropdown.js +0 -1
- package/src/components/image-size-control/index.js +0 -2
- package/src/components/inner-content/index.js +119 -0
- package/src/components/inner-content/test/index.js +81 -0
- package/src/components/inserter/hooks/use-block-types-state.js +10 -2
- package/src/components/inserter/media-tab/hooks.js +59 -9
- package/src/components/inserter/media-tab/media-list.js +2 -0
- package/src/components/inserter/media-tab/media-panel.js +256 -17
- package/src/components/inserter/media-tab/media-preview.js +34 -17
- package/src/components/inserter/media-tab/media-tab.js +20 -2
- package/src/components/inserter/media-tab/test/hooks.js +204 -0
- package/src/components/inserter/mobile-tab-navigation.js +6 -1
- package/src/components/inserter/no-results.js +2 -2
- package/src/components/inserter/preview-panel.js +1 -0
- package/src/components/inserter/style.scss +110 -1
- package/src/components/inserter-list-item/index.js +8 -2
- package/src/components/letter-spacing-control/README.md +0 -8
- package/src/components/letter-spacing-control/index.js +5 -23
- package/src/components/letter-spacing-control/stories/index.story.jsx +0 -12
- package/src/components/line-height-control/README.md +0 -8
- package/src/components/line-height-control/index.js +7 -16
- package/src/components/line-height-control/stories/index.story.jsx +0 -1
- package/src/components/line-height-control/test/index.js +1 -7
- package/src/components/link-picker/test/index.js +3 -1
- package/src/components/list-view/block-select-button.js +5 -1
- package/src/components/list-view/block.js +57 -20
- package/src/components/list-view/expander.js +5 -1
- package/src/components/list-view/style.scss +19 -0
- package/src/components/list-view/use-list-view-client-ids.js +2 -2
- package/src/components/observe-typing/index.js +9 -4
- package/src/components/preset-input-control/custom-value-controls.js +0 -2
- package/src/components/preset-input-control/index.js +0 -2
- package/src/components/resolution-tool/index.js +0 -1
- package/src/components/responsive-block-control/test/index.js +1 -5
- package/src/components/text-alignment-control/index.js +0 -1
- package/src/components/text-decoration-control/index.js +0 -1
- package/src/components/text-indent-control/index.js +7 -16
- package/src/components/text-transform-control/index.js +0 -1
- package/src/components/use-block-display-information/index.js +9 -13
- package/src/components/use-block-display-information/test/index.js +47 -9
- package/src/components/use-on-block-drop/index.js +4 -7
- package/src/components/use-resize-canvas/index.js +10 -71
- package/src/components/writing-mode-control/index.js +0 -1
- package/src/hooks/block-hooks.scss +15 -0
- package/src/hooks/font-size.js +0 -1
- package/src/hooks/layout.js +5 -4
- package/src/hooks/position.js +44 -23
- package/src/hooks/states.js +24 -26
- package/src/hooks/test/cross-origin-isolation.js +0 -4
- package/src/hooks/test/layout.js +75 -1
- package/src/layouts/constrained.js +51 -28
- package/src/layouts/flex.js +0 -3
- package/src/layouts/grid.js +59 -7
- package/src/layouts/test/constrained.js +91 -0
- package/src/layouts/test/grid.js +71 -0
- package/src/private-apis.js +4 -2
- package/src/store/actions.js +1 -0
- package/src/store/private-actions.js +31 -0
- package/src/store/private-keys.js +1 -1
- package/src/store/private-selectors.js +184 -11
- package/src/store/reducer.js +37 -2
- package/src/store/selectors.js +41 -0
- package/src/store/test/private-selectors.js +436 -10
- package/src/store/test/reducer.js +41 -13
- package/src/store/test/selectors.js +133 -0
- package/src/style.scss +1 -0
- package/src/components/use-resize-canvas/README.md +0 -37
|
@@ -98,6 +98,7 @@ function ListViewBlock( {
|
|
|
98
98
|
insertAfterBlock,
|
|
99
99
|
insertBeforeBlock,
|
|
100
100
|
showViewportModal,
|
|
101
|
+
stopEditingContentOnlySection,
|
|
101
102
|
} = unlock( useDispatch( blockEditorStore ) );
|
|
102
103
|
|
|
103
104
|
const debouncedToggleBlockHighlight = useDebounce(
|
|
@@ -125,21 +126,36 @@ function ListViewBlock( {
|
|
|
125
126
|
|
|
126
127
|
const pasteStyles = usePasteStyles();
|
|
127
128
|
|
|
128
|
-
const {
|
|
129
|
+
const {
|
|
130
|
+
block,
|
|
131
|
+
blockName,
|
|
132
|
+
blockEditingMode,
|
|
133
|
+
allowRightClickOverrides,
|
|
134
|
+
editedSection,
|
|
135
|
+
} = useSelect(
|
|
129
136
|
( select ) => {
|
|
130
|
-
const {
|
|
131
|
-
|
|
132
|
-
|
|
137
|
+
const {
|
|
138
|
+
getBlock,
|
|
139
|
+
getBlockName,
|
|
140
|
+
getBlockEditingMode: getBlockEditingModeForClientId,
|
|
141
|
+
getSettings,
|
|
142
|
+
getEditedContentOnlySection,
|
|
143
|
+
} = unlock( select( blockEditorStore ) );
|
|
133
144
|
|
|
134
145
|
return {
|
|
135
146
|
block: getBlock( clientId ),
|
|
136
147
|
blockName: getBlockName( clientId ),
|
|
148
|
+
blockEditingMode: getBlockEditingModeForClientId( clientId ),
|
|
137
149
|
allowRightClickOverrides:
|
|
138
150
|
getSettings().allowRightClickOverrides,
|
|
151
|
+
editedSection: getEditedContentOnlySection(),
|
|
139
152
|
};
|
|
140
153
|
},
|
|
141
154
|
[ clientId ]
|
|
142
155
|
);
|
|
156
|
+
|
|
157
|
+
const isDisabled = blockEditingMode === 'disabled';
|
|
158
|
+
|
|
143
159
|
const { canRename } = useBlockRename( blockName );
|
|
144
160
|
|
|
145
161
|
const showBlockActions =
|
|
@@ -202,6 +218,13 @@ function ListViewBlock( {
|
|
|
202
218
|
return;
|
|
203
219
|
}
|
|
204
220
|
|
|
221
|
+
if ( editedSection && isMatch( 'core/block-editor/unselect', event ) ) {
|
|
222
|
+
event.stopPropagation();
|
|
223
|
+
event.preventDefault();
|
|
224
|
+
stopEditingContentOnlySection();
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
|
|
205
228
|
const isDeleteKey = [ BACKSPACE, DELETE ].includes( event.keyCode );
|
|
206
229
|
|
|
207
230
|
// If multiple blocks are selected, deselect all blocks when the user
|
|
@@ -539,7 +562,8 @@ function ListViewBlock( {
|
|
|
539
562
|
);
|
|
540
563
|
|
|
541
564
|
const hasSiblings = siblingBlockCount > 0;
|
|
542
|
-
const
|
|
565
|
+
const canShowBlockActions = showBlockActions && ! isDisabled;
|
|
566
|
+
const hasRenderedMovers = showBlockMovers && hasSiblings && ! isDisabled;
|
|
543
567
|
const moverCellClassName = clsx(
|
|
544
568
|
'block-editor-list-view-block__mover-cell',
|
|
545
569
|
{ 'is-visible': isHovered || isSelected }
|
|
@@ -553,7 +577,7 @@ function ListViewBlock( {
|
|
|
553
577
|
let colSpan;
|
|
554
578
|
if ( hasRenderedMovers ) {
|
|
555
579
|
colSpan = 2;
|
|
556
|
-
} else if ( !
|
|
580
|
+
} else if ( ! canShowBlockActions ) {
|
|
557
581
|
colSpan = 3;
|
|
558
582
|
}
|
|
559
583
|
|
|
@@ -566,12 +590,13 @@ function ListViewBlock( {
|
|
|
566
590
|
'is-dragging': isDragged,
|
|
567
591
|
'has-single-cell': ! showBlockActions,
|
|
568
592
|
'is-synced': blockInformation?.isSynced,
|
|
569
|
-
'is-draggable': canMoveBlock,
|
|
593
|
+
'is-draggable': canMoveBlock && ! isDisabled,
|
|
570
594
|
'is-displacement-normal': displacement === 'normal',
|
|
571
595
|
'is-displacement-up': displacement === 'up',
|
|
572
596
|
'is-displacement-down': displacement === 'down',
|
|
573
597
|
'is-after-dragged-blocks': isAfterDraggedBlocks,
|
|
574
598
|
'is-nesting': isNesting,
|
|
599
|
+
'is-disabled': isDisabled,
|
|
575
600
|
} );
|
|
576
601
|
|
|
577
602
|
// Only include all selected blocks if the currently clicked on block
|
|
@@ -582,19 +607,28 @@ function ListViewBlock( {
|
|
|
582
607
|
? selectedClientIds
|
|
583
608
|
: [ clientId ];
|
|
584
609
|
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
610
|
+
const getListViewBlockTabIndex = ( rovingTabIndex ) => {
|
|
611
|
+
if ( isDisabled ) {
|
|
612
|
+
return -1;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
// Detect if there is a block in the canvas currently being edited and multi-selection is not happening.
|
|
616
|
+
if ( isSelected && selectedClientIds.length === 1 ) {
|
|
617
|
+
return 0;
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
return rovingTabIndex;
|
|
621
|
+
};
|
|
588
622
|
|
|
589
623
|
return (
|
|
590
624
|
<ListViewLeaf
|
|
591
625
|
className={ classes }
|
|
592
626
|
isDragged={ isDragged }
|
|
593
627
|
onKeyDown={ onKeyDown }
|
|
594
|
-
onMouseEnter={ onMouseEnter }
|
|
595
|
-
onMouseLeave={ onMouseLeave }
|
|
596
|
-
onFocus={ onMouseEnter }
|
|
597
|
-
onBlur={ onMouseLeave }
|
|
628
|
+
onMouseEnter={ isDisabled ? undefined : onMouseEnter }
|
|
629
|
+
onMouseLeave={ isDisabled ? undefined : onMouseLeave }
|
|
630
|
+
onFocus={ isDisabled ? undefined : onMouseEnter }
|
|
631
|
+
onBlur={ isDisabled ? undefined : onMouseLeave }
|
|
598
632
|
level={ level }
|
|
599
633
|
position={ position }
|
|
600
634
|
rowCount={ rowCount }
|
|
@@ -615,22 +649,25 @@ function ListViewBlock( {
|
|
|
615
649
|
<ListViewBlockContents
|
|
616
650
|
block={ block }
|
|
617
651
|
onClick={ selectEditorBlock }
|
|
618
|
-
onContextMenu={
|
|
652
|
+
onContextMenu={
|
|
653
|
+
isDisabled ? undefined : onContextMenu
|
|
654
|
+
}
|
|
619
655
|
onMouseDown={ onMouseDown }
|
|
620
|
-
onToggleExpanded={
|
|
656
|
+
onToggleExpanded={
|
|
657
|
+
isDisabled ? undefined : toggleExpanded
|
|
658
|
+
}
|
|
621
659
|
isSelected={ isSelected }
|
|
622
660
|
position={ position }
|
|
623
661
|
siblingBlockCount={ siblingBlockCount }
|
|
624
662
|
level={ level }
|
|
625
663
|
ref={ ref }
|
|
626
|
-
tabIndex={
|
|
627
|
-
currentlyEditingBlockInCanvas ? 0 : tabIndex
|
|
628
|
-
}
|
|
664
|
+
tabIndex={ getListViewBlockTabIndex( tabIndex ) }
|
|
629
665
|
onFocus={ onFocus }
|
|
630
666
|
isExpanded={ canEditBlock ? isExpanded : undefined }
|
|
631
667
|
selectedClientIds={ selectedClientIds }
|
|
632
668
|
ariaDescribedBy={ descriptionId }
|
|
633
669
|
visibilityLabel={ blockVisibilityDescription }
|
|
670
|
+
isDisabled={ isDisabled }
|
|
634
671
|
/>
|
|
635
672
|
<AriaReferencedText id={ descriptionId }>
|
|
636
673
|
{ [
|
|
@@ -676,7 +713,7 @@ function ListViewBlock( {
|
|
|
676
713
|
</>
|
|
677
714
|
) }
|
|
678
715
|
|
|
679
|
-
{
|
|
716
|
+
{ canShowBlockActions && BlockSettingsMenu && (
|
|
680
717
|
<TreeGridCell
|
|
681
718
|
className={ listViewBlockSettingsClassName }
|
|
682
719
|
aria-selected={ !! isSelected }
|
|
@@ -15,7 +15,11 @@ export default function ListViewExpander( { onClick } ) {
|
|
|
15
15
|
// For the current tree grid implementation, please do not try to make this a button.
|
|
16
16
|
<span
|
|
17
17
|
className="block-editor-list-view__expander"
|
|
18
|
-
onClick={
|
|
18
|
+
onClick={
|
|
19
|
+
onClick
|
|
20
|
+
? ( event ) => onClick( event, { forceToggle: true } )
|
|
21
|
+
: undefined
|
|
22
|
+
}
|
|
19
23
|
aria-hidden="true"
|
|
20
24
|
data-testid="list-view-expander"
|
|
21
25
|
>
|
|
@@ -447,6 +447,25 @@
|
|
|
447
447
|
box-shadow: 0 0 0 $radius-small var(--wp-admin-theme-color);
|
|
448
448
|
}
|
|
449
449
|
}
|
|
450
|
+
|
|
451
|
+
&.is-disabled {
|
|
452
|
+
opacity: 0.2;
|
|
453
|
+
@media not ( prefers-reduced-motion ) {
|
|
454
|
+
transition: opacity 0.1s linear;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
&:hover {
|
|
458
|
+
opacity: 0.2;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
.block-editor-list-view__expander {
|
|
462
|
+
cursor: default;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
.block-editor-list-view-block-select-button:hover {
|
|
466
|
+
color: inherit;
|
|
467
|
+
}
|
|
468
|
+
}
|
|
450
469
|
}
|
|
451
470
|
|
|
452
471
|
// First level of indentation is aria-level 2, max indent is 8.
|
|
@@ -16,14 +16,14 @@ export default function useListViewClientIds( { blocks, rootClientId } ) {
|
|
|
16
16
|
const {
|
|
17
17
|
getDraggedBlockClientIds,
|
|
18
18
|
getSelectedBlockClientIds,
|
|
19
|
-
|
|
19
|
+
getListViewClientIdsTree,
|
|
20
20
|
} = unlock( select( blockEditorStore ) );
|
|
21
21
|
|
|
22
22
|
return {
|
|
23
23
|
selectedClientIds: getSelectedBlockClientIds(),
|
|
24
24
|
draggedClientIds: getDraggedBlockClientIds(),
|
|
25
25
|
clientIdsTree:
|
|
26
|
-
blocks ??
|
|
26
|
+
blocks ?? getListViewClientIdsTree( rootClientId ),
|
|
27
27
|
};
|
|
28
28
|
},
|
|
29
29
|
[ blocks, rootClientId ]
|
|
@@ -129,6 +129,12 @@ export function useTypingObserver() {
|
|
|
129
129
|
if ( isTyping ) {
|
|
130
130
|
let timerId;
|
|
131
131
|
|
|
132
|
+
// Capture the window reference while the node is still
|
|
133
|
+
// attached. Reusing the reference we held at mount keeps the
|
|
134
|
+
// cleanup and the handlers working against the same window
|
|
135
|
+
// we set things up on.
|
|
136
|
+
const { defaultView } = node.ownerDocument;
|
|
137
|
+
|
|
132
138
|
/**
|
|
133
139
|
* Stops typing when focus transitions to a non-text field element.
|
|
134
140
|
*
|
|
@@ -141,7 +147,7 @@ export function useTypingObserver() {
|
|
|
141
147
|
// before the keydown event, wait until after current stack
|
|
142
148
|
// before evaluating whether typing is to be stopped. Otherwise,
|
|
143
149
|
// typing will re-start.
|
|
144
|
-
timerId =
|
|
150
|
+
timerId = defaultView.setTimeout( () => {
|
|
145
151
|
if ( ! isTextField( target ) ) {
|
|
146
152
|
stopTyping();
|
|
147
153
|
}
|
|
@@ -168,8 +174,7 @@ export function useTypingObserver() {
|
|
|
168
174
|
* uncollapsed (shift) selection.
|
|
169
175
|
*/
|
|
170
176
|
function stopTypingOnSelectionUncollapse() {
|
|
171
|
-
const selection =
|
|
172
|
-
node.ownerDocument.defaultView.getSelection();
|
|
177
|
+
const selection = defaultView.getSelection();
|
|
173
178
|
if ( ! selection.isCollapsed ) {
|
|
174
179
|
stopTyping();
|
|
175
180
|
}
|
|
@@ -184,7 +189,7 @@ export function useTypingObserver() {
|
|
|
184
189
|
);
|
|
185
190
|
|
|
186
191
|
return () => {
|
|
187
|
-
|
|
192
|
+
defaultView.clearTimeout( timerId );
|
|
188
193
|
node.removeEventListener(
|
|
189
194
|
'focus',
|
|
190
195
|
stopTypingOnNonTextField
|
|
@@ -71,7 +71,6 @@ export default function CustomValueControls( {
|
|
|
71
71
|
onFocus={ onMouseOver }
|
|
72
72
|
onMouseOut={ onMouseOut }
|
|
73
73
|
onMouseOver={ onMouseOver }
|
|
74
|
-
size="__unstable-large"
|
|
75
74
|
units={ units }
|
|
76
75
|
value={ [ parsedQuantity, computedUnit ].join( '' ) }
|
|
77
76
|
placeholder={ allPlaceholder }
|
|
@@ -126,7 +125,6 @@ export default function CustomValueControls( {
|
|
|
126
125
|
step={ step }
|
|
127
126
|
value={ parsedQuantity }
|
|
128
127
|
withInputField={ false }
|
|
129
|
-
__next40pxDefaultSize
|
|
130
128
|
/>
|
|
131
129
|
</>
|
|
132
130
|
);
|
|
@@ -267,7 +267,6 @@ export default function PresetInputControl( {
|
|
|
267
267
|
step={ 1 }
|
|
268
268
|
value={ currentValue }
|
|
269
269
|
withInputField={ false }
|
|
270
|
-
__next40pxDefaultSize
|
|
271
270
|
/>
|
|
272
271
|
) }
|
|
273
272
|
{ hasPresets && ! showRangeControl && ! showCustomValueControl && (
|
|
@@ -295,7 +294,6 @@ export default function PresetInputControl( {
|
|
|
295
294
|
onMouseOut={ onMouseOut }
|
|
296
295
|
onMouseOver={ onMouseOver }
|
|
297
296
|
options={ options }
|
|
298
|
-
size="__unstable-large"
|
|
299
297
|
value={
|
|
300
298
|
// passing empty string as a fallback to continue using the
|
|
301
299
|
// component in controlled mode
|
|
@@ -39,11 +39,7 @@ const sizeOptions = [
|
|
|
39
39
|
const renderTestDefaultControlComponent = ( labelComponent, device ) => {
|
|
40
40
|
return (
|
|
41
41
|
<>
|
|
42
|
-
<SelectControl
|
|
43
|
-
__next40pxDefaultSize
|
|
44
|
-
label={ labelComponent }
|
|
45
|
-
options={ sizeOptions }
|
|
46
|
-
/>
|
|
42
|
+
<SelectControl label={ labelComponent } options={ sizeOptions } />
|
|
47
43
|
<p id={ device.id }>
|
|
48
44
|
{ device.label } is used here for testing purposes to ensure we
|
|
49
45
|
have access to details about the device.
|
|
@@ -22,19 +22,17 @@ import { useSettings } from '../../components/use-settings';
|
|
|
22
22
|
/**
|
|
23
23
|
* Control for line text indent.
|
|
24
24
|
*
|
|
25
|
-
* @param {Object} props
|
|
26
|
-
* @param {
|
|
27
|
-
* @param {
|
|
28
|
-
* @param {
|
|
29
|
-
* @param {
|
|
30
|
-
* @param {boolean} props.
|
|
31
|
-
* @param {
|
|
32
|
-
* @param {string} props.help Help text to display below the control.
|
|
25
|
+
* @param {Object} props Component props.
|
|
26
|
+
* @param {string} props.value Currently selected text indent.
|
|
27
|
+
* @param {Function} props.onChange Handles change in text indent selection.
|
|
28
|
+
* @param {string|number|undefined} props.__unstableInputWidth Input width to pass through to inner UnitControl. Should be a valid CSS value.
|
|
29
|
+
* @param {boolean} props.withSlider Whether to show the slider control.
|
|
30
|
+
* @param {boolean} props.hasBottomMargin Whether to add bottom margin below the control.
|
|
31
|
+
* @param {string} props.help Help text to display below the control.
|
|
33
32
|
*
|
|
34
33
|
* @return {Element} Text indent control.
|
|
35
34
|
*/
|
|
36
35
|
export default function TextIndentControl( {
|
|
37
|
-
__next40pxDefaultSize = false,
|
|
38
36
|
value,
|
|
39
37
|
onChange,
|
|
40
38
|
__unstableInputWidth = '60px',
|
|
@@ -68,8 +66,6 @@ export default function TextIndentControl( {
|
|
|
68
66
|
if ( ! withSlider ) {
|
|
69
67
|
return (
|
|
70
68
|
<UnitControl
|
|
71
|
-
__next40pxDefaultSize={ __next40pxDefaultSize }
|
|
72
|
-
__shouldNotWarnDeprecated36pxSize
|
|
73
69
|
{ ...otherProps }
|
|
74
70
|
label={ __( 'Line indent' ) }
|
|
75
71
|
value={ value }
|
|
@@ -89,14 +85,11 @@ export default function TextIndentControl( {
|
|
|
89
85
|
<Flex>
|
|
90
86
|
<FlexItem isBlock>
|
|
91
87
|
<UnitControl
|
|
92
|
-
__next40pxDefaultSize={ __next40pxDefaultSize }
|
|
93
|
-
__shouldNotWarnDeprecated36pxSize
|
|
94
88
|
label={ __( 'Line indent' ) }
|
|
95
89
|
labelPosition="top"
|
|
96
90
|
hideLabelFromVision
|
|
97
91
|
value={ value }
|
|
98
92
|
onChange={ onChange }
|
|
99
|
-
size={ otherProps.size }
|
|
100
93
|
units={ units }
|
|
101
94
|
__unstableInputWidth={ __unstableInputWidth }
|
|
102
95
|
min={ 0 }
|
|
@@ -106,8 +99,6 @@ export default function TextIndentControl( {
|
|
|
106
99
|
<FlexItem isBlock>
|
|
107
100
|
<Spacer marginX={ 2 } marginBottom={ 0 }>
|
|
108
101
|
<RangeControl
|
|
109
|
-
__next40pxDefaultSize={ __next40pxDefaultSize }
|
|
110
|
-
__shouldNotWarnDeprecated36pxSize
|
|
111
102
|
label={ __( 'Line indent' ) }
|
|
112
103
|
hideLabelFromVision
|
|
113
104
|
value={ valueQuantity }
|
|
@@ -16,7 +16,6 @@ import { symbol } from '@wordpress/icons';
|
|
|
16
16
|
*/
|
|
17
17
|
import { store as blockEditorStore } from '../../store';
|
|
18
18
|
import { unlock } from '../../lock-unlock';
|
|
19
|
-
import { isIsolatedEditorKey } from '../../store/private-keys';
|
|
20
19
|
|
|
21
20
|
/** @typedef {import('@wordpress/blocks').WPIcon} WPIcon */
|
|
22
21
|
|
|
@@ -78,8 +77,8 @@ export default function useBlockDisplayInformation( clientId ) {
|
|
|
78
77
|
const {
|
|
79
78
|
getBlockName,
|
|
80
79
|
getBlockAttributes,
|
|
80
|
+
getBlock,
|
|
81
81
|
__experimentalGetParsedPattern,
|
|
82
|
-
getSettings,
|
|
83
82
|
} = blockEditorSelect;
|
|
84
83
|
const { getBlockType, getActiveBlockVariation } =
|
|
85
84
|
select( blocksStore );
|
|
@@ -89,20 +88,12 @@ export default function useBlockDisplayInformation( clientId ) {
|
|
|
89
88
|
return null;
|
|
90
89
|
}
|
|
91
90
|
const attributes = getBlockAttributes( clientId );
|
|
92
|
-
const {
|
|
93
|
-
unlock( blockEditorSelect );
|
|
94
|
-
const isIsolatedEditor = !! getSettings()?.[ isIsolatedEditorKey ];
|
|
91
|
+
const { isSectionBlock } = unlock( blockEditorSelect );
|
|
95
92
|
|
|
96
93
|
// Check if this block is a pattern
|
|
97
94
|
const patternName = attributes?.metadata?.patternName;
|
|
98
|
-
const isEditedContentOnlySection =
|
|
99
|
-
isWithinEditedContentOnlySection( clientId );
|
|
100
95
|
|
|
101
|
-
if (
|
|
102
|
-
patternName &&
|
|
103
|
-
! isEditedContentOnlySection &&
|
|
104
|
-
! isIsolatedEditor
|
|
105
|
-
) {
|
|
96
|
+
if ( patternName && isSectionBlock( clientId ) ) {
|
|
106
97
|
const pattern = __experimentalGetParsedPattern( patternName );
|
|
107
98
|
const positionLabel = getPositionTypeLabel( attributes );
|
|
108
99
|
return {
|
|
@@ -118,7 +109,12 @@ export default function useBlockDisplayInformation( clientId ) {
|
|
|
118
109
|
};
|
|
119
110
|
}
|
|
120
111
|
|
|
121
|
-
const match = getActiveBlockVariation(
|
|
112
|
+
const match = getActiveBlockVariation(
|
|
113
|
+
blockName,
|
|
114
|
+
attributes,
|
|
115
|
+
undefined,
|
|
116
|
+
getBlock?.( clientId )?.innerContent
|
|
117
|
+
);
|
|
122
118
|
const isSynced =
|
|
123
119
|
isReusableBlock( blockType ) || isTemplatePart( blockType );
|
|
124
120
|
const syncedTitle = isSynced
|
|
@@ -14,7 +14,6 @@ import { symbol } from '@wordpress/icons';
|
|
|
14
14
|
* Internal dependencies
|
|
15
15
|
*/
|
|
16
16
|
import useBlockDisplayInformation from '../';
|
|
17
|
-
import { isIsolatedEditorKey } from '../../../store/private-keys';
|
|
18
17
|
|
|
19
18
|
jest.mock( '@wordpress/data/src/components/use-select', () => jest.fn() );
|
|
20
19
|
jest.mock( '../../../lock-unlock', () => ( {
|
|
@@ -26,6 +25,7 @@ jest.mock( '../../../lock-unlock', () => ( {
|
|
|
26
25
|
} ) );
|
|
27
26
|
|
|
28
27
|
const groupIcon = 'group-icon';
|
|
28
|
+
const templatePartIcon = 'template-part-icon';
|
|
29
29
|
|
|
30
30
|
function TestComponent( { onChange } ) {
|
|
31
31
|
const blockInformation = useBlockDisplayInformation( 'client-id' );
|
|
@@ -56,19 +56,17 @@ function setupUseSelect( {
|
|
|
56
56
|
description: 'Gather blocks in a layout container.',
|
|
57
57
|
},
|
|
58
58
|
getActiveBlockVariation = () => null,
|
|
59
|
-
|
|
60
|
-
isWithinEditedSection = false,
|
|
59
|
+
isSectionBlock = true,
|
|
61
60
|
} = {} ) {
|
|
62
61
|
useSelect.mockImplementation( ( mapSelect ) =>
|
|
63
62
|
mapSelect( () => ( {
|
|
64
63
|
getBlockName: () => blockName,
|
|
65
64
|
getBlockAttributes: () => attributes,
|
|
66
|
-
getSettings: () => settings,
|
|
67
65
|
__experimentalGetParsedPattern: () => ( {
|
|
68
66
|
title: 'Hero pattern',
|
|
69
67
|
description: 'Pattern description.',
|
|
70
68
|
} ),
|
|
71
|
-
|
|
69
|
+
isSectionBlock: () => isSectionBlock,
|
|
72
70
|
getBlockType: () => blockType,
|
|
73
71
|
getActiveBlockVariation,
|
|
74
72
|
} ) )
|
|
@@ -97,7 +95,7 @@ describe( 'useBlockDisplayInformation', () => {
|
|
|
97
95
|
} );
|
|
98
96
|
|
|
99
97
|
it( 'displays block information for a pattern section that is being edited', () => {
|
|
100
|
-
setupUseSelect( {
|
|
98
|
+
setupUseSelect( { isSectionBlock: false } );
|
|
101
99
|
const onChange = jest.fn();
|
|
102
100
|
|
|
103
101
|
render( <TestComponent onChange={ onChange } /> );
|
|
@@ -120,9 +118,7 @@ describe( 'useBlockDisplayInformation', () => {
|
|
|
120
118
|
patternName: 'theme/header-wrapper',
|
|
121
119
|
},
|
|
122
120
|
},
|
|
123
|
-
|
|
124
|
-
[ isIsolatedEditorKey ]: true,
|
|
125
|
-
},
|
|
121
|
+
isSectionBlock: false,
|
|
126
122
|
} );
|
|
127
123
|
const onChange = jest.fn();
|
|
128
124
|
|
|
@@ -137,4 +133,46 @@ describe( 'useBlockDisplayInformation', () => {
|
|
|
137
133
|
} )
|
|
138
134
|
);
|
|
139
135
|
} );
|
|
136
|
+
|
|
137
|
+
it( 'displays block information for a pattern wrapper when content-only editing is disabled', () => {
|
|
138
|
+
setupUseSelect( {
|
|
139
|
+
isSectionBlock: false,
|
|
140
|
+
} );
|
|
141
|
+
const onChange = jest.fn();
|
|
142
|
+
|
|
143
|
+
render( <TestComponent onChange={ onChange } /> );
|
|
144
|
+
|
|
145
|
+
expect( onChange ).toHaveBeenCalledWith(
|
|
146
|
+
expect.objectContaining( {
|
|
147
|
+
title: 'Group',
|
|
148
|
+
icon: groupIcon,
|
|
149
|
+
description: 'Gather blocks in a layout container.',
|
|
150
|
+
name: 'Hero pattern',
|
|
151
|
+
} )
|
|
152
|
+
);
|
|
153
|
+
} );
|
|
154
|
+
|
|
155
|
+
it( 'displays block information for section blocks without pattern metadata', () => {
|
|
156
|
+
setupUseSelect( {
|
|
157
|
+
attributes: {},
|
|
158
|
+
blockName: 'core/template-part',
|
|
159
|
+
blockType: {
|
|
160
|
+
name: 'core/template-part',
|
|
161
|
+
title: 'Template Part',
|
|
162
|
+
icon: templatePartIcon,
|
|
163
|
+
description: 'A template part.',
|
|
164
|
+
},
|
|
165
|
+
} );
|
|
166
|
+
const onChange = jest.fn();
|
|
167
|
+
|
|
168
|
+
render( <TestComponent onChange={ onChange } /> );
|
|
169
|
+
|
|
170
|
+
expect( onChange ).toHaveBeenCalledWith(
|
|
171
|
+
expect.objectContaining( {
|
|
172
|
+
title: 'Template Part',
|
|
173
|
+
icon: templatePartIcon,
|
|
174
|
+
description: 'A template part.',
|
|
175
|
+
} )
|
|
176
|
+
);
|
|
177
|
+
} );
|
|
140
178
|
} );
|
|
@@ -5,6 +5,7 @@ import { useCallback } from '@wordpress/element';
|
|
|
5
5
|
import {
|
|
6
6
|
cloneBlock,
|
|
7
7
|
createBlock,
|
|
8
|
+
__experimentalCloneSanitizedBlock,
|
|
8
9
|
findTransform,
|
|
9
10
|
getBlockTransforms,
|
|
10
11
|
pasteHandler,
|
|
@@ -266,13 +267,9 @@ export default function useOnBlockDrop(
|
|
|
266
267
|
blocks.unshift( targetBlock );
|
|
267
268
|
}
|
|
268
269
|
|
|
269
|
-
const groupInnerBlocks = blocks.map( ( block ) =>
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
block.attributes,
|
|
273
|
-
block.innerBlocks
|
|
274
|
-
);
|
|
275
|
-
} );
|
|
270
|
+
const groupInnerBlocks = blocks.map( ( block ) =>
|
|
271
|
+
__experimentalCloneSanitizedBlock( block )
|
|
272
|
+
);
|
|
276
273
|
|
|
277
274
|
const areAllImages = blocks.every( ( block ) => {
|
|
278
275
|
return block.name === 'core/image';
|