@wordpress/block-editor 15.19.1-next.v.202605131032.0 → 15.20.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 +15 -1
- package/build/components/block-card/index.cjs +51 -41
- package/build/components/block-card/index.cjs.map +3 -3
- package/build/components/block-heading-level-dropdown/heading-level-icon.cjs.map +3 -3
- package/build/components/block-icon/index.cjs +7 -1
- package/build/components/block-icon/index.cjs.map +3 -3
- package/build/components/block-inspector/index.cjs +156 -11
- package/build/components/block-inspector/index.cjs.map +3 -3
- package/build/components/block-inspector/inspector-pre-tabs-slot-fill.cjs +38 -0
- package/build/components/block-inspector/inspector-pre-tabs-slot-fill.cjs.map +7 -0
- package/build/components/block-list/use-block-props/index.cjs +1 -1
- package/build/components/block-list/use-block-props/index.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-handler.cjs +3 -4
- package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +3 -3
- package/build/components/block-list/use-block-props/use-is-hovered.cjs +24 -14
- package/build/components/block-list/use-block-props/use-is-hovered.cjs.map +3 -3
- package/build/components/block-lock/modal.cjs.map +3 -3
- package/build/components/block-patterns-list/index.cjs +13 -2
- package/build/components/block-patterns-list/index.cjs.map +2 -2
- package/build/components/block-popover/index.cjs +13 -3
- package/build/components/block-popover/index.cjs.map +2 -2
- package/build/components/block-toolbar/switch-section-style.cjs.map +3 -3
- package/build/components/block-visibility/modal.cjs.map +3 -3
- package/build/components/block-visibility/viewport-visibility-info.cjs.map +3 -3
- package/build/components/colors-gradients/control.cjs +7 -4
- package/build/components/colors-gradients/control.cjs.map +2 -2
- package/build/components/global-styles/advanced-panel.cjs +24 -22
- package/build/components/global-styles/advanced-panel.cjs.map +3 -3
- package/build/components/global-styles/color-panel.cjs +95 -58
- package/build/components/global-styles/color-panel.cjs.map +2 -2
- package/build/components/global-styles/dimensions-panel.cjs +11 -5
- package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
- package/build/components/global-styles/index.cjs +3 -0
- package/build/components/global-styles/index.cjs.map +2 -2
- package/build/components/global-styles/shadow-panel-components.cjs +38 -26
- package/build/components/global-styles/shadow-panel-components.cjs.map +2 -2
- package/build/components/global-styles/state-control-badges.cjs +69 -0
- package/build/components/global-styles/state-control-badges.cjs.map +7 -0
- package/build/components/global-styles/state-control.cjs +54 -63
- package/build/components/global-styles/state-control.cjs.map +3 -3
- package/build/components/iframe/index.cjs +0 -3
- package/build/components/iframe/index.cjs.map +2 -2
- package/build/components/iframe/use-scale-canvas.cjs +4 -1
- package/build/components/iframe/use-scale-canvas.cjs.map +2 -2
- package/build/components/inserter/hooks/use-patterns-state.cjs +4 -6
- package/build/components/inserter/hooks/use-patterns-state.cjs.map +2 -2
- package/build/components/inserter/index.cjs +1 -0
- package/build/components/inserter/index.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-preview.cjs +27 -18
- package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
- package/build/components/inserter/media-tab/utils.cjs +1 -1
- package/build/components/inserter/media-tab/utils.cjs.map +2 -2
- package/build/components/inserter/panel.cjs.map +3 -3
- package/build/components/inspector-controls/block-support-tools-panel.cjs +10 -2
- package/build/components/inspector-controls/block-support-tools-panel.cjs.map +2 -2
- package/build/components/inspector-controls/fill.cjs +14 -4
- package/build/components/inspector-controls/fill.cjs.map +2 -2
- package/build/components/inspector-controls/groups.cjs +2 -0
- package/build/components/inspector-controls/groups.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/index.cjs +13 -8
- package/build/components/inspector-controls-tabs/index.cjs.map +3 -3
- package/build/components/inspector-controls-tabs/settings-tab.cjs +1 -4
- package/build/components/inspector-controls-tabs/settings-tab.cjs.map +3 -3
- package/build/components/inspector-controls-tabs/styles-tab.cjs +9 -0
- package/build/components/inspector-controls-tabs/styles-tab.cjs.map +3 -3
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs +11 -5
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs.map +2 -2
- package/build/components/list-view/block-select-button.cjs +20 -8
- package/build/components/list-view/block-select-button.cjs.map +2 -2
- package/build/components/list-view/block.cjs +2 -1
- package/build/components/list-view/block.cjs.map +2 -2
- package/build/components/preset-input-control/custom-value-controls.cjs +10 -1
- package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
- package/build/components/preset-input-control/index.cjs.map +3 -3
- package/build/components/provider/use-media-upload-settings.cjs +1 -0
- package/build/components/provider/use-media-upload-settings.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/enter.cjs +9 -2
- package/build/components/rich-text/event-listeners/enter.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/paste-handler.cjs +4 -4
- package/build/components/rich-text/event-listeners/paste-handler.cjs.map +3 -3
- package/build/hooks/background.cjs +13 -3
- package/build/hooks/background.cjs.map +2 -2
- package/build/hooks/block-fields/link/index.cjs.map +3 -3
- package/build/hooks/block-fields/media/index.cjs.map +3 -3
- package/build/hooks/block-style-state.cjs +112 -0
- package/build/hooks/block-style-state.cjs.map +7 -0
- package/build/hooks/border.cjs +13 -3
- package/build/hooks/border.cjs.map +2 -2
- package/build/hooks/color.cjs +28 -9
- package/build/hooks/color.cjs.map +2 -2
- package/build/hooks/dimensions.cjs +15 -6
- package/build/hooks/dimensions.cjs.map +2 -2
- package/build/hooks/layout-child.cjs +147 -61
- package/build/hooks/layout-child.cjs.map +2 -2
- package/build/hooks/layout.cjs +263 -56
- package/build/hooks/layout.cjs.map +3 -3
- package/build/hooks/state-utils.cjs +94 -0
- package/build/hooks/state-utils.cjs.map +7 -0
- package/build/hooks/states.cjs +124 -0
- package/build/hooks/states.cjs.map +7 -0
- package/build/hooks/style.cjs +304 -17
- package/build/hooks/style.cjs.map +3 -3
- package/build/hooks/typography.cjs +14 -5
- package/build/hooks/typography.cjs.map +2 -2
- package/build/layouts/constrained.cjs +128 -55
- package/build/layouts/constrained.cjs.map +3 -3
- package/build/layouts/flex.cjs +119 -31
- package/build/layouts/flex.cjs.map +3 -3
- package/build/layouts/grid.cjs +103 -40
- package/build/layouts/grid.cjs.map +3 -3
- package/build/private-apis.cjs +2 -0
- package/build/private-apis.cjs.map +2 -2
- package/build/store/private-actions.cjs +18 -0
- package/build/store/private-actions.cjs.map +2 -2
- package/build/store/private-keys.cjs +10 -2
- package/build/store/private-keys.cjs.map +2 -2
- package/build/store/private-selectors.cjs +26 -2
- package/build/store/private-selectors.cjs.map +2 -2
- package/build/store/reducer.cjs +70 -1
- package/build/store/reducer.cjs.map +2 -2
- package/build/store/utils.cjs +1 -1
- package/build/store/utils.cjs.map +2 -2
- package/build/utils/color-values.cjs +44 -0
- package/build/utils/color-values.cjs.map +7 -0
- package/build-module/components/block-card/index.mjs +52 -45
- package/build-module/components/block-card/index.mjs.map +2 -2
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs +2 -2
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs.map +2 -2
- package/build-module/components/block-icon/index.mjs +8 -2
- package/build-module/components/block-icon/index.mjs.map +2 -2
- package/build-module/components/block-inspector/index.mjs +166 -13
- package/build-module/components/block-inspector/index.mjs.map +2 -2
- package/build-module/components/block-inspector/inspector-pre-tabs-slot-fill.mjs +12 -0
- package/build-module/components/block-inspector/inspector-pre-tabs-slot-fill.mjs.map +7 -0
- package/build-module/components/block-list/use-block-props/index.mjs +1 -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-handler.mjs +7 -5
- package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-is-hovered.mjs +28 -15
- package/build-module/components/block-list/use-block-props/use-is-hovered.mjs.map +2 -2
- package/build-module/components/block-lock/modal.mjs +4 -4
- package/build-module/components/block-lock/modal.mjs.map +2 -2
- package/build-module/components/block-patterns-list/index.mjs +14 -4
- package/build-module/components/block-patterns-list/index.mjs.map +2 -2
- package/build-module/components/block-popover/index.mjs +13 -3
- package/build-module/components/block-popover/index.mjs.map +2 -2
- package/build-module/components/block-toolbar/switch-section-style.mjs +2 -2
- package/build-module/components/block-toolbar/switch-section-style.mjs.map +2 -2
- package/build-module/components/block-visibility/modal.mjs +2 -2
- package/build-module/components/block-visibility/modal.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-visibility-info.mjs +2 -2
- package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
- package/build-module/components/colors-gradients/control.mjs +7 -4
- package/build-module/components/colors-gradients/control.mjs.map +2 -2
- package/build-module/components/global-styles/advanced-panel.mjs +25 -27
- package/build-module/components/global-styles/advanced-panel.mjs.map +2 -2
- package/build-module/components/global-styles/color-panel.mjs +96 -59
- package/build-module/components/global-styles/color-panel.mjs.map +2 -2
- package/build-module/components/global-styles/dimensions-panel.mjs +14 -5
- package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
- package/build-module/components/global-styles/index.mjs +2 -0
- package/build-module/components/global-styles/index.mjs.map +2 -2
- package/build-module/components/global-styles/shadow-panel-components.mjs +39 -28
- package/build-module/components/global-styles/shadow-panel-components.mjs.map +2 -2
- package/build-module/components/global-styles/state-control-badges.mjs +48 -0
- package/build-module/components/global-styles/state-control-badges.mjs.map +7 -0
- package/build-module/components/global-styles/state-control.mjs +57 -71
- package/build-module/components/global-styles/state-control.mjs.map +2 -2
- package/build-module/components/iframe/index.mjs +0 -3
- package/build-module/components/iframe/index.mjs.map +2 -2
- package/build-module/components/iframe/use-scale-canvas.mjs +4 -1
- package/build-module/components/iframe/use-scale-canvas.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-patterns-state.mjs +8 -7
- package/build-module/components/inserter/hooks/use-patterns-state.mjs.map +2 -2
- package/build-module/components/inserter/index.mjs +1 -0
- package/build-module/components/inserter/index.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-preview.mjs +27 -19
- package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/utils.mjs +1 -1
- package/build-module/components/inserter/media-tab/utils.mjs.map +2 -2
- package/build-module/components/inserter/panel.mjs +2 -2
- package/build-module/components/inserter/panel.mjs.map +2 -2
- package/build-module/components/inspector-controls/block-support-tools-panel.mjs +10 -2
- package/build-module/components/inspector-controls/block-support-tools-panel.mjs.map +2 -2
- package/build-module/components/inspector-controls/fill.mjs +18 -5
- package/build-module/components/inspector-controls/fill.mjs.map +2 -2
- package/build-module/components/inspector-controls/groups.mjs +2 -0
- package/build-module/components/inspector-controls/groups.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/index.mjs +14 -10
- package/build-module/components/inspector-controls-tabs/index.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/settings-tab.mjs +1 -4
- package/build-module/components/inspector-controls-tabs/settings-tab.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs +9 -0
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs +11 -5
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs.map +2 -2
- package/build-module/components/list-view/block-select-button.mjs +20 -9
- package/build-module/components/list-view/block-select-button.mjs.map +2 -2
- package/build-module/components/list-view/block.mjs +2 -1
- package/build-module/components/list-view/block.mjs.map +2 -2
- package/build-module/components/preset-input-control/custom-value-controls.mjs +10 -2
- package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
- package/build-module/components/preset-input-control/index.mjs +2 -2
- package/build-module/components/preset-input-control/index.mjs.map +2 -2
- package/build-module/components/provider/use-media-upload-settings.mjs +1 -0
- package/build-module/components/provider/use-media-upload-settings.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/enter.mjs +9 -2
- package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs +4 -4
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
- package/build-module/hooks/background.mjs +18 -3
- package/build-module/hooks/background.mjs.map +2 -2
- package/build-module/hooks/block-fields/link/index.mjs +3 -3
- package/build-module/hooks/block-fields/link/index.mjs.map +2 -2
- package/build-module/hooks/block-fields/media/index.mjs +3 -3
- package/build-module/hooks/block-fields/media/index.mjs.map +2 -2
- package/build-module/hooks/block-style-state.mjs +79 -0
- package/build-module/hooks/block-style-state.mjs.map +7 -0
- package/build-module/hooks/border.mjs +18 -3
- package/build-module/hooks/border.mjs.map +2 -2
- package/build-module/hooks/color.mjs +33 -9
- package/build-module/hooks/color.mjs.map +2 -2
- package/build-module/hooks/dimensions.mjs +20 -6
- package/build-module/hooks/dimensions.mjs.map +2 -2
- package/build-module/hooks/layout-child.mjs +141 -61
- package/build-module/hooks/layout-child.mjs.map +2 -2
- package/build-module/hooks/layout.mjs +270 -58
- package/build-module/hooks/layout.mjs.map +2 -2
- package/build-module/hooks/state-utils.mjs +64 -0
- package/build-module/hooks/state-utils.mjs.map +7 -0
- package/build-module/hooks/states.mjs +85 -0
- package/build-module/hooks/states.mjs.map +7 -0
- package/build-module/hooks/style.mjs +309 -18
- package/build-module/hooks/style.mjs.map +2 -2
- package/build-module/hooks/typography.mjs +19 -5
- package/build-module/hooks/typography.mjs.map +2 -2
- package/build-module/layouts/constrained.mjs +130 -57
- package/build-module/layouts/constrained.mjs.map +2 -2
- package/build-module/layouts/flex.mjs +123 -35
- package/build-module/layouts/flex.mjs.map +2 -2
- package/build-module/layouts/grid.mjs +105 -42
- package/build-module/layouts/grid.mjs.map +2 -2
- package/build-module/private-apis.mjs +4 -0
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/private-actions.mjs +16 -0
- package/build-module/store/private-actions.mjs.map +2 -2
- package/build-module/store/private-keys.mjs +7 -1
- package/build-module/store/private-keys.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +25 -2
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/reducer.mjs +69 -1
- package/build-module/store/reducer.mjs.map +2 -2
- package/build-module/store/utils.mjs +5 -2
- package/build-module/store/utils.mjs.map +2 -2
- package/build-module/utils/color-values.mjs +19 -0
- package/build-module/utils/color-values.mjs.map +7 -0
- package/build-style/content-rtl.css +18 -3
- package/build-style/content.css +18 -3
- package/build-style/style-rtl.css +14 -17
- package/build-style/style.css +14 -17
- package/package.json +41 -41
- package/src/components/audio-player/index.native.js +7 -3
- package/src/components/block-card/index.js +67 -60
- package/src/components/block-heading-level-dropdown/heading-level-icon.js +2 -2
- package/src/components/block-icon/index.js +5 -2
- package/src/components/block-icon/index.native.js +2 -2
- package/src/components/block-inspector/index.js +153 -7
- package/src/components/block-inspector/inspector-pre-tabs-slot-fill.js +11 -0
- package/src/components/block-list/block-selection-button.native.js +3 -3
- package/src/components/block-list/content.scss +0 -6
- package/src/components/block-list/use-block-props/index.js +1 -1
- package/src/components/block-list/use-block-props/use-focus-handler.js +8 -6
- package/src/components/block-list/use-block-props/use-is-hovered.js +32 -15
- package/src/components/block-lock/modal.js +4 -4
- package/src/components/block-patterns-list/index.js +14 -5
- package/src/components/block-patterns-list/stories/index.story.jsx +2 -0
- package/src/components/block-patterns-list/style.scss +0 -1
- package/src/components/block-popover/index.js +20 -10
- package/src/components/block-toolbar/switch-section-style.js +2 -2
- package/src/components/block-visibility/modal.js +2 -2
- package/src/components/block-visibility/viewport-visibility-info.js +2 -2
- package/src/components/colors/test/with-colors.js +1 -1
- package/src/components/colors-gradients/control.js +10 -8
- package/src/components/colors-gradients/test/control.js +98 -1
- package/src/components/global-styles/advanced-panel.js +44 -39
- package/src/components/global-styles/color-panel.js +133 -60
- package/src/components/global-styles/dimensions-panel.js +17 -4
- package/src/components/global-styles/index.js +1 -0
- package/src/components/global-styles/shadow-panel-components.js +29 -19
- package/src/components/global-styles/state-control-badges.js +58 -0
- package/src/components/global-styles/state-control.js +28 -36
- package/src/components/global-styles/test/color-panel.js +135 -0
- package/src/components/iframe/index.js +0 -3
- package/src/components/iframe/use-scale-canvas.js +8 -2
- package/src/components/inserter/hooks/use-patterns-state.js +12 -7
- package/src/components/inserter/index.js +1 -0
- package/src/components/inserter/media-tab/media-preview.js +29 -20
- package/src/components/inserter/media-tab/utils.js +1 -1
- package/src/components/inserter/panel.js +2 -2
- package/src/components/inserter/style.scss +1 -0
- package/src/components/inserter-button/index.native.js +5 -2
- package/src/components/inspector-controls/block-support-tools-panel.js +10 -2
- package/src/components/inspector-controls/fill.js +18 -5
- package/src/components/inspector-controls/groups.js +2 -0
- package/src/components/inspector-controls-tabs/index.js +9 -5
- package/src/components/inspector-controls-tabs/settings-tab.js +1 -7
- package/src/components/inspector-controls-tabs/styles-tab.js +6 -0
- package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +13 -7
- package/src/components/list-view/block-select-button.js +19 -9
- package/src/components/list-view/block.js +6 -1
- package/src/components/media-replace-flow/style.scss +0 -18
- package/src/components/preset-input-control/custom-value-controls.js +13 -6
- package/src/components/preset-input-control/index.js +2 -2
- package/src/components/provider/use-media-upload-settings.js +1 -0
- package/src/components/rich-text/event-listeners/enter.js +14 -2
- package/src/components/rich-text/event-listeners/paste-handler.js +5 -4
- package/src/components/unsupported-block-details/index.native.js +6 -2
- package/src/components/video-player/index.native.js +2 -2
- package/src/components/warning/index.native.js +2 -2
- package/src/hooks/background.js +59 -37
- package/src/hooks/block-fields/link/index.js +3 -3
- package/src/hooks/block-fields/media/index.js +3 -3
- package/src/hooks/block-style-state.js +127 -0
- package/src/hooks/border.js +25 -6
- package/src/hooks/color.js +40 -18
- package/src/hooks/dimensions.js +32 -11
- package/src/hooks/layout-child.js +179 -62
- package/src/hooks/layout.js +349 -75
- package/src/hooks/layout.scss +6 -0
- package/src/hooks/state-utils.js +158 -0
- package/src/hooks/states.js +109 -0
- package/src/hooks/style.js +456 -19
- package/src/hooks/test/block-style-state.js +270 -0
- package/src/hooks/test/layout.js +185 -0
- package/src/hooks/test/state-utils.js +193 -0
- package/src/hooks/test/style.js +301 -1
- package/src/hooks/typography.js +33 -14
- package/src/layouts/constrained.js +182 -95
- package/src/layouts/flex.js +141 -36
- package/src/layouts/grid.js +122 -32
- package/src/layouts/test/flex.js +57 -20
- package/src/private-apis.js +4 -0
- package/src/store/private-actions.js +32 -0
- package/src/store/private-keys.js +4 -0
- package/src/store/private-selectors.js +44 -2
- package/src/store/reducer.js +105 -1
- package/src/store/test/private-actions.js +26 -0
- package/src/store/test/private-selectors.js +90 -0
- package/src/store/test/reducer.js +363 -0
- package/src/store/utils.js +6 -2
- package/src/utils/color-values.js +28 -0
- package/src/utils/test/color-values.js +78 -0
|
@@ -16,6 +16,7 @@ export default function BlockSupportToolsPanel( { children, group, label } ) {
|
|
|
16
16
|
const { updateBlockAttributes } = useDispatch( blockEditorStore );
|
|
17
17
|
const {
|
|
18
18
|
getBlockAttributes,
|
|
19
|
+
getBlockName,
|
|
19
20
|
getMultiSelectedBlockClientIds,
|
|
20
21
|
getSelectedBlockClientId,
|
|
21
22
|
hasMultiSelection,
|
|
@@ -31,13 +32,19 @@ export default function BlockSupportToolsPanel( { children, group, label } ) {
|
|
|
31
32
|
: [ panelId ];
|
|
32
33
|
|
|
33
34
|
clientIds.forEach( ( clientId ) => {
|
|
34
|
-
const
|
|
35
|
+
const blockAttributes = getBlockAttributes( clientId ) || {};
|
|
36
|
+
const { style } = blockAttributes;
|
|
35
37
|
let newBlockAttributes = { style };
|
|
38
|
+
const resetContext = {
|
|
39
|
+
attributes: blockAttributes,
|
|
40
|
+
clientId,
|
|
41
|
+
name: getBlockName( clientId ),
|
|
42
|
+
};
|
|
36
43
|
|
|
37
44
|
resetFilters.forEach( ( resetFilter ) => {
|
|
38
45
|
newBlockAttributes = {
|
|
39
46
|
...newBlockAttributes,
|
|
40
|
-
...resetFilter( newBlockAttributes ),
|
|
47
|
+
...resetFilter( newBlockAttributes, resetContext ),
|
|
41
48
|
};
|
|
42
49
|
} );
|
|
43
50
|
|
|
@@ -54,6 +61,7 @@ export default function BlockSupportToolsPanel( { children, group, label } ) {
|
|
|
54
61
|
},
|
|
55
62
|
[
|
|
56
63
|
getBlockAttributes,
|
|
64
|
+
getBlockName,
|
|
57
65
|
getMultiSelectedBlockClientIds,
|
|
58
66
|
hasMultiSelection,
|
|
59
67
|
panelId,
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from '@wordpress/components';
|
|
8
8
|
import warning from '@wordpress/warning';
|
|
9
9
|
import deprecated from '@wordpress/deprecated';
|
|
10
|
-
import { useEffect, useContext } from '@wordpress/element';
|
|
10
|
+
import { useEffect, useContext, useMemo } from '@wordpress/element';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Internal dependencies
|
|
@@ -19,6 +19,10 @@ import {
|
|
|
19
19
|
isInListViewBlockSupportTreeKey,
|
|
20
20
|
} from '../block-edit/context';
|
|
21
21
|
import groups from './groups';
|
|
22
|
+
import {
|
|
23
|
+
scopeResetAllFilterToState,
|
|
24
|
+
useBlockStyleState,
|
|
25
|
+
} from '../../hooks/block-style-state';
|
|
22
26
|
import { ListViewContentFill } from './list-view-content-popover';
|
|
23
27
|
|
|
24
28
|
const PATTERN_EDITING_GROUPS = [ 'content', 'list' ];
|
|
@@ -117,18 +121,27 @@ export default function InspectorControlsFill( {
|
|
|
117
121
|
function RegisterResetAll( { resetAllFilter, children } ) {
|
|
118
122
|
const { registerResetAllFilter, deregisterResetAllFilter } =
|
|
119
123
|
useContext( ToolsPanelContext );
|
|
124
|
+
const selectedState = useBlockStyleState();
|
|
125
|
+
const scopedResetAllFilter = useMemo(
|
|
126
|
+
() => scopeResetAllFilterToState( selectedState, resetAllFilter ),
|
|
127
|
+
[ resetAllFilter, selectedState ]
|
|
128
|
+
);
|
|
120
129
|
useEffect( () => {
|
|
121
130
|
if (
|
|
122
|
-
|
|
131
|
+
scopedResetAllFilter &&
|
|
123
132
|
registerResetAllFilter &&
|
|
124
133
|
deregisterResetAllFilter
|
|
125
134
|
) {
|
|
126
|
-
registerResetAllFilter(
|
|
135
|
+
registerResetAllFilter( scopedResetAllFilter );
|
|
127
136
|
return () => {
|
|
128
|
-
deregisterResetAllFilter(
|
|
137
|
+
deregisterResetAllFilter( scopedResetAllFilter );
|
|
129
138
|
};
|
|
130
139
|
}
|
|
131
|
-
}, [
|
|
140
|
+
}, [
|
|
141
|
+
scopedResetAllFilter,
|
|
142
|
+
registerResetAllFilter,
|
|
143
|
+
deregisterResetAllFilter,
|
|
144
|
+
] );
|
|
132
145
|
return children;
|
|
133
146
|
}
|
|
134
147
|
|
|
@@ -15,6 +15,7 @@ const InspectorControlsFilter = createSlotFill( 'InspectorControlsFilter' );
|
|
|
15
15
|
const InspectorControlsDimensions = createSlotFill(
|
|
16
16
|
'InspectorControlsDimensions'
|
|
17
17
|
);
|
|
18
|
+
const InspectorControlsLayout = createSlotFill( 'InspectorControlsLayout' );
|
|
18
19
|
const InspectorControlsPosition = createSlotFill( 'InspectorControlsPosition' );
|
|
19
20
|
const InspectorControlsTypography = createSlotFill(
|
|
20
21
|
'InspectorControlsTypography'
|
|
@@ -35,6 +36,7 @@ const groups = {
|
|
|
35
36
|
dimensions: InspectorControlsDimensions,
|
|
36
37
|
effects: InspectorControlsEffects,
|
|
37
38
|
filter: InspectorControlsFilter,
|
|
39
|
+
layout: InspectorControlsLayout,
|
|
38
40
|
list: InspectorControlsListView,
|
|
39
41
|
position: InspectorControlsPosition,
|
|
40
42
|
settings: InspectorControlsDefault, // Alias for default.
|
|
@@ -2,14 +2,16 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import {
|
|
5
|
-
Icon,
|
|
6
|
-
Tooltip,
|
|
5
|
+
Icon as WCIcon,
|
|
7
6
|
privateApis as componentsPrivateApis,
|
|
8
7
|
} from '@wordpress/components';
|
|
9
8
|
import { useEffect, useState, useRef } from '@wordpress/element';
|
|
10
9
|
import { store as preferencesStore } from '@wordpress/preferences';
|
|
11
10
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
12
11
|
|
|
12
|
+
// eslint-disable-next-line @wordpress/use-recommended-components -- `Tooltip` is not yet on the recommended `@wordpress/ui` allow-list; landing as a migration step ahead of the wider rollout.
|
|
13
|
+
import { Tooltip } from '@wordpress/ui';
|
|
14
|
+
|
|
13
15
|
/**
|
|
14
16
|
* Internal dependencies
|
|
15
17
|
*/
|
|
@@ -175,14 +177,16 @@ export default function InspectorControlsTabs( {
|
|
|
175
177
|
{ tab.title }
|
|
176
178
|
</Tabs.Tab>
|
|
177
179
|
) : (
|
|
178
|
-
<Tooltip
|
|
180
|
+
<Tooltip.Root key={ tab.name }>
|
|
179
181
|
<Tabs.Tab
|
|
180
182
|
tabId={ tab.name }
|
|
181
183
|
aria-label={ tab.title }
|
|
184
|
+
render={ <Tooltip.Trigger /> }
|
|
182
185
|
>
|
|
183
|
-
<
|
|
186
|
+
<WCIcon icon={ tab.icon } />
|
|
184
187
|
</Tabs.Tab>
|
|
185
|
-
|
|
188
|
+
<Tooltip.Popup>{ tab.title }</Tooltip.Popup>
|
|
189
|
+
</Tooltip.Root>
|
|
186
190
|
)
|
|
187
191
|
) }
|
|
188
192
|
</Tabs.TabList>
|
|
@@ -7,26 +7,20 @@ import { __experimentalUseSlotFills as useSlotFills } from '@wordpress/component
|
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
9
9
|
import AdvancedControls from './advanced-controls-panel';
|
|
10
|
-
import PositionControls from './position-controls-panel';
|
|
11
10
|
import { default as InspectorControls } from '../inspector-controls';
|
|
12
11
|
import groups from '../inspector-controls/groups';
|
|
13
12
|
|
|
14
13
|
const SettingsTab = ( { showAdvancedControls = false } ) => {
|
|
15
14
|
const defaultFills = useSlotFills( groups.default.name );
|
|
16
|
-
const positionFills = useSlotFills( groups.position.name );
|
|
17
15
|
const bindingsFills = useSlotFills( groups.bindings.name );
|
|
18
16
|
|
|
19
17
|
// Expand the advanced panel when there are no other fills
|
|
20
18
|
// in the settings tab.
|
|
21
|
-
const hasOtherFills =
|
|
22
|
-
!! defaultFills?.length ||
|
|
23
|
-
!! positionFills?.length ||
|
|
24
|
-
!! bindingsFills?.length;
|
|
19
|
+
const hasOtherFills = !! defaultFills?.length || !! bindingsFills?.length;
|
|
25
20
|
|
|
26
21
|
return (
|
|
27
22
|
<>
|
|
28
23
|
<InspectorControls.Slot />
|
|
29
|
-
<PositionControls />
|
|
30
24
|
<InspectorControls.Slot group="bindings" />
|
|
31
25
|
{ showAdvancedControls && (
|
|
32
26
|
<div>
|
|
@@ -9,6 +9,7 @@ import { useDispatch, useSelect } from '@wordpress/data';
|
|
|
9
9
|
*/
|
|
10
10
|
import BlockStyles from '../block-styles';
|
|
11
11
|
import InspectorControls from '../inspector-controls';
|
|
12
|
+
import PositionControls from './position-controls-panel';
|
|
12
13
|
import { useBorderPanelLabel } from '../../hooks/border';
|
|
13
14
|
import { useBlockSettings } from '../../hooks/utils';
|
|
14
15
|
import { store as blockEditorStore } from '../../store';
|
|
@@ -95,6 +96,10 @@ const StylesTab = ( {
|
|
|
95
96
|
group="typography"
|
|
96
97
|
label={ __( 'Typography' ) }
|
|
97
98
|
/>
|
|
99
|
+
<InspectorControls.Slot
|
|
100
|
+
group="layout"
|
|
101
|
+
label={ __( 'Layout' ) }
|
|
102
|
+
/>
|
|
98
103
|
<InspectorControls.Slot
|
|
99
104
|
group="dimensions"
|
|
100
105
|
label={ __( 'Dimensions' ) }
|
|
@@ -103,6 +108,7 @@ const StylesTab = ( {
|
|
|
103
108
|
group="border"
|
|
104
109
|
label={ borderPanelLabel }
|
|
105
110
|
/>
|
|
111
|
+
<PositionControls />
|
|
106
112
|
<InspectorControls.Slot group="styles" />
|
|
107
113
|
</>
|
|
108
114
|
) }
|
|
@@ -41,6 +41,7 @@ export default function useInspectorControlsTabs(
|
|
|
41
41
|
color: colorGroup,
|
|
42
42
|
content: contentGroup,
|
|
43
43
|
default: defaultGroup,
|
|
44
|
+
layout: layoutGroup,
|
|
44
45
|
dimensions: dimensionsGroup,
|
|
45
46
|
list: listGroup,
|
|
46
47
|
position: positionGroup,
|
|
@@ -62,6 +63,8 @@ export default function useInspectorControlsTabs(
|
|
|
62
63
|
const styleFills = [
|
|
63
64
|
...( useSlotFills( borderGroup.name ) || [] ),
|
|
64
65
|
...( useSlotFills( colorGroup.name ) || [] ),
|
|
66
|
+
...( useSlotFills( layoutGroup.name ) || [] ),
|
|
67
|
+
...( useSlotFills( positionGroup.name ) || [] ),
|
|
65
68
|
...( useSlotFills( dimensionsGroup.name ) || [] ),
|
|
66
69
|
...( useSlotFills( stylesGroup.name ) || [] ),
|
|
67
70
|
...( useSlotFills( typographyGroup.name ) || [] ),
|
|
@@ -70,7 +73,7 @@ export default function useInspectorControlsTabs(
|
|
|
70
73
|
const hasStyleFills = styleFills.length;
|
|
71
74
|
|
|
72
75
|
// Settings Tab: If we don't have multiple tabs to display
|
|
73
|
-
// (i.e. both list view and styles), check only the default
|
|
76
|
+
// (i.e. both list view and styles), check only the default
|
|
74
77
|
// InspectorControls slots. If we have multiple tabs, we'll need to check
|
|
75
78
|
// the advanced controls slot as well to ensure they are rendered.
|
|
76
79
|
const advancedFills = [
|
|
@@ -80,7 +83,6 @@ export default function useInspectorControlsTabs(
|
|
|
80
83
|
|
|
81
84
|
const settingsFills = [
|
|
82
85
|
...( useSlotFills( defaultGroup.name ) || [] ),
|
|
83
|
-
...( useSlotFills( positionGroup.name ) || [] ),
|
|
84
86
|
...( hasListFills && hasStyleFills > 1 ? advancedFills : [] ),
|
|
85
87
|
];
|
|
86
88
|
|
|
@@ -111,14 +113,18 @@ export default function useInspectorControlsTabs(
|
|
|
111
113
|
tabs.push( TAB_SETTINGS );
|
|
112
114
|
}
|
|
113
115
|
|
|
114
|
-
|
|
116
|
+
const { tabSettings, isPreviewMode } = useSelect( ( select ) => {
|
|
117
|
+
const settings = select( blockEditorStore ).getSettings();
|
|
118
|
+
return {
|
|
119
|
+
tabSettings: settings.blockInspectorTabs,
|
|
120
|
+
isPreviewMode: settings.isPreviewMode,
|
|
121
|
+
};
|
|
122
|
+
}, [] );
|
|
123
|
+
|
|
124
|
+
if ( ! isPreviewMode && ( hasBlockStyles || hasStyleFills ) ) {
|
|
115
125
|
tabs.push( TAB_STYLES );
|
|
116
126
|
}
|
|
117
127
|
|
|
118
|
-
const tabSettings = useSelect( ( select ) => {
|
|
119
|
-
return select( blockEditorStore ).getSettings().blockInspectorTabs;
|
|
120
|
-
}, [] );
|
|
121
|
-
|
|
122
128
|
const showTabs = getShowTabs( blockName, tabSettings );
|
|
123
129
|
return showTabs ? tabs : EMPTY_ARRAY;
|
|
124
130
|
}
|
|
@@ -9,7 +9,6 @@ import clsx from 'clsx';
|
|
|
9
9
|
import {
|
|
10
10
|
__experimentalHStack as HStack,
|
|
11
11
|
__experimentalTruncate as Truncate,
|
|
12
|
-
Tooltip,
|
|
13
12
|
privateApis as componentsPrivateApis,
|
|
14
13
|
} from '@wordpress/components';
|
|
15
14
|
import { forwardRef } from '@wordpress/element';
|
|
@@ -23,6 +22,9 @@ import {
|
|
|
23
22
|
import { SPACE, ENTER } from '@wordpress/keycodes';
|
|
24
23
|
import { useSelect } from '@wordpress/data';
|
|
25
24
|
|
|
25
|
+
// eslint-disable-next-line @wordpress/use-recommended-components -- `Tooltip` is not yet on the recommended `@wordpress/ui` allow-list; landing as a migration step ahead of the wider rollout.
|
|
26
|
+
import { Tooltip } from '@wordpress/ui';
|
|
27
|
+
|
|
26
28
|
/**
|
|
27
29
|
* Internal dependencies
|
|
28
30
|
*/
|
|
@@ -164,14 +166,22 @@ function ListViewBlockSelectButton(
|
|
|
164
166
|
</span>
|
|
165
167
|
) : null }
|
|
166
168
|
{ !! visibilityLabel && (
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
169
|
+
// TODO: `visibilityLabel` is not exposed to
|
|
170
|
+
// assistive technology — the trigger is
|
|
171
|
+
// `aria-hidden`, so the label is sighted-hover-only.
|
|
172
|
+
<Tooltip.Root>
|
|
173
|
+
<Tooltip.Trigger
|
|
174
|
+
render={
|
|
175
|
+
<span
|
|
176
|
+
className="block-editor-list-view-block-select-button__block-visibility"
|
|
177
|
+
aria-hidden="true"
|
|
178
|
+
>
|
|
179
|
+
<Icon icon={ unseen } />
|
|
180
|
+
</span>
|
|
181
|
+
}
|
|
182
|
+
/>
|
|
183
|
+
<Tooltip.Popup>{ visibilityLabel }</Tooltip.Popup>
|
|
184
|
+
</Tooltip.Root>
|
|
175
185
|
) }
|
|
176
186
|
{ shouldShowLockIcon && (
|
|
177
187
|
<span className="block-editor-list-view-block-select-button__lock">
|
|
@@ -415,7 +415,12 @@ function ListViewBlock( {
|
|
|
415
415
|
|
|
416
416
|
const selectEditorBlock = useCallback(
|
|
417
417
|
( event ) => {
|
|
418
|
-
|
|
418
|
+
// For keyboard activation (Enter/Space on a link), transfer focus
|
|
419
|
+
// to the canvas with the caret at the end of the block.
|
|
420
|
+
// For mouse clicks, keep focus in the list view so that subsequent
|
|
421
|
+
// keyboard operations (arrow navigation, copy/paste) still work.
|
|
422
|
+
const isKeyboardActivation = event?.detail === 0;
|
|
423
|
+
selectBlock( event, clientId, isKeyboardActivation ? -1 : null );
|
|
419
424
|
event.preventDefault();
|
|
420
425
|
},
|
|
421
426
|
[ clientId, selectBlock ]
|
|
@@ -65,21 +65,3 @@
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
|
|
69
|
-
.block-editor-media-flow__error {
|
|
70
|
-
padding: 0 20px 20px 20px;
|
|
71
|
-
max-width: 255px;
|
|
72
|
-
|
|
73
|
-
.components-with-notices-ui {
|
|
74
|
-
max-width: 255px;
|
|
75
|
-
|
|
76
|
-
.components-notice__content {
|
|
77
|
-
overflow: hidden;
|
|
78
|
-
word-wrap: break-word;
|
|
79
|
-
}
|
|
80
|
-
.components-notice__dismiss {
|
|
81
|
-
position: absolute;
|
|
82
|
-
right: 10px;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import {
|
|
5
5
|
RangeControl,
|
|
6
|
-
Tooltip,
|
|
7
6
|
__experimentalUnitControl as UnitControl,
|
|
8
7
|
} from '@wordpress/components';
|
|
9
8
|
|
|
9
|
+
// eslint-disable-next-line @wordpress/use-recommended-components -- `Tooltip` is not yet on the recommended `@wordpress/ui` allow-list; landing as a migration step ahead of the wider rollout.
|
|
10
|
+
import { Tooltip } from '@wordpress/ui';
|
|
11
|
+
|
|
10
12
|
/**
|
|
11
13
|
* CustomValueControls component for handling custom value input.
|
|
12
14
|
*
|
|
@@ -93,11 +95,16 @@ export default function CustomValueControls( {
|
|
|
93
95
|
);
|
|
94
96
|
|
|
95
97
|
const wrappedUnitControl = showTooltip ? (
|
|
96
|
-
<Tooltip
|
|
97
|
-
<
|
|
98
|
-
{
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
<Tooltip.Root>
|
|
99
|
+
<Tooltip.Trigger
|
|
100
|
+
render={
|
|
101
|
+
<div className="preset-input-control__tooltip-wrapper">
|
|
102
|
+
{ unitControl }
|
|
103
|
+
</div>
|
|
104
|
+
}
|
|
105
|
+
/>
|
|
106
|
+
<Tooltip.Popup>{ ariaLabel }</Tooltip.Popup>
|
|
107
|
+
</Tooltip.Root>
|
|
101
108
|
) : (
|
|
102
109
|
unitControl
|
|
103
110
|
);
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import {
|
|
5
5
|
Button,
|
|
6
6
|
CustomSelectControl,
|
|
7
|
-
Icon,
|
|
7
|
+
Icon as WCIcon,
|
|
8
8
|
RangeControl,
|
|
9
9
|
__experimentalHStack as HStack,
|
|
10
10
|
__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,
|
|
@@ -208,7 +208,7 @@ export default function PresetInputControl( {
|
|
|
208
208
|
className={ `preset-input-control__wrapper ${ className }__wrapper` }
|
|
209
209
|
>
|
|
210
210
|
{ icon && (
|
|
211
|
-
<
|
|
211
|
+
<WCIcon
|
|
212
212
|
className="preset-input-control__icon"
|
|
213
213
|
icon={ icon }
|
|
214
214
|
size={ ICON_SIZE }
|
|
@@ -16,6 +16,7 @@ function useMediaUploadSettings( settings = {} ) {
|
|
|
16
16
|
mediaUpload: settings.mediaUpload,
|
|
17
17
|
mediaSideload: settings.mediaSideload,
|
|
18
18
|
mediaFinalize: settings.mediaFinalize,
|
|
19
|
+
mediaDelete: settings.mediaDelete,
|
|
19
20
|
maxUploadFileSize: settings.maxUploadFileSize,
|
|
20
21
|
allowedMimeTypes: settings.allowedMimeTypes,
|
|
21
22
|
allImageSizes: settings.allImageSizes,
|
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { ENTER } from '@wordpress/keycodes';
|
|
5
5
|
import { insert, remove } from '@wordpress/rich-text';
|
|
6
|
+
import { privateApis as composePrivateApis } from '@wordpress/compose';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
import { unlock } from '../../../lock-unlock';
|
|
12
|
+
|
|
13
|
+
const { subscribeDelegatedListener } = unlock( composePrivateApis );
|
|
6
14
|
|
|
7
15
|
export default ( props ) => ( element ) => {
|
|
8
16
|
function onKeyDownDeprecated( event ) {
|
|
@@ -75,10 +83,14 @@ export default ( props ) => ( element ) => {
|
|
|
75
83
|
|
|
76
84
|
// Attach the listener to the window so parent elements have the chance to
|
|
77
85
|
// prevent the default behavior.
|
|
78
|
-
|
|
86
|
+
const unsubscribeKeyDown = subscribeDelegatedListener(
|
|
87
|
+
defaultView,
|
|
88
|
+
'keydown',
|
|
89
|
+
onKeyDown
|
|
90
|
+
);
|
|
79
91
|
element.addEventListener( 'keydown', onKeyDownDeprecated );
|
|
80
92
|
return () => {
|
|
81
|
-
|
|
93
|
+
unsubscribeKeyDown();
|
|
82
94
|
element.removeEventListener( 'keydown', onKeyDownDeprecated );
|
|
83
95
|
};
|
|
84
96
|
};
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { pasteHandler } from '@wordpress/blocks';
|
|
5
5
|
import { isEmpty, insert, create } from '@wordpress/rich-text';
|
|
6
6
|
import { isURL } from '@wordpress/url';
|
|
7
|
+
import { privateApis as composePrivateApis } from '@wordpress/compose';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Internal dependencies
|
|
@@ -11,6 +12,9 @@ import { isURL } from '@wordpress/url';
|
|
|
11
12
|
import { store as blockEditorStore } from '../../../store';
|
|
12
13
|
import { addActiveFormats } from '../utils';
|
|
13
14
|
import { getPasteEventData } from '../../../utils/pasting';
|
|
15
|
+
import { unlock } from '../../../lock-unlock';
|
|
16
|
+
|
|
17
|
+
const { subscribeDelegatedListener } = unlock( composePrivateApis );
|
|
14
18
|
|
|
15
19
|
/** @typedef {import('@wordpress/rich-text').RichTextValue} RichTextValue */
|
|
16
20
|
|
|
@@ -141,8 +145,5 @@ export default ( props ) => ( element ) => {
|
|
|
141
145
|
|
|
142
146
|
// Attach the listener to the window so parent elements have the chance to
|
|
143
147
|
// prevent the default behavior.
|
|
144
|
-
|
|
145
|
-
return () => {
|
|
146
|
-
defaultView.removeEventListener( 'paste', _onPaste );
|
|
147
|
-
};
|
|
148
|
+
return subscribeDelegatedListener( defaultView, 'paste', _onPaste );
|
|
148
149
|
};
|
|
@@ -6,7 +6,11 @@ import { View, Text } from 'react-native';
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
BottomSheet,
|
|
11
|
+
Icon as WCIcon,
|
|
12
|
+
TextControl,
|
|
13
|
+
} from '@wordpress/components';
|
|
10
14
|
import {
|
|
11
15
|
requestUnsupportedBlockFallback,
|
|
12
16
|
sendActionButtonPressedAction,
|
|
@@ -148,7 +152,7 @@ const UnsupportedBlockDetails = ( {
|
|
|
148
152
|
} }
|
|
149
153
|
>
|
|
150
154
|
<View style={ styles[ 'unsupported-block-details__container' ] }>
|
|
151
|
-
<
|
|
155
|
+
<WCIcon
|
|
152
156
|
icon={ icon || help }
|
|
153
157
|
color={ iconStyle.color }
|
|
154
158
|
size={ iconStyle.size }
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { Component } from '@wordpress/element';
|
|
5
|
-
import { Icon } from '@wordpress/components';
|
|
5
|
+
import { Icon as WCIcon } from '@wordpress/components';
|
|
6
6
|
import { __ } from '@wordpress/i18n';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -118,7 +118,7 @@ class Video extends Component {
|
|
|
118
118
|
style={ [ style, styles.overlayContainer ] }
|
|
119
119
|
>
|
|
120
120
|
<View style={ styles.blackOverlay } />
|
|
121
|
-
<
|
|
121
|
+
<WCIcon
|
|
122
122
|
icon={ PlayIcon }
|
|
123
123
|
style={ styles.playIcon }
|
|
124
124
|
size={ styles.playIcon.size }
|
|
@@ -6,7 +6,7 @@ import { View, Text } from 'react-native';
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
|
-
import { Icon } from '@wordpress/components';
|
|
9
|
+
import { Icon as WCIcon } from '@wordpress/components';
|
|
10
10
|
import { withPreferredColorScheme } from '@wordpress/compose';
|
|
11
11
|
import { normalizeIconObject } from '@wordpress/blocks';
|
|
12
12
|
|
|
@@ -48,7 +48,7 @@ function Warning( {
|
|
|
48
48
|
<View style={ containerStyle } { ...viewProps }>
|
|
49
49
|
{ icon && (
|
|
50
50
|
<View style={ styles.icon }>
|
|
51
|
-
<
|
|
51
|
+
<WCIcon
|
|
52
52
|
className={ iconClass || internalIconClass }
|
|
53
53
|
icon={ icon && icon.src ? icon.src : icon }
|
|
54
54
|
/>
|
package/src/hooks/background.js
CHANGED
|
@@ -23,6 +23,12 @@ import {
|
|
|
23
23
|
hasBackgroundGradientValue,
|
|
24
24
|
} from '../components/global-styles/background-panel';
|
|
25
25
|
import { globalStylesDataKey } from '../store/private-keys';
|
|
26
|
+
import {
|
|
27
|
+
getStyleForState,
|
|
28
|
+
isDefaultBlockStyleState,
|
|
29
|
+
setStyleForState,
|
|
30
|
+
useBlockStyleState,
|
|
31
|
+
} from './block-style-state';
|
|
26
32
|
|
|
27
33
|
export const BACKGROUND_SUPPORT_KEY = 'background';
|
|
28
34
|
|
|
@@ -164,6 +170,7 @@ export function BackgroundImagePanel( {
|
|
|
164
170
|
setAttributes,
|
|
165
171
|
settings,
|
|
166
172
|
} ) {
|
|
173
|
+
const selectedState = useBlockStyleState();
|
|
167
174
|
const { style, className, inheritedValue } = useSelect(
|
|
168
175
|
( select ) => {
|
|
169
176
|
const { getBlockAttributes, getSettings } =
|
|
@@ -213,44 +220,55 @@ export function BackgroundImagePanel( {
|
|
|
213
220
|
return null;
|
|
214
221
|
}
|
|
215
222
|
|
|
216
|
-
const
|
|
217
|
-
const isMigrating =
|
|
218
|
-
backgroundGradientSupported && !! style?.color?.gradient;
|
|
219
|
-
const newAttributes = {
|
|
220
|
-
style: cleanEmptyObject(
|
|
221
|
-
backgroundGradientSupported
|
|
222
|
-
? {
|
|
223
|
-
...newStyle,
|
|
224
|
-
color: {
|
|
225
|
-
...newStyle?.color,
|
|
226
|
-
gradient: undefined,
|
|
227
|
-
},
|
|
228
|
-
}
|
|
229
|
-
: newStyle
|
|
230
|
-
),
|
|
231
|
-
};
|
|
223
|
+
const isStateSelected = ! isDefaultBlockStyleState( selectedState );
|
|
232
224
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
225
|
+
const onChange = isStateSelected
|
|
226
|
+
? ( newStyle ) => {
|
|
227
|
+
setAttributes( {
|
|
228
|
+
style: setStyleForState( style, selectedState, newStyle ),
|
|
229
|
+
} );
|
|
230
|
+
}
|
|
231
|
+
: ( newStyle ) => {
|
|
232
|
+
const isMigrating =
|
|
233
|
+
backgroundGradientSupported && !! style?.color?.gradient;
|
|
234
|
+
const newAttributes = {
|
|
235
|
+
style: cleanEmptyObject(
|
|
236
|
+
backgroundGradientSupported
|
|
237
|
+
? {
|
|
238
|
+
...newStyle,
|
|
239
|
+
color: {
|
|
240
|
+
...newStyle?.color,
|
|
241
|
+
gradient: undefined,
|
|
242
|
+
},
|
|
243
|
+
}
|
|
244
|
+
: newStyle
|
|
245
|
+
),
|
|
246
|
+
};
|
|
251
247
|
|
|
252
|
-
|
|
253
|
-
|
|
248
|
+
// When migrating from color.gradient to background.gradient, preserve
|
|
249
|
+
// the has-background class so existing styles relying on it (e.g.
|
|
250
|
+
// theme padding) are not silently broken. Only add the class when a
|
|
251
|
+
// gradient value is being set — not when it is being cleared/reset.
|
|
252
|
+
// Conversely, if the gradient is cleared and has-background was added
|
|
253
|
+
// during a previous migration, remove it so it does not linger.
|
|
254
|
+
if ( isMigrating && !! newStyle?.background?.gradient ) {
|
|
255
|
+
newAttributes.className = clsx(
|
|
256
|
+
className,
|
|
257
|
+
'has-background'
|
|
258
|
+
);
|
|
259
|
+
} else if (
|
|
260
|
+
! newStyle?.background?.gradient &&
|
|
261
|
+
className?.includes( 'has-background' )
|
|
262
|
+
) {
|
|
263
|
+
newAttributes.className =
|
|
264
|
+
className
|
|
265
|
+
.split( ' ' )
|
|
266
|
+
.filter( ( c ) => c !== 'has-background' )
|
|
267
|
+
.join( ' ' ) || undefined;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
setAttributes( newAttributes );
|
|
271
|
+
};
|
|
254
272
|
|
|
255
273
|
// When background.gradient is supported but not yet explicitly set, fall
|
|
256
274
|
// back to color.gradient for display. Any write from this panel migrates
|
|
@@ -292,7 +310,11 @@ export function BackgroundImagePanel( {
|
|
|
292
310
|
settings={ updatedSettings }
|
|
293
311
|
onChange={ onChange }
|
|
294
312
|
defaultControls={ defaultControls }
|
|
295
|
-
value={
|
|
313
|
+
value={
|
|
314
|
+
isStateSelected
|
|
315
|
+
? getStyleForState( style, selectedState )
|
|
316
|
+
: styleValue
|
|
317
|
+
}
|
|
296
318
|
/>
|
|
297
319
|
);
|
|
298
320
|
}
|