@wordpress/block-editor 15.19.1-next.v.202605131032.0 → 15.21.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 +17 -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/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/child-layout-control/index.cjs +10 -5
- package/build/components/child-layout-control/index.cjs.map +2 -2
- 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 +15 -8
- 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/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/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 +32 -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/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/child-layout-control/index.mjs +10 -5
- package/build-module/components/child-layout-control/index.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 +20 -8
- 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/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/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 +30 -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 +39 -39
- 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/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/child-layout-control/index.js +15 -8
- package/src/components/child-layout-control/test/index.js +126 -0
- 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 +29 -8
- 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/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/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 +61 -2
- package/src/store/reducer.js +105 -1
- package/src/store/test/private-actions.js +26 -0
- package/src/store/test/private-selectors.js +143 -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
|
@@ -8,8 +8,12 @@ import {
|
|
|
8
8
|
hasBlockSupport,
|
|
9
9
|
store as blocksStore,
|
|
10
10
|
} from '@wordpress/blocks';
|
|
11
|
-
import {
|
|
12
|
-
|
|
11
|
+
import {
|
|
12
|
+
ToggleControl,
|
|
13
|
+
__experimentalSpacer as Spacer,
|
|
14
|
+
__unstableMotion as motion,
|
|
15
|
+
} from '@wordpress/components';
|
|
16
|
+
import { useDispatch, useSelect } from '@wordpress/data';
|
|
13
17
|
import { useRef } from '@wordpress/element';
|
|
14
18
|
|
|
15
19
|
/**
|
|
@@ -25,6 +29,7 @@ import { store as blockEditorStore } from '../../store';
|
|
|
25
29
|
import BlockStyles from '../block-styles';
|
|
26
30
|
import { ListViewContentPopover } from '../inspector-controls/list-view-content-popover';
|
|
27
31
|
import InspectorControls from '../inspector-controls';
|
|
32
|
+
import { BlockInspectorPreTabsSlot } from './inspector-pre-tabs-slot-fill';
|
|
28
33
|
import { default as InspectorControlsTabs } from '../inspector-controls-tabs';
|
|
29
34
|
import useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';
|
|
30
35
|
import InspectorControlsLastItem from '../inspector-controls/last-item';
|
|
@@ -32,9 +37,16 @@ import AdvancedControls from '../inspector-controls-tabs/advanced-controls-panel
|
|
|
32
37
|
import PositionControls from '../inspector-controls-tabs/position-controls-panel';
|
|
33
38
|
import useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';
|
|
34
39
|
import { useBorderPanelLabel } from '../../hooks/border';
|
|
40
|
+
import { BlockStateBadges, BlockStatesControl } from '../../hooks/states';
|
|
35
41
|
import ContentTab from '../inspector-controls-tabs/content-tab';
|
|
36
42
|
import ViewportVisibilityInfo from '../block-visibility/viewport-visibility-info';
|
|
37
43
|
import { unlock } from '../../lock-unlock';
|
|
44
|
+
import {
|
|
45
|
+
hasPseudoBlockStyleState,
|
|
46
|
+
hasViewportBlockStyleState,
|
|
47
|
+
isDefaultBlockStyleState,
|
|
48
|
+
} from '../../hooks/block-style-state';
|
|
49
|
+
import { onViewportStateChangeKey } from '../../store/private-keys';
|
|
38
50
|
|
|
39
51
|
function StyleInspectorSlots( {
|
|
40
52
|
blockName,
|
|
@@ -60,13 +72,14 @@ function StyleInspectorSlots( {
|
|
|
60
72
|
group="typography"
|
|
61
73
|
label={ __( 'Typography' ) }
|
|
62
74
|
/>
|
|
75
|
+
<InspectorControls.Slot group="layout" label={ __( 'Layout' ) } />
|
|
63
76
|
<InspectorControls.Slot
|
|
64
77
|
group="dimensions"
|
|
65
78
|
label={ __( 'Dimensions' ) }
|
|
66
79
|
/>
|
|
67
80
|
<InspectorControls.Slot group="border" label={ borderPanelLabel } />
|
|
68
|
-
<InspectorControls.Slot group="styles" />
|
|
69
81
|
{ showPositionControls && <PositionControls /> }
|
|
82
|
+
<InspectorControls.Slot group="styles" />
|
|
70
83
|
{ showBindingsControls && (
|
|
71
84
|
<InspectorControls.Slot group="bindings" />
|
|
72
85
|
) }
|
|
@@ -79,6 +92,42 @@ function StyleInspectorSlots( {
|
|
|
79
92
|
);
|
|
80
93
|
}
|
|
81
94
|
|
|
95
|
+
function StyleStateInspectorSlots( { blockName, selectedBlockStyleState } ) {
|
|
96
|
+
const borderPanelLabel = useBorderPanelLabel( { blockName } );
|
|
97
|
+
const showLayoutControls =
|
|
98
|
+
hasViewportBlockStyleState( selectedBlockStyleState ) &&
|
|
99
|
+
! hasPseudoBlockStyleState( selectedBlockStyleState );
|
|
100
|
+
return (
|
|
101
|
+
<>
|
|
102
|
+
<InspectorControls.Slot
|
|
103
|
+
group="color"
|
|
104
|
+
label={ __( 'Color' ) }
|
|
105
|
+
className="color-block-support-panel__inner-wrapper"
|
|
106
|
+
/>
|
|
107
|
+
<InspectorControls.Slot
|
|
108
|
+
group="background"
|
|
109
|
+
label={ __( 'Background image' ) }
|
|
110
|
+
className="background-block-support-panel__inner-wrapper"
|
|
111
|
+
/>
|
|
112
|
+
<InspectorControls.Slot
|
|
113
|
+
group="typography"
|
|
114
|
+
label={ __( 'Typography' ) }
|
|
115
|
+
/>
|
|
116
|
+
{ showLayoutControls && (
|
|
117
|
+
<InspectorControls.Slot
|
|
118
|
+
group="layout"
|
|
119
|
+
label={ __( 'Layout' ) }
|
|
120
|
+
/>
|
|
121
|
+
) }
|
|
122
|
+
<InspectorControls.Slot
|
|
123
|
+
group="dimensions"
|
|
124
|
+
label={ __( 'Dimensions' ) }
|
|
125
|
+
/>
|
|
126
|
+
<InspectorControls.Slot group="border" label={ borderPanelLabel } />
|
|
127
|
+
</>
|
|
128
|
+
);
|
|
129
|
+
}
|
|
130
|
+
|
|
82
131
|
function BlockInspector() {
|
|
83
132
|
const {
|
|
84
133
|
selectedBlockCount,
|
|
@@ -89,6 +138,10 @@ function BlockInspector() {
|
|
|
89
138
|
isSectionBlockInSelection,
|
|
90
139
|
hasBlockStyles,
|
|
91
140
|
editedContentOnlySection,
|
|
141
|
+
blockEditingMode,
|
|
142
|
+
selectedBlockStyleState,
|
|
143
|
+
showStateOnCanvas,
|
|
144
|
+
onViewportStateChange,
|
|
92
145
|
} = useSelect( ( select ) => {
|
|
93
146
|
const {
|
|
94
147
|
getSelectedBlockClientId,
|
|
@@ -99,7 +152,11 @@ function BlockInspector() {
|
|
|
99
152
|
isSectionBlock: _isSectionBlock,
|
|
100
153
|
getEditedContentOnlySection,
|
|
101
154
|
isWithinEditedContentOnlySection,
|
|
155
|
+
getBlockEditingMode,
|
|
156
|
+
getSelectedBlockStyleState,
|
|
157
|
+
isSelectedBlockStyleStateShownOnCanvas,
|
|
102
158
|
} = unlock( select( blockEditorStore ) );
|
|
159
|
+
const blockEditorSettings = select( blockEditorStore ).getSettings();
|
|
103
160
|
const { getBlockStyles } = select( blocksStore );
|
|
104
161
|
const _selectedBlockClientId = getSelectedBlockClientId();
|
|
105
162
|
const isWithinEditedSection = isWithinEditedContentOnlySection(
|
|
@@ -130,6 +187,15 @@ function BlockInspector() {
|
|
|
130
187
|
isSectionBlock: _isSectionBlock( _renderedBlockClientId ),
|
|
131
188
|
hasBlockStyles: _hasBlockStyles,
|
|
132
189
|
editedContentOnlySection: getEditedContentOnlySection(),
|
|
190
|
+
blockEditingMode: getBlockEditingMode( _renderedBlockClientId ),
|
|
191
|
+
selectedBlockStyleState: getSelectedBlockStyleState(
|
|
192
|
+
_renderedBlockClientId
|
|
193
|
+
),
|
|
194
|
+
showStateOnCanvas: isSelectedBlockStyleStateShownOnCanvas(
|
|
195
|
+
_renderedBlockClientId
|
|
196
|
+
),
|
|
197
|
+
onViewportStateChange:
|
|
198
|
+
blockEditorSettings?.[ onViewportStateChangeKey ],
|
|
133
199
|
};
|
|
134
200
|
}, [] );
|
|
135
201
|
|
|
@@ -198,6 +264,9 @@ function BlockInspector() {
|
|
|
198
264
|
useBlockInspectorAnimationSettings( blockType );
|
|
199
265
|
|
|
200
266
|
const hasSelectedBlocks = selectedBlockCount > 1;
|
|
267
|
+
const isBlockStyleStateSelected = ! isDefaultBlockStyleState(
|
|
268
|
+
selectedBlockStyleState
|
|
269
|
+
);
|
|
201
270
|
|
|
202
271
|
if ( hasSelectedBlocks && ! isSectionBlockInSelection ) {
|
|
203
272
|
return (
|
|
@@ -265,6 +334,11 @@ function BlockInspector() {
|
|
|
265
334
|
contentClientIds={ contentClientIds }
|
|
266
335
|
hasBlockStyles={ hasBlockStyles }
|
|
267
336
|
editedContentOnlySection={ editedContentOnlySection }
|
|
337
|
+
blockEditingMode={ blockEditingMode }
|
|
338
|
+
selectedBlockStyleState={ selectedBlockStyleState }
|
|
339
|
+
showStateOnCanvas={ showStateOnCanvas }
|
|
340
|
+
onViewportStateChange={ onViewportStateChange }
|
|
341
|
+
isBlockStyleStateSelected={ isBlockStyleStateSelected }
|
|
268
342
|
/>
|
|
269
343
|
</BlockInspectorSingleBlockWrapper>
|
|
270
344
|
);
|
|
@@ -316,6 +390,11 @@ const BlockInspectorSingleBlock = ( {
|
|
|
316
390
|
contentClientIds,
|
|
317
391
|
hasBlockStyles,
|
|
318
392
|
editedContentOnlySection,
|
|
393
|
+
blockEditingMode,
|
|
394
|
+
selectedBlockStyleState,
|
|
395
|
+
showStateOnCanvas,
|
|
396
|
+
onViewportStateChange,
|
|
397
|
+
isBlockStyleStateSelected,
|
|
319
398
|
} ) => {
|
|
320
399
|
const listViewRef = useRef( null );
|
|
321
400
|
const hasMultipleTabs = availableTabs?.length > 1;
|
|
@@ -329,6 +408,38 @@ const BlockInspectorSingleBlock = ( {
|
|
|
329
408
|
renderedBlockClientId
|
|
330
409
|
);
|
|
331
410
|
const isBlockSynced = blockInformation.isSynced;
|
|
411
|
+
const {
|
|
412
|
+
setSelectedBlockStyleState,
|
|
413
|
+
setSelectedBlockStyleStateCanvasPreview,
|
|
414
|
+
} = unlock( useDispatch( blockEditorStore ) );
|
|
415
|
+
const onBlockStyleStateChange = ( value ) => {
|
|
416
|
+
const nextSelectedBlockStyleState = {
|
|
417
|
+
...selectedBlockStyleState,
|
|
418
|
+
...value,
|
|
419
|
+
};
|
|
420
|
+
|
|
421
|
+
setSelectedBlockStyleState(
|
|
422
|
+
renderedBlockClientId,
|
|
423
|
+
nextSelectedBlockStyleState
|
|
424
|
+
);
|
|
425
|
+
|
|
426
|
+
if ( value.viewport ) {
|
|
427
|
+
onViewportStateChange?.( {
|
|
428
|
+
viewport: nextSelectedBlockStyleState.viewport,
|
|
429
|
+
showStateOnCanvas,
|
|
430
|
+
} );
|
|
431
|
+
}
|
|
432
|
+
};
|
|
433
|
+
const onShowStateOnCanvasChange = ( value ) => {
|
|
434
|
+
setSelectedBlockStyleStateCanvasPreview( renderedBlockClientId, value );
|
|
435
|
+
|
|
436
|
+
if ( value ) {
|
|
437
|
+
onViewportStateChange?.( {
|
|
438
|
+
viewport: selectedBlockStyleState.viewport,
|
|
439
|
+
showStateOnCanvas: value,
|
|
440
|
+
} );
|
|
441
|
+
}
|
|
442
|
+
};
|
|
332
443
|
|
|
333
444
|
return (
|
|
334
445
|
<div className="block-editor-block-inspector">
|
|
@@ -347,11 +458,44 @@ const BlockInspectorSingleBlock = ( {
|
|
|
347
458
|
className={ isBlockSynced && 'is-synced' }
|
|
348
459
|
isChild={ hasParentChildBlockCards }
|
|
349
460
|
clientId={ renderedBlockClientId }
|
|
461
|
+
controls={
|
|
462
|
+
blockEditingMode === 'default' && (
|
|
463
|
+
<BlockStatesControl
|
|
464
|
+
name={ blockName }
|
|
465
|
+
value={ selectedBlockStyleState }
|
|
466
|
+
onChange={ onBlockStyleStateChange }
|
|
467
|
+
/>
|
|
468
|
+
)
|
|
469
|
+
}
|
|
350
470
|
/>
|
|
471
|
+
{ blockEditingMode === 'default' && isBlockStyleStateSelected && (
|
|
472
|
+
<Spacer paddingX={ 4 } paddingY={ 2 }>
|
|
473
|
+
<ToggleControl
|
|
474
|
+
label={ __( 'Show state on canvas' ) }
|
|
475
|
+
checked={ showStateOnCanvas }
|
|
476
|
+
onChange={ onShowStateOnCanvasChange }
|
|
477
|
+
/>
|
|
478
|
+
<BlockStateBadges
|
|
479
|
+
name={ blockName }
|
|
480
|
+
value={ selectedBlockStyleState }
|
|
481
|
+
/>
|
|
482
|
+
</Spacer>
|
|
483
|
+
) }
|
|
351
484
|
<ViewportVisibilityInfo clientId={ renderedBlockClientId } />
|
|
352
485
|
<EditContents clientId={ renderedBlockClientId } />
|
|
353
|
-
|
|
354
|
-
|
|
486
|
+
{ ! isBlockStyleStateSelected && (
|
|
487
|
+
<BlockVariationTransforms
|
|
488
|
+
blockClientId={ renderedBlockClientId }
|
|
489
|
+
/>
|
|
490
|
+
) }
|
|
491
|
+
<BlockInspectorPreTabsSlot />
|
|
492
|
+
{ isBlockStyleStateSelected && ! isSectionBlock && (
|
|
493
|
+
<StyleStateInspectorSlots
|
|
494
|
+
blockName={ blockName }
|
|
495
|
+
selectedBlockStyleState={ selectedBlockStyleState }
|
|
496
|
+
/>
|
|
497
|
+
) }
|
|
498
|
+
{ ! isBlockStyleStateSelected && hasMultipleTabs && (
|
|
355
499
|
<>
|
|
356
500
|
<InspectorControlsTabs
|
|
357
501
|
hasBlockStyles={ hasBlockStyles }
|
|
@@ -363,7 +507,7 @@ const BlockInspectorSingleBlock = ( {
|
|
|
363
507
|
/>
|
|
364
508
|
</>
|
|
365
509
|
) }
|
|
366
|
-
{ ! hasMultipleTabs && (
|
|
510
|
+
{ ! isBlockStyleStateSelected && ! hasMultipleTabs && (
|
|
367
511
|
<>
|
|
368
512
|
{ hasBlockStyles && (
|
|
369
513
|
<BlockStyles clientId={ renderedBlockClientId } />
|
|
@@ -377,7 +521,9 @@ const BlockInspectorSingleBlock = ( {
|
|
|
377
521
|
) }
|
|
378
522
|
</>
|
|
379
523
|
) }
|
|
380
|
-
|
|
524
|
+
{ ! isBlockStyleStateSelected && (
|
|
525
|
+
<InspectorControlsLastItem.Slot />
|
|
526
|
+
) }
|
|
381
527
|
<SkipToSelectedBlock key="back" />
|
|
382
528
|
</div>
|
|
383
529
|
);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { createSlotFill } from '@wordpress/components';
|
|
5
|
+
|
|
6
|
+
const BlockInspectorPreTabsKey = Symbol( 'BlockInspectorPreTabs' );
|
|
7
|
+
|
|
8
|
+
export const {
|
|
9
|
+
Fill: BlockInspectorPreTabsFill,
|
|
10
|
+
Slot: BlockInspectorPreTabsSlot,
|
|
11
|
+
} = createSlotFill( BlockInspectorPreTabsKey );
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { Icon } from '@wordpress/components';
|
|
4
|
+
import { Icon as WCIcon } from '@wordpress/components';
|
|
5
5
|
import { withSelect } from '@wordpress/data';
|
|
6
6
|
import { compose } from '@wordpress/compose';
|
|
7
7
|
import { getBlockType } from '@wordpress/blocks';
|
|
8
|
+
import { View, Text, TouchableOpacity } from 'react-native';
|
|
8
9
|
import { BlockIcon } from '@wordpress/block-editor';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* External dependencies
|
|
12
13
|
*/
|
|
13
|
-
import { View, Text, TouchableOpacity } from 'react-native';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Internal dependencies
|
|
@@ -44,7 +44,7 @@ const BlockSelectionButton = ( {
|
|
|
44
44
|
>
|
|
45
45
|
{ rootClientId &&
|
|
46
46
|
rootBlockIcon && [
|
|
47
|
-
<
|
|
47
|
+
<WCIcon
|
|
48
48
|
key="parent-icon"
|
|
49
49
|
size={ 24 }
|
|
50
50
|
icon={ rootBlockIcon.src }
|
|
@@ -163,12 +163,6 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection="true"] .b
|
|
|
163
163
|
.components-with-notices-ui {
|
|
164
164
|
margin: 0 0 12px 0;
|
|
165
165
|
width: 100%;
|
|
166
|
-
|
|
167
|
-
.components-notice {
|
|
168
|
-
.components-notice__content {
|
|
169
|
-
font-size: $default-font-size;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
166
|
}
|
|
173
167
|
|
|
174
168
|
// Warnings
|
|
@@ -2,13 +2,19 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
useRefEffect,
|
|
7
|
+
privateApis as composePrivateApis,
|
|
8
|
+
} from '@wordpress/compose';
|
|
6
9
|
|
|
7
10
|
/**
|
|
8
11
|
* Internal dependencies
|
|
9
12
|
*/
|
|
10
13
|
import { isInsideRootBlock } from '../../../utils/dom';
|
|
11
14
|
import { store as blockEditorStore } from '../../../store';
|
|
15
|
+
import { unlock } from '../../../lock-unlock';
|
|
16
|
+
|
|
17
|
+
const { subscribeDelegatedListener } = unlock( composePrivateApis );
|
|
12
18
|
|
|
13
19
|
/**
|
|
14
20
|
* Selects the block if it receives focus.
|
|
@@ -57,11 +63,7 @@ export function useFocusHandler( clientId ) {
|
|
|
57
63
|
selectBlock( clientId );
|
|
58
64
|
}
|
|
59
65
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return () => {
|
|
63
|
-
node.removeEventListener( 'focusin', onFocus );
|
|
64
|
-
};
|
|
66
|
+
return subscribeDelegatedListener( node, 'focusin', onFocus );
|
|
65
67
|
},
|
|
66
68
|
[ isBlockSelected, selectBlock ]
|
|
67
69
|
);
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
useRefEffect,
|
|
6
|
+
privateApis as composePrivateApis,
|
|
7
|
+
} from '@wordpress/compose';
|
|
5
8
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
import { unlock } from '../../../lock-unlock';
|
|
10
13
|
|
|
11
|
-
|
|
12
|
-
event.currentTarget.classList.toggle(
|
|
13
|
-
'is-hovered',
|
|
14
|
-
event.type === 'mouseover'
|
|
15
|
-
);
|
|
16
|
-
}
|
|
14
|
+
const { subscribeDelegatedListener } = unlock( composePrivateApis );
|
|
17
15
|
|
|
18
16
|
/**
|
|
19
17
|
* Adds `is-hovered` class when the block is hovered and in navigation or
|
|
@@ -31,12 +29,31 @@ export function useIsHovered( { isEnabled = true } = {} ) {
|
|
|
31
29
|
return;
|
|
32
30
|
}
|
|
33
31
|
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
function listener( event ) {
|
|
33
|
+
if ( event.defaultPrevented ) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
event.preventDefault();
|
|
37
|
+
node.classList.toggle(
|
|
38
|
+
'is-hovered',
|
|
39
|
+
event.type === 'mouseover'
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const unsubscribeOut = subscribeDelegatedListener(
|
|
44
|
+
node,
|
|
45
|
+
'mouseout',
|
|
46
|
+
listener
|
|
47
|
+
);
|
|
48
|
+
const unsubscribeOver = subscribeDelegatedListener(
|
|
49
|
+
node,
|
|
50
|
+
'mouseover',
|
|
51
|
+
listener
|
|
52
|
+
);
|
|
36
53
|
|
|
37
54
|
return () => {
|
|
38
|
-
|
|
39
|
-
|
|
55
|
+
unsubscribeOut();
|
|
56
|
+
unsubscribeOver();
|
|
40
57
|
|
|
41
58
|
// Remove class in case it lingers.
|
|
42
59
|
node.classList.remove( 'is-hovered' );
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
CheckboxControl,
|
|
9
9
|
Flex,
|
|
10
10
|
FlexItem,
|
|
11
|
-
Icon,
|
|
11
|
+
Icon as WCIcon,
|
|
12
12
|
Modal,
|
|
13
13
|
ToggleControl,
|
|
14
14
|
} from '@wordpress/components';
|
|
@@ -153,7 +153,7 @@ export default function BlockLockModal( { clientId, onClose } ) {
|
|
|
153
153
|
} ) )
|
|
154
154
|
}
|
|
155
155
|
/>
|
|
156
|
-
<
|
|
156
|
+
<WCIcon
|
|
157
157
|
className="block-editor-block-lock-modal__lock-icon"
|
|
158
158
|
icon={
|
|
159
159
|
lock.edit
|
|
@@ -174,7 +174,7 @@ export default function BlockLockModal( { clientId, onClose } ) {
|
|
|
174
174
|
} ) )
|
|
175
175
|
}
|
|
176
176
|
/>
|
|
177
|
-
<
|
|
177
|
+
<WCIcon
|
|
178
178
|
className="block-editor-block-lock-modal__lock-icon"
|
|
179
179
|
icon={
|
|
180
180
|
lock.move ? lockIcon : unlockIcon
|
|
@@ -192,7 +192,7 @@ export default function BlockLockModal( { clientId, onClose } ) {
|
|
|
192
192
|
} ) )
|
|
193
193
|
}
|
|
194
194
|
/>
|
|
195
|
-
<
|
|
195
|
+
<WCIcon
|
|
196
196
|
className="block-editor-block-lock-modal__lock-icon"
|
|
197
197
|
icon={
|
|
198
198
|
lock.remove ? lockIcon : unlockIcon
|
|
@@ -10,10 +10,10 @@ import { cloneBlock } from '@wordpress/blocks';
|
|
|
10
10
|
import { useEffect, useState, forwardRef, useMemo } from '@wordpress/element';
|
|
11
11
|
import {
|
|
12
12
|
Composite,
|
|
13
|
-
Tooltip,
|
|
14
13
|
__experimentalHStack as HStack,
|
|
15
14
|
} from '@wordpress/components';
|
|
16
|
-
|
|
15
|
+
// 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.
|
|
16
|
+
import { VisuallyHidden, Text, Tooltip } from '@wordpress/ui';
|
|
17
17
|
import { useInstanceId } from '@wordpress/compose';
|
|
18
18
|
import { __ } from '@wordpress/i18n';
|
|
19
19
|
import { Icon, symbol } from '@wordpress/icons';
|
|
@@ -28,7 +28,12 @@ import { INSERTER_PATTERN_TYPES } from '../inserter/block-patterns-tab/utils';
|
|
|
28
28
|
|
|
29
29
|
const WithToolTip = ( { showTooltip, title, children } ) => {
|
|
30
30
|
if ( showTooltip ) {
|
|
31
|
-
return
|
|
31
|
+
return (
|
|
32
|
+
<Tooltip.Root>
|
|
33
|
+
<Tooltip.Trigger render={ children } />
|
|
34
|
+
<Tooltip.Popup>{ title }</Tooltip.Popup>
|
|
35
|
+
</Tooltip.Root>
|
|
36
|
+
);
|
|
32
37
|
}
|
|
33
38
|
return <>{ children }</>;
|
|
34
39
|
};
|
|
@@ -154,9 +159,13 @@ function BlockPattern( {
|
|
|
154
159
|
/>
|
|
155
160
|
</div>
|
|
156
161
|
) }
|
|
157
|
-
<
|
|
162
|
+
<Text
|
|
163
|
+
render={ <div /> }
|
|
164
|
+
className="block-editor-block-patterns-list__item-title"
|
|
165
|
+
variant="body-sm"
|
|
166
|
+
>
|
|
158
167
|
{ pattern.title }
|
|
159
|
-
</
|
|
168
|
+
</Text>
|
|
160
169
|
</HStack>
|
|
161
170
|
) }
|
|
162
171
|
|
|
@@ -9,6 +9,8 @@ import { fn } from 'storybook/test';
|
|
|
9
9
|
import BlockPatternsList from '../';
|
|
10
10
|
import { ExperimentalBlockEditorProvider } from '../../provider';
|
|
11
11
|
import patterns from './fixtures';
|
|
12
|
+
// Reason: Styles are contained in ExperimentalBlockEditorProvider iframe.
|
|
13
|
+
// eslint-disable-next-line @wordpress/no-non-module-stylesheet-imports
|
|
12
14
|
import blockLibraryStyles from '../../../../../block-library/build-style/style.css?raw';
|
|
13
15
|
|
|
14
16
|
const blockEditorSettings = {
|
|
@@ -52,25 +52,35 @@ function BlockPopover(
|
|
|
52
52
|
0
|
|
53
53
|
);
|
|
54
54
|
|
|
55
|
-
//
|
|
56
|
-
//
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
//
|
|
55
|
+
// `useMovingAnimation` writes the block's `transform` on every spring tick.
|
|
56
|
+
// Reacting synchronously to each mutation would race with Floating UI's own
|
|
57
|
+
// autoUpdate frame loop and cause the toolbar to visibly jump. Coalescing
|
|
58
|
+
// to one recompute per animation frame avoids that. The observer can't
|
|
59
|
+
// simply be removed: with autoUpdate's animationFrame mode alone, the
|
|
60
|
+
// toolbar trails the block by ~1 frame because the spring's rAF and
|
|
61
|
+
// autoUpdate's rAF are independently scheduled.
|
|
62
62
|
useLayoutEffect( () => {
|
|
63
63
|
if ( ! selectedElement ) {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
let rafId;
|
|
68
|
+
const observer = new window.MutationObserver( () => {
|
|
69
|
+
if ( rafId ) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
rafId = window.requestAnimationFrame( () => {
|
|
73
|
+
rafId = null;
|
|
74
|
+
forceRecomputePopoverDimensions();
|
|
75
|
+
} );
|
|
76
|
+
} );
|
|
70
77
|
observer.observe( selectedElement, { attributes: true } );
|
|
71
78
|
|
|
72
79
|
return () => {
|
|
73
80
|
observer.disconnect();
|
|
81
|
+
if ( rafId ) {
|
|
82
|
+
window.cancelAnimationFrame( rafId );
|
|
83
|
+
}
|
|
74
84
|
};
|
|
75
85
|
}, [ selectedElement ] );
|
|
76
86
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import {
|
|
5
5
|
ToolbarButton,
|
|
6
6
|
ToolbarGroup,
|
|
7
|
-
Icon,
|
|
7
|
+
Icon as WCIcon,
|
|
8
8
|
Path,
|
|
9
9
|
SVG,
|
|
10
10
|
} from '@wordpress/components';
|
|
@@ -98,7 +98,7 @@ function SwitchSectionStyle( { clientId } ) {
|
|
|
98
98
|
onClick={ handleStyleSwitch }
|
|
99
99
|
label={ __( 'Shuffle styles' ) }
|
|
100
100
|
>
|
|
101
|
-
<
|
|
101
|
+
<WCIcon
|
|
102
102
|
icon={ styleIcon }
|
|
103
103
|
style={ {
|
|
104
104
|
fill: activeStyleBackground || 'transparent',
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
CheckboxControl,
|
|
19
19
|
Flex,
|
|
20
20
|
FlexItem,
|
|
21
|
-
Icon,
|
|
21
|
+
Icon as WCIcon,
|
|
22
22
|
Modal,
|
|
23
23
|
} from '@wordpress/components';
|
|
24
24
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
@@ -287,7 +287,7 @@ export default function BlockVisibilityModal( { clientIds, onClose } ) {
|
|
|
287
287
|
)
|
|
288
288
|
}
|
|
289
289
|
/>
|
|
290
|
-
<
|
|
290
|
+
<WCIcon
|
|
291
291
|
icon={ icon }
|
|
292
292
|
className={ clsx( {
|
|
293
293
|
'block-editor-block-visibility-modal__options-icon--checked':
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import {
|
|
5
|
-
Icon,
|
|
5
|
+
Icon as WCIcon,
|
|
6
6
|
__experimentalText as WCText,
|
|
7
7
|
__experimentalHStack as HStack,
|
|
8
8
|
privateApis as componentsPrivateApis,
|
|
@@ -130,7 +130,7 @@ export default function ViewportVisibilityInfo( { clientId } ) {
|
|
|
130
130
|
return (
|
|
131
131
|
<WCBadge className="block-editor-block-visibility-info">
|
|
132
132
|
<HStack spacing={ 2 } justify="start">
|
|
133
|
-
<
|
|
133
|
+
<WCIcon icon={ unseen } />
|
|
134
134
|
<WCText>{ label }</WCText>
|
|
135
135
|
</HStack>
|
|
136
136
|
</WCBadge>
|