@wordpress/block-editor 15.22.1 → 16.0.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 +35 -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-canvas/index.cjs +6 -1
- package/build/components/block-canvas/index.cjs.map +2 -2
- package/build/components/block-controls/groups.cjs +3 -1
- package/build/components/block-controls/groups.cjs.map +2 -2
- package/build/components/block-edit/edit.cjs +10 -18
- package/build/components/block-edit/edit.cjs.map +2 -2
- package/build/components/block-inspector/edit-contents.cjs +3 -0
- package/build/components/block-inspector/edit-contents.cjs.map +3 -3
- package/build/components/block-inspector/index.cjs +18 -36
- package/build/components/block-inspector/index.cjs.map +2 -2
- package/build/components/block-list/block-invalid-warning.cjs +8 -19
- package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
- package/build/components/block-list/block.cjs +9 -3
- package/build/components/block-list/block.cjs.map +3 -3
- package/build/components/block-list/index.cjs +1 -3
- package/build/components/block-list/index.cjs.map +2 -2
- package/build/components/block-list/use-block-props/index.cjs +3 -1
- package/build/components/block-list/use-block-props/index.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-first-element.cjs +9 -4
- package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-handler.cjs +12 -4
- package/build/components/block-list/use-block-props/use-focus-handler.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-toolbar/index.cjs +43 -24
- package/build/components/block-toolbar/index.cjs.map +2 -2
- package/build/components/block-tools/index.cjs +7 -2
- package/build/components/block-tools/index.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/block-visibility/modal.cjs +20 -6
- package/build/components/block-visibility/modal.cjs.map +2 -2
- package/build/components/block-visibility/use-block-visibility.cjs +16 -6
- package/build/components/block-visibility/use-block-visibility.cjs.map +3 -3
- package/build/components/block-visibility/utils.cjs +15 -2
- package/build/components/block-visibility/utils.cjs.map +3 -3
- package/build/components/block-visibility/viewport-menu-item.cjs +7 -1
- package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
- package/build/components/block-visibility/viewport-toolbar.cjs +5 -0
- package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
- package/build/components/block-visibility/viewport-visibility-info.cjs +5 -1
- package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
- package/build/components/child-layout-control/index.cjs +0 -6
- 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/state-control-badges.cjs +39 -3
- package/build/components/global-styles/state-control-badges.cjs.map +2 -2
- package/build/components/global-styles/typography-panel.cjs +4 -11
- 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 +3 -7
- 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 +67 -12
- 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 +287 -28
- 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/keyboard-shortcuts/index.cjs +19 -11
- package/build/components/keyboard-shortcuts/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 +6 -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 +61 -21
- 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/media-placeholder/index.cjs +0 -1
- package/build/components/media-placeholder/index.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/rich-text/event-listeners/before-input-rules.cjs +3 -4
- package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/delete.cjs +2 -3
- package/build/components/rich-text/event-listeners/delete.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/enter.cjs +3 -2
- package/build/components/rich-text/event-listeners/enter.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/input-events.cjs +3 -3
- package/build/components/rich-text/event-listeners/input-events.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/input-rules.cjs +3 -4
- package/build/components/rich-text/event-listeners/input-rules.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/insert-replacement-text.cjs +3 -3
- package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/paste-handler.cjs +2 -1
- package/build/components/rich-text/event-listeners/paste-handler.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs +3 -3
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/shortcuts.cjs +3 -3
- package/build/components/rich-text/event-listeners/shortcuts.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/undo-automatic-change.cjs +3 -3
- package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +3 -3
- package/build/components/rich-text/index.cjs +66 -17
- package/build/components/rich-text/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/typewriter/index.cjs +129 -136
- package/build/components/typewriter/index.cjs.map +3 -3
- package/build/components/use-block-commands/index.cjs +21 -17
- package/build/components/use-block-commands/index.cjs.map +2 -2
- package/build/components/use-block-display-information/index.cjs +10 -8
- package/build/components/use-block-display-information/index.cjs.map +2 -2
- package/build/components/use-on-block-drop/index.cjs +3 -7
- package/build/components/use-on-block-drop/index.cjs.map +2 -2
- package/build/components/use-resize-canvas/index.cjs +16 -53
- package/build/components/use-resize-canvas/index.cjs.map +3 -3
- package/build/components/writing-flow/index.cjs +12 -1
- package/build/components/writing-flow/index.cjs.map +3 -3
- package/build/components/writing-flow/use-arrow-nav.cjs +18 -5
- package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
- package/build/components/writing-flow/use-click-selection.cjs +2 -2
- package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-clipboard-handler.cjs +4 -1
- package/build/components/writing-flow/use-clipboard-handler.cjs.map +2 -2
- package/build/components/writing-flow/use-drag-selection.cjs +3 -8
- package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-editable-root.cjs +112 -0
- package/build/components/writing-flow/use-editable-root.cjs.map +7 -0
- package/build/components/writing-flow/use-home-end.cjs +64 -0
- package/build/components/writing-flow/use-home-end.cjs.map +7 -0
- package/build/components/writing-flow/use-input.cjs +15 -5
- package/build/components/writing-flow/use-input.cjs.map +2 -2
- package/build/components/writing-flow/use-multi-selection.cjs +2 -2
- package/build/components/writing-flow/use-multi-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-select-all.cjs +14 -2
- package/build/components/writing-flow/use-select-all.cjs.map +2 -2
- package/build/components/writing-flow/use-selection-observer.cjs +126 -20
- package/build/components/writing-flow/use-selection-observer.cjs.map +3 -3
- package/build/components/writing-flow/utils.cjs +39 -2
- package/build/components/writing-flow/utils.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/background.cjs +3 -2
- package/build/hooks/background.cjs.map +2 -2
- package/build/hooks/block-fields/rich-text/index.cjs +2 -3
- package/build/hooks/block-fields/rich-text/index.cjs.map +3 -3
- package/build/hooks/elements.cjs +1 -1
- package/build/hooks/elements.cjs.map +2 -2
- package/build/hooks/font-size.cjs +1 -2
- package/build/hooks/font-size.cjs.map +2 -2
- package/build/hooks/grid-visualizer.cjs +5 -3
- package/build/hooks/grid-visualizer.cjs.map +2 -2
- package/build/hooks/layout-child.cjs +22 -12
- package/build/hooks/layout-child.cjs.map +3 -3
- package/build/hooks/layout.cjs +33 -16
- package/build/hooks/layout.cjs.map +3 -3
- package/build/hooks/position.cjs +36 -16
- package/build/hooks/position.cjs.map +2 -2
- package/build/hooks/states.cjs +32 -23
- package/build/hooks/states.cjs.map +3 -3
- package/build/hooks/style.cjs +31 -9
- package/build/hooks/style.cjs.map +3 -3
- package/build/hooks/text-align.cjs +36 -6
- package/build/hooks/text-align.cjs.map +3 -3
- package/build/hooks/typography.cjs +1 -1
- package/build/hooks/typography.cjs.map +2 -2
- package/build/layouts/constrained.cjs +35 -27
- package/build/layouts/constrained.cjs.map +2 -2
- package/build/layouts/flex.cjs +27 -22
- package/build/layouts/flex.cjs.map +2 -2
- package/build/layouts/grid.cjs +51 -11
- package/build/layouts/grid.cjs.map +2 -2
- package/build/private-apis.cjs +4 -2
- package/build/private-apis.cjs.map +3 -3
- package/build/store/actions.cjs +2 -2
- package/build/store/actions.cjs.map +2 -2
- package/build/store/private-actions.cjs +16 -0
- package/build/store/private-actions.cjs.map +2 -2
- package/build/store/private-keys.cjs +3 -3
- package/build/store/private-keys.cjs.map +2 -2
- package/build/store/private-selectors.cjs +109 -12
- package/build/store/private-selectors.cjs.map +3 -3
- package/build/store/reducer.cjs +19 -3
- package/build/store/reducer.cjs.map +2 -2
- package/build/store/selectors.cjs +13 -0
- package/build/store/selectors.cjs.map +2 -2
- package/build/utils/block-bindings.cjs +29 -0
- package/build/utils/block-bindings.cjs.map +2 -2
- package/build/utils/dom.cjs +14 -0
- package/build/utils/dom.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-canvas/index.mjs +7 -2
- package/build-module/components/block-canvas/index.mjs.map +2 -2
- package/build-module/components/block-controls/groups.mjs +3 -1
- package/build-module/components/block-controls/groups.mjs.map +2 -2
- package/build-module/components/block-edit/edit.mjs +11 -18
- package/build-module/components/block-edit/edit.mjs.map +2 -2
- package/build-module/components/block-inspector/edit-contents.mjs +4 -1
- package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
- package/build-module/components/block-inspector/index.mjs +18 -36
- package/build-module/components/block-inspector/index.mjs.map +2 -2
- package/build-module/components/block-list/block-invalid-warning.mjs +8 -19
- package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
- package/build-module/components/block-list/block.mjs +9 -3
- package/build-module/components/block-list/block.mjs.map +3 -3
- package/build-module/components/block-list/index.mjs +1 -3
- package/build-module/components/block-list/index.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/index.mjs +3 -1
- package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +9 -4
- package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-focus-handler.mjs +12 -4
- package/build-module/components/block-list/use-block-props/use-focus-handler.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-toolbar/index.mjs +43 -24
- package/build-module/components/block-toolbar/index.mjs.map +2 -2
- package/build-module/components/block-tools/index.mjs +7 -2
- package/build-module/components/block-tools/index.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/block-visibility/modal.mjs +22 -10
- package/build-module/components/block-visibility/modal.mjs.map +2 -2
- package/build-module/components/block-visibility/use-block-visibility.mjs +17 -7
- package/build-module/components/block-visibility/use-block-visibility.mjs.map +2 -2
- package/build-module/components/block-visibility/utils.mjs +18 -3
- package/build-module/components/block-visibility/utils.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-menu-item.mjs +7 -1
- package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-toolbar.mjs +5 -0
- package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-visibility-info.mjs +5 -1
- package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
- package/build-module/components/child-layout-control/index.mjs +0 -6
- 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/state-control-badges.mjs +41 -5
- package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
- package/build-module/components/global-styles/typography-panel.mjs +4 -11
- 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 +3 -7
- 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 +66 -12
- 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 +297 -32
- 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/keyboard-shortcuts/index.mjs +19 -11
- package/build-module/components/keyboard-shortcuts/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 +6 -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 +61 -21
- 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/media-placeholder/index.mjs +0 -1
- package/build-module/components/media-placeholder/index.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/rich-text/event-listeners/before-input-rules.mjs +8 -5
- package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/delete.mjs +7 -4
- package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/enter.mjs +8 -3
- package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/input-events.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/input-rules.mjs +8 -5
- package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs +8 -2
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/shortcuts.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
- package/build-module/components/rich-text/index.mjs +64 -13
- package/build-module/components/rich-text/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/typewriter/index.mjs +129 -136
- package/build-module/components/typewriter/index.mjs.map +2 -2
- package/build-module/components/use-block-commands/index.mjs +21 -17
- package/build-module/components/use-block-commands/index.mjs.map +2 -2
- package/build-module/components/use-block-display-information/index.mjs +10 -8
- package/build-module/components/use-block-display-information/index.mjs.map +2 -2
- package/build-module/components/use-on-block-drop/index.mjs +4 -7
- package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
- package/build-module/components/use-resize-canvas/index.mjs +6 -53
- package/build-module/components/use-resize-canvas/index.mjs.map +2 -2
- package/build-module/components/writing-flow/index.mjs +12 -1
- package/build-module/components/writing-flow/index.mjs.map +2 -2
- package/build-module/components/writing-flow/use-arrow-nav.mjs +19 -6
- package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
- package/build-module/components/writing-flow/use-click-selection.mjs +2 -2
- package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-clipboard-handler.mjs +5 -2
- package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
- package/build-module/components/writing-flow/use-drag-selection.mjs +1 -6
- package/build-module/components/writing-flow/use-drag-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-editable-root.mjs +86 -0
- package/build-module/components/writing-flow/use-editable-root.mjs.map +7 -0
- package/build-module/components/writing-flow/use-home-end.mjs +43 -0
- package/build-module/components/writing-flow/use-home-end.mjs.map +7 -0
- package/build-module/components/writing-flow/use-input.mjs +15 -5
- package/build-module/components/writing-flow/use-input.mjs.map +2 -2
- package/build-module/components/writing-flow/use-multi-selection.mjs +2 -2
- package/build-module/components/writing-flow/use-multi-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-select-all.mjs +19 -3
- package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
- package/build-module/components/writing-flow/use-selection-observer.mjs +128 -19
- package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
- package/build-module/components/writing-flow/utils.mjs +35 -1
- package/build-module/components/writing-flow/utils.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/background.mjs +3 -2
- package/build-module/hooks/background.mjs.map +2 -2
- package/build-module/hooks/block-fields/rich-text/index.mjs +2 -6
- package/build-module/hooks/block-fields/rich-text/index.mjs.map +2 -2
- package/build-module/hooks/elements.mjs +1 -1
- package/build-module/hooks/elements.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/grid-visualizer.mjs +5 -3
- package/build-module/hooks/grid-visualizer.mjs.map +2 -2
- package/build-module/hooks/layout-child.mjs +22 -12
- package/build-module/hooks/layout-child.mjs.map +2 -2
- package/build-module/hooks/layout.mjs +32 -16
- 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 +32 -23
- package/build-module/hooks/states.mjs.map +2 -2
- package/build-module/hooks/style.mjs +40 -11
- package/build-module/hooks/style.mjs.map +2 -2
- package/build-module/hooks/text-align.mjs +39 -10
- package/build-module/hooks/text-align.mjs.map +2 -2
- package/build-module/hooks/typography.mjs +1 -1
- package/build-module/hooks/typography.mjs.map +2 -2
- package/build-module/layouts/constrained.mjs +35 -27
- package/build-module/layouts/constrained.mjs.map +2 -2
- package/build-module/layouts/flex.mjs +27 -22
- package/build-module/layouts/flex.mjs.map +2 -2
- package/build-module/layouts/grid.mjs +52 -11
- package/build-module/layouts/grid.mjs.map +2 -2
- package/build-module/private-apis.mjs +5 -3
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/actions.mjs +3 -3
- package/build-module/store/actions.mjs.map +2 -2
- package/build-module/store/private-actions.mjs +14 -0
- package/build-module/store/private-actions.mjs.map +2 -2
- package/build-module/store/private-keys.mjs +2 -2
- package/build-module/store/private-keys.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +106 -12
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/reducer.mjs +17 -3
- package/build-module/store/reducer.mjs.map +2 -2
- package/build-module/store/selectors.mjs +13 -0
- package/build-module/store/selectors.mjs.map +2 -2
- package/build-module/utils/block-bindings.mjs +28 -0
- package/build-module/utils/block-bindings.mjs.map +2 -2
- package/build-module/utils/dom.mjs +13 -0
- package/build-module/utils/dom.mjs.map +2 -2
- package/build-style/content-rtl.css +15 -14
- package/build-style/content.css +15 -14
- package/build-style/default-editor-styles-rtl.css +1 -1
- package/build-style/default-editor-styles.css +1 -1
- package/build-style/style-rtl.css +144 -47
- package/build-style/style.css +144 -47
- package/build-types/components/block-context/index.d.ts +7 -0
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/build-types/utils/block-bindings.d.ts +19 -0
- package/build-types/utils/block-bindings.d.ts.map +1 -1
- package/build-types/utils/dom.d.ts +11 -0
- package/build-types/utils/dom.d.ts.map +1 -1
- package/build-types/utils/get-px-from-css-unit.d.ts +2 -2
- package/build-types/utils/get-px-from-css-unit.d.ts.map +1 -1
- package/build-types/utils/pasting.d.ts +1 -1
- package/build-types/utils/pasting.d.ts.map +1 -1
- package/package.json +46 -44
- 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-canvas/index.js +9 -2
- package/src/components/block-card/style.scss +1 -1
- package/src/components/block-controls/groups.js +2 -0
- package/src/components/block-edit/edit.js +13 -31
- package/src/components/block-inspector/edit-contents.js +5 -1
- package/src/components/block-inspector/index.js +25 -44
- package/src/components/block-list/block-invalid-warning.js +8 -19
- package/src/components/block-list/block.js +6 -0
- package/src/components/block-list/index.js +0 -2
- package/src/components/block-list/use-block-props/index.js +2 -0
- package/src/components/block-list/use-block-props/use-focus-first-element.js +23 -4
- package/src/components/block-list/use-block-props/use-focus-handler.js +34 -9
- package/src/components/block-lock/style.scss +1 -1
- package/src/components/block-manager/style.scss +1 -1
- package/src/components/block-navigation/style.scss +1 -1
- package/src/components/block-patterns-list/stories/index.story.jsx +1 -1
- package/src/components/block-quick-navigation/style.scss +1 -3
- package/src/components/block-styles/style.scss +2 -2
- 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/index.js +41 -18
- package/src/components/block-toolbar/test/block-toolbar-icon.js +32 -9
- package/src/components/block-tools/index.js +7 -0
- package/src/components/block-types-list/style.scss +0 -1
- package/src/components/block-variation-transforms/index.js +0 -1
- package/src/components/block-visibility/modal.js +24 -10
- package/src/components/block-visibility/style.scss +1 -1
- package/src/components/block-visibility/test/use-block-visibility.js +128 -35
- package/src/components/block-visibility/test/utils.js +11 -0
- package/src/components/block-visibility/use-block-visibility.js +33 -11
- package/src/components/block-visibility/utils.js +31 -6
- package/src/components/block-visibility/viewport-menu-item.js +10 -1
- package/src/components/block-visibility/viewport-toolbar.js +6 -0
- package/src/components/block-visibility/viewport-visibility-info.js +5 -1
- package/src/components/button-block-appender/content.scss +1 -7
- package/src/components/child-layout-control/index.js +0 -6
- package/src/components/color-palette/test/__snapshots__/control.js.snap +13 -108
- 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 +1 -2
- 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/state-control-badges.js +45 -6
- package/src/components/global-styles/style.scss +5 -0
- package/src/components/global-styles/test/state-control-badges.js +65 -0
- package/src/components/global-styles/typography-panel.js +0 -7
- 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 -4
- 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 +114 -16
- package/src/components/inserter/media-tab/media-list.js +2 -0
- package/src/components/inserter/media-tab/media-panel.js +354 -19
- 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 +267 -0
- package/src/components/inserter/media-tab/test/media-panel.js +127 -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 +115 -3
- package/src/components/inserter-list-item/index.js +8 -2
- package/src/components/inserter-list-item/style.scss +0 -15
- package/src/components/keyboard-shortcuts/index.js +28 -11
- 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 +6 -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-control/style.scss +2 -2
- package/src/components/link-control/test/index.js +6 -6
- package/src/components/link-picker/style.scss +1 -2
- 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 +69 -23
- package/src/components/list-view/expander.js +5 -1
- package/src/components/list-view/style.scss +23 -5
- package/src/components/list-view/use-list-view-client-ids.js +2 -2
- package/src/components/media-placeholder/index.js +0 -1
- package/src/components/multi-selection-inspector/style.scss +1 -1
- 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/style.scss +1 -1
- package/src/components/responsive-block-control/test/index.js +1 -5
- package/src/components/rich-text/event-listeners/before-input-rules.js +8 -5
- package/src/components/rich-text/event-listeners/delete.js +7 -4
- package/src/components/rich-text/event-listeners/enter.js +10 -4
- package/src/components/rich-text/event-listeners/input-events.js +4 -3
- package/src/components/rich-text/event-listeners/input-rules.js +8 -5
- package/src/components/rich-text/event-listeners/insert-replacement-text.js +4 -3
- package/src/components/rich-text/event-listeners/paste-handler.js +15 -3
- package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +4 -3
- package/src/components/rich-text/event-listeners/shortcuts.js +4 -3
- package/src/components/rich-text/event-listeners/undo-automatic-change.js +4 -3
- package/src/components/rich-text/index.js +94 -25
- package/src/components/skip-to-selected-block/style.scss +1 -1
- 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/typewriter/index.js +228 -224
- package/src/components/use-block-commands/index.js +27 -17
- package/src/components/use-block-display-information/index.js +9 -13
- package/src/components/use-block-display-information/test/index.js +47 -9
- package/src/components/use-on-block-drop/index.js +4 -7
- package/src/components/use-resize-canvas/index.js +10 -71
- package/src/components/writing-flow/index.js +15 -1
- package/src/components/writing-flow/use-arrow-nav.js +39 -12
- package/src/components/writing-flow/use-click-selection.js +2 -3
- package/src/components/writing-flow/use-clipboard-handler.js +5 -2
- package/src/components/writing-flow/use-drag-selection.js +1 -14
- package/src/components/writing-flow/use-editable-root.js +182 -0
- package/src/components/writing-flow/use-home-end.js +63 -0
- package/src/components/writing-flow/use-input.js +25 -8
- package/src/components/writing-flow/use-multi-selection.js +2 -3
- package/src/components/writing-flow/use-select-all.js +33 -3
- package/src/components/writing-flow/use-selection-observer.js +197 -38
- package/src/components/writing-flow/utils.js +83 -0
- package/src/components/writing-mode-control/index.js +0 -1
- package/src/hooks/background.js +7 -9
- package/src/hooks/block-fields/link/styles.scss +1 -6
- package/src/hooks/block-fields/media/styles.scss +1 -6
- package/src/hooks/block-fields/rich-text/index.js +6 -9
- package/src/hooks/block-hooks.scss +15 -0
- package/src/hooks/elements.js +0 -1
- package/src/hooks/font-size.js +0 -1
- package/src/hooks/grid-visualizer.js +40 -36
- package/src/hooks/layout-child.js +19 -9
- package/src/hooks/layout.js +53 -35
- package/src/hooks/position.js +44 -23
- package/src/hooks/states.js +55 -28
- package/src/hooks/style.js +67 -17
- package/src/hooks/test/cross-origin-isolation.js +0 -4
- package/src/hooks/test/layout.js +75 -1
- package/src/hooks/test/style.js +29 -0
- package/src/hooks/test/text-align.js +34 -1
- package/src/hooks/text-align.js +41 -10
- package/src/hooks/typography.js +0 -1
- package/src/layouts/constrained.js +56 -29
- package/src/layouts/flex.js +5 -4
- package/src/layouts/grid.js +59 -9
- package/src/layouts/test/constrained.js +91 -0
- package/src/layouts/test/grid.js +71 -0
- package/src/private-apis.js +4 -2
- package/src/store/actions.js +43 -14
- package/src/store/private-actions.js +31 -0
- package/src/store/private-keys.js +1 -1
- package/src/store/private-selectors.js +209 -16
- package/src/store/reducer.js +37 -2
- package/src/store/selectors.js +41 -0
- package/src/store/test/actions.js +1 -1
- package/src/store/test/private-selectors.js +547 -10
- package/src/store/test/reducer.js +41 -13
- package/src/store/test/selectors.js +133 -0
- package/src/style.scss +1 -0
- package/src/utils/block-bindings.ts +50 -0
- package/src/utils/dom.ts +33 -0
- package/src/utils/test/block-bindings.js +181 -0
- package/build/components/rich-text/input-event.cjs +0 -50
- package/build/components/rich-text/input-event.cjs.map +0 -7
- package/build/components/rich-text/shortcut.cjs +0 -51
- package/build/components/rich-text/shortcut.cjs.map +0 -7
- package/build-module/components/rich-text/input-event.mjs +0 -25
- package/build-module/components/rich-text/input-event.mjs.map +0 -7
- package/build-module/components/rich-text/shortcut.mjs +0 -26
- package/build-module/components/rich-text/shortcut.mjs.map +0 -7
- package/src/components/rich-text/input-event.js +0 -31
- package/src/components/rich-text/shortcut.js +0 -32
- package/src/components/use-resize-canvas/README.md +0 -37
|
@@ -30,6 +30,9 @@ import { BlockControls, JustifyContentControl } from '../components';
|
|
|
30
30
|
import { cleanEmptyObject, shouldSkipSerialization } from '../hooks/utils';
|
|
31
31
|
import { LAYOUT_DEFINITIONS } from './definitions';
|
|
32
32
|
|
|
33
|
+
const GLOBAL_CONTENT_SIZE = 'var(--wp--style--global--content-size, none)';
|
|
34
|
+
const GLOBAL_WIDE_SIZE = 'var(--wp--style--global--wide-size, none)';
|
|
35
|
+
|
|
33
36
|
export default {
|
|
34
37
|
name: 'constrained',
|
|
35
38
|
label: __( 'Constrained' ),
|
|
@@ -112,24 +115,25 @@ export default {
|
|
|
112
115
|
panelId={ clientId }
|
|
113
116
|
>
|
|
114
117
|
<UnitControl
|
|
115
|
-
__next40pxDefaultSize
|
|
116
118
|
label={ __( 'Content width' ) }
|
|
117
119
|
labelPosition="top"
|
|
118
|
-
value={
|
|
120
|
+
value={
|
|
121
|
+
contentSize === null
|
|
122
|
+
? ''
|
|
123
|
+
: contentSize || wideSize || ''
|
|
124
|
+
}
|
|
119
125
|
onChange={ ( nextWidth ) => {
|
|
120
126
|
nextWidth =
|
|
121
127
|
0 > parseFloat( nextWidth )
|
|
122
128
|
? '0'
|
|
123
129
|
: nextWidth;
|
|
124
|
-
onChange(
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
nextWidth
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
} )
|
|
132
|
-
);
|
|
130
|
+
onChange( {
|
|
131
|
+
...layout,
|
|
132
|
+
contentSize:
|
|
133
|
+
nextWidth !== ''
|
|
134
|
+
? nextWidth
|
|
135
|
+
: undefined,
|
|
136
|
+
} );
|
|
133
137
|
} }
|
|
134
138
|
units={ units }
|
|
135
139
|
prefix={
|
|
@@ -146,24 +150,25 @@ export default {
|
|
|
146
150
|
panelId={ clientId }
|
|
147
151
|
>
|
|
148
152
|
<UnitControl
|
|
149
|
-
__next40pxDefaultSize
|
|
150
153
|
label={ __( 'Wide width' ) }
|
|
151
154
|
labelPosition="top"
|
|
152
|
-
value={
|
|
155
|
+
value={
|
|
156
|
+
wideSize === null
|
|
157
|
+
? ''
|
|
158
|
+
: wideSize || contentSize || ''
|
|
159
|
+
}
|
|
153
160
|
onChange={ ( nextWidth ) => {
|
|
154
161
|
nextWidth =
|
|
155
162
|
0 > parseFloat( nextWidth )
|
|
156
163
|
? '0'
|
|
157
164
|
: nextWidth;
|
|
158
|
-
onChange(
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
nextWidth
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
} )
|
|
166
|
-
);
|
|
165
|
+
onChange( {
|
|
166
|
+
...layout,
|
|
167
|
+
wideSize:
|
|
168
|
+
nextWidth !== ''
|
|
169
|
+
? nextWidth
|
|
170
|
+
: undefined,
|
|
171
|
+
} );
|
|
167
172
|
} }
|
|
168
173
|
units={ units }
|
|
169
174
|
prefix={
|
|
@@ -188,7 +193,6 @@ export default {
|
|
|
188
193
|
panelId={ clientId }
|
|
189
194
|
>
|
|
190
195
|
<ToggleGroupControl
|
|
191
|
-
__next40pxDefaultSize
|
|
192
196
|
label={ __( 'Justification' ) }
|
|
193
197
|
value={ justifyContent }
|
|
194
198
|
onChange={ onJustificationChange }
|
|
@@ -215,6 +219,7 @@ export default {
|
|
|
215
219
|
layout = {},
|
|
216
220
|
onChange,
|
|
217
221
|
layoutBlockSupport,
|
|
222
|
+
controlsGroup = 'block',
|
|
218
223
|
} ) {
|
|
219
224
|
const { allowJustification = true } = layoutBlockSupport;
|
|
220
225
|
|
|
@@ -222,7 +227,10 @@ export default {
|
|
|
222
227
|
return null;
|
|
223
228
|
}
|
|
224
229
|
return (
|
|
225
|
-
<BlockControls
|
|
230
|
+
<BlockControls
|
|
231
|
+
group={ controlsGroup }
|
|
232
|
+
__experimentalShareWithChildBlocks
|
|
233
|
+
>
|
|
226
234
|
<DefaultLayoutJustifyContentControl
|
|
227
235
|
layout={ layout }
|
|
228
236
|
onChange={ onChange }
|
|
@@ -273,12 +281,30 @@ export default {
|
|
|
273
281
|
|
|
274
282
|
const hasJustificationOverride =
|
|
275
283
|
hasViewportOverrides && hasViewportOverride( 'justifyContent' );
|
|
284
|
+
const hasContentSizeOverride =
|
|
285
|
+
hasViewportOverrides && hasViewportOverride( 'contentSize' );
|
|
286
|
+
const hasWideSizeOverride =
|
|
287
|
+
hasViewportOverrides && hasViewportOverride( 'wideSize' );
|
|
276
288
|
const shouldOutputConstrainedSizes =
|
|
277
289
|
! hasViewportOverrides ||
|
|
278
|
-
|
|
279
|
-
|
|
290
|
+
hasContentSizeOverride ||
|
|
291
|
+
hasWideSizeOverride;
|
|
292
|
+
const isResettingConstrainedSizes =
|
|
293
|
+
hasViewportOverrides &&
|
|
294
|
+
( ( hasContentSizeOverride && ! contentSize ) ||
|
|
295
|
+
( hasWideSizeOverride && ! wideSize ) );
|
|
296
|
+
const contentMaxWidth =
|
|
297
|
+
contentSize ||
|
|
298
|
+
( wideSize && ! hasContentSizeOverride
|
|
299
|
+
? wideSize
|
|
300
|
+
: GLOBAL_CONTENT_SIZE );
|
|
301
|
+
const wideMaxWidth =
|
|
302
|
+
wideSize ||
|
|
303
|
+
( contentSize && ! hasWideSizeOverride
|
|
304
|
+
? contentSize
|
|
305
|
+
: GLOBAL_WIDE_SIZE );
|
|
280
306
|
const constrainedSizeDeclarations = [
|
|
281
|
-
`max-width: ${
|
|
307
|
+
`max-width: ${ contentMaxWidth }`,
|
|
282
308
|
];
|
|
283
309
|
if ( ! hasViewportOverrides || hasJustificationOverride ) {
|
|
284
310
|
constrainedSizeDeclarations.push(
|
|
@@ -287,7 +313,8 @@ export default {
|
|
|
287
313
|
);
|
|
288
314
|
}
|
|
289
315
|
let output =
|
|
290
|
-
shouldOutputConstrainedSizes &&
|
|
316
|
+
shouldOutputConstrainedSizes &&
|
|
317
|
+
( !! contentSize || !! wideSize || isResettingConstrainedSizes )
|
|
291
318
|
? `
|
|
292
319
|
${ appendSelectors(
|
|
293
320
|
selector,
|
|
@@ -296,7 +323,7 @@ export default {
|
|
|
296
323
|
${ constrainedSizeDeclarations.join( '; ' ) };
|
|
297
324
|
}
|
|
298
325
|
${ appendSelectors( selector, '> .alignwide' ) } {
|
|
299
|
-
max-width: ${
|
|
326
|
+
max-width: ${ wideMaxWidth };
|
|
300
327
|
}
|
|
301
328
|
${ appendSelectors( selector, '> .alignfull' ) } {
|
|
302
329
|
max-width: none;
|
package/src/layouts/flex.js
CHANGED
|
@@ -240,6 +240,7 @@ export default {
|
|
|
240
240
|
layout = {},
|
|
241
241
|
onChange,
|
|
242
242
|
layoutBlockSupport,
|
|
243
|
+
controlsGroup = 'block',
|
|
243
244
|
} ) {
|
|
244
245
|
const { allowVerticalAlignment = true, allowJustification = true } =
|
|
245
246
|
layoutBlockSupport;
|
|
@@ -249,7 +250,10 @@ export default {
|
|
|
249
250
|
}
|
|
250
251
|
|
|
251
252
|
return (
|
|
252
|
-
<BlockControls
|
|
253
|
+
<BlockControls
|
|
254
|
+
group={ controlsGroup }
|
|
255
|
+
__experimentalShareWithChildBlocks
|
|
256
|
+
>
|
|
253
257
|
{ allowJustification && (
|
|
254
258
|
<FlexLayoutJustifyContentControl
|
|
255
259
|
layout={ layout }
|
|
@@ -437,7 +441,6 @@ function FlexLayoutVerticalAlignmentControl( {
|
|
|
437
441
|
|
|
438
442
|
return (
|
|
439
443
|
<ToggleGroupControl
|
|
440
|
-
__next40pxDefaultSize
|
|
441
444
|
label={ __( 'Alignment' ) }
|
|
442
445
|
onChange={ onVerticalAlignmentChange }
|
|
443
446
|
value={ verticalAlignment }
|
|
@@ -524,7 +527,6 @@ function FlexLayoutJustifyContentControl( {
|
|
|
524
527
|
|
|
525
528
|
return (
|
|
526
529
|
<ToggleGroupControl
|
|
527
|
-
__next40pxDefaultSize
|
|
528
530
|
label={ __( 'Justification' ) }
|
|
529
531
|
value={ justifyContent }
|
|
530
532
|
onChange={ onJustificationChange }
|
|
@@ -568,7 +570,6 @@ function OrientationControl( { layout, onChange } ) {
|
|
|
568
570
|
} = layout;
|
|
569
571
|
return (
|
|
570
572
|
<ToggleGroupControl
|
|
571
|
-
__next40pxDefaultSize
|
|
572
573
|
className="block-editor-hooks__flex-layout-orientation-controls"
|
|
573
574
|
label={ __( 'Orientation' ) }
|
|
574
575
|
value={ orientation }
|
package/src/layouts/grid.js
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
Flex,
|
|
9
9
|
FlexItem,
|
|
10
10
|
RangeControl,
|
|
11
|
+
ToggleControl,
|
|
11
12
|
__experimentalNumberControl as NumberControl,
|
|
12
13
|
__experimentalToggleGroupControl as ToggleGroupControl,
|
|
13
14
|
__experimentalToggleGroupControlOption as ToggleGroupControlOption,
|
|
@@ -81,6 +82,9 @@ export default {
|
|
|
81
82
|
const showMinWidthControl =
|
|
82
83
|
! layout?.isManualPlacement ||
|
|
83
84
|
window.__experimentalEnableGridInteractivity;
|
|
85
|
+
// Auto-fit/auto-fill only applies when grid items are placed
|
|
86
|
+
// automatically, so the control is irrelevant in manual placement mode.
|
|
87
|
+
const showFillControl = ! layout?.isManualPlacement;
|
|
84
88
|
const defaultColumnCount = layout.isManualPlacement ? 3 : undefined;
|
|
85
89
|
const hasLayoutValue = ( key, defaultValue ) =>
|
|
86
90
|
( layout?.[ key ] ?? defaultValue ) !==
|
|
@@ -92,6 +96,7 @@ export default {
|
|
|
92
96
|
hasLayoutValue( 'rowCount' );
|
|
93
97
|
const hasMinimumColumnWidthValue = () =>
|
|
94
98
|
hasLayoutValue( 'minimumColumnWidth' );
|
|
99
|
+
const hasFillValue = () => hasLayoutValue( 'autoFit', false );
|
|
95
100
|
const resetGridType = () =>
|
|
96
101
|
onChange(
|
|
97
102
|
cleanEmptyObject( {
|
|
@@ -116,6 +121,13 @@ export default {
|
|
|
116
121
|
minimumColumnWidth: resetLayout?.minimumColumnWidth,
|
|
117
122
|
} )
|
|
118
123
|
);
|
|
124
|
+
const resetFill = () =>
|
|
125
|
+
onChange(
|
|
126
|
+
cleanEmptyObject( {
|
|
127
|
+
...layout,
|
|
128
|
+
autoFit: resetLayout?.autoFit,
|
|
129
|
+
} )
|
|
130
|
+
);
|
|
119
131
|
|
|
120
132
|
return (
|
|
121
133
|
<>
|
|
@@ -162,6 +174,19 @@ export default {
|
|
|
162
174
|
/>
|
|
163
175
|
</ToolsPanelItem>
|
|
164
176
|
) }
|
|
177
|
+
{ showFillControl && (
|
|
178
|
+
<ToolsPanelItem
|
|
179
|
+
label={ __( 'Fill available space' ) }
|
|
180
|
+
hasValue={ hasFillValue }
|
|
181
|
+
onDeselect={ resetFill }
|
|
182
|
+
panelId={ clientId }
|
|
183
|
+
>
|
|
184
|
+
<GridLayoutFillControl
|
|
185
|
+
layout={ layout }
|
|
186
|
+
onChange={ onChange }
|
|
187
|
+
/>
|
|
188
|
+
</ToolsPanelItem>
|
|
189
|
+
) }
|
|
165
190
|
</>
|
|
166
191
|
);
|
|
167
192
|
},
|
|
@@ -188,8 +213,13 @@ export default {
|
|
|
188
213
|
minimumColumnWidth = null,
|
|
189
214
|
columnCount = null,
|
|
190
215
|
rowCount = null,
|
|
216
|
+
autoFit = false,
|
|
191
217
|
} = effectiveLayout;
|
|
192
218
|
|
|
219
|
+
// When enabled, columns stretch to fill the available space using
|
|
220
|
+
// `auto-fit`; otherwise empty tracks are preserved with `auto-fill`.
|
|
221
|
+
const autoPlacement = autoFit ? 'auto-fit' : 'auto-fill';
|
|
222
|
+
|
|
193
223
|
// Check that the grid layout attributes are of the correct type, so that we don't accidentally
|
|
194
224
|
// write code that stores a string attribute instead of a number.
|
|
195
225
|
if ( process.env.NODE_ENV === 'development' ) {
|
|
@@ -205,6 +235,9 @@ export default {
|
|
|
205
235
|
if ( rowCount && typeof rowCount !== 'number' ) {
|
|
206
236
|
throw new Error( 'rowCount must be a number' );
|
|
207
237
|
}
|
|
238
|
+
if ( autoFit && typeof autoFit !== 'boolean' ) {
|
|
239
|
+
throw new Error( 'autoFit must be a boolean' );
|
|
240
|
+
}
|
|
208
241
|
}
|
|
209
242
|
|
|
210
243
|
// Use the global blockGap value as fallback when available.
|
|
@@ -236,6 +269,7 @@ export default {
|
|
|
236
269
|
! hasViewportOverrides ||
|
|
237
270
|
hasViewportOverride( 'minimumColumnWidth' ) ||
|
|
238
271
|
hasViewportOverride( 'columnCount' ) ||
|
|
272
|
+
hasViewportOverride( 'autoFit' ) ||
|
|
239
273
|
( hasBlockGapOverride && minimumColumnWidth && columnCount > 0 );
|
|
240
274
|
const shouldOutputGridRows =
|
|
241
275
|
( ! hasViewportOverrides || hasViewportOverride( 'rowCount' ) ) &&
|
|
@@ -256,7 +290,7 @@ export default {
|
|
|
256
290
|
columnCount - 1
|
|
257
291
|
}) ) / ${ columnCount })`;
|
|
258
292
|
rules.push(
|
|
259
|
-
`grid-template-columns: repeat(
|
|
293
|
+
`grid-template-columns: repeat(${ autoPlacement }, minmax(${ maxValue }, 1fr))`
|
|
260
294
|
);
|
|
261
295
|
} else if ( shouldOutputGridColumns && columnCount ) {
|
|
262
296
|
rules.push(
|
|
@@ -264,7 +298,7 @@ export default {
|
|
|
264
298
|
);
|
|
265
299
|
} else if ( shouldOutputGridColumns ) {
|
|
266
300
|
rules.push(
|
|
267
|
-
`grid-template-columns: repeat(
|
|
301
|
+
`grid-template-columns: repeat(${ autoPlacement }, minmax(min(${
|
|
268
302
|
minimumColumnWidth || '12rem'
|
|
269
303
|
}, 100%), 1fr))`
|
|
270
304
|
);
|
|
@@ -357,7 +391,6 @@ function GridLayoutMinimumWidthControl( { layout, onChange } ) {
|
|
|
357
391
|
<Flex gap={ 4 }>
|
|
358
392
|
<FlexItem isBlock>
|
|
359
393
|
<UnitControl
|
|
360
|
-
size="__unstable-large"
|
|
361
394
|
onChange={ ( newValue ) => {
|
|
362
395
|
onChange( {
|
|
363
396
|
...layout,
|
|
@@ -375,7 +408,6 @@ function GridLayoutMinimumWidthControl( { layout, onChange } ) {
|
|
|
375
408
|
</FlexItem>
|
|
376
409
|
<FlexItem isBlock>
|
|
377
410
|
<RangeControl
|
|
378
|
-
__next40pxDefaultSize
|
|
379
411
|
onChange={ handleSliderChange }
|
|
380
412
|
value={ quantity || 0 }
|
|
381
413
|
min={ 0 }
|
|
@@ -420,7 +452,6 @@ function GridLayoutColumnsAndRowsControl( {
|
|
|
420
452
|
<Flex gap={ 4 }>
|
|
421
453
|
<FlexItem isBlock>
|
|
422
454
|
<NumberControl
|
|
423
|
-
size="__unstable-large"
|
|
424
455
|
onChange={ ( value ) => {
|
|
425
456
|
// Allow unsetting the column count when in auto mode.
|
|
426
457
|
const defaultNewColumnCount = isManualPlacement
|
|
@@ -435,7 +466,7 @@ function GridLayoutColumnsAndRowsControl( {
|
|
|
435
466
|
columnCount: newColumnCount,
|
|
436
467
|
} );
|
|
437
468
|
} }
|
|
438
|
-
value={ columnCount }
|
|
469
|
+
value={ columnCount ?? '' }
|
|
439
470
|
min={ 1 }
|
|
440
471
|
label={ __( 'Columns' ) }
|
|
441
472
|
hideLabelFromVision={ ! isManualPlacement }
|
|
@@ -445,7 +476,6 @@ function GridLayoutColumnsAndRowsControl( {
|
|
|
445
476
|
<FlexItem isBlock>
|
|
446
477
|
{ allowSizingOnChildren && isManualPlacement ? (
|
|
447
478
|
<NumberControl
|
|
448
|
-
size="__unstable-large"
|
|
449
479
|
onChange={ ( value ) => {
|
|
450
480
|
// Don't allow unsetting the row count.
|
|
451
481
|
const newRowCount =
|
|
@@ -463,7 +493,6 @@ function GridLayoutColumnsAndRowsControl( {
|
|
|
463
493
|
/>
|
|
464
494
|
) : (
|
|
465
495
|
<RangeControl
|
|
466
|
-
__next40pxDefaultSize
|
|
467
496
|
value={ columnCount ?? 1 }
|
|
468
497
|
onChange={ ( value ) =>
|
|
469
498
|
onChange( {
|
|
@@ -488,6 +517,28 @@ function GridLayoutColumnsAndRowsControl( {
|
|
|
488
517
|
);
|
|
489
518
|
}
|
|
490
519
|
|
|
520
|
+
// Enables stretching grid columns to fill the available space (auto-fit)
|
|
521
|
+
// instead of leaving empty tracks at the end of a row (auto-fill).
|
|
522
|
+
function GridLayoutFillControl( { layout, onChange } ) {
|
|
523
|
+
const { autoFit = false } = layout;
|
|
524
|
+
|
|
525
|
+
return (
|
|
526
|
+
<ToggleControl
|
|
527
|
+
label={ __( 'Fill available space' ) }
|
|
528
|
+
help={ __(
|
|
529
|
+
'Stretch columns to fill the available space, instead of leaving gaps when there are too few items to fill a row.'
|
|
530
|
+
) }
|
|
531
|
+
checked={ autoFit }
|
|
532
|
+
onChange={ ( value ) =>
|
|
533
|
+
onChange( {
|
|
534
|
+
...layout,
|
|
535
|
+
autoFit: value,
|
|
536
|
+
} )
|
|
537
|
+
}
|
|
538
|
+
/>
|
|
539
|
+
);
|
|
540
|
+
}
|
|
541
|
+
|
|
491
542
|
// Enables switching between grid types
|
|
492
543
|
function GridLayoutTypeControl( { layout, onChange } ) {
|
|
493
544
|
const { columnCount, rowCount, minimumColumnWidth, isManualPlacement } =
|
|
@@ -535,7 +586,6 @@ function GridLayoutTypeControl( { layout, onChange } ) {
|
|
|
535
586
|
|
|
536
587
|
return (
|
|
537
588
|
<ToggleGroupControl
|
|
538
|
-
__next40pxDefaultSize
|
|
539
589
|
label={ __( 'Grid item position' ) }
|
|
540
590
|
value={ gridPlacement }
|
|
541
591
|
onChange={ onChangeType }
|
|
@@ -1,8 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { render, screen } from '@testing-library/react';
|
|
5
|
+
import userEvent from '@testing-library/user-event';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* WordPress dependencies
|
|
9
|
+
*/
|
|
10
|
+
import { __experimentalToolsPanel as ToolsPanel } from '@wordpress/components';
|
|
11
|
+
|
|
1
12
|
/**
|
|
2
13
|
* Internal dependencies
|
|
3
14
|
*/
|
|
4
15
|
import constrained from '../constrained';
|
|
5
16
|
|
|
17
|
+
const ConstrainedLayoutInspectorControls = constrained.inspectorControls;
|
|
18
|
+
const PANEL_ID = 'test-panel';
|
|
19
|
+
|
|
20
|
+
function renderInspectorControls( props = {} ) {
|
|
21
|
+
return render(
|
|
22
|
+
<ToolsPanel label="Layout" resetAll={ jest.fn() } panelId={ PANEL_ID }>
|
|
23
|
+
<ConstrainedLayoutInspectorControls
|
|
24
|
+
clientId={ PANEL_ID }
|
|
25
|
+
layout={ {} }
|
|
26
|
+
onChange={ jest.fn() }
|
|
27
|
+
{ ...props }
|
|
28
|
+
/>
|
|
29
|
+
</ToolsPanel>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
6
33
|
describe( 'getLayoutStyle', () => {
|
|
7
34
|
it( 'should return an empty string if no non-default params are provided', () => {
|
|
8
35
|
const expected = '';
|
|
@@ -18,4 +45,68 @@ describe( 'getLayoutStyle', () => {
|
|
|
18
45
|
|
|
19
46
|
expect( result ).toBe( expected );
|
|
20
47
|
} );
|
|
48
|
+
|
|
49
|
+
it( 'should reset constrained sizes when content width is unset in a viewport', () => {
|
|
50
|
+
const result = constrained.getLayoutStyle( {
|
|
51
|
+
selector: '.my-container',
|
|
52
|
+
layout: { type: 'constrained', contentSize: '800px' },
|
|
53
|
+
viewportOverrides: { contentSize: null },
|
|
54
|
+
style: {},
|
|
55
|
+
blockName: 'test-block',
|
|
56
|
+
hasBlockGapSupport: false,
|
|
57
|
+
layoutDefinitions: undefined,
|
|
58
|
+
} );
|
|
59
|
+
|
|
60
|
+
expect( result ).toContain(
|
|
61
|
+
'max-width: var(--wp--style--global--content-size, none);'
|
|
62
|
+
);
|
|
63
|
+
expect( result ).toContain(
|
|
64
|
+
'max-width: var(--wp--style--global--wide-size, none);'
|
|
65
|
+
);
|
|
66
|
+
} );
|
|
67
|
+
} );
|
|
68
|
+
|
|
69
|
+
describe( 'ConstrainedLayoutInspectorControls', () => {
|
|
70
|
+
it( 'renders an unset content width as an empty control value', () => {
|
|
71
|
+
renderInspectorControls( {
|
|
72
|
+
layout: { type: 'constrained', contentSize: null },
|
|
73
|
+
resetLayout: { type: 'constrained', contentSize: '800px' },
|
|
74
|
+
} );
|
|
75
|
+
|
|
76
|
+
expect(
|
|
77
|
+
screen.getByRole( 'spinbutton', { name: 'Content width' } )
|
|
78
|
+
).toHaveDisplayValue( '' );
|
|
79
|
+
} );
|
|
80
|
+
|
|
81
|
+
it.each( [
|
|
82
|
+
[ 'Content width', 'contentSize' ],
|
|
83
|
+
[ 'Wide width', 'wideSize' ],
|
|
84
|
+
] )(
|
|
85
|
+
'preserves a cleared %s value for viewport layout overrides',
|
|
86
|
+
async ( label, layoutKey ) => {
|
|
87
|
+
const user = userEvent.setup();
|
|
88
|
+
const onChange = jest.fn();
|
|
89
|
+
renderInspectorControls( {
|
|
90
|
+
layout: { type: 'constrained', [ layoutKey ]: '800px' },
|
|
91
|
+
resetLayout: { type: 'constrained', [ layoutKey ]: '800px' },
|
|
92
|
+
onChange,
|
|
93
|
+
} );
|
|
94
|
+
|
|
95
|
+
await user.click(
|
|
96
|
+
screen.getByRole( 'button', { name: /Layout options/i } )
|
|
97
|
+
);
|
|
98
|
+
await user.click(
|
|
99
|
+
screen.getByRole( 'menuitemcheckbox', {
|
|
100
|
+
name: `Show ${ label }`,
|
|
101
|
+
} )
|
|
102
|
+
);
|
|
103
|
+
await user.clear(
|
|
104
|
+
screen.getByRole( 'spinbutton', { name: label } )
|
|
105
|
+
);
|
|
106
|
+
|
|
107
|
+
const nextLayout = onChange.mock.lastCall?.[ 0 ];
|
|
108
|
+
expect( Object.hasOwn( nextLayout, layoutKey ) ).toBe( true );
|
|
109
|
+
expect( nextLayout[ layoutKey ] ).toBeUndefined();
|
|
110
|
+
}
|
|
111
|
+
);
|
|
21
112
|
} );
|
package/src/layouts/test/grid.js
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { render, screen } from '@testing-library/react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* WordPress dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { __experimentalToolsPanel as ToolsPanel } from '@wordpress/components';
|
|
10
|
+
|
|
1
11
|
/**
|
|
2
12
|
* Internal dependencies
|
|
3
13
|
*/
|
|
4
14
|
import grid from '../grid';
|
|
5
15
|
|
|
16
|
+
const GridLayoutInspectorControls = grid.inspectorControls;
|
|
17
|
+
const PANEL_ID = 'test-panel';
|
|
18
|
+
|
|
19
|
+
function renderInspectorControls( props = {} ) {
|
|
20
|
+
return render(
|
|
21
|
+
<ToolsPanel label="Layout" resetAll={ jest.fn() } panelId={ PANEL_ID }>
|
|
22
|
+
<GridLayoutInspectorControls
|
|
23
|
+
clientId={ PANEL_ID }
|
|
24
|
+
layout={ {} }
|
|
25
|
+
onChange={ jest.fn() }
|
|
26
|
+
{ ...props }
|
|
27
|
+
/>
|
|
28
|
+
</ToolsPanel>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
6
32
|
describe( 'getLayoutStyle', () => {
|
|
7
33
|
it( 'should return only `grid-template-columns` and `container-type` properties if no non-default params are provided', () => {
|
|
8
34
|
const expected = `.my-container { grid-template-columns: repeat(auto-fill, minmax(min(12rem, 100%), 1fr)); container-type: inline-size; }`;
|
|
@@ -46,4 +72,49 @@ describe( 'getLayoutStyle', () => {
|
|
|
46
72
|
|
|
47
73
|
expect( result ).toBe( expected );
|
|
48
74
|
} );
|
|
75
|
+
it( 'should use `auto-fit` instead of `auto-fill` when autoFit is enabled', () => {
|
|
76
|
+
const expected = `.my-container { grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr)); container-type: inline-size; }`;
|
|
77
|
+
|
|
78
|
+
const result = grid.getLayoutStyle( {
|
|
79
|
+
selector: '.my-container',
|
|
80
|
+
layout: { autoFit: true },
|
|
81
|
+
style: {},
|
|
82
|
+
blockName: 'test-block',
|
|
83
|
+
hasBlockGapSupport: false,
|
|
84
|
+
layoutDefinitions: undefined,
|
|
85
|
+
} );
|
|
86
|
+
|
|
87
|
+
expect( result ).toBe( expected );
|
|
88
|
+
} );
|
|
89
|
+
it( 'should use `auto-fit` with max() function when autoFit is enabled and both minimumColumnWidth and columnCount are provided', () => {
|
|
90
|
+
const expected = `.my-container { grid-template-columns: repeat(auto-fit, minmax(max(min( 12rem, 100%), ( 100% - (1.2rem*2) ) / 3), 1fr)); container-type: inline-size; }`;
|
|
91
|
+
|
|
92
|
+
const result = grid.getLayoutStyle( {
|
|
93
|
+
selector: '.my-container',
|
|
94
|
+
layout: {
|
|
95
|
+
minimumColumnWidth: '12rem',
|
|
96
|
+
columnCount: 3,
|
|
97
|
+
autoFit: true,
|
|
98
|
+
},
|
|
99
|
+
style: {},
|
|
100
|
+
blockName: 'test-block',
|
|
101
|
+
hasBlockGapSupport: false,
|
|
102
|
+
layoutDefinitions: undefined,
|
|
103
|
+
} );
|
|
104
|
+
|
|
105
|
+
expect( result ).toBe( expected );
|
|
106
|
+
} );
|
|
107
|
+
} );
|
|
108
|
+
|
|
109
|
+
describe( 'GridLayoutInspectorControls', () => {
|
|
110
|
+
it( 'renders an unset column count as an empty control value', () => {
|
|
111
|
+
renderInspectorControls( {
|
|
112
|
+
layout: { type: 'grid', columnCount: null },
|
|
113
|
+
resetLayout: { type: 'grid', columnCount: 3 },
|
|
114
|
+
} );
|
|
115
|
+
|
|
116
|
+
expect(
|
|
117
|
+
screen.getByRole( 'spinbutton', { name: 'Columns' } )
|
|
118
|
+
).toHaveDisplayValue( '' );
|
|
119
|
+
} );
|
|
49
120
|
} );
|
package/src/private-apis.js
CHANGED
|
@@ -52,11 +52,11 @@ import {
|
|
|
52
52
|
mediaEditKey,
|
|
53
53
|
getMediaSelectKey,
|
|
54
54
|
deviceTypeKey,
|
|
55
|
-
onViewportStateChangeKey,
|
|
56
55
|
isIsolatedEditorKey,
|
|
57
56
|
isNavigationOverlayContextKey,
|
|
58
57
|
isNavigationPostEditorKey,
|
|
59
58
|
mediaUploadOnSuccessKey,
|
|
59
|
+
mediaSideloadFromUrlKey,
|
|
60
60
|
openMediaEditorModalKey,
|
|
61
61
|
} from './store/private-keys';
|
|
62
62
|
import { requiresWrapperOnCopy } from './components/writing-flow/utils';
|
|
@@ -78,6 +78,7 @@ import { LinkPicker } from './components/link-picker';
|
|
|
78
78
|
import useRemoteUrlData from './components/link-control/use-rich-url-data';
|
|
79
79
|
import { PrivateBlockContext } from './components/block-list/private-block-context';
|
|
80
80
|
import useListViewPanelState from './components/use-list-view-panel-state';
|
|
81
|
+
import InnerContent from './components/inner-content';
|
|
81
82
|
import {
|
|
82
83
|
isHashLink,
|
|
83
84
|
isRelativePath,
|
|
@@ -141,11 +142,11 @@ lock( privateApis, {
|
|
|
141
142
|
mediaEditKey,
|
|
142
143
|
getMediaSelectKey,
|
|
143
144
|
deviceTypeKey,
|
|
144
|
-
onViewportStateChangeKey,
|
|
145
145
|
isIsolatedEditorKey,
|
|
146
146
|
isNavigationOverlayContextKey,
|
|
147
147
|
isNavigationPostEditorKey,
|
|
148
148
|
mediaUploadOnSuccessKey,
|
|
149
|
+
mediaSideloadFromUrlKey,
|
|
149
150
|
openMediaEditorModalKey,
|
|
150
151
|
useBlockElement,
|
|
151
152
|
useBlockElementRef,
|
|
@@ -155,4 +156,5 @@ lock( privateApis, {
|
|
|
155
156
|
useListViewPanelState,
|
|
156
157
|
isHashLink,
|
|
157
158
|
isRelativePath,
|
|
159
|
+
InnerContent,
|
|
158
160
|
} );
|