@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
|
@@ -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';
|
|
@@ -40,7 +40,6 @@ export default function WritingModeControl( { className, value, onChange } ) {
|
|
|
40
40
|
return (
|
|
41
41
|
<ToggleGroupControl
|
|
42
42
|
isDeselectable
|
|
43
|
-
__next40pxDefaultSize
|
|
44
43
|
label={ __( 'Orientation' ) }
|
|
45
44
|
className={ clsx( 'block-editor-writing-mode-control', className ) }
|
|
46
45
|
value={ value }
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
@use "@wordpress/base-styles/colors" as *;
|
|
3
3
|
|
|
4
4
|
.block-editor-hooks__block-hooks {
|
|
5
|
+
|
|
5
6
|
/**
|
|
6
7
|
* Un-reverse the flex direction for the toggle's label.
|
|
7
8
|
*/
|
|
@@ -15,3 +16,17 @@
|
|
|
15
16
|
margin-bottom: $grid-unit-20;
|
|
16
17
|
}
|
|
17
18
|
}
|
|
19
|
+
|
|
20
|
+
.block-editor-hooks__position-control-item {
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Try to make items match the width of the anchor, subtract any margin on
|
|
24
|
+
* items to calculate the correct inner width.
|
|
25
|
+
*/
|
|
26
|
+
max-inline-size: max(calc(var(--anchor-width) - (2 * var(--wp-ui-popup-padding))), 223px);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.block-editor-hooks__position-control-item-hint {
|
|
30
|
+
color: var(--wpds-color-foreground-content-neutral-weak);
|
|
31
|
+
margin-block-start: $grid-unit-05;
|
|
32
|
+
}
|
package/src/hooks/font-size.js
CHANGED
package/src/hooks/layout.js
CHANGED
|
@@ -85,7 +85,7 @@ export function getResetLayout( layoutBlockSupport = {}, blockVariation ) {
|
|
|
85
85
|
} );
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
function getLayoutStateOverrides(
|
|
88
|
+
export function getLayoutStateOverrides(
|
|
89
89
|
layout = {},
|
|
90
90
|
baseLayout = {},
|
|
91
91
|
existingLayout = {}
|
|
@@ -98,11 +98,13 @@ function getLayoutStateOverrides(
|
|
|
98
98
|
);
|
|
99
99
|
|
|
100
100
|
Object.entries( layout || {} ).forEach( ( [ key, value ] ) => {
|
|
101
|
+
const baseHasValue = Object.hasOwn( baseLayout || {}, key );
|
|
101
102
|
if (
|
|
102
103
|
! CHILD_LAYOUT_KEYS.includes( key ) &&
|
|
103
104
|
value !== baseLayout?.[ key ]
|
|
104
105
|
) {
|
|
105
|
-
overrides[ key ] =
|
|
106
|
+
overrides[ key ] =
|
|
107
|
+
value === undefined && baseHasValue ? null : value;
|
|
106
108
|
}
|
|
107
109
|
} );
|
|
108
110
|
|
|
@@ -466,7 +468,7 @@ function LayoutPanelPure( {
|
|
|
466
468
|
const nextStateStyle = cleanEmptyObject( {
|
|
467
469
|
...stateStyle,
|
|
468
470
|
layout: getLayoutStateOverrides(
|
|
469
|
-
|
|
471
|
+
newLayout,
|
|
470
472
|
baseLayout,
|
|
471
473
|
stateStyle?.layout
|
|
472
474
|
),
|
|
@@ -593,7 +595,6 @@ export default {
|
|
|
593
595
|
function LayoutTypeSwitcher( { type, onChange } ) {
|
|
594
596
|
return (
|
|
595
597
|
<ToggleGroupControl
|
|
596
|
-
__next40pxDefaultSize
|
|
597
598
|
isBlock
|
|
598
599
|
label={ __( 'Layout type' ) }
|
|
599
600
|
hideLabelFromVision
|
package/src/hooks/position.js
CHANGED
|
@@ -8,10 +8,11 @@ import clsx from 'clsx';
|
|
|
8
8
|
*/
|
|
9
9
|
import { __, _x, sprintf } from '@wordpress/i18n';
|
|
10
10
|
import { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';
|
|
11
|
-
import { BaseControl, CustomSelectControl } from '@wordpress/components';
|
|
12
11
|
import { useInstanceId } from '@wordpress/compose';
|
|
13
12
|
import { useSelect } from '@wordpress/data';
|
|
14
|
-
import { useMemo } from '@wordpress/element';
|
|
13
|
+
import { useId, useMemo } from '@wordpress/element';
|
|
14
|
+
// eslint-disable-next-line @wordpress/use-recommended-components -- Use the portal-based popup to avoid inspector clipping.
|
|
15
|
+
import { SelectControl } from '@wordpress/ui';
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* Internal dependencies
|
|
@@ -27,13 +28,13 @@ const POSITION_SUPPORT_KEY = 'position';
|
|
|
27
28
|
const DEFAULT_OPTION = {
|
|
28
29
|
key: 'default',
|
|
29
30
|
value: '',
|
|
30
|
-
|
|
31
|
+
label: __( 'Default' ),
|
|
31
32
|
};
|
|
32
33
|
|
|
33
34
|
const STICKY_OPTION = {
|
|
34
35
|
key: 'sticky',
|
|
35
36
|
value: 'sticky',
|
|
36
|
-
|
|
37
|
+
label: _x( 'Sticky', 'Name for the value of the CSS position property' ),
|
|
37
38
|
hint: __(
|
|
38
39
|
'The block will stick to the top of the window instead of scrolling.'
|
|
39
40
|
),
|
|
@@ -42,7 +43,7 @@ const STICKY_OPTION = {
|
|
|
42
43
|
const FIXED_OPTION = {
|
|
43
44
|
key: 'fixed',
|
|
44
45
|
value: 'fixed',
|
|
45
|
-
|
|
46
|
+
label: _x( 'Fixed', 'Name for the value of the CSS position property' ),
|
|
46
47
|
hint: __( 'The block will not move when the page is scrolled.' ),
|
|
47
48
|
};
|
|
48
49
|
|
|
@@ -262,28 +263,48 @@ export function PositionPanelPure( {
|
|
|
262
263
|
const selectedOption = value
|
|
263
264
|
? options.find( ( option ) => option.value === value ) || DEFAULT_OPTION
|
|
264
265
|
: DEFAULT_OPTION;
|
|
266
|
+
const hintIdPrefix = useId();
|
|
265
267
|
|
|
266
268
|
// Only display position controls if there is at least one option to choose from.
|
|
267
269
|
return options.length > 1 ? (
|
|
268
270
|
<InspectorControls group="position">
|
|
269
|
-
<
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
271
|
+
<SelectControl
|
|
272
|
+
label={ __( 'Position' ) }
|
|
273
|
+
hideLabelFromVision
|
|
274
|
+
description={ stickyHelpText }
|
|
275
|
+
items={ options }
|
|
276
|
+
value={ selectedOption }
|
|
277
|
+
onValueChange={ ( selectedItem ) => {
|
|
278
|
+
onChangeType( selectedItem.value );
|
|
279
|
+
} }
|
|
280
|
+
>
|
|
281
|
+
{ options.map( ( option ) => {
|
|
282
|
+
const hintId = option.hint
|
|
283
|
+
? `${ hintIdPrefix }-${ option.key }`
|
|
284
|
+
: undefined;
|
|
285
|
+
|
|
286
|
+
return (
|
|
287
|
+
<SelectControl.Item
|
|
288
|
+
key={ option.key }
|
|
289
|
+
value={ option }
|
|
290
|
+
label={ option.label }
|
|
291
|
+
className="block-editor-hooks__position-control-item"
|
|
292
|
+
aria-describedby={ hintId }
|
|
293
|
+
>
|
|
294
|
+
<div>{ option.label }</div>
|
|
295
|
+
{ option.hint && (
|
|
296
|
+
<div
|
|
297
|
+
id={ hintId }
|
|
298
|
+
className="block-editor-hooks__position-control-item-hint"
|
|
299
|
+
aria-hidden="true"
|
|
300
|
+
>
|
|
301
|
+
{ option.hint }
|
|
302
|
+
</div>
|
|
303
|
+
) }
|
|
304
|
+
</SelectControl.Item>
|
|
305
|
+
);
|
|
306
|
+
} ) }
|
|
307
|
+
</SelectControl>
|
|
287
308
|
</InspectorControls>
|
|
288
309
|
) : null;
|
|
289
310
|
}
|
package/src/hooks/states.js
CHANGED
|
@@ -22,18 +22,12 @@ export const RESPONSIVE_STATE_LABELS = {
|
|
|
22
22
|
'@mobile': __( 'Mobile' ),
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
( [ value, label ] ) => ( {
|
|
32
|
-
value,
|
|
33
|
-
label,
|
|
34
|
-
} )
|
|
35
|
-
),
|
|
36
|
-
];
|
|
25
|
+
const DEVICE_STATE_OPTIONS = Object.entries( RESPONSIVE_STATE_LABELS ).map(
|
|
26
|
+
( [ value, label ] ) => ( {
|
|
27
|
+
value,
|
|
28
|
+
label,
|
|
29
|
+
} )
|
|
30
|
+
);
|
|
37
31
|
|
|
38
32
|
// Keep in sync with WP_Theme_JSON_Gutenberg::VALID_BLOCK_PSEUDO_SELECTORS
|
|
39
33
|
// and packages/global-styles-engine/src/core/render.tsx.
|
package/src/hooks/test/layout.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Internal dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
getLayoutStateOverrides,
|
|
6
|
+
getResetLayout,
|
|
7
|
+
getResponsiveLayoutStyles,
|
|
8
|
+
} from '../layout';
|
|
5
9
|
|
|
6
10
|
describe( 'layout', () => {
|
|
7
11
|
describe( 'getResetLayout()', () => {
|
|
@@ -46,6 +50,28 @@ describe( 'layout', () => {
|
|
|
46
50
|
} );
|
|
47
51
|
} );
|
|
48
52
|
|
|
53
|
+
describe( 'getLayoutStateOverrides()', () => {
|
|
54
|
+
it( 'preserves explicit unsets for layout values inherited from the default state', () => {
|
|
55
|
+
expect(
|
|
56
|
+
getLayoutStateOverrides(
|
|
57
|
+
{ type: 'grid', columnCount: undefined },
|
|
58
|
+
{ type: 'grid', columnCount: 3 }
|
|
59
|
+
)
|
|
60
|
+
).toEqual( {
|
|
61
|
+
columnCount: null,
|
|
62
|
+
} );
|
|
63
|
+
} );
|
|
64
|
+
|
|
65
|
+
it( 'removes undefined layout values that are not inherited from the default state', () => {
|
|
66
|
+
expect(
|
|
67
|
+
getLayoutStateOverrides(
|
|
68
|
+
{ type: 'grid', columnCount: undefined },
|
|
69
|
+
{ type: 'grid' }
|
|
70
|
+
)
|
|
71
|
+
).toBeUndefined();
|
|
72
|
+
} );
|
|
73
|
+
} );
|
|
74
|
+
|
|
49
75
|
describe( 'getResponsiveLayoutStyles()', () => {
|
|
50
76
|
it( 'generates responsive block gap styles for flow layouts', () => {
|
|
51
77
|
expect(
|
|
@@ -135,6 +161,54 @@ describe( 'layout', () => {
|
|
|
135
161
|
);
|
|
136
162
|
} );
|
|
137
163
|
|
|
164
|
+
it( 'generates responsive auto grid columns when column count is unset', () => {
|
|
165
|
+
expect(
|
|
166
|
+
getResponsiveLayoutStyles( {
|
|
167
|
+
attributes: {
|
|
168
|
+
style: {
|
|
169
|
+
'@mobile': {
|
|
170
|
+
layout: {
|
|
171
|
+
columnCount: null,
|
|
172
|
+
},
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
blockName: 'core/group',
|
|
177
|
+
selector: '.wp-container-test',
|
|
178
|
+
layout: { type: 'grid', columnCount: 3 },
|
|
179
|
+
hasBlockGapSupport: true,
|
|
180
|
+
} )
|
|
181
|
+
).toBe(
|
|
182
|
+
'@media (width <= 480px){.wp-container-test { grid-template-columns: repeat(auto-fill, minmax(min(12rem, 100%), 1fr)); container-type: inline-size; }}'
|
|
183
|
+
);
|
|
184
|
+
} );
|
|
185
|
+
|
|
186
|
+
it( 'generates responsive constrained size resets when content width is unset', () => {
|
|
187
|
+
const result = getResponsiveLayoutStyles( {
|
|
188
|
+
attributes: {
|
|
189
|
+
style: {
|
|
190
|
+
'@mobile': {
|
|
191
|
+
layout: {
|
|
192
|
+
contentSize: null,
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
},
|
|
196
|
+
},
|
|
197
|
+
blockName: 'core/group',
|
|
198
|
+
selector: '.wp-container-test',
|
|
199
|
+
layout: { type: 'constrained', contentSize: '800px' },
|
|
200
|
+
hasBlockGapSupport: true,
|
|
201
|
+
} );
|
|
202
|
+
|
|
203
|
+
expect( result ).toContain( '@media (width <= 480px)' );
|
|
204
|
+
expect( result ).toContain(
|
|
205
|
+
'max-width: var(--wp--style--global--content-size, none);'
|
|
206
|
+
);
|
|
207
|
+
expect( result ).toContain(
|
|
208
|
+
'max-width: var(--wp--style--global--wide-size, none);'
|
|
209
|
+
);
|
|
210
|
+
} );
|
|
211
|
+
|
|
138
212
|
it( 'keeps responsive grid column overrides when block gap is also changed', () => {
|
|
139
213
|
expect(
|
|
140
214
|
getResponsiveLayoutStyles( {
|