@wordpress/block-editor 15.23.0 → 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 +25 -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 +2 -3
- 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/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 +6 -9
- 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 -1
- package/build/private-apis.cjs.map +3 -3
- package/build/store/actions.cjs.map +2 -2
- package/build/store/private-keys.cjs +3 -0
- package/build/store/private-keys.cjs.map +2 -2
- package/build/store/private-selectors.cjs +72 -4
- package/build/store/private-selectors.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 +2 -3
- 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/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 +6 -9
- 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 -1
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/actions.mjs.map +2 -2
- package/build-module/store/private-keys.mjs +2 -0
- package/build-module/store/private-keys.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +71 -4
- package/build-module/store/private-selectors.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 +3 -2
- 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/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 +6 -12
- 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 -0
- package/src/store/actions.js +1 -0
- package/src/store/private-keys.js +1 -0
- package/src/store/private-selectors.js +141 -4
- package/src/store/selectors.js +41 -0
- package/src/store/test/private-selectors.js +422 -0
- package/src/store/test/reducer.js +11 -11
- package/src/store/test/selectors.js +133 -0
- package/src/style.scss +1 -0
|
@@ -469,14 +469,31 @@ $block-inserter-tabs-height: 44px;
|
|
|
469
469
|
}
|
|
470
470
|
}
|
|
471
471
|
|
|
472
|
+
// On mobile the media category renders inside a `Navigator.Screen`. The screen
|
|
473
|
+
// is a grid item the navigator aligns to the start (so it's content-height by
|
|
474
|
+
// default); stretch it to full height and make it a flex column so the panel
|
|
475
|
+
// below the back-button header fills the remaining space rather than overflowing.
|
|
476
|
+
.block-editor-inserter__media-mobile-screen {
|
|
477
|
+
display: flex;
|
|
478
|
+
flex-direction: column;
|
|
479
|
+
align-self: stretch;
|
|
480
|
+
}
|
|
481
|
+
|
|
472
482
|
.block-editor-inserter__media-panel {
|
|
473
|
-
min-height: 100%;
|
|
474
483
|
padding: 0 $grid-unit-20;
|
|
475
484
|
display: flex;
|
|
476
485
|
flex-direction: column;
|
|
486
|
+
// Mobile: fill the height left below the screen's back-button header so the
|
|
487
|
+
// results scroll internally and the attach footer stays on-screen.
|
|
488
|
+
flex: 1;
|
|
489
|
+
min-height: 0;
|
|
477
490
|
|
|
478
491
|
@include break-medium {
|
|
479
492
|
padding: 0;
|
|
493
|
+
// Desktop: the panel lives in the absolutely-positioned category panel,
|
|
494
|
+
// so fill its height directly instead.
|
|
495
|
+
flex: 0 1 auto;
|
|
496
|
+
min-height: 100%;
|
|
480
497
|
}
|
|
481
498
|
|
|
482
499
|
.block-editor-inserter__media-panel-spinner {
|
|
@@ -494,6 +511,90 @@ $block-inserter-tabs-height: 44px;
|
|
|
494
511
|
padding: $grid-unit-20 $grid-unit-30 $grid-unit-20;
|
|
495
512
|
}
|
|
496
513
|
}
|
|
514
|
+
|
|
515
|
+
// The empty state grows to fill, alongside `-results`/`-spinner`, so the
|
|
516
|
+
// attach footer below stays pinned to the bottom in every state.
|
|
517
|
+
.block-editor-inserter__no-results {
|
|
518
|
+
flex-grow: 1;
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
.block-editor-inserter__media-panel-attach {
|
|
522
|
+
// Match the padding (and so the height) of the "Open Media Library"
|
|
523
|
+
// footer button in the adjacent column, so the two line up.
|
|
524
|
+
&.components-button {
|
|
525
|
+
justify-content: center;
|
|
526
|
+
padding: $grid-unit-20;
|
|
527
|
+
}
|
|
528
|
+
// Balanced breathing room above and below the footer button.
|
|
529
|
+
// `flex-shrink: 0` keeps it full height as a flex child rather than
|
|
530
|
+
// collapsing to its content.
|
|
531
|
+
flex-shrink: 0;
|
|
532
|
+
margin-top: $grid-unit-20;
|
|
533
|
+
margin-bottom: $grid-unit-20;
|
|
534
|
+
@include break-medium() {
|
|
535
|
+
margin-left: $grid-unit-30;
|
|
536
|
+
margin-right: $grid-unit-30;
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
.block-editor-inserter__media-panel-results {
|
|
541
|
+
// Take over the scroll host role the media list had when it was a direct
|
|
542
|
+
// flex child of the panel: grow to fill and constrain height
|
|
543
|
+
// (`min-height: 0` lets the inner list's `overflow-y: auto` engage).
|
|
544
|
+
display: flex;
|
|
545
|
+
flex-direction: column;
|
|
546
|
+
flex-grow: 1;
|
|
547
|
+
min-height: 0;
|
|
548
|
+
|
|
549
|
+
// While an attach/detach refetch is in flight, dim the existing grid (and
|
|
550
|
+
// gently pulse it) rather than clearing it or blocking it with a spinner.
|
|
551
|
+
// Mirrors the DataViews "refreshing" treatment; the delayed `is-loading`
|
|
552
|
+
// class (see `useDelayedLoading`) means quick refetches show nothing.
|
|
553
|
+
&.is-loading .block-editor-inserter__media-list {
|
|
554
|
+
opacity: 0.5;
|
|
555
|
+
pointer-events: none;
|
|
556
|
+
|
|
557
|
+
@media not ( prefers-reduced-motion ) {
|
|
558
|
+
opacity: 1;
|
|
559
|
+
animation: inserter-media-panel-pulse 1s ease-in-out infinite;
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
// When the attach footer is present it supplies the breathing room beneath
|
|
565
|
+
// the grid, so drop the list's own bottom padding — otherwise scrolling to
|
|
566
|
+
// the end leaves a doubled gap before the footer.
|
|
567
|
+
&.has-attach-footer .block-editor-inserter__media-list {
|
|
568
|
+
padding-bottom: 0;
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
@keyframes inserter-media-panel-pulse {
|
|
573
|
+
0%,
|
|
574
|
+
100% {
|
|
575
|
+
opacity: 1;
|
|
576
|
+
}
|
|
577
|
+
50% {
|
|
578
|
+
opacity: 0.5;
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
.block-editor-inserter__media-panel-detach-modal {
|
|
583
|
+
// Render above the ellipsis dropdown (a `.components-popover`) it opens from,
|
|
584
|
+
// which otherwise stacks over the modal. Matches other dropdown-triggered
|
|
585
|
+
// modals (e.g. block rename).
|
|
586
|
+
z-index: z-index(".block-editor-inserter__media-panel-detach-modal");
|
|
587
|
+
|
|
588
|
+
p {
|
|
589
|
+
margin-top: 0;
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
.block-editor-inserter__media-panel-detach-actions {
|
|
594
|
+
display: flex;
|
|
595
|
+
justify-content: flex-end;
|
|
596
|
+
gap: $grid-unit-10;
|
|
597
|
+
margin-top: $grid-unit-20;
|
|
497
598
|
}
|
|
498
599
|
|
|
499
600
|
.block-editor-inserter__media-list__list-item {
|
|
@@ -513,7 +614,15 @@ $block-inserter-tabs-height: 44px;
|
|
|
513
614
|
.block-editor-inserter__media-list__item-preview > * {
|
|
514
615
|
outline-color: rgba($black, 0.3);
|
|
515
616
|
}
|
|
617
|
+
}
|
|
516
618
|
|
|
619
|
+
// Reveal the per-item options button on hover, and — so keyboard users can
|
|
620
|
+
// reach it — whenever focus is within the item (e.g. its preview is
|
|
621
|
+
// focused). The button is `display: none` by default, which can never
|
|
622
|
+
// receive focus, so without `:focus-within` the detach/report action is
|
|
623
|
+
// unreachable by keyboard.
|
|
624
|
+
&.is-hovered,
|
|
625
|
+
&:focus-within {
|
|
517
626
|
.block-editor-inserter__media-list__item-preview-options > button {
|
|
518
627
|
display: block;
|
|
519
628
|
}
|
|
@@ -44,10 +44,16 @@ function InserterListItem( {
|
|
|
44
44
|
createBlock(
|
|
45
45
|
item.name,
|
|
46
46
|
item.initialAttributes,
|
|
47
|
-
createBlocksFromInnerBlocksTemplate( item.innerBlocks )
|
|
47
|
+
createBlocksFromInnerBlocksTemplate( item.innerBlocks ),
|
|
48
|
+
item.innerContent
|
|
48
49
|
),
|
|
49
50
|
],
|
|
50
|
-
[
|
|
51
|
+
[
|
|
52
|
+
item.name,
|
|
53
|
+
item.initialAttributes,
|
|
54
|
+
item.innerBlocks,
|
|
55
|
+
item.innerContent,
|
|
56
|
+
]
|
|
51
57
|
);
|
|
52
58
|
|
|
53
59
|
const isSynced =
|
|
@@ -19,7 +19,6 @@ const MyLetterSpacingControl = () => (
|
|
|
19
19
|
value={ value }
|
|
20
20
|
onChange={ onChange }
|
|
21
21
|
__unstableInputWidth="auto"
|
|
22
|
-
__next40pxDefaultSize
|
|
23
22
|
/>
|
|
24
23
|
);
|
|
25
24
|
```
|
|
@@ -46,13 +45,6 @@ A callback function invoked when the value is changed.
|
|
|
46
45
|
|
|
47
46
|
Input width to pass through to inner UnitControl. Should be a valid CSS value.
|
|
48
47
|
|
|
49
|
-
#### `__next40pxDefaultSize`
|
|
50
|
-
|
|
51
|
-
- **Type:** `boolean`
|
|
52
|
-
- **Default:** `false`
|
|
53
|
-
|
|
54
|
-
Start opting into the larger default height that will become the default size in a future version.
|
|
55
|
-
|
|
56
48
|
## Related components
|
|
57
49
|
|
|
58
50
|
Block Editor components are components that can be used to compose the UI of your block editor. Thus, they can only be used under a [`BlockEditorProvider`](https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/provider/README.md) in the components tree.
|
|
@@ -5,7 +5,6 @@ import {
|
|
|
5
5
|
__experimentalUnitControl as UnitControl,
|
|
6
6
|
__experimentalUseCustomUnits as useCustomUnits,
|
|
7
7
|
} from '@wordpress/components';
|
|
8
|
-
import deprecated from '@wordpress/deprecated';
|
|
9
8
|
import { __ } from '@wordpress/i18n';
|
|
10
9
|
|
|
11
10
|
/**
|
|
@@ -16,16 +15,15 @@ import { useSettings } from '../../components/use-settings';
|
|
|
16
15
|
/**
|
|
17
16
|
* Control for letter-spacing.
|
|
18
17
|
*
|
|
19
|
-
* @param {Object} props
|
|
20
|
-
* @param {boolean} props.__next40pxDefaultSize Start opting into the larger default height that will become the default size in a future version.
|
|
21
|
-
* @param {string} props.value
|
|
22
|
-
* @param {Function} props.onChange
|
|
23
|
-
* @param {string|number|undefined} props.__unstableInputWidth
|
|
18
|
+
* @param {Object} props Component props.
|
|
19
|
+
* @param {boolean} [props.__next40pxDefaultSize] Start opting into the larger default height that will become the default size in a future version.
|
|
20
|
+
* @param {string} props.value Currently selected letter-spacing.
|
|
21
|
+
* @param {Function} props.onChange Handles change in letter-spacing selection.
|
|
22
|
+
* @param {string|number|undefined} props.__unstableInputWidth Input width to pass through to inner UnitControl. Should be a valid CSS value.
|
|
24
23
|
*
|
|
25
24
|
* @return {Element} Letter-spacing control.
|
|
26
25
|
*/
|
|
27
26
|
export default function LetterSpacingControl( {
|
|
28
|
-
__next40pxDefaultSize = false,
|
|
29
27
|
value,
|
|
30
28
|
onChange,
|
|
31
29
|
__unstableInputWidth = '60px',
|
|
@@ -37,24 +35,8 @@ export default function LetterSpacingControl( {
|
|
|
37
35
|
defaultValues: { px: 2, em: 0.2, rem: 0.2 },
|
|
38
36
|
} );
|
|
39
37
|
|
|
40
|
-
if (
|
|
41
|
-
! __next40pxDefaultSize &&
|
|
42
|
-
( otherProps.size === undefined || otherProps.size === 'default' )
|
|
43
|
-
) {
|
|
44
|
-
deprecated(
|
|
45
|
-
`36px default size for wp.blockEditor.__experimentalLetterSpacingControl`,
|
|
46
|
-
{
|
|
47
|
-
since: '6.8',
|
|
48
|
-
version: '7.1',
|
|
49
|
-
hint: 'Set the `__next40pxDefaultSize` prop to true to start opting into the new default size, which will become the default in a future version.',
|
|
50
|
-
}
|
|
51
|
-
);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
38
|
return (
|
|
55
39
|
<UnitControl
|
|
56
|
-
__next40pxDefaultSize={ __next40pxDefaultSize }
|
|
57
|
-
__shouldNotWarnDeprecated36pxSize
|
|
58
40
|
{ ...otherProps }
|
|
59
41
|
label={ __( 'Letter spacing' ) }
|
|
60
42
|
value={ value }
|
|
@@ -46,24 +46,12 @@ const meta = {
|
|
|
46
46
|
defaultValue: { summary: '60px' },
|
|
47
47
|
},
|
|
48
48
|
},
|
|
49
|
-
__next40pxDefaultSize: {
|
|
50
|
-
control: 'boolean',
|
|
51
|
-
description:
|
|
52
|
-
'Start opting into the larger default height that will become the default size in a future version.',
|
|
53
|
-
table: {
|
|
54
|
-
type: { summary: 'boolean' },
|
|
55
|
-
defaultValue: { summary: 'false' },
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
49
|
},
|
|
59
50
|
};
|
|
60
51
|
|
|
61
52
|
export default meta;
|
|
62
53
|
|
|
63
54
|
export const Default = {
|
|
64
|
-
args: {
|
|
65
|
-
__next40pxDefaultSize: true,
|
|
66
|
-
},
|
|
67
55
|
render: function Template( { onChange, ...args } ) {
|
|
68
56
|
const [ value, setValue ] = useState( '' );
|
|
69
57
|
return (
|
|
@@ -18,7 +18,6 @@ const MyLineHeightControl = () => (
|
|
|
18
18
|
<LineHeightControl
|
|
19
19
|
value={ lineHeight }
|
|
20
20
|
onChange={ onChange }
|
|
21
|
-
__next40pxDefaultSize
|
|
22
21
|
/>
|
|
23
22
|
);
|
|
24
23
|
```
|
|
@@ -37,13 +36,6 @@ The value of the line height.
|
|
|
37
36
|
|
|
38
37
|
A callback function that handles the application of the line height value.
|
|
39
38
|
|
|
40
|
-
#### `__next40pxDefaultSize`
|
|
41
|
-
|
|
42
|
-
- **Type:** `boolean`
|
|
43
|
-
- **Default:** `false`
|
|
44
|
-
|
|
45
|
-
Start opting into the larger default height that will become the default size in a future version.
|
|
46
|
-
|
|
47
39
|
## Related components
|
|
48
40
|
|
|
49
41
|
Block Editor components are components that can be used to compose the UI of your block editor. Thus, they can only be used under a [`BlockEditorProvider`](https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/provider/README.md) in the components tree.
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
5
|
import { __experimentalNumberControl as NumberControl } from '@wordpress/components';
|
|
6
|
-
import deprecated from '@wordpress/deprecated';
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* Internal dependencies
|
|
@@ -17,8 +16,12 @@ import {
|
|
|
17
16
|
} from './utils';
|
|
18
17
|
|
|
19
18
|
const LineHeightControl = ( {
|
|
20
|
-
/**
|
|
21
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Start opting into the larger default height that will become the default size in a future version.
|
|
21
|
+
*
|
|
22
|
+
* @deprecated Default behavior since WordPress 7.1. Prop can be safely removed.
|
|
23
|
+
*/
|
|
24
|
+
__next40pxDefaultSize: _next40pxDefaultSize,
|
|
22
25
|
value: lineHeight,
|
|
23
26
|
onChange,
|
|
24
27
|
__unstableInputWidth = '60px',
|
|
@@ -90,23 +93,11 @@ const LineHeightControl = ( {
|
|
|
90
93
|
onChange( `${ nextValue }` );
|
|
91
94
|
};
|
|
92
95
|
|
|
93
|
-
if (
|
|
94
|
-
! __next40pxDefaultSize &&
|
|
95
|
-
( otherProps.size === undefined || otherProps.size === 'default' )
|
|
96
|
-
) {
|
|
97
|
-
deprecated( `36px default size for wp.blockEditor.LineHeightControl`, {
|
|
98
|
-
since: '6.8',
|
|
99
|
-
version: '7.1',
|
|
100
|
-
hint: 'Set the `__next40pxDefaultSize` prop to true to start opting into the new default size, which will become the default in a future version.',
|
|
101
|
-
} );
|
|
102
|
-
}
|
|
103
|
-
|
|
104
96
|
return (
|
|
105
97
|
<div className="block-editor-line-height-control">
|
|
106
98
|
<NumberControl
|
|
107
99
|
{ ...otherProps }
|
|
108
|
-
|
|
109
|
-
__next40pxDefaultSize={ __next40pxDefaultSize }
|
|
100
|
+
__next40pxDefaultSize
|
|
110
101
|
__unstableInputWidth={ __unstableInputWidth }
|
|
111
102
|
__unstableStateReducer={ stateReducer }
|
|
112
103
|
onChange={ handleOnChange }
|
|
@@ -19,13 +19,7 @@ const SPIN = STEP * SPIN_FACTOR;
|
|
|
19
19
|
|
|
20
20
|
const ControlledLineHeightControl = () => {
|
|
21
21
|
const [ value, setValue ] = useState();
|
|
22
|
-
return
|
|
23
|
-
<LineHeightControl
|
|
24
|
-
value={ value }
|
|
25
|
-
onChange={ setValue }
|
|
26
|
-
__next40pxDefaultSize
|
|
27
|
-
/>
|
|
28
|
-
);
|
|
22
|
+
return <LineHeightControl value={ value } onChange={ setValue } />;
|
|
29
23
|
};
|
|
30
24
|
|
|
31
25
|
describe( 'LineHeightControl', () => {
|
|
@@ -141,7 +141,9 @@ describe( 'LinkPicker', () => {
|
|
|
141
141
|
);
|
|
142
142
|
|
|
143
143
|
const button = screen.getByRole( 'button' );
|
|
144
|
-
const image = within( button ).getByRole( '
|
|
144
|
+
const image = within( button ).getByRole( 'presentation', {
|
|
145
|
+
hidden: true,
|
|
146
|
+
} );
|
|
145
147
|
|
|
146
148
|
expect( image ).toHaveAttribute(
|
|
147
149
|
'src',
|
|
@@ -46,6 +46,7 @@ function ListViewBlockSelectButton(
|
|
|
46
46
|
isExpanded,
|
|
47
47
|
ariaDescribedBy,
|
|
48
48
|
visibilityLabel,
|
|
49
|
+
isDisabled = false,
|
|
49
50
|
},
|
|
50
51
|
ref
|
|
51
52
|
) {
|
|
@@ -79,6 +80,8 @@ function ListViewBlockSelectButton(
|
|
|
79
80
|
}
|
|
80
81
|
|
|
81
82
|
return (
|
|
83
|
+
// Disabled list view items intentionally omit href so TreeGrid skips them.
|
|
84
|
+
// eslint-disable-next-line jsx-a11y/anchor-is-valid
|
|
82
85
|
<a
|
|
83
86
|
className={ clsx(
|
|
84
87
|
'block-editor-list-view-block-select-button',
|
|
@@ -94,7 +97,8 @@ function ListViewBlockSelectButton(
|
|
|
94
97
|
onDragStart={ onDragStartHandler }
|
|
95
98
|
onDragEnd={ onDragEnd }
|
|
96
99
|
draggable={ draggable }
|
|
97
|
-
href={ `#block-${ clientId }` }
|
|
100
|
+
href={ isDisabled ? undefined : `#block-${ clientId }` }
|
|
101
|
+
aria-disabled={ isDisabled ? true : undefined }
|
|
98
102
|
aria-describedby={ ariaDescribedBy }
|
|
99
103
|
aria-expanded={ isExpanded }
|
|
100
104
|
>
|
|
@@ -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
|
);
|