@wordpress/block-editor 12.24.0 → 12.25.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 +2 -0
- package/README.md +1 -1
- package/build/components/alignment-control/ui.js +3 -1
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/block-inspector/index.js +1 -1
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block.js +0 -9
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/index.js +4 -3
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +1 -9
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +6 -6
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-refs.js +17 -46
- package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build/components/block-list/use-block-props/use-is-hovered.js +10 -14
- package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build/components/block-mover/index.native.js +3 -1
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +0 -25
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +3 -1
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/use-transformed-patterns.js +6 -2
- package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build/components/block-switcher/utils.js +15 -5
- package/build/components/block-switcher/utils.js.map +1 -1
- package/build/components/block-toolbar/use-has-block-toolbar.js +14 -9
- package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build/components/block-tools/index.js +3 -1
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +2 -5
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +5 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-variation-picker/index.js +3 -2
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +3 -1
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/floating-toolbar/index.native.js +9 -5
- package/build/components/floating-toolbar/index.native.js.map +1 -1
- package/build/components/global-styles/background-panel.js +1 -1
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +3 -1
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +16 -0
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/hooks.js +3 -2
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +23 -23
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +149 -132
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +45 -0
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/inner-blocks/index.js +16 -2
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/index.js +12 -31
- package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +4 -0
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/category-tabs/index.js +56 -0
- package/build/components/inserter/category-tabs/index.js.map +1 -0
- package/build/components/inserter/media-tab/index.js +2 -2
- package/build/components/inserter/media-tab/index.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +0 -25
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +13 -3
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js +15 -29
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/menu.js +59 -69
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/tabs.js +6 -6
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/line-height-control/index.js +6 -2
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/link-control/search-item.js +9 -3
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/list-view/block-select-button.js +5 -170
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +166 -14
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/index.js +1 -1
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/list-view/utils.js +3 -1
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/media-placeholder/index.js +3 -3
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +3 -1
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/provider/block-refs-provider.js +3 -4
- package/build/components/provider/block-refs-provider.js.map +1 -1
- package/build/components/provider/use-block-sync.js +3 -12
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/rich-text/event-listeners/before-input-rules.js +93 -0
- package/build/components/rich-text/event-listeners/before-input-rules.js.map +1 -0
- package/build/components/rich-text/event-listeners/delete.js +58 -0
- package/build/components/rich-text/event-listeners/delete.js.map +1 -0
- package/build/components/rich-text/event-listeners/enter.js +98 -0
- package/build/components/rich-text/event-listeners/enter.js.map +1 -0
- package/build/components/rich-text/event-listeners/firefox-compat.js +36 -0
- package/build/components/rich-text/event-listeners/firefox-compat.js.map +1 -0
- package/build/components/rich-text/event-listeners/index.js +44 -0
- package/build/components/rich-text/event-listeners/index.js.map +1 -0
- package/build/components/rich-text/event-listeners/input-events.js +22 -0
- package/build/components/rich-text/event-listeners/input-events.js.map +1 -0
- package/build/components/rich-text/event-listeners/input-rules.js +135 -0
- package/build/components/rich-text/event-listeners/input-rules.js.map +1 -0
- package/build/components/rich-text/event-listeners/insert-replacement-text.js +33 -0
- package/build/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -0
- package/build/components/rich-text/event-listeners/paste-handler.js +146 -0
- package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -0
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js +27 -0
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -0
- package/build/components/rich-text/event-listeners/shortcuts.js +22 -0
- package/build/components/rich-text/event-listeners/shortcuts.js.map +1 -0
- package/build/components/rich-text/event-listeners/undo-automatic-change.js +51 -0
- package/build/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -0
- package/build/components/rich-text/index.js +11 -31
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +13 -3
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/multiline.js +6 -2
- package/build/components/rich-text/multiline.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +12 -0
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/use-format-types.js +8 -4
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/segmented-text-control/index.js +62 -0
- package/build/components/segmented-text-control/index.js.map +1 -0
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -2
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/text-alignment-control/index.js +76 -0
- package/build/components/text-alignment-control/index.js.map +1 -0
- package/build/components/text-decoration-control/index.js +21 -25
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +18 -22
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/use-block-display-information/index.js +9 -3
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +3 -1
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/writing-flow/use-drag-selection.js +3 -1
- package/build/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +3 -1
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/components/writing-mode-control/index.js +16 -20
- package/build/components/writing-mode-control/index.js.map +1 -1
- package/build/hooks/duotone.js +3 -1
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/utils.js +11 -6
- package/build/hooks/utils.js.map +1 -1
- package/build/private-apis.js +4 -2
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +32 -8
- package/build/store/actions.js.map +1 -1
- package/build/store/private-selectors.js +27 -6
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +11 -8
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +21 -7
- package/build/store/selectors.js.map +1 -1
- package/build/utils/object.js +17 -0
- package/build/utils/object.js.map +1 -1
- package/build/utils/order-inserter-block-items.js +6 -2
- package/build/utils/order-inserter-block-items.js.map +1 -1
- package/build/utils/pasting.js +6 -2
- package/build/utils/pasting.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +3 -1
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/block-inspector/index.js +1 -1
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block.js +0 -9
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/index.js +4 -3
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +1 -9
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +6 -6
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-refs.js +19 -48
- package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-is-hovered.js +10 -14
- package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +3 -1
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +1 -26
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +3 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/use-transformed-patterns.js +6 -2
- package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build-module/components/block-switcher/utils.js +15 -5
- package/build-module/components/block-switcher/utils.js.map +1 -1
- package/build-module/components/block-toolbar/use-has-block-toolbar.js +14 -9
- package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build-module/components/block-tools/index.js +3 -1
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +2 -5
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +5 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +3 -2
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +3 -1
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/floating-toolbar/index.native.js +9 -5
- package/build-module/components/floating-toolbar/index.native.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +1 -1
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +3 -1
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +17 -1
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +3 -2
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +24 -24
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +149 -132
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +44 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +16 -2
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.js +13 -32
- package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +4 -0
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/category-tabs/index.js +49 -0
- package/build-module/components/inserter/category-tabs/index.js.map +1 -0
- package/build-module/components/inserter/media-tab/index.js +1 -1
- package/build-module/components/inserter/media-tab/index.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +0 -24
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +13 -3
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +17 -31
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build-module/components/inserter/menu.js +61 -71
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/tabs.js +6 -6
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/line-height-control/index.js +6 -2
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/link-control/search-item.js +9 -3
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +7 -172
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +167 -15
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/index.js +1 -1
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/list-view/utils.js +3 -1
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +3 -3
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +3 -1
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/provider/block-refs-provider.js +3 -4
- package/build-module/components/provider/block-refs-provider.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +4 -13
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/before-input-rules.js +86 -0
- package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/delete.js +51 -0
- package/build-module/components/rich-text/event-listeners/delete.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/enter.js +92 -0
- package/build-module/components/rich-text/event-listeners/enter.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/firefox-compat.js +29 -0
- package/build-module/components/rich-text/event-listeners/firefox-compat.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/index.js +36 -0
- package/build-module/components/rich-text/event-listeners/index.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/input-events.js +15 -0
- package/build-module/components/rich-text/event-listeners/input-events.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/input-rules.js +127 -0
- package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.js +27 -0
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/paste-handler.js +142 -0
- package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js +21 -0
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/shortcuts.js +15 -0
- package/build-module/components/rich-text/event-listeners/shortcuts.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.js +45 -0
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -0
- package/build-module/components/rich-text/index.js +12 -32
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +13 -3
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/multiline.js +6 -2
- package/build-module/components/rich-text/multiline.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +12 -0
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js +8 -4
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/segmented-text-control/index.js +55 -0
- package/build-module/components/segmented-text-control/index.js.map +1 -0
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -2
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/text-alignment-control/index.js +68 -0
- package/build-module/components/text-alignment-control/index.js.map +1 -0
- package/build-module/components/text-decoration-control/index.js +21 -25
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +18 -22
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +9 -3
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +3 -1
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/writing-flow/use-drag-selection.js +3 -1
- package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +3 -1
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/components/writing-mode-control/index.js +16 -20
- package/build-module/components/writing-mode-control/index.js.map +1 -1
- package/build-module/hooks/duotone.js +3 -1
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/utils.js +11 -6
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/private-apis.js +4 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +32 -8
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-selectors.js +27 -5
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +11 -8
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +21 -7
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/object.js +16 -0
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/order-inserter-block-items.js +6 -2
- package/build-module/utils/order-inserter-block-items.js.map +1 -1
- package/build-module/utils/pasting.js +6 -2
- package/build-module/utils/pasting.js.map +1 -1
- package/build-style/content-rtl.css +41 -68
- package/build-style/content.css +41 -68
- package/build-style/style-rtl.css +100 -199
- package/build-style/style.css +100 -199
- package/package.json +31 -31
- package/src/components/alignment-control/ui.js +3 -1
- package/src/components/block-bindings-toolbar-indicator/style.scss +1 -4
- package/src/components/block-canvas/style.scss +1 -3
- package/src/components/block-draggable/test/helpers.native.js +8 -8
- package/src/components/block-inspector/index.js +1 -2
- package/src/components/block-list/block.js +2 -13
- package/src/components/block-list/content.scss +9 -1
- package/src/components/block-list/index.js +4 -4
- package/src/components/block-list/index.native.js +1 -6
- package/src/components/block-list/use-block-props/index.js +12 -4
- package/src/components/block-list/use-block-props/use-block-refs.js +17 -57
- package/src/components/block-list/use-block-props/use-is-hovered.js +11 -16
- package/src/components/block-mover/index.native.js +3 -1
- package/src/components/block-patterns-list/style.scss +1 -3
- package/src/components/block-preview/style.scss +13 -15
- package/src/components/block-settings-menu/block-settings-dropdown.js +1 -51
- package/src/components/block-switcher/pattern-transformations-menu.js +3 -1
- package/src/components/block-switcher/use-transformed-patterns.js +6 -2
- package/src/components/block-switcher/utils.js +14 -5
- package/src/components/block-toolbar/style.scss +8 -11
- package/src/components/block-toolbar/use-has-block-toolbar.js +21 -16
- package/src/components/block-tools/index.js +3 -1
- package/src/components/block-tools/use-show-block-tools.js +36 -48
- package/src/components/block-tools/zoom-out-mode-inserters.js +5 -1
- package/src/components/block-variation-picker/content.scss +22 -72
- package/src/components/block-variation-picker/index.js +3 -2
- package/src/components/block-variation-transforms/index.js +3 -1
- package/src/components/floating-toolbar/index.native.js +5 -2
- package/src/components/global-styles/background-panel.js +1 -3
- package/src/components/global-styles/color-panel.js +3 -1
- package/src/components/global-styles/dimensions-panel.js +18 -1
- package/src/components/global-styles/hooks.js +2 -0
- package/src/components/global-styles/test/utils.js +21 -0
- package/src/components/global-styles/typography-panel.js +27 -23
- package/src/components/global-styles/use-global-styles-output.js +211 -187
- package/src/components/global-styles/utils.js +55 -0
- package/src/components/inner-blocks/index.js +14 -1
- package/src/components/inserter/block-patterns-tab/index.js +15 -65
- package/src/components/inserter/block-types-tab.js +5 -0
- package/src/components/inserter/category-tabs/index.js +74 -0
- package/src/components/inserter/media-tab/index.js +1 -1
- package/src/components/inserter/media-tab/media-panel.js +0 -22
- package/src/components/inserter/media-tab/media-preview.js +15 -7
- package/src/components/inserter/media-tab/media-tab.js +44 -83
- package/src/components/inserter/menu.js +139 -117
- package/src/components/inserter/style.scss +90 -170
- package/src/components/inserter/tabs.js +5 -13
- package/src/components/line-height-control/index.js +6 -2
- package/src/components/link-control/search-item.js +9 -3
- package/src/components/list-view/block-select-button.js +73 -266
- package/src/components/list-view/block.js +218 -28
- package/src/components/list-view/index.js +1 -1
- package/src/components/list-view/style.scss +20 -28
- package/src/components/list-view/use-list-view-drop-zone.js +1 -1
- package/src/components/list-view/utils.js +3 -1
- package/src/components/media-placeholder/content.scss +0 -11
- package/src/components/media-placeholder/index.js +3 -3
- package/src/components/navigable-toolbar/index.js +3 -1
- package/src/components/provider/block-refs-provider.js +3 -8
- package/src/components/provider/test/use-block-sync.js +7 -0
- package/src/components/provider/use-block-sync.js +3 -20
- package/src/components/rich-text/event-listeners/before-input-rules.js +92 -0
- package/src/components/rich-text/event-listeners/delete.js +53 -0
- package/src/components/rich-text/event-listeners/enter.js +104 -0
- package/src/components/rich-text/event-listeners/firefox-compat.js +31 -0
- package/src/components/rich-text/event-listeners/index.js +56 -0
- package/src/components/rich-text/event-listeners/input-events.js +13 -0
- package/src/components/rich-text/event-listeners/input-rules.js +146 -0
- package/src/components/rich-text/event-listeners/insert-replacement-text.js +28 -0
- package/src/components/rich-text/event-listeners/paste-handler.js +169 -0
- package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +24 -0
- package/src/components/rich-text/event-listeners/shortcuts.js +13 -0
- package/src/components/rich-text/event-listeners/undo-automatic-change.js +45 -0
- package/src/components/rich-text/index.js +7 -34
- package/src/components/rich-text/index.native.js +11 -0
- package/src/components/rich-text/multiline.js +6 -2
- package/src/components/rich-text/native/index.native.js +11 -0
- package/src/components/rich-text/use-format-types.js +6 -2
- package/src/components/segmented-text-control/index.js +63 -0
- package/src/components/{writing-mode-control → segmented-text-control}/style.scss +2 -5
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -1
- package/src/components/text-alignment-control/index.js +91 -0
- package/src/components/text-alignment-control/stories/index.story.js +39 -0
- package/src/components/text-decoration-control/index.js +20 -33
- package/src/components/text-transform-control/index.js +17 -30
- package/src/components/use-block-display-information/index.js +9 -3
- package/src/components/use-on-block-drop/index.js +3 -1
- package/src/components/writing-flow/use-drag-selection.js +3 -1
- package/src/components/writing-flow/use-tab-nav.js +3 -1
- package/src/components/writing-mode-control/index.js +15 -28
- package/src/hooks/duotone.js +3 -1
- package/src/hooks/utils.js +16 -2
- package/src/private-apis.js +4 -2
- package/src/store/actions.js +36 -12
- package/src/store/private-selectors.js +28 -4
- package/src/store/reducer.js +13 -23
- package/src/store/selectors.js +20 -7
- package/src/style.scss +1 -2
- package/src/utils/object.js +16 -0
- package/src/utils/order-inserter-block-items.js +6 -2
- package/src/utils/pasting.js +6 -2
- package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -54
- package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +0 -1
- package/build/components/rich-text/use-before-input-rules.js +0 -98
- package/build/components/rich-text/use-before-input-rules.js.map +0 -1
- package/build/components/rich-text/use-delete.js +0 -64
- package/build/components/rich-text/use-delete.js.map +0 -1
- package/build/components/rich-text/use-enter.js +0 -109
- package/build/components/rich-text/use-enter.js.map +0 -1
- package/build/components/rich-text/use-firefox-compat.js +0 -44
- package/build/components/rich-text/use-firefox-compat.js.map +0 -1
- package/build/components/rich-text/use-input-events.js +0 -25
- package/build/components/rich-text/use-input-events.js.map +0 -1
- package/build/components/rich-text/use-input-rules.js +0 -139
- package/build/components/rich-text/use-input-rules.js.map +0 -1
- package/build/components/rich-text/use-insert-replacement-text.js +0 -38
- package/build/components/rich-text/use-insert-replacement-text.js.map +0 -1
- package/build/components/rich-text/use-paste-handler.js +0 -158
- package/build/components/rich-text/use-paste-handler.js.map +0 -1
- package/build/components/rich-text/use-remove-browser-shortcuts.js +0 -32
- package/build/components/rich-text/use-remove-browser-shortcuts.js.map +0 -1
- package/build/components/rich-text/use-shortcuts.js +0 -25
- package/build/components/rich-text/use-shortcuts.js.map +0 -1
- package/build/components/rich-text/use-undo-automatic-change.js +0 -53
- package/build/components/rich-text/use-undo-automatic-change.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -47
- package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +0 -1
- package/build-module/components/rich-text/use-before-input-rules.js +0 -92
- package/build-module/components/rich-text/use-before-input-rules.js.map +0 -1
- package/build-module/components/rich-text/use-delete.js +0 -57
- package/build-module/components/rich-text/use-delete.js.map +0 -1
- package/build-module/components/rich-text/use-enter.js +0 -102
- package/build-module/components/rich-text/use-enter.js.map +0 -1
- package/build-module/components/rich-text/use-firefox-compat.js +0 -37
- package/build-module/components/rich-text/use-firefox-compat.js.map +0 -1
- package/build-module/components/rich-text/use-input-events.js +0 -18
- package/build-module/components/rich-text/use-input-events.js.map +0 -1
- package/build-module/components/rich-text/use-input-rules.js +0 -132
- package/build-module/components/rich-text/use-input-rules.js.map +0 -1
- package/build-module/components/rich-text/use-insert-replacement-text.js +0 -32
- package/build-module/components/rich-text/use-insert-replacement-text.js.map +0 -1
- package/build-module/components/rich-text/use-paste-handler.js +0 -152
- package/build-module/components/rich-text/use-paste-handler.js.map +0 -1
- package/build-module/components/rich-text/use-remove-browser-shortcuts.js +0 -26
- package/build-module/components/rich-text/use-remove-browser-shortcuts.js.map +0 -1
- package/build-module/components/rich-text/use-shortcuts.js +0 -18
- package/build-module/components/rich-text/use-shortcuts.js.map +0 -1
- package/build-module/components/rich-text/use-undo-automatic-change.js +0 -46
- package/build-module/components/rich-text/use-undo-automatic-change.js.map +0 -1
- package/src/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -55
- package/src/components/rich-text/use-before-input-rules.js +0 -99
- package/src/components/rich-text/use-delete.js +0 -59
- package/src/components/rich-text/use-enter.js +0 -110
- package/src/components/rich-text/use-firefox-compat.js +0 -39
- package/src/components/rich-text/use-input-events.js +0 -19
- package/src/components/rich-text/use-input-rules.js +0 -150
- package/src/components/rich-text/use-insert-replacement-text.js +0 -31
- package/src/components/rich-text/use-paste-handler.js +0 -180
- package/src/components/rich-text/use-remove-browser-shortcuts.js +0 -29
- package/src/components/rich-text/use-shortcuts.js +0 -19
- package/src/components/rich-text/use-undo-automatic-change.js +0 -46
- package/src/components/text-decoration-control/style.scss +0 -18
- package/src/components/text-transform-control/style.scss +0 -18
|
@@ -34,7 +34,9 @@ function PatternTransformationsMenu( {
|
|
|
34
34
|
} ) {
|
|
35
35
|
const [ showTransforms, setShowTransforms ] = useState( false );
|
|
36
36
|
const patterns = useTransformedPatterns( statePatterns, blocks );
|
|
37
|
-
if ( ! patterns.length )
|
|
37
|
+
if ( ! patterns.length ) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
38
40
|
|
|
39
41
|
return (
|
|
40
42
|
<MenuGroup className="block-editor-block-switcher__pattern__transforms__menugroup">
|
|
@@ -62,7 +62,9 @@ export const getPatternTransformedBlocks = (
|
|
|
62
62
|
selectedBlock.name,
|
|
63
63
|
consumedBlocks
|
|
64
64
|
);
|
|
65
|
-
if ( ! match )
|
|
65
|
+
if ( ! match ) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
66
68
|
isMatch = true;
|
|
67
69
|
consumedBlocks.add( match.clientId );
|
|
68
70
|
// We update (mutate) the matching pattern block.
|
|
@@ -71,7 +73,9 @@ export const getPatternTransformedBlocks = (
|
|
|
71
73
|
break;
|
|
72
74
|
}
|
|
73
75
|
// Bail eary if a selected block has not been matched.
|
|
74
|
-
if ( ! isMatch )
|
|
76
|
+
if ( ! isMatch ) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
75
79
|
}
|
|
76
80
|
return _patternBlocks;
|
|
77
81
|
};
|
|
@@ -22,8 +22,12 @@ export const getMatchingBlockByName = (
|
|
|
22
22
|
) => {
|
|
23
23
|
const { clientId, name, innerBlocks = [] } = block;
|
|
24
24
|
// Check if block has been consumed already.
|
|
25
|
-
if ( consumedBlocks.has( clientId ) )
|
|
26
|
-
|
|
25
|
+
if ( consumedBlocks.has( clientId ) ) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if ( name === selectedBlockName ) {
|
|
29
|
+
return block;
|
|
30
|
+
}
|
|
27
31
|
// Try to find a matching block from InnerBlocks recursively.
|
|
28
32
|
for ( const innerBlock of innerBlocks ) {
|
|
29
33
|
const match = getMatchingBlockByName(
|
|
@@ -31,7 +35,9 @@ export const getMatchingBlockByName = (
|
|
|
31
35
|
selectedBlockName,
|
|
32
36
|
consumedBlocks
|
|
33
37
|
);
|
|
34
|
-
if ( match )
|
|
38
|
+
if ( match ) {
|
|
39
|
+
return match;
|
|
40
|
+
}
|
|
35
41
|
}
|
|
36
42
|
};
|
|
37
43
|
|
|
@@ -47,11 +53,14 @@ export const getMatchingBlockByName = (
|
|
|
47
53
|
*/
|
|
48
54
|
export const getRetainedBlockAttributes = ( name, attributes ) => {
|
|
49
55
|
const contentAttributes = getBlockAttributesNamesByRole( name, 'content' );
|
|
50
|
-
if ( ! contentAttributes?.length )
|
|
56
|
+
if ( ! contentAttributes?.length ) {
|
|
57
|
+
return attributes;
|
|
58
|
+
}
|
|
51
59
|
|
|
52
60
|
return contentAttributes.reduce( ( _accumulator, attribute ) => {
|
|
53
|
-
if ( attributes[ attribute ] )
|
|
61
|
+
if ( attributes[ attribute ] ) {
|
|
54
62
|
_accumulator[ attribute ] = attributes[ attribute ];
|
|
63
|
+
}
|
|
55
64
|
return _accumulator;
|
|
56
65
|
}, {} );
|
|
57
66
|
};
|
|
@@ -90,11 +90,6 @@
|
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
.block-editor-block-toolbar .components-toolbar-group,
|
|
94
|
-
.block-editor-block-toolbar .components-toolbar {
|
|
95
|
-
border-right-color: $gray-200;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
93
|
& > .block-editor-block-toolbar {
|
|
99
94
|
flex-grow: initial;
|
|
100
95
|
width: initial;
|
|
@@ -109,14 +104,16 @@
|
|
|
109
104
|
|
|
110
105
|
// Parent selector dot divider
|
|
111
106
|
&::after {
|
|
112
|
-
|
|
107
|
+
align-items: center;
|
|
108
|
+
background-color: $gray-900;
|
|
109
|
+
border-radius: 100%;
|
|
110
|
+
content: "";
|
|
111
|
+
display: inline-flex;
|
|
112
|
+
height: 2px;
|
|
113
113
|
position: absolute;
|
|
114
|
-
font-size: 16px;
|
|
115
114
|
right: 0;
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
display: inline-flex;
|
|
119
|
-
align-items: center;
|
|
115
|
+
top: $grid-unit-20 - $border-width;
|
|
116
|
+
width: 2px;
|
|
120
117
|
}
|
|
121
118
|
}
|
|
122
119
|
}
|
|
@@ -15,8 +15,7 @@ import { useHasAnyBlockControls } from '../block-controls/use-has-block-controls
|
|
|
15
15
|
* @return {boolean} Whether the block toolbar component will be rendered.
|
|
16
16
|
*/
|
|
17
17
|
export function useHasBlockToolbar() {
|
|
18
|
-
const
|
|
19
|
-
return useSelect(
|
|
18
|
+
const { isToolbarEnabled, isDefaultEditingMode } = useSelect(
|
|
20
19
|
( select ) => {
|
|
21
20
|
const {
|
|
22
21
|
getBlockEditingMode,
|
|
@@ -28,24 +27,30 @@ export function useHasBlockToolbar() {
|
|
|
28
27
|
// for the toolbar, so we use getBlockSelectionStart
|
|
29
28
|
// instead of getSelectedBlockClientIds
|
|
30
29
|
const selectedBlockClientId = getBlockSelectionStart();
|
|
31
|
-
|
|
32
|
-
getBlockEditingMode( selectedBlockClientId ) === 'default';
|
|
30
|
+
|
|
33
31
|
const blockType =
|
|
34
32
|
selectedBlockClientId &&
|
|
35
33
|
getBlockType( getBlockName( selectedBlockClientId ) );
|
|
36
|
-
const isToolbarEnabled =
|
|
37
|
-
blockType &&
|
|
38
|
-
hasBlockSupport( blockType, '__experimentalToolbar', true );
|
|
39
34
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return true;
|
|
35
|
+
return {
|
|
36
|
+
isToolbarEnabled:
|
|
37
|
+
blockType &&
|
|
38
|
+
hasBlockSupport( blockType, '__experimentalToolbar', true ),
|
|
39
|
+
isDefaultEditingMode:
|
|
40
|
+
getBlockEditingMode( selectedBlockClientId ) === 'default',
|
|
41
|
+
};
|
|
48
42
|
},
|
|
49
|
-
[
|
|
43
|
+
[]
|
|
50
44
|
);
|
|
45
|
+
|
|
46
|
+
const hasAnyBlockControls = useHasAnyBlockControls();
|
|
47
|
+
|
|
48
|
+
if (
|
|
49
|
+
! isToolbarEnabled ||
|
|
50
|
+
( ! isDefaultEditingMode && ! hasAnyBlockControls )
|
|
51
|
+
) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return true;
|
|
51
56
|
}
|
|
@@ -85,7 +85,9 @@ export default function BlockTools( {
|
|
|
85
85
|
} = unlock( useDispatch( blockEditorStore ) );
|
|
86
86
|
|
|
87
87
|
function onKeyDown( event ) {
|
|
88
|
-
if ( event.defaultPrevented )
|
|
88
|
+
if ( event.defaultPrevented ) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
89
91
|
|
|
90
92
|
if ( isMatch( 'core/block-editor/move-up', event ) ) {
|
|
91
93
|
const clientIds = getSelectedBlockClientIds();
|
|
@@ -8,7 +8,6 @@ import { isUnmodifiedDefaultBlock } from '@wordpress/blocks';
|
|
|
8
8
|
* Internal dependencies
|
|
9
9
|
*/
|
|
10
10
|
import { store as blockEditorStore } from '../../store';
|
|
11
|
-
import { useHasBlockToolbar } from '../block-toolbar/use-has-block-toolbar';
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* Source of truth for which block tools are showing in the block editor.
|
|
@@ -16,55 +15,44 @@ import { useHasBlockToolbar } from '../block-toolbar/use-has-block-toolbar';
|
|
|
16
15
|
* @return {Object} Object of which block tools will be shown.
|
|
17
16
|
*/
|
|
18
17
|
export function useShowBlockTools() {
|
|
19
|
-
|
|
18
|
+
return useSelect( ( select ) => {
|
|
19
|
+
const {
|
|
20
|
+
getSelectedBlockClientId,
|
|
21
|
+
getFirstMultiSelectedBlockClientId,
|
|
22
|
+
getBlock,
|
|
23
|
+
getSettings,
|
|
24
|
+
hasMultiSelection,
|
|
25
|
+
__unstableGetEditorMode,
|
|
26
|
+
isTyping,
|
|
27
|
+
} = select( blockEditorStore );
|
|
20
28
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const {
|
|
24
|
-
getSelectedBlockClientId,
|
|
25
|
-
getFirstMultiSelectedBlockClientId,
|
|
26
|
-
getBlock,
|
|
27
|
-
getSettings,
|
|
28
|
-
hasMultiSelection,
|
|
29
|
-
__unstableGetEditorMode,
|
|
30
|
-
isTyping,
|
|
31
|
-
} = select( blockEditorStore );
|
|
29
|
+
const clientId =
|
|
30
|
+
getSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();
|
|
32
31
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
const block = getBlock( clientId ) || { name: '', attributes: {} };
|
|
33
|
+
const editorMode = __unstableGetEditorMode();
|
|
34
|
+
const hasSelectedBlock = clientId && block?.name;
|
|
35
|
+
const isEmptyDefaultBlock = isUnmodifiedDefaultBlock( block );
|
|
36
|
+
const _showEmptyBlockSideInserter =
|
|
37
|
+
clientId &&
|
|
38
|
+
! isTyping() &&
|
|
39
|
+
editorMode === 'edit' &&
|
|
40
|
+
isEmptyDefaultBlock;
|
|
41
|
+
const maybeShowBreadcrumb =
|
|
42
|
+
hasSelectedBlock &&
|
|
43
|
+
! hasMultiSelection() &&
|
|
44
|
+
( editorMode === 'navigation' || editorMode === 'zoom-out' );
|
|
36
45
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
!
|
|
44
|
-
editorMode === 'edit' &&
|
|
45
|
-
isEmptyDefaultBlock;
|
|
46
|
-
const maybeShowBreadcrumb =
|
|
46
|
+
return {
|
|
47
|
+
showEmptyBlockSideInserter: _showEmptyBlockSideInserter,
|
|
48
|
+
showBreadcrumb:
|
|
49
|
+
! _showEmptyBlockSideInserter && maybeShowBreadcrumb,
|
|
50
|
+
showBlockToolbarPopover:
|
|
51
|
+
! getSettings().hasFixedToolbar &&
|
|
52
|
+
! _showEmptyBlockSideInserter &&
|
|
47
53
|
hasSelectedBlock &&
|
|
48
|
-
!
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
showEmptyBlockSideInserter: _showEmptyBlockSideInserter,
|
|
53
|
-
showBreadcrumb:
|
|
54
|
-
! _showEmptyBlockSideInserter && maybeShowBreadcrumb,
|
|
55
|
-
showBlockToolbarPopover:
|
|
56
|
-
hasBlockToolbar &&
|
|
57
|
-
! getSettings().hasFixedToolbar &&
|
|
58
|
-
! _showEmptyBlockSideInserter &&
|
|
59
|
-
hasSelectedBlock &&
|
|
60
|
-
! isEmptyDefaultBlock &&
|
|
61
|
-
! maybeShowBreadcrumb,
|
|
62
|
-
showFixedToolbar:
|
|
63
|
-
editorMode !== 'zoom-out' &&
|
|
64
|
-
hasBlockToolbar &&
|
|
65
|
-
getSettings().hasFixedToolbar,
|
|
66
|
-
};
|
|
67
|
-
},
|
|
68
|
-
[ hasBlockToolbar ]
|
|
69
|
-
);
|
|
54
|
+
! isEmptyDefaultBlock &&
|
|
55
|
+
! maybeShowBreadcrumb,
|
|
56
|
+
};
|
|
57
|
+
}, [] );
|
|
70
58
|
}
|
|
@@ -10,11 +10,15 @@ import { useEffect, useState } from '@wordpress/element';
|
|
|
10
10
|
import BlockPopoverInbetween from '../block-popover/inbetween';
|
|
11
11
|
import { store as blockEditorStore } from '../../store';
|
|
12
12
|
import Inserter from '../inserter';
|
|
13
|
+
import { unlock } from '../../lock-unlock';
|
|
13
14
|
|
|
14
15
|
function ZoomOutModeInserters( { __unstableContentRef } ) {
|
|
15
16
|
const [ isReady, setIsReady ] = useState( false );
|
|
16
17
|
const blockOrder = useSelect( ( select ) => {
|
|
17
|
-
|
|
18
|
+
const { sectionRootClientId } = unlock(
|
|
19
|
+
select( blockEditorStore ).getSettings()
|
|
20
|
+
);
|
|
21
|
+
return select( blockEditorStore ).getBlockOrder( sectionRootClientId );
|
|
18
22
|
}, [] );
|
|
19
23
|
|
|
20
24
|
// Defer the initial rendering to avoid the jumps due to the animation.
|
|
@@ -1,89 +1,39 @@
|
|
|
1
|
-
.block-editor-block-variation-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
.components-placeholder__fieldset {
|
|
8
|
-
// Options will render horizontally, but the immediate children of the
|
|
9
|
-
// fieldset are the options and the skip button, oriented vertically.
|
|
10
|
-
flex-direction: column;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
&.has-many-variations .components-placeholder__fieldset {
|
|
14
|
-
// Allow options to occupy a greater amount of the available space if
|
|
15
|
-
// many options exist.
|
|
16
|
-
max-width: 90%;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations {
|
|
1
|
+
.block-editor-block-variation-picker__variations,
|
|
2
|
+
.block-editor-block-variation-picker__skip,
|
|
3
|
+
.wp-block-group-placeholder__variations {
|
|
4
|
+
list-style: none;
|
|
21
5
|
display: flex;
|
|
22
6
|
justify-content: flex-start;
|
|
23
7
|
flex-direction: row;
|
|
24
8
|
flex-wrap: wrap;
|
|
25
9
|
width: 100%;
|
|
26
|
-
margin: $grid-unit-20 0;
|
|
27
10
|
padding: 0;
|
|
28
|
-
|
|
11
|
+
margin: 0;
|
|
12
|
+
gap: $grid-unit-10;
|
|
13
|
+
font-size: $helptext-font-size;
|
|
29
14
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
margin: $grid-unit-10 ( $grid-unit-10 + $grid-unit-15 ) 0 0;
|
|
33
|
-
flex-shrink: 1;
|
|
34
|
-
width: 75px;
|
|
35
|
-
text-align: center;
|
|
36
|
-
|
|
37
|
-
button {
|
|
38
|
-
display: inline-flex;
|
|
39
|
-
margin-right: 0;
|
|
40
|
-
}
|
|
15
|
+
svg {
|
|
16
|
+
fill: $gray-400 !important;
|
|
41
17
|
}
|
|
42
18
|
|
|
43
|
-
.
|
|
44
|
-
padding:
|
|
19
|
+
.components-button {
|
|
20
|
+
padding: 4px;
|
|
45
21
|
}
|
|
46
22
|
|
|
47
|
-
.
|
|
48
|
-
|
|
49
|
-
font-size: 12px;
|
|
50
|
-
display: block;
|
|
51
|
-
line-height: 1.4;
|
|
23
|
+
.components-button:hover {
|
|
24
|
+
background: none !important; // !important to simplify the selector.
|
|
52
25
|
}
|
|
53
|
-
}
|
|
54
26
|
|
|
55
|
-
.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
&.components-button.has-icon {
|
|
59
|
-
// Override default styles inherited from <Button /> to center
|
|
60
|
-
// icon horizontally.
|
|
61
|
-
justify-content: center;
|
|
62
|
-
width: auto;
|
|
63
|
-
|
|
64
|
-
&.is-secondary {
|
|
65
|
-
background-color: $white;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
&.components-button {
|
|
70
|
-
// Override default styles inherited from <Button /> to allow button
|
|
71
|
-
// to grow vertically.
|
|
72
|
-
height: auto;
|
|
73
|
-
padding: 0;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
&::before {
|
|
77
|
-
// Use `padding-bottom` trick to style element as perfect square.
|
|
78
|
-
content: "";
|
|
79
|
-
padding-bottom: 100%;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
&:first-child {
|
|
83
|
-
margin-left: 0;
|
|
27
|
+
.components-button:hover svg {
|
|
28
|
+
fill: var(--wp-admin-theme-color) !important;
|
|
84
29
|
}
|
|
85
30
|
|
|
86
|
-
|
|
87
|
-
|
|
31
|
+
& > li {
|
|
32
|
+
width: auto;
|
|
33
|
+
display: flex;
|
|
34
|
+
flex-direction: column;
|
|
35
|
+
align-items: center;
|
|
36
|
+
gap: $grid-unit-05;
|
|
88
37
|
}
|
|
89
38
|
}
|
|
39
|
+
|
|
@@ -13,7 +13,7 @@ import { layout } from '@wordpress/icons';
|
|
|
13
13
|
function BlockVariationPicker( {
|
|
14
14
|
icon = layout,
|
|
15
15
|
label = __( 'Choose variation' ),
|
|
16
|
-
instructions = __( 'Select a variation to start with
|
|
16
|
+
instructions = __( 'Select a variation to start with:' ),
|
|
17
17
|
variations,
|
|
18
18
|
onSelect,
|
|
19
19
|
allowSkip,
|
|
@@ -42,7 +42,8 @@ function BlockVariationPicker( {
|
|
|
42
42
|
{ variations.map( ( variation ) => (
|
|
43
43
|
<li key={ variation.name }>
|
|
44
44
|
<Button
|
|
45
|
-
|
|
45
|
+
__next40pxDefaultSize
|
|
46
|
+
variant="tertiary"
|
|
46
47
|
icon={
|
|
47
48
|
variation.icon && variation.icon.src
|
|
48
49
|
? variation.icon.src
|
|
@@ -180,7 +180,9 @@ function __experimentalBlockVariationTransforms( { blockClientId } ) {
|
|
|
180
180
|
};
|
|
181
181
|
|
|
182
182
|
// Skip rendering if there are no variations
|
|
183
|
-
if ( ! variations?.length )
|
|
183
|
+
if ( ! variations?.length ) {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
184
186
|
|
|
185
187
|
const baseClass = 'block-editor-block-variation-transforms';
|
|
186
188
|
|
|
@@ -47,8 +47,9 @@ const FloatingToolbar = ( {
|
|
|
47
47
|
}, [ showFloatingToolbar ] );
|
|
48
48
|
|
|
49
49
|
useEffect( () => {
|
|
50
|
-
if ( showFloatingToolbar )
|
|
50
|
+
if ( showFloatingToolbar ) {
|
|
51
51
|
setPreviousSelection( { clientId: selectedClientId, parentId } );
|
|
52
|
+
}
|
|
52
53
|
}, [ selectedClientId ] );
|
|
53
54
|
|
|
54
55
|
const translationRange =
|
|
@@ -115,7 +116,9 @@ export default compose( [
|
|
|
115
116
|
|
|
116
117
|
const selectedClientId = getSelectedBlockClientId();
|
|
117
118
|
|
|
118
|
-
if ( ! selectedClientId )
|
|
119
|
+
if ( ! selectedClientId ) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
119
122
|
|
|
120
123
|
const rootBlockId = getBlockHierarchyRootClientId( selectedClientId );
|
|
121
124
|
|
|
@@ -275,9 +275,7 @@ function BackgroundImageToolsPanelItem( {
|
|
|
275
275
|
};
|
|
276
276
|
}, [] );
|
|
277
277
|
|
|
278
|
-
const hasValue =
|
|
279
|
-
hasBackgroundImageValue( style ) ||
|
|
280
|
-
hasBackgroundImageValue( inheritedValue );
|
|
278
|
+
const hasValue = hasBackgroundImageValue( style );
|
|
281
279
|
|
|
282
280
|
return (
|
|
283
281
|
<ToolsPanelItem
|
|
@@ -587,7 +587,9 @@ export default function ColorPanel( {
|
|
|
587
587
|
].filter( Boolean );
|
|
588
588
|
|
|
589
589
|
elements.forEach( ( { name, label, showPanel } ) => {
|
|
590
|
-
if ( ! showPanel )
|
|
590
|
+
if ( ! showPanel ) {
|
|
591
|
+
return;
|
|
592
|
+
}
|
|
591
593
|
|
|
592
594
|
const elementBackgroundColor = decodeValue(
|
|
593
595
|
inheritedValue?.elements?.[ name ]?.color?.background
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
__experimentalView as View,
|
|
18
18
|
} from '@wordpress/components';
|
|
19
19
|
import { Icon, positionCenter, stretchWide } from '@wordpress/icons';
|
|
20
|
-
import { useCallback, Platform } from '@wordpress/element';
|
|
20
|
+
import { useCallback, useState, Platform } from '@wordpress/element';
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* Internal dependencies
|
|
@@ -248,6 +248,10 @@ export default function DimensionsPanel( {
|
|
|
248
248
|
],
|
|
249
249
|
} );
|
|
250
250
|
|
|
251
|
+
//Minimum Margin Value
|
|
252
|
+
const minimumMargin = -Infinity;
|
|
253
|
+
const [ minMarginValue, setMinMarginValue ] = useState( minimumMargin );
|
|
254
|
+
|
|
251
255
|
// Content Size
|
|
252
256
|
const showContentSizeControl =
|
|
253
257
|
useHasContentSize( settings ) && includeLayoutControls;
|
|
@@ -435,6 +439,17 @@ export default function DimensionsPanel( {
|
|
|
435
439
|
|
|
436
440
|
const onMouseLeaveControls = () => onVisualize( false );
|
|
437
441
|
|
|
442
|
+
const inputProps = {
|
|
443
|
+
min: minMarginValue,
|
|
444
|
+
onDragStart: () => {
|
|
445
|
+
//Reset to 0 in case the value was negative.
|
|
446
|
+
setMinMarginValue( 0 );
|
|
447
|
+
},
|
|
448
|
+
onDragEnd: () => {
|
|
449
|
+
setMinMarginValue( minimumMargin );
|
|
450
|
+
},
|
|
451
|
+
};
|
|
452
|
+
|
|
438
453
|
return (
|
|
439
454
|
<Wrapper
|
|
440
455
|
resetAllFilter={ resetAllFilter }
|
|
@@ -561,6 +576,7 @@ export default function DimensionsPanel( {
|
|
|
561
576
|
<BoxControl
|
|
562
577
|
values={ marginValues }
|
|
563
578
|
onChange={ setMarginValues }
|
|
579
|
+
inputProps={ inputProps }
|
|
564
580
|
label={ __( 'Margin' ) }
|
|
565
581
|
sides={ marginSides }
|
|
566
582
|
units={ units }
|
|
@@ -574,6 +590,7 @@ export default function DimensionsPanel( {
|
|
|
574
590
|
<SpacingSizesControl
|
|
575
591
|
values={ marginValues }
|
|
576
592
|
onChange={ setMarginValues }
|
|
593
|
+
minimumCustomValue={ -Infinity }
|
|
577
594
|
label={ __( 'Margin' ) }
|
|
578
595
|
sides={ marginSides }
|
|
579
596
|
units={ units }
|
|
@@ -68,6 +68,7 @@ const VALID_SETTINGS = [
|
|
|
68
68
|
'spacing.units',
|
|
69
69
|
'typography.fluid',
|
|
70
70
|
'typography.customFontSize',
|
|
71
|
+
'typography.defaultFontSizes',
|
|
71
72
|
'typography.dropCap',
|
|
72
73
|
'typography.fontFamilies',
|
|
73
74
|
'typography.fontSizes',
|
|
@@ -240,6 +241,7 @@ export function useSettingsForBlockElement(
|
|
|
240
241
|
...updatedSettings.typography,
|
|
241
242
|
fontSizes: {},
|
|
242
243
|
customFontSize: false,
|
|
244
|
+
defaultFontSizes: false,
|
|
243
245
|
};
|
|
244
246
|
}
|
|
245
247
|
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
getBlockStyleVariationSelector,
|
|
7
7
|
getPresetVariableFromValue,
|
|
8
8
|
getValueFromVariable,
|
|
9
|
+
scopeFeatureSelectors,
|
|
9
10
|
} from '../utils';
|
|
10
11
|
|
|
11
12
|
describe( 'editor utils', () => {
|
|
@@ -345,4 +346,24 @@ describe( 'editor utils', () => {
|
|
|
345
346
|
}
|
|
346
347
|
);
|
|
347
348
|
} );
|
|
349
|
+
|
|
350
|
+
describe( 'scopeFeatureSelectors', () => {
|
|
351
|
+
it( 'correctly scopes selectors while maintaining selectors object structure', () => {
|
|
352
|
+
const actual = scopeFeatureSelectors( '.custom, .secondary', {
|
|
353
|
+
color: '.my-block h1',
|
|
354
|
+
typography: {
|
|
355
|
+
root: '.my-block',
|
|
356
|
+
lineHeight: '.my-block h1',
|
|
357
|
+
},
|
|
358
|
+
} );
|
|
359
|
+
|
|
360
|
+
expect( actual ).toEqual( {
|
|
361
|
+
color: '.custom .my-block h1, .secondary .my-block h1',
|
|
362
|
+
typography: {
|
|
363
|
+
root: '.custom .my-block, .secondary .my-block',
|
|
364
|
+
lineHeight: '.custom .my-block h1, .secondary .my-block h1',
|
|
365
|
+
},
|
|
366
|
+
} );
|
|
367
|
+
} );
|
|
368
|
+
} );
|
|
348
369
|
} );
|