@wordpress/block-editor 15.19.1-next.v.202605131006.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
|
@@ -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
|
|
@@ -185,7 +185,7 @@ export function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {
|
|
|
185
185
|
'data-block': clientId,
|
|
186
186
|
'data-type': name,
|
|
187
187
|
'data-title': blockTitle,
|
|
188
|
-
inert: isSubtreeDisabled ?
|
|
188
|
+
inert: isSubtreeDisabled ? true : undefined,
|
|
189
189
|
className: clsx(
|
|
190
190
|
'block-editor-block-list__block',
|
|
191
191
|
{
|
|
@@ -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>
|