@wordpress/block-editor 10.3.0 → 10.5.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 +13 -0
- package/README.md +0 -1
- package/build/components/alignment-control/ui.js +1 -1
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/constants.js +1 -1
- package/build/components/block-alignment-control/constants.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +1 -1
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-compare/index.js +1 -3
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-edit/index.js +4 -2
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-list/block.js +3 -1
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-lock/menu-item.js +1 -1
- package/build/components/block-lock/menu-item.js.map +1 -1
- package/build/components/block-lock/modal.js +16 -9
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-popover/inbetween.js +2 -1
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +2 -1
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/index.js +2 -4
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +2 -8
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-styles/utils.js +3 -3
- package/build/components/block-styles/utils.js.map +1 -1
- package/build/components/block-switcher/index.js +21 -12
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/preview-block-popover.js +1 -1
- package/build/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +12 -2
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +27 -4
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +1 -1
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/all-input-control.js +2 -1
- package/build/components/border-radius-control/all-input-control.js.map +1 -1
- package/build/components/border-radius-control/index.js +2 -1
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +2 -1
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/colors/with-colors.js +4 -3
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/duotone-control/index.js +1 -1
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/font-sizes/fluid-utils.js +24 -40
- package/build/components/font-sizes/fluid-utils.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +8 -6
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/iframe/index.js +1 -1
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/constants.js +1 -1
- package/build/components/image-editor/constants.js.map +1 -1
- package/build/components/index.js +9 -0
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +10 -4
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js +2 -7
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.js +4 -1
- package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build/components/inserter/search-items.js +23 -2
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/line-height-control/index.js +2 -1
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/link-control/index.js +18 -34
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-input.js +1 -1
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/use-internal-input-value.js +26 -0
- package/build/components/link-control/use-internal-input-value.js.map +1 -0
- package/build/components/list-view/block.js +5 -3
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +9 -3
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +2 -1
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/media-replace-flow/index.js +1 -1
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/off-canvas-editor/block-contents.js +100 -0
- package/build/components/off-canvas-editor/block-contents.js.map +1 -0
- package/build/components/off-canvas-editor/block-select-button.js +119 -0
- package/build/components/off-canvas-editor/block-select-button.js.map +1 -0
- package/build/components/off-canvas-editor/block.js +292 -0
- package/build/components/off-canvas-editor/block.js.map +1 -0
- package/build/components/off-canvas-editor/branch.js +181 -0
- package/build/components/off-canvas-editor/branch.js.map +1 -0
- package/build/components/off-canvas-editor/context.js +19 -0
- package/build/components/off-canvas-editor/context.js.map +1 -0
- package/build/components/off-canvas-editor/drop-indicator.js +118 -0
- package/build/components/off-canvas-editor/drop-indicator.js.map +1 -0
- package/build/components/off-canvas-editor/expander.js +41 -0
- package/build/components/off-canvas-editor/expander.js.map +1 -0
- package/build/components/off-canvas-editor/index.js +204 -0
- package/build/components/off-canvas-editor/index.js.map +1 -0
- package/build/components/off-canvas-editor/leaf.js +60 -0
- package/build/components/off-canvas-editor/leaf.js.map +1 -0
- package/build/components/off-canvas-editor/use-block-selection.js +139 -0
- package/build/components/off-canvas-editor/use-block-selection.js.map +1 -0
- package/build/components/off-canvas-editor/use-list-view-client-ids.js +33 -0
- package/build/components/off-canvas-editor/use-list-view-client-ids.js.map +1 -0
- package/build/components/off-canvas-editor/use-list-view-drop-zone.js +235 -0
- package/build/components/off-canvas-editor/use-list-view-drop-zone.js.map +1 -0
- package/build/components/off-canvas-editor/use-list-view-expand-selected-item.js +60 -0
- package/build/components/off-canvas-editor/use-list-view-expand-selected-item.js.map +1 -0
- package/build/components/off-canvas-editor/utils.js +60 -0
- package/build/components/off-canvas-editor/utils.js.map +1 -0
- package/build/components/rich-text/format-toolbar/index.js +1 -1
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +1 -1
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +1 -1
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/spacing-sizes-control/all-input-control.js +6 -2
- package/build/components/spacing-sizes-control/all-input-control.js.map +1 -1
- package/build/components/spacing-sizes-control/axial-input-controls.js +6 -2
- package/build/components/spacing-sizes-control/axial-input-controls.js.map +1 -1
- package/build/components/spacing-sizes-control/index.js +6 -2
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls.js +6 -2
- package/build/components/spacing-sizes-control/input-controls.js.map +1 -1
- package/build/components/spacing-sizes-control/spacing-input-control.js +12 -5
- package/build/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
- package/build/components/url-input/index.js +1 -1
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-popover/index.js +31 -2
- package/build/components/url-popover/index.js.map +1 -1
- package/build/components/use-setting/index.js +1 -1
- package/build/components/use-setting/index.js.map +1 -1
- package/build/hooks/border.js +1 -0
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color-panel.js +17 -1
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/color.js +1 -1
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +13 -6
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/dimensions.js +72 -13
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/font-size.js +1 -0
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/layout.js +5 -4
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/margin.js +26 -18
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/min-height.js +145 -0
- package/build/hooks/min-height.js.map +1 -0
- package/build/hooks/padding.js +22 -13
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/style.js +3 -2
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/utils.js +7 -6
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/constrained.js +0 -1
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/flex.js +23 -22
- package/build/layouts/flex.js.map +1 -1
- package/build/store/actions.js +30 -0
- package/build/store/actions.js.map +1 -1
- package/build/store/array.js +1 -7
- package/build/store/array.js.map +1 -1
- package/build/store/reducer.js +46 -14
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +62 -31
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +1 -1
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/constants.js +1 -1
- package/build-module/components/block-alignment-control/constants.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-compare/index.js +2 -3
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-edit/index.js +4 -2
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-list/block.js +3 -1
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-lock/menu-item.js +2 -2
- package/build-module/components/block-lock/menu-item.js.map +1 -1
- package/build-module/components/block-lock/modal.js +17 -10
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +2 -1
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +2 -1
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/index.js +2 -3
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +2 -7
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-styles/utils.js +3 -3
- package/build-module/components/block-styles/utils.js.map +1 -1
- package/build-module/components/block-switcher/index.js +21 -11
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +12 -2
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +27 -5
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/all-input-control.js +2 -1
- package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +2 -1
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +2 -1
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/colors/with-colors.js +5 -4
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/duotone-control/index.js +1 -1
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/font-sizes/fluid-utils.js +24 -40
- package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +9 -7
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/iframe/index.js +1 -1
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/constants.js +1 -1
- package/build-module/components/image-editor/constants.js.map +1 -1
- package/build-module/components/index.js +1 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +10 -4
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js +2 -6
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.js +3 -1
- package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build-module/components/inserter/search-items.js +23 -3
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/line-height-control/index.js +2 -1
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/link-control/index.js +17 -34
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-input.js +1 -1
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/use-internal-input-value.js +18 -0
- package/build-module/components/link-control/use-internal-input-value.js.map +1 -0
- package/build-module/components/list-view/block.js +5 -3
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +9 -3
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +2 -1
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +1 -1
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/off-canvas-editor/block-contents.js +85 -0
- package/build-module/components/off-canvas-editor/block-contents.js.map +1 -0
- package/build-module/components/off-canvas-editor/block-select-button.js +101 -0
- package/build-module/components/off-canvas-editor/block-select-button.js.map +1 -0
- package/build-module/components/off-canvas-editor/block.js +268 -0
- package/build-module/components/off-canvas-editor/block.js.map +1 -0
- package/build-module/components/off-canvas-editor/branch.js +165 -0
- package/build-module/components/off-canvas-editor/branch.js.map +1 -0
- package/build-module/components/off-canvas-editor/context.js +7 -0
- package/build-module/components/off-canvas-editor/context.js.map +1 -0
- package/build-module/components/off-canvas-editor/drop-indicator.js +111 -0
- package/build-module/components/off-canvas-editor/drop-indicator.js.map +1 -0
- package/build-module/components/off-canvas-editor/expander.js +32 -0
- package/build-module/components/off-canvas-editor/expander.js.map +1 -0
- package/build-module/components/off-canvas-editor/index.js +181 -0
- package/build-module/components/off-canvas-editor/index.js.map +1 -0
- package/build-module/components/off-canvas-editor/leaf.js +45 -0
- package/build-module/components/off-canvas-editor/leaf.js.map +1 -0
- package/build-module/components/off-canvas-editor/use-block-selection.js +124 -0
- package/build-module/components/off-canvas-editor/use-block-selection.js.map +1 -0
- package/build-module/components/off-canvas-editor/use-list-view-client-ids.js +24 -0
- package/build-module/components/off-canvas-editor/use-list-view-client-ids.js.map +1 -0
- package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js +220 -0
- package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js.map +1 -0
- package/build-module/components/off-canvas-editor/use-list-view-expand-selected-item.js +50 -0
- package/build-module/components/off-canvas-editor/use-list-view-expand-selected-item.js.map +1 -0
- package/build-module/components/off-canvas-editor/utils.js +44 -0
- package/build-module/components/off-canvas-editor/utils.js.map +1 -0
- package/build-module/components/rich-text/format-toolbar/index.js +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +1 -1
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/spacing-sizes-control/all-input-control.js +6 -2
- package/build-module/components/spacing-sizes-control/all-input-control.js.map +1 -1
- package/build-module/components/spacing-sizes-control/axial-input-controls.js +6 -2
- package/build-module/components/spacing-sizes-control/axial-input-controls.js.map +1 -1
- package/build-module/components/spacing-sizes-control/index.js +6 -2
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls.js +6 -2
- package/build-module/components/spacing-sizes-control/input-controls.js.map +1 -1
- package/build-module/components/spacing-sizes-control/spacing-input-control.js +12 -5
- package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
- package/build-module/components/url-input/index.js +1 -1
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-popover/index.js +30 -3
- package/build-module/components/url-popover/index.js.map +1 -1
- package/build-module/components/use-setting/index.js +1 -1
- package/build-module/components/use-setting/index.js.map +1 -1
- package/build-module/hooks/border.js +1 -0
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color-panel.js +17 -1
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/color.js +1 -1
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +15 -8
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/dimensions.js +67 -12
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/font-size.js +1 -0
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/layout.js +6 -5
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/margin.js +27 -19
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/min-height.js +122 -0
- package/build-module/hooks/min-height.js.map +1 -0
- package/build-module/hooks/padding.js +23 -14
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/style.js +4 -3
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/utils.js +7 -7
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/constrained.js +0 -1
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/flex.js +24 -23
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/store/actions.js +26 -0
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/array.js +1 -6
- package/build-module/store/array.js.map +1 -1
- package/build-module/store/reducer.js +44 -14
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +59 -31
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +88 -88
- package/build-style/style.css +84 -84
- package/package.json +29 -28
- package/src/components/alignment-control/README.md +1 -1
- package/src/components/alignment-control/ui.js +1 -1
- package/src/components/block-alignment-control/constants.js +1 -1
- package/src/components/block-alignment-control/test/index.native.js +4 -4
- package/src/components/block-alignment-matrix-control/index.js +1 -1
- package/src/components/block-breadcrumb/test/__snapshots__/index.js.snap +13 -11
- package/src/components/block-breadcrumb/test/index.js +1 -1
- package/src/components/block-compare/index.js +3 -2
- package/src/components/block-draggable/test/helpers.native.js +3 -3
- package/src/components/block-draggable/test/index.native.js +27 -27
- package/src/components/block-edit/index.js +2 -1
- package/src/components/block-list/block.js +2 -0
- package/src/components/block-list/style.scss +11 -6
- package/src/components/block-lock/menu-item.js +5 -2
- package/src/components/block-lock/modal.js +19 -36
- package/src/components/block-lock/style.scss +8 -17
- package/src/components/block-mover/stories/index.js +1 -1
- package/src/components/block-mover/style.scss +35 -1
- package/src/components/block-popover/inbetween.js +1 -0
- package/src/components/block-popover/index.js +1 -0
- package/src/components/block-popover/style.scss +1 -5
- package/src/components/block-preview/index.js +8 -3
- package/src/components/block-settings-menu/block-settings-dropdown.js +4 -7
- package/src/components/block-styles/utils.js +3 -3
- package/src/components/block-switcher/index.js +21 -11
- package/src/components/block-switcher/preview-block-popover.js +1 -1
- package/src/components/block-tools/insertion-point.js +10 -1
- package/src/components/block-tools/selected-block-popover.js +80 -34
- package/src/components/block-tools/style.scss +15 -0
- package/src/components/block-variation-picker/README.md +1 -1
- package/src/components/block-vertical-alignment-control/ui.js +1 -1
- package/src/components/border-radius-control/all-input-control.js +1 -0
- package/src/components/border-radius-control/index.js +1 -0
- package/src/components/border-radius-control/input-controls.js +1 -0
- package/src/components/border-radius-control/style.scss +15 -24
- package/src/components/color-palette/test/__snapshots__/control.js.snap +85 -83
- package/src/components/color-palette/test/control.js +1 -1
- package/src/components/colors/with-colors.js +13 -23
- package/src/components/default-block-appender/style.scss +1 -0
- package/src/components/duotone-control/index.js +1 -1
- package/src/components/font-sizes/fluid-utils.js +37 -64
- package/src/components/font-sizes/test/fluid-utils.js +5 -5
- package/src/components/font-sizes/with-font-sizes.js +15 -13
- package/src/components/iframe/index.js +1 -1
- package/src/components/image-editor/constants.js +1 -1
- package/src/components/index.js +1 -0
- package/src/components/inner-blocks/index.js +11 -4
- package/src/components/inner-blocks/test/index.js +4 -0
- package/src/components/inserter/hooks/use-insertion-point.js +3 -11
- package/src/components/inserter/reusable-blocks-tab.js +4 -2
- package/src/components/inserter/search-items.js +23 -3
- package/src/components/inserter/style.scss +8 -7
- package/src/components/inserter/test/reusable-blocks-tab.js +14 -57
- package/src/components/inserter/test/search-items.js +6 -0
- package/src/components/inserter-list-item/style.scss +2 -0
- package/src/components/letter-spacing-control/README.md +55 -0
- package/src/components/line-height-control/index.js +1 -0
- package/src/components/link-control/README.md +3 -3
- package/src/components/link-control/index.js +23 -39
- package/src/components/link-control/search-input.js +1 -1
- package/src/components/link-control/test/index.js +272 -241
- package/src/components/link-control/use-internal-input-value.js +22 -0
- package/src/components/list-view/block.js +4 -3
- package/src/components/list-view/branch.js +11 -6
- package/src/components/list-view/drop-indicator.js +1 -0
- package/src/components/list-view/style.scss +1 -36
- package/src/components/media-replace-flow/index.js +1 -1
- package/src/components/media-replace-flow/test/index.js +69 -51
- package/src/components/off-canvas-editor/README.md +5 -0
- package/src/components/off-canvas-editor/block-contents.js +89 -0
- package/src/components/off-canvas-editor/block-select-button.js +113 -0
- package/src/components/off-canvas-editor/block.js +335 -0
- package/src/components/off-canvas-editor/branch.js +210 -0
- package/src/components/off-canvas-editor/context.js +8 -0
- package/src/components/off-canvas-editor/drop-indicator.js +126 -0
- package/src/components/off-canvas-editor/expander.js +26 -0
- package/src/components/off-canvas-editor/index.js +216 -0
- package/src/components/off-canvas-editor/leaf.js +48 -0
- package/src/components/off-canvas-editor/style.scss +397 -0
- package/src/components/off-canvas-editor/test/utils.js +50 -0
- package/src/components/off-canvas-editor/use-block-selection.js +169 -0
- package/src/components/off-canvas-editor/use-list-view-client-ids.js +29 -0
- package/src/components/off-canvas-editor/use-list-view-drop-zone.js +260 -0
- package/src/components/off-canvas-editor/use-list-view-expand-selected-item.js +58 -0
- package/src/components/off-canvas-editor/utils.js +58 -0
- package/src/components/responsive-block-control/test/index.js +69 -92
- package/src/components/rich-text/format-toolbar/index.js +1 -1
- package/src/components/rich-text/format-toolbar-container.js +1 -1
- package/src/components/rich-text/use-paste-handler.js +1 -1
- package/src/components/spacing-sizes-control/all-input-control.js +4 -0
- package/src/components/spacing-sizes-control/axial-input-controls.js +4 -0
- package/src/components/spacing-sizes-control/index.js +4 -0
- package/src/components/spacing-sizes-control/input-controls.js +4 -0
- package/src/components/spacing-sizes-control/spacing-input-control.js +10 -1
- package/src/components/spacing-sizes-control/style.scss +1 -0
- package/src/components/url-input/index.js +1 -1
- package/src/components/url-popover/README.md +12 -3
- package/src/components/url-popover/index.js +33 -3
- package/src/components/use-setting/index.js +7 -1
- package/src/hooks/border.js +1 -0
- package/src/hooks/color-panel.js +13 -1
- package/src/hooks/color.js +2 -0
- package/src/hooks/content-lock-ui.js +46 -34
- package/src/hooks/dimensions.js +106 -19
- package/src/hooks/font-size.js +1 -0
- package/src/hooks/layout.js +8 -11
- package/src/hooks/margin.js +23 -17
- package/src/hooks/min-height.js +121 -0
- package/src/hooks/padding.js +23 -19
- package/src/hooks/style.js +10 -2
- package/src/hooks/test/align.js +96 -72
- package/src/hooks/test/style.js +4 -0
- package/src/hooks/test/use-typography-props.js +1 -1
- package/src/hooks/utils.js +5 -6
- package/src/layouts/constrained.js +0 -1
- package/src/layouts/flex.js +44 -39
- package/src/store/actions.js +26 -0
- package/src/store/array.js +1 -6
- package/src/store/reducer.js +50 -40
- package/src/store/selectors.js +43 -29
- package/src/store/test/actions.js +18 -0
- package/src/store/test/reducer.js +40 -0
- package/src/store/test/selectors.js +20 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { render } from '@testing-library/react';
|
|
4
|
+
import { render, screen } from '@testing-library/react';
|
|
5
5
|
import userEvent from '@testing-library/user-event';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -48,6 +48,20 @@ const renderTestDefaultControlComponent = ( labelComponent, device ) => {
|
|
|
48
48
|
);
|
|
49
49
|
};
|
|
50
50
|
|
|
51
|
+
function getDefaultControlGroup( container ) {
|
|
52
|
+
// TODO: Use a user-facing query to fetch this.
|
|
53
|
+
return container.querySelector(
|
|
54
|
+
'.block-editor-responsive-block-control__group:not(.is-responsive)'
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function getResponsiveControlGroup( container ) {
|
|
59
|
+
// TODO: Use a user-facing query to fetch this.
|
|
60
|
+
return container.querySelector(
|
|
61
|
+
'.block-editor-responsive-block-control__group.is-responsive'
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
|
|
51
65
|
describe( 'Basic rendering', () => {
|
|
52
66
|
it( 'should render with required props', () => {
|
|
53
67
|
const { container } = render(
|
|
@@ -58,48 +72,30 @@ describe( 'Basic rendering', () => {
|
|
|
58
72
|
/>
|
|
59
73
|
);
|
|
60
74
|
|
|
61
|
-
const activePropertyLabel =
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
const activeViewportLabel = Array.from(
|
|
66
|
-
container.querySelectorAll( 'label' )
|
|
67
|
-
).find( ( label ) => label.innerHTML.includes( 'All' ) );
|
|
68
|
-
|
|
69
|
-
const defaultControl = container.querySelector(
|
|
70
|
-
`#${ activeViewportLabel.getAttribute( 'for' ) }`
|
|
71
|
-
);
|
|
72
|
-
|
|
73
|
-
const toggleLabel = Array.from(
|
|
74
|
-
container.querySelectorAll( 'label' )
|
|
75
|
-
).filter( ( label ) =>
|
|
76
|
-
label.innerHTML.includes(
|
|
77
|
-
'Use the same padding on all screensizes'
|
|
78
|
-
)
|
|
79
|
-
);
|
|
75
|
+
const activePropertyLabel = screen.getByRole( 'group', {
|
|
76
|
+
name: 'Padding',
|
|
77
|
+
} );
|
|
80
78
|
|
|
81
|
-
const
|
|
82
|
-
'
|
|
83
|
-
)
|
|
79
|
+
const defaultControl = screen.getByRole( 'combobox', {
|
|
80
|
+
name: 'All Controls the padding property for All viewports.',
|
|
81
|
+
} );
|
|
84
82
|
|
|
85
|
-
const
|
|
86
|
-
'.
|
|
87
|
-
|
|
83
|
+
const toggleState = screen.getByRole( 'checkbox', {
|
|
84
|
+
name: 'Use the same padding on all screensizes.',
|
|
85
|
+
checked: true,
|
|
86
|
+
} );
|
|
88
87
|
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
);
|
|
88
|
+
const defaultControlGroup = getDefaultControlGroup( container );
|
|
89
|
+
const responsiveControlGroup = getResponsiveControlGroup( container );
|
|
92
90
|
|
|
93
91
|
expect( container ).not.toBeEmptyDOMElement();
|
|
94
92
|
|
|
95
93
|
expect( defaultControlGroup ).not.toBeNull();
|
|
96
94
|
expect( responsiveControlGroup ).toBeNull();
|
|
97
95
|
|
|
98
|
-
expect(
|
|
99
|
-
expect(
|
|
100
|
-
expect(
|
|
101
|
-
expect( toggleLabel ).not.toBeNull();
|
|
102
|
-
expect( toggleState ).toBe( true );
|
|
96
|
+
expect( activePropertyLabel ).toBeVisible();
|
|
97
|
+
expect( defaultControl ).toBeVisible();
|
|
98
|
+
expect( toggleState ).toBeVisible();
|
|
103
99
|
} );
|
|
104
100
|
|
|
105
101
|
it( 'should not render without valid legend', () => {
|
|
@@ -135,7 +131,7 @@ describe( 'Basic rendering', () => {
|
|
|
135
131
|
it( 'should render with custom label for toggle control when provided', () => {
|
|
136
132
|
const customToggleLabel =
|
|
137
133
|
'Utilise a matching padding value on all viewports';
|
|
138
|
-
|
|
134
|
+
render(
|
|
139
135
|
<ResponsiveBlockControl
|
|
140
136
|
title="Padding"
|
|
141
137
|
property="padding"
|
|
@@ -144,17 +140,21 @@ describe( 'Basic rendering', () => {
|
|
|
144
140
|
/>
|
|
145
141
|
);
|
|
146
142
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
143
|
+
expect(
|
|
144
|
+
screen.getByRole( 'checkbox', {
|
|
145
|
+
name: customToggleLabel,
|
|
146
|
+
checked: true,
|
|
147
|
+
} )
|
|
148
|
+
).toBeVisible();
|
|
152
149
|
} );
|
|
153
150
|
|
|
154
151
|
it( 'should pass custom label for default control group to the renderDefaultControl function when provided', () => {
|
|
155
|
-
const customDefaultControlGroupLabel =
|
|
152
|
+
const customDefaultControlGroupLabel = {
|
|
153
|
+
id: 'everything',
|
|
154
|
+
label: 'Everything',
|
|
155
|
+
};
|
|
156
156
|
|
|
157
|
-
|
|
157
|
+
render(
|
|
158
158
|
<ResponsiveBlockControl
|
|
159
159
|
title="Padding"
|
|
160
160
|
property="padding"
|
|
@@ -163,11 +163,11 @@ describe( 'Basic rendering', () => {
|
|
|
163
163
|
/>
|
|
164
164
|
);
|
|
165
165
|
|
|
166
|
-
const defaultControlLabel =
|
|
167
|
-
|
|
168
|
-
|
|
166
|
+
const defaultControlLabel = screen.getByRole( 'combobox', {
|
|
167
|
+
name: 'Everything Controls the padding property for Everything viewports.',
|
|
168
|
+
} );
|
|
169
169
|
|
|
170
|
-
expect( defaultControlLabel ).
|
|
170
|
+
expect( defaultControlLabel ).toBeVisible();
|
|
171
171
|
} );
|
|
172
172
|
} );
|
|
173
173
|
|
|
@@ -182,12 +182,8 @@ describe( 'Default and Responsive modes', () => {
|
|
|
182
182
|
/>
|
|
183
183
|
);
|
|
184
184
|
|
|
185
|
-
const defaultControlGroup = container
|
|
186
|
-
|
|
187
|
-
);
|
|
188
|
-
const responsiveControlGroup = container.querySelector(
|
|
189
|
-
'.block-editor-responsive-block-control__group.is-responsive'
|
|
190
|
-
);
|
|
185
|
+
const defaultControlGroup = getDefaultControlGroup( container );
|
|
186
|
+
const responsiveControlGroup = getResponsiveControlGroup( container );
|
|
191
187
|
|
|
192
188
|
expect( defaultControlGroup ).toBeNull();
|
|
193
189
|
expect( responsiveControlGroup ).not.toBeNull();
|
|
@@ -217,7 +213,7 @@ describe( 'Default and Responsive modes', () => {
|
|
|
217
213
|
renderTestDefaultControlComponent
|
|
218
214
|
);
|
|
219
215
|
|
|
220
|
-
|
|
216
|
+
render(
|
|
221
217
|
<ResponsiveBlockControl
|
|
222
218
|
title="Padding"
|
|
223
219
|
property="padding"
|
|
@@ -230,13 +226,12 @@ describe( 'Default and Responsive modes', () => {
|
|
|
230
226
|
const defaultRenderControlCall = 1;
|
|
231
227
|
|
|
232
228
|
// Get array of labels which match those in the custom viewports provided
|
|
233
|
-
const responsiveViewportsLabels =
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
labelText.includes( deviceName.label )
|
|
229
|
+
const responsiveViewportsLabels = [];
|
|
230
|
+
customViewportSet.forEach( ( { label } ) => {
|
|
231
|
+
responsiveViewportsLabels.push(
|
|
232
|
+
screen.getByRole( 'combobox', {
|
|
233
|
+
name: `${ label } Controls the padding property for ${ label } viewports.`,
|
|
234
|
+
} )
|
|
240
235
|
);
|
|
241
236
|
} );
|
|
242
237
|
|
|
@@ -270,24 +265,14 @@ describe( 'Default and Responsive modes', () => {
|
|
|
270
265
|
|
|
271
266
|
const { container } = render( <ResponsiveBlockControlConsumer /> );
|
|
272
267
|
|
|
273
|
-
let defaultControlGroup = container
|
|
274
|
-
|
|
275
|
-
);
|
|
276
|
-
let responsiveControlGroup = container.querySelector(
|
|
277
|
-
'.block-editor-responsive-block-control__group.is-responsive'
|
|
278
|
-
);
|
|
268
|
+
let defaultControlGroup = getDefaultControlGroup( container );
|
|
269
|
+
let responsiveControlGroup = getResponsiveControlGroup( container );
|
|
279
270
|
|
|
280
271
|
// Select elements based on what the user can see.
|
|
281
|
-
const
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
'Use the same padding on all screensizes'
|
|
286
|
-
)
|
|
287
|
-
);
|
|
288
|
-
const toggleInput = container.querySelector(
|
|
289
|
-
`#${ toggleLabel.getAttribute( 'for' ) }`
|
|
290
|
-
);
|
|
272
|
+
const toggleInput = screen.getByRole( 'checkbox', {
|
|
273
|
+
name: 'Use the same padding on all screensizes.',
|
|
274
|
+
checked: true,
|
|
275
|
+
} );
|
|
291
276
|
|
|
292
277
|
// Initial mode (default)
|
|
293
278
|
expect( defaultControlGroup ).not.toBeNull();
|
|
@@ -296,12 +281,8 @@ describe( 'Default and Responsive modes', () => {
|
|
|
296
281
|
// Toggle to "responsive" mode.
|
|
297
282
|
await user.click( toggleInput );
|
|
298
283
|
|
|
299
|
-
defaultControlGroup = container
|
|
300
|
-
|
|
301
|
-
);
|
|
302
|
-
responsiveControlGroup = container.querySelector(
|
|
303
|
-
'.block-editor-responsive-block-control__group.is-responsive'
|
|
304
|
-
);
|
|
284
|
+
defaultControlGroup = getDefaultControlGroup( container );
|
|
285
|
+
responsiveControlGroup = getResponsiveControlGroup( container );
|
|
305
286
|
|
|
306
287
|
expect( defaultControlGroup ).toBeNull();
|
|
307
288
|
expect( responsiveControlGroup ).not.toBeNull();
|
|
@@ -309,12 +290,8 @@ describe( 'Default and Responsive modes', () => {
|
|
|
309
290
|
// Toggle back to "default" mode.
|
|
310
291
|
await user.click( toggleInput );
|
|
311
292
|
|
|
312
|
-
defaultControlGroup = container
|
|
313
|
-
|
|
314
|
-
);
|
|
315
|
-
responsiveControlGroup = container.querySelector(
|
|
316
|
-
'.block-editor-responsive-block-control__group.is-responsive'
|
|
317
|
-
);
|
|
293
|
+
defaultControlGroup = getDefaultControlGroup( container );
|
|
294
|
+
responsiveControlGroup = getResponsiveControlGroup( container );
|
|
318
295
|
|
|
319
296
|
expect( defaultControlGroup ).not.toBeNull();
|
|
320
297
|
expect( responsiveControlGroup ).toBeNull();
|
|
@@ -340,7 +317,7 @@ describe( 'Default and Responsive modes', () => {
|
|
|
340
317
|
} );
|
|
341
318
|
} );
|
|
342
319
|
|
|
343
|
-
|
|
320
|
+
render(
|
|
344
321
|
<ResponsiveBlockControl
|
|
345
322
|
title="Padding"
|
|
346
323
|
property="padding"
|
|
@@ -351,9 +328,9 @@ describe( 'Default and Responsive modes', () => {
|
|
|
351
328
|
);
|
|
352
329
|
|
|
353
330
|
// The user should see "range" controls so we can legitimately query for them here.
|
|
354
|
-
const customControls =
|
|
355
|
-
|
|
356
|
-
);
|
|
331
|
+
const customControls = screen.getAllByRole( 'slider', {
|
|
332
|
+
name: /\w+ screens$/,
|
|
333
|
+
} );
|
|
357
334
|
|
|
358
335
|
// Also called because default control rendeer function is always called
|
|
359
336
|
// (for convenience) even though it's not displayed in output.
|
|
@@ -42,7 +42,7 @@ function InlineSelectionToolbar( {
|
|
|
42
42
|
function InlineToolbar( { popoverAnchor } ) {
|
|
43
43
|
return (
|
|
44
44
|
<Popover
|
|
45
|
-
|
|
45
|
+
placement="top"
|
|
46
46
|
focusOnMount={ false }
|
|
47
47
|
anchor={ popoverAnchor }
|
|
48
48
|
className="block-editor-rich-text__inline-format-toolbar"
|
|
@@ -255,7 +255,7 @@ export function usePasteHandler( props ) {
|
|
|
255
255
|
|
|
256
256
|
/**
|
|
257
257
|
* Normalizes a given string of HTML to remove the Windows-specific "Fragment"
|
|
258
|
-
* comments and any
|
|
258
|
+
* comments and any preceding and trailing content.
|
|
259
259
|
*
|
|
260
260
|
* @param {string} html the html to be normalized
|
|
261
261
|
* @return {string} the normalized html
|
|
@@ -16,6 +16,8 @@ export default function AllInputControl( {
|
|
|
16
16
|
spacingSizes,
|
|
17
17
|
type,
|
|
18
18
|
minimumCustomValue,
|
|
19
|
+
onMouseOver,
|
|
20
|
+
onMouseOut,
|
|
19
21
|
} ) {
|
|
20
22
|
const allValue = getAllRawValue( values );
|
|
21
23
|
const hasValues = isValuesDefined( values );
|
|
@@ -35,6 +37,8 @@ export default function AllInputControl( {
|
|
|
35
37
|
isMixed={ isMixed }
|
|
36
38
|
type={ type }
|
|
37
39
|
minimumCustomValue={ minimumCustomValue }
|
|
40
|
+
onMouseOver={ onMouseOver }
|
|
41
|
+
onMouseOut={ onMouseOut }
|
|
38
42
|
/>
|
|
39
43
|
);
|
|
40
44
|
}
|
|
@@ -13,6 +13,8 @@ export default function AxialInputControls( {
|
|
|
13
13
|
spacingSizes,
|
|
14
14
|
type,
|
|
15
15
|
minimumCustomValue,
|
|
16
|
+
onMouseOver,
|
|
17
|
+
onMouseOut,
|
|
16
18
|
} ) {
|
|
17
19
|
const createHandleOnChange = ( side ) => ( next ) => {
|
|
18
20
|
if ( ! onChange ) {
|
|
@@ -54,6 +56,8 @@ export default function AxialInputControls( {
|
|
|
54
56
|
spacingSizes={ spacingSizes }
|
|
55
57
|
type={ type }
|
|
56
58
|
minimumCustomValue={ minimumCustomValue }
|
|
59
|
+
onMouseOver={ onMouseOver }
|
|
60
|
+
onMouseOut={ onMouseOut }
|
|
57
61
|
/>
|
|
58
62
|
);
|
|
59
63
|
} ) }
|
|
@@ -29,6 +29,8 @@ export default function SpacingSizesControl( {
|
|
|
29
29
|
splitOnAxis = false,
|
|
30
30
|
useSelect,
|
|
31
31
|
minimumCustomValue = 0,
|
|
32
|
+
onMouseOver,
|
|
33
|
+
onMouseOut,
|
|
32
34
|
} ) {
|
|
33
35
|
const spacingSizes = [
|
|
34
36
|
{ name: 0, slug: '0', size: 0 },
|
|
@@ -70,6 +72,8 @@ export default function SpacingSizesControl( {
|
|
|
70
72
|
useSelect,
|
|
71
73
|
type: label,
|
|
72
74
|
minimumCustomValue,
|
|
75
|
+
onMouseOver,
|
|
76
|
+
onMouseOut,
|
|
73
77
|
};
|
|
74
78
|
|
|
75
79
|
return (
|
|
@@ -11,6 +11,8 @@ export default function BoxInputControls( {
|
|
|
11
11
|
spacingSizes,
|
|
12
12
|
type,
|
|
13
13
|
minimumCustomValue,
|
|
14
|
+
onMouseOver,
|
|
15
|
+
onMouseOut,
|
|
14
16
|
} ) {
|
|
15
17
|
// Filter sides if custom configuration provided, maintaining default order.
|
|
16
18
|
const filteredSides = sides?.length
|
|
@@ -38,6 +40,8 @@ export default function BoxInputControls( {
|
|
|
38
40
|
spacingSizes={ spacingSizes }
|
|
39
41
|
type={ type }
|
|
40
42
|
minimumCustomValue={ minimumCustomValue }
|
|
43
|
+
onMouseOver={ onMouseOver }
|
|
44
|
+
onMouseOut={ onMouseOut }
|
|
41
45
|
/>
|
|
42
46
|
);
|
|
43
47
|
} ) }
|
|
@@ -51,6 +51,8 @@ export default function SpacingInputControl( {
|
|
|
51
51
|
isMixed = false,
|
|
52
52
|
type,
|
|
53
53
|
minimumCustomValue,
|
|
54
|
+
onMouseOver,
|
|
55
|
+
onMouseOut,
|
|
54
56
|
} ) {
|
|
55
57
|
// Treat value as a preset value if the passed in value matches the value of one of the spacingSizes.
|
|
56
58
|
value = getPresetValueFromCustomValue( value, spacingSizes );
|
|
@@ -218,6 +220,8 @@ export default function SpacingInputControl( {
|
|
|
218
220
|
{ showCustomValueControl && (
|
|
219
221
|
<>
|
|
220
222
|
<UnitControl
|
|
223
|
+
onMouseOver={ onMouseOver }
|
|
224
|
+
onMouseOut={ onMouseOut }
|
|
221
225
|
onChange={ ( newSize ) =>
|
|
222
226
|
onChange( getNewCustomValue( newSize ) )
|
|
223
227
|
}
|
|
@@ -229,11 +233,12 @@ export default function SpacingInputControl( {
|
|
|
229
233
|
label={ ariaLabel }
|
|
230
234
|
hideLabelFromVision={ true }
|
|
231
235
|
className="components-spacing-sizes-control__custom-value-input"
|
|
232
|
-
style={ { gridColumn: '1' } }
|
|
233
236
|
size={ '__unstable-large' }
|
|
234
237
|
/>
|
|
235
238
|
|
|
236
239
|
<RangeControl
|
|
240
|
+
onMouseOver={ onMouseOver }
|
|
241
|
+
onMouseOut={ onMouseOut }
|
|
237
242
|
value={ customRangeValue }
|
|
238
243
|
min={ 0 }
|
|
239
244
|
max={ CUSTOM_VALUE_SETTINGS[ selectedUnit ]?.max ?? 10 }
|
|
@@ -248,6 +253,8 @@ export default function SpacingInputControl( {
|
|
|
248
253
|
) }
|
|
249
254
|
{ showRangeControl && ! showCustomValueControl && (
|
|
250
255
|
<RangeControl
|
|
256
|
+
onMouseOver={ onMouseOver }
|
|
257
|
+
onMouseOut={ onMouseOut }
|
|
251
258
|
className="components-spacing-sizes-control__range-control"
|
|
252
259
|
value={ currentValue }
|
|
253
260
|
onChange={ ( newSize ) =>
|
|
@@ -293,6 +300,8 @@ export default function SpacingInputControl( {
|
|
|
293
300
|
hideLabelFromVision={ true }
|
|
294
301
|
__nextUnconstrainedWidth={ true }
|
|
295
302
|
size={ '__unstable-large' }
|
|
303
|
+
onMouseOver={ onMouseOver }
|
|
304
|
+
onMouseOut={ onMouseOut }
|
|
296
305
|
/>
|
|
297
306
|
) }
|
|
298
307
|
</>
|
|
@@ -543,7 +543,7 @@ class URLInput extends Component {
|
|
|
543
543
|
!! suggestions.length
|
|
544
544
|
) {
|
|
545
545
|
return (
|
|
546
|
-
<Popover
|
|
546
|
+
<Popover placement="bottom" focusOnMount={ false }>
|
|
547
547
|
<div
|
|
548
548
|
{ ...suggestionsListProps }
|
|
549
549
|
className={ classnames(
|
|
@@ -94,13 +94,13 @@ class MyURLPopover extends Component {
|
|
|
94
94
|
|
|
95
95
|
The component accepts the following props. Any other props are passed through to the underlying `Popover` component ([refer to props documentation](/packages/components/src/popover/README.md)).
|
|
96
96
|
|
|
97
|
-
###
|
|
97
|
+
### placement
|
|
98
98
|
|
|
99
|
-
Where the Popover should be positioned relative to its parent. Defaults to "bottom
|
|
99
|
+
Where the Popover should be positioned relative to its parent. Defaults to "bottom".
|
|
100
100
|
|
|
101
101
|
- Type: `String`
|
|
102
102
|
- Required: No
|
|
103
|
-
- Default: "bottom
|
|
103
|
+
- Default: "bottom"
|
|
104
104
|
|
|
105
105
|
### focusOnMount
|
|
106
106
|
|
|
@@ -194,3 +194,12 @@ Reference passed to the auto complete element of the ([URLInput component](/pack
|
|
|
194
194
|
|
|
195
195
|
- Type: `Object`
|
|
196
196
|
- Required: no
|
|
197
|
+
|
|
198
|
+
### position
|
|
199
|
+
|
|
200
|
+
_Note: this prop is deprecated. Please use the `placement` prop instead._
|
|
201
|
+
|
|
202
|
+
Where the Popover should be positioned relative to its parent.
|
|
203
|
+
|
|
204
|
+
- Type: `String`
|
|
205
|
+
- Required: No
|
|
@@ -3,8 +3,13 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
5
|
import { useState } from '@wordpress/element';
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
Button,
|
|
8
|
+
Popover,
|
|
9
|
+
__experimentalPopoverPositionToPlacement as positionToPlacement,
|
|
10
|
+
} from '@wordpress/components';
|
|
7
11
|
import { chevronDown } from '@wordpress/icons';
|
|
12
|
+
import deprecated from '@wordpress/deprecated';
|
|
8
13
|
|
|
9
14
|
/**
|
|
10
15
|
* Internal dependencies
|
|
@@ -12,14 +17,39 @@ import { chevronDown } from '@wordpress/icons';
|
|
|
12
17
|
import LinkViewer from './link-viewer';
|
|
13
18
|
import LinkEditor from './link-editor';
|
|
14
19
|
|
|
20
|
+
const DEFAULT_PLACEMENT = 'bottom';
|
|
21
|
+
|
|
15
22
|
function URLPopover( {
|
|
16
23
|
additionalControls,
|
|
17
24
|
children,
|
|
18
25
|
renderSettings,
|
|
19
|
-
|
|
26
|
+
// The DEFAULT_PLACEMENT value is assigned inside the function's body
|
|
27
|
+
placement,
|
|
20
28
|
focusOnMount = 'firstElement',
|
|
29
|
+
// Deprecated
|
|
30
|
+
position,
|
|
31
|
+
// Rest
|
|
21
32
|
...popoverProps
|
|
22
33
|
} ) {
|
|
34
|
+
if ( position !== undefined ) {
|
|
35
|
+
deprecated( '`position` prop in wp.blockEditor.URLPopover', {
|
|
36
|
+
since: '6.2',
|
|
37
|
+
alternative: '`placement` prop',
|
|
38
|
+
} );
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Compute popover's placement:
|
|
42
|
+
// - give priority to `placement` prop, if defined
|
|
43
|
+
// - otherwise, compute it from the legacy `position` prop (if defined)
|
|
44
|
+
// - finally, fallback to the DEFAULT_PLACEMENT.
|
|
45
|
+
let computedPlacement;
|
|
46
|
+
if ( placement !== undefined ) {
|
|
47
|
+
computedPlacement = placement;
|
|
48
|
+
} else if ( position !== undefined ) {
|
|
49
|
+
computedPlacement = positionToPlacement( position );
|
|
50
|
+
}
|
|
51
|
+
computedPlacement = computedPlacement || DEFAULT_PLACEMENT;
|
|
52
|
+
|
|
23
53
|
const [ isSettingsExpanded, setIsSettingsExpanded ] = useState( false );
|
|
24
54
|
|
|
25
55
|
const showSettings = !! renderSettings && isSettingsExpanded;
|
|
@@ -32,7 +62,7 @@ function URLPopover( {
|
|
|
32
62
|
<Popover
|
|
33
63
|
className="block-editor-url-popover"
|
|
34
64
|
focusOnMount={ focusOnMount }
|
|
35
|
-
|
|
65
|
+
placement={ computedPlacement }
|
|
36
66
|
shift
|
|
37
67
|
{ ...popoverProps }
|
|
38
68
|
>
|
|
@@ -18,7 +18,13 @@ import {
|
|
|
18
18
|
import { useBlockEditContext } from '../block-edit';
|
|
19
19
|
import { store as blockEditorStore } from '../../store';
|
|
20
20
|
|
|
21
|
-
const blockedPaths = [
|
|
21
|
+
const blockedPaths = [
|
|
22
|
+
'color',
|
|
23
|
+
'border',
|
|
24
|
+
'dimensions',
|
|
25
|
+
'typography',
|
|
26
|
+
'spacing',
|
|
27
|
+
];
|
|
22
28
|
|
|
23
29
|
const deprecatedFlags = {
|
|
24
30
|
'color.palette': ( settings ) => settings.colors,
|
package/src/hooks/border.js
CHANGED
|
@@ -272,6 +272,7 @@ export function BorderPanel( props ) {
|
|
|
272
272
|
onChange={ onBorderChange }
|
|
273
273
|
popoverOffset={ 40 }
|
|
274
274
|
popoverPlacement="left-start"
|
|
275
|
+
size="__unstable-large"
|
|
275
276
|
value={ hydratedBorder }
|
|
276
277
|
__experimentalHasMultipleOrigins={ true }
|
|
277
278
|
__experimentalIsRenderedInSidebar={ true }
|
package/src/hooks/color-panel.js
CHANGED
|
@@ -29,7 +29,19 @@ export default function ColorPanel( {
|
|
|
29
29
|
const definedColors = settings.filter( ( setting ) => setting?.colorValue );
|
|
30
30
|
|
|
31
31
|
useEffect( () => {
|
|
32
|
-
if ( ! enableContrastChecking
|
|
32
|
+
if ( ! enableContrastChecking ) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if ( ! definedColors.length ) {
|
|
36
|
+
if ( detectedBackgroundColor ) {
|
|
37
|
+
setDetectedBackgroundColor();
|
|
38
|
+
}
|
|
39
|
+
if ( detectedColor ) {
|
|
40
|
+
setDetectedColor();
|
|
41
|
+
}
|
|
42
|
+
if ( detectedLinkColor ) {
|
|
43
|
+
setDetectedColor();
|
|
44
|
+
}
|
|
33
45
|
return;
|
|
34
46
|
}
|
|
35
47
|
|
package/src/hooks/color.js
CHANGED
|
@@ -459,6 +459,8 @@ export function ColorEdit( props ) {
|
|
|
459
459
|
Platform.OS === 'web' &&
|
|
460
460
|
! gradient &&
|
|
461
461
|
! style?.color?.gradient &&
|
|
462
|
+
hasBackgroundColor &&
|
|
463
|
+
( hasLinkColor || hasTextColor ) &&
|
|
462
464
|
// Contrast checking is enabled by default.
|
|
463
465
|
// Deactivating it requires `enableContrastChecker` to have
|
|
464
466
|
// an explicit value of `false`.
|