@wordpress/block-editor 14.0.0 → 14.2.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 +4 -0
- package/README.md +10 -24
- package/build/autocompleters/block.js +1 -1
- package/build/autocompleters/block.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +2 -2
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-breadcrumb/index.js +8 -2
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-canvas/index.js +8 -1
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-compare/block-view.js +4 -1
- package/build/components/block-compare/block-view.js.map +1 -1
- package/build/components/block-draggable/index.js +4 -4
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/use-scroll-when-dragging.js +25 -25
- package/build/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
- package/build/components/block-edit/multiple-usage-warning.js +8 -2
- package/build/components/block-edit/multiple-usage-warning.js.map +1 -1
- package/build/components/block-inspector/index.js +27 -9
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.js +6 -3
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-list/block.js +5 -1
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +7 -3
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +1 -0
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +46 -0
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
- package/build/components/block-list/use-in-between-inserter.js +11 -4
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-lock/toolbar.js +3 -3
- package/build/components/block-lock/toolbar.js.map +1 -1
- package/build/components/block-mover/button.js +4 -1
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +4 -1
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +4 -1
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +1 -4
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js +22 -7
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-patterns-list/index.js +11 -14
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-patterns-paging/index.js +12 -3
- package/build/components/block-patterns-paging/index.js.map +1 -1
- package/build/components/block-popover/index.js +2 -15
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-quick-navigation/index.js +4 -1
- package/build/components/block-quick-navigation/index.js.map +1 -1
- package/build/components/block-settings-menu/block-mode-toggle.js +28 -34
- package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +4 -0
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-switcher/index.js +22 -17
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +1 -4
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-toolbar/index.js +12 -11
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/shuffle.js +6 -2
- package/build/components/block-toolbar/shuffle.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +8 -2
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/block-toolbar-popover.js +10 -6
- package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +14 -3
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/use-block-toolbar-popover-props.js +2 -1
- package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +2 -1
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +4 -5
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-tools/zoom-out-popover.js +3 -4
- package/build/components/block-tools/zoom-out-popover.js.map +1 -1
- package/build/components/block-tools/zoom-out-toolbar.js +14 -5
- package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build/components/block-variation-picker/index.js +4 -1
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +4 -1
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/border-radius-control/index.js +1 -0
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/button-block-appender/index.js +14 -3
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +4 -1
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/content-lock/index.js +13 -0
- package/build/components/content-lock/index.js.map +1 -0
- package/build/components/content-lock/modify-content-lock-menu-item.js +64 -0
- package/build/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
- package/build/components/convert-to-group-buttons/index.js +1 -1
- package/build/components/convert-to-group-buttons/index.js.map +1 -1
- package/build/components/date-format-picker/index.js +2 -0
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/editor-styles/index.js +4 -3
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/font-appearance-control/index.js +3 -0
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/font-family/index.js +3 -0
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/global-styles/background-panel.js +118 -50
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +8 -5
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.native.js +1 -1
- package/build/components/global-styles/color-panel.native.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +34 -37
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +4 -1
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/get-global-styles-changes.js +3 -1
- package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build/components/global-styles/hooks.js +0 -7
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/index.js +0 -6
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js +13 -7
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/global-styles/typography-utils.js +17 -6
- package/build/components/global-styles/typography-utils.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +3 -3
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +11 -29
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/grid/grid-item-movers.js +2 -2
- package/build/components/grid/grid-item-movers.js.map +1 -1
- package/build/components/grid/grid-visualizer.js +20 -5
- package/build/components/grid/grid-visualizer.js.map +1 -1
- package/build/components/height-control/index.js +1 -0
- package/build/components/height-control/index.js.map +1 -1
- package/build/components/iframe/index.js +8 -6
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/zoom-dropdown.js +11 -7
- package/build/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build/components/inner-blocks/button-block-appender.js +8 -8
- package/build/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build/components/inner-blocks/default-block-appender.js +7 -25
- package/build/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +8 -12
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/use-inner-block-template-sync.js +3 -3
- package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/index.js +4 -1
- package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build/components/inserter/media-tab/hooks.js +3 -3
- package/build/components/inserter/media-tab/hooks.js.map +1 -1
- package/build/components/inserter/media-tab/media-list.js +1 -4
- package/build/components/inserter/media-tab/media-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +8 -2
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js +4 -1
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/menu.js +14 -13
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +8 -1
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter-list-item/index.js +4 -4
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/inserter-listbox/index.js +3 -7
- package/build/components/inserter-listbox/index.js.map +1 -1
- package/build/components/inserter-listbox/item.js +4 -1
- package/build/components/inserter-listbox/item.js.map +1 -1
- package/build/components/inspector-controls/groups.js +2 -0
- package/build/components/inspector-controls/groups.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +4 -1
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-controls-tabs/settings-tab.js +3 -1
- package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build/components/inspector-popover-header/index.js +8 -2
- package/build/components/inspector-popover-header/index.js.map +1 -1
- package/build/components/letter-spacing-control/index.js +7 -4
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/line-height-control/index.js +3 -0
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/link-control/index.js +19 -10
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/settings-drawer.js +4 -1
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/list-view/block-select-button.js +4 -1
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/media-placeholder/index.js +36 -10
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-replace-flow/index.js +8 -1
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-upload/index.native.js +4 -1
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/multi-selection-inspector/index.js +12 -12
- package/build/components/multi-selection-inspector/index.js.map +1 -1
- package/build/components/provider/use-block-sync.js +19 -19
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/rich-text/event-listeners/paste-handler.js +12 -1
- package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
- package/build/components/rich-text/index.js +38 -30
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/use-mark-persistent.js +5 -5
- package/build/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js +4 -1
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -2
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/text-alignment-control/index.js +13 -8
- package/build/components/text-alignment-control/index.js.map +1 -1
- package/build/components/text-decoration-control/index.js +13 -8
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +13 -8
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/tool-selector/index.js +4 -1
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/url-input/button.js +12 -3
- package/build/components/url-input/button.js.map +1 -1
- package/build/components/url-input/index.js +4 -1
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +2 -0
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +12 -2
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/writing-flow/index.js +2 -1
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-arrow-nav.js +4 -1
- package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build/components/writing-flow/use-event-redirect.js +66 -0
- package/build/components/writing-flow/use-event-redirect.js.map +1 -0
- package/build/components/writing-flow/use-input.js +31 -1
- package/build/components/writing-flow/use-input.js.map +1 -1
- package/build/components/writing-flow/use-select-all.js +14 -1
- package/build/components/writing-flow/use-select-all.js.map +1 -1
- package/build/components/writing-flow/use-selection-observer.js +20 -6
- package/build/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +4 -4
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/components/writing-flow/utils.js +27 -0
- package/build/components/writing-flow/utils.js.map +1 -1
- package/build/components/writing-mode-control/index.js +13 -8
- package/build/components/writing-mode-control/index.js.map +1 -1
- package/build/hooks/background.js +19 -23
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-bindings.js +64 -103
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/hooks/content-lock-ui.js +8 -26
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/duotone.js +0 -4
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/layout.js +4 -1
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/spacing-visualizer.js +3 -3
- package/build/hooks/spacing-visualizer.js.map +1 -1
- package/build/hooks/style.js +1 -5
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +19 -20
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/hooks/use-zoom-out.js +7 -7
- package/build/hooks/use-zoom-out.js.map +1 -1
- package/build/layouts/constrained.js +42 -41
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/flex.js +6 -1
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/grid.js +3 -0
- package/build/layouts/grid.js.map +1 -1
- package/build/layouts/utils.js +1 -7
- package/build/layouts/utils.js.map +1 -1
- package/build/private-apis.js +4 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +2 -7
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +1 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-keys.js +2 -1
- package/build/store/private-keys.js.map +1 -1
- package/build/store/private-selectors.js +39 -11
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +2 -0
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +19 -43
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +48 -0
- package/build/store/utils.js.map +1 -1
- package/build/utils/block-bindings.js +117 -0
- package/build/utils/block-bindings.js.map +1 -0
- package/build/utils/dom.js +101 -0
- package/build/utils/dom.js.map +1 -1
- package/build/utils/get-font-styles-and-weights.js +4 -4
- package/build/utils/get-font-styles-and-weights.js.map +1 -1
- package/build/utils/transform-styles/index.js +120 -16
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/autocompleters/block.js +1 -1
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js +8 -2
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-canvas/index.js +9 -1
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-compare/block-view.js +4 -1
- package/build-module/components/block-compare/block-view.js.map +1 -1
- package/build-module/components/block-draggable/index.js +4 -4
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-draggable/use-scroll-when-dragging.js +25 -25
- package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
- package/build-module/components/block-edit/multiple-usage-warning.js +8 -2
- package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
- package/build-module/components/block-inspector/index.js +27 -9
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +6 -3
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-list/block.js +5 -1
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +7 -3
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +1 -0
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +40 -0
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
- package/build-module/components/block-list/use-in-between-inserter.js +11 -4
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-lock/toolbar.js +3 -3
- package/build-module/components/block-lock/toolbar.js.map +1 -1
- package/build-module/components/block-mover/button.js +4 -1
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +4 -1
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +4 -1
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +1 -4
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js +23 -8
- package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +11 -14
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-patterns-paging/index.js +12 -3
- package/build-module/components/block-patterns-paging/index.js.map +1 -1
- package/build-module/components/block-popover/index.js +2 -15
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-quick-navigation/index.js +4 -1
- package/build-module/components/block-quick-navigation/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-mode-toggle.js +29 -34
- package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +4 -0
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-switcher/index.js +22 -17
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -4
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +12 -11
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/shuffle.js +6 -2
- package/build-module/components/block-toolbar/shuffle.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +8 -2
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-popover.js +10 -6
- package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +14 -3
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/use-block-toolbar-popover-props.js +2 -1
- package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +2 -1
- 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 +4 -5
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-popover.js +3 -4
- package/build-module/components/block-tools/zoom-out-popover.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-toolbar.js +15 -6
- package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +4 -1
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +4 -1
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +1 -0
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +15 -4
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +4 -1
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/content-lock/index.js +2 -0
- package/build-module/components/content-lock/index.js.map +1 -0
- package/build-module/components/content-lock/modify-content-lock-menu-item.js +57 -0
- package/build-module/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
- package/build-module/components/convert-to-group-buttons/index.js +1 -1
- package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +2 -0
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/editor-styles/index.js +4 -3
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +3 -0
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/font-family/index.js +3 -0
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +121 -53
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +7 -4
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.native.js +2 -2
- package/build-module/components/global-styles/color-panel.native.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +36 -39
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +4 -1
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/get-global-styles-changes.js +3 -1
- package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +0 -6
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/index.js +1 -1
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +13 -7
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/global-styles/typography-utils.js +17 -6
- package/build-module/components/global-styles/typography-utils.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +5 -5
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +11 -28
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/grid/grid-item-movers.js +3 -3
- package/build-module/components/grid/grid-item-movers.js.map +1 -1
- package/build-module/components/grid/grid-visualizer.js +20 -5
- package/build-module/components/grid/grid-visualizer.js.map +1 -1
- package/build-module/components/height-control/index.js +1 -0
- package/build-module/components/height-control/index.js.map +1 -1
- package/build-module/components/iframe/index.js +8 -6
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/zoom-dropdown.js +12 -8
- package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.js +7 -6
- package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/default-block-appender.js +6 -23
- package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +8 -12
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js +3 -3
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.js +4 -1
- package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build-module/components/inserter/media-tab/hooks.js +3 -3
- package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-list.js +1 -4
- package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +8 -2
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +4 -1
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build-module/components/inserter/menu.js +14 -13
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +9 -2
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +4 -4
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/inserter-listbox/index.js +3 -7
- package/build-module/components/inserter-listbox/index.js.map +1 -1
- package/build-module/components/inserter-listbox/item.js +4 -1
- package/build-module/components/inserter-listbox/item.js.map +1 -1
- package/build-module/components/inspector-controls/groups.js +2 -0
- package/build-module/components/inspector-controls/groups.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +4 -1
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab.js +3 -1
- package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build-module/components/inspector-popover-header/index.js +8 -2
- package/build-module/components/inspector-popover-header/index.js.map +1 -1
- package/build-module/components/letter-spacing-control/index.js +7 -4
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +3 -0
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/link-control/index.js +19 -10
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/settings-drawer.js +4 -1
- package/build-module/components/link-control/settings-drawer.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +4 -1
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +36 -10
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +8 -1
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-upload/index.native.js +4 -1
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/multi-selection-inspector/index.js +12 -12
- package/build-module/components/multi-selection-inspector/index.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +19 -19
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/paste-handler.js +12 -1
- package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
- package/build-module/components/rich-text/index.js +39 -31
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/use-mark-persistent.js +5 -5
- package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js +4 -1
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -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 +13 -8
- package/build-module/components/text-alignment-control/index.js.map +1 -1
- package/build-module/components/text-decoration-control/index.js +13 -8
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +13 -8
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/tool-selector/index.js +4 -1
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/url-input/button.js +12 -3
- package/build-module/components/url-input/button.js.map +1 -1
- package/build-module/components/url-input/index.js +4 -1
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +2 -0
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +12 -2
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/writing-flow/index.js +2 -1
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-arrow-nav.js +4 -1
- package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build-module/components/writing-flow/use-event-redirect.js +60 -0
- package/build-module/components/writing-flow/use-event-redirect.js.map +1 -0
- package/build-module/components/writing-flow/use-input.js +31 -1
- package/build-module/components/writing-flow/use-input.js.map +1 -1
- package/build-module/components/writing-flow/use-select-all.js +14 -1
- package/build-module/components/writing-flow/use-select-all.js.map +1 -1
- package/build-module/components/writing-flow/use-selection-observer.js +16 -2
- package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +4 -4
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/components/writing-flow/utils.js +26 -0
- package/build-module/components/writing-flow/utils.js.map +1 -1
- package/build-module/components/writing-mode-control/index.js +13 -8
- package/build-module/components/writing-mode-control/index.js.map +1 -1
- package/build-module/hooks/background.js +19 -23
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-bindings.js +66 -105
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +10 -30
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/duotone.js +0 -4
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/layout.js +4 -1
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/spacing-visualizer.js +3 -3
- package/build-module/hooks/spacing-visualizer.js.map +1 -1
- package/build-module/hooks/style.js +1 -5
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +19 -20
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/hooks/use-zoom-out.js +7 -7
- package/build-module/hooks/use-zoom-out.js.map +1 -1
- package/build-module/layouts/constrained.js +44 -43
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/flex.js +6 -1
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/grid.js +3 -0
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/layouts/utils.js +1 -7
- package/build-module/layouts/utils.js.map +1 -1
- package/build-module/private-apis.js +5 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +2 -7
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +1 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-keys.js +1 -0
- package/build-module/store/private-keys.js.map +1 -1
- package/build-module/store/private-selectors.js +36 -12
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +2 -0
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +22 -46
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +46 -0
- package/build-module/store/utils.js.map +1 -1
- package/build-module/utils/block-bindings.js +110 -0
- package/build-module/utils/block-bindings.js.map +1 -0
- package/build-module/utils/dom.js +99 -0
- package/build-module/utils/dom.js.map +1 -1
- package/build-module/utils/get-font-styles-and-weights.js +4 -4
- package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +120 -16
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +9 -25
- package/build-style/content.css +9 -25
- package/build-style/default-editor-styles-rtl.css +2 -2
- package/build-style/default-editor-styles.css +2 -2
- package/build-style/style-rtl.css +53 -76
- package/build-style/style.css +53 -76
- package/build-types/utils/dom.d.ts +25 -0
- package/build-types/utils/dom.d.ts.map +1 -1
- package/package.json +34 -32
- package/src/autocompleters/block.js +2 -1
- package/src/components/block-alignment-matrix-control/index.js +1 -1
- package/src/components/block-breadcrumb/index.js +4 -0
- package/src/components/block-breadcrumb/style.scss +1 -1
- package/src/components/block-canvas/index.js +9 -1
- package/src/components/block-compare/block-view.js +7 -1
- package/src/components/block-draggable/content.scss +1 -1
- package/src/components/block-draggable/index.js +4 -4
- package/src/components/block-draggable/style.scss +1 -1
- package/src/components/block-draggable/use-scroll-when-dragging.js +25 -25
- package/src/components/block-edit/multiple-usage-warning.js +4 -0
- package/src/components/block-inspector/index.js +22 -6
- package/src/components/block-list/block-invalid-warning.js +4 -2
- package/src/components/block-list/block.js +6 -2
- package/src/components/block-list/content.scss +7 -16
- package/src/components/block-list/use-block-props/index.js +5 -2
- package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -0
- package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +44 -0
- package/src/components/block-list/use-in-between-inserter.js +17 -5
- package/src/components/block-lock/style.scss +1 -1
- package/src/components/block-lock/toolbar.js +3 -3
- package/src/components/block-mover/button.js +2 -0
- package/src/components/block-mover/index.js +2 -0
- package/src/components/block-mover/style.scss +1 -1
- package/src/components/block-navigation/dropdown.js +2 -0
- package/src/components/block-pattern-setup/index.js +3 -7
- package/src/components/block-pattern-setup/setup-toolbar.js +17 -4
- package/src/components/block-pattern-setup/style.scss +2 -2
- package/src/components/block-patterns-list/index.js +15 -13
- package/src/components/block-patterns-list/style.scss +2 -2
- package/src/components/block-patterns-paging/index.js +6 -0
- package/src/components/block-popover/index.js +7 -28
- package/src/components/block-popover/style.scss +1 -1
- package/src/components/block-quick-navigation/index.js +2 -0
- package/src/components/block-settings-menu/block-mode-toggle.js +28 -31
- package/src/components/block-settings-menu/test/block-mode-toggle.js +26 -23
- package/src/components/block-settings-menu-controls/index.js +7 -1
- package/src/components/block-switcher/index.js +26 -20
- package/src/components/block-switcher/pattern-transformations-menu.js +3 -7
- package/src/components/block-switcher/style.scss +5 -6
- package/src/components/block-toolbar/index.js +17 -8
- package/src/components/block-toolbar/shuffle.js +9 -7
- package/src/components/block-tools/block-selection-button.js +4 -0
- package/src/components/block-tools/block-toolbar-popover.js +10 -6
- package/src/components/block-tools/insertion-point.js +11 -0
- package/src/components/block-tools/style.scss +4 -5
- package/src/components/block-tools/use-block-toolbar-popover-props.js +2 -1
- package/src/components/block-tools/use-show-block-tools.js +4 -1
- package/src/components/block-tools/zoom-out-mode-inserters.js +5 -2
- package/src/components/block-tools/zoom-out-popover.js +3 -7
- package/src/components/block-tools/zoom-out-toolbar.js +20 -6
- package/src/components/block-variation-picker/README.md +2 -2
- package/src/components/block-variation-picker/index.js +6 -1
- package/src/components/block-variation-transforms/index.js +2 -0
- package/src/components/block-variation-transforms/style.scss +2 -2
- package/src/components/border-radius-control/index.js +1 -0
- package/src/components/border-radius-control/style.scss +0 -10
- package/src/components/button-block-appender/content.scss +0 -1
- package/src/components/button-block-appender/index.js +14 -3
- package/src/components/color-palette/test/control.js +15 -2
- package/src/components/colors-gradients/dropdown.js +5 -1
- package/src/components/colors-gradients/style.scss +4 -4
- package/src/components/content-lock/index.js +1 -0
- package/src/components/content-lock/modify-content-lock-menu-item.js +58 -0
- package/src/components/convert-to-group-buttons/index.js +1 -1
- package/src/components/date-format-picker/index.js +2 -0
- package/src/components/default-block-appender/content.scss +0 -1
- package/src/components/editor-styles/index.js +4 -3
- package/src/components/font-appearance-control/index.js +3 -0
- package/src/components/font-family/README.md +11 -2
- package/src/components/font-family/index.js +3 -0
- package/src/components/global-styles/background-panel.js +135 -64
- package/src/components/global-styles/color-panel.js +8 -4
- package/src/components/global-styles/color-panel.native.js +2 -2
- package/src/components/global-styles/dimensions-panel.js +40 -40
- package/src/components/global-styles/filters-panel.js +5 -1
- package/src/components/global-styles/get-global-styles-changes.js +4 -1
- package/src/components/global-styles/hooks.js +0 -5
- package/src/components/global-styles/index.js +0 -1
- package/src/components/global-styles/shadow-panel-components.js +12 -8
- package/src/components/global-styles/style.scss +16 -6
- package/src/components/global-styles/test/typography-utils.js +96 -5
- package/src/components/global-styles/test/use-global-styles-output.js +20 -4
- package/src/components/global-styles/test/utils.js +10 -0
- package/src/components/global-styles/typography-utils.js +22 -6
- package/src/components/global-styles/use-global-styles-output.js +5 -6
- package/src/components/global-styles/utils.js +11 -35
- package/src/components/grid/grid-item-movers.js +3 -3
- package/src/components/grid/grid-visualizer.js +22 -7
- package/src/components/grid/style.scss +1 -1
- package/src/components/height-control/index.js +1 -0
- package/src/components/iframe/index.js +8 -6
- package/src/components/image-editor/zoom-dropdown.js +17 -9
- package/src/components/inner-blocks/button-block-appender.js +5 -7
- package/src/components/inner-blocks/default-block-appender.js +4 -23
- package/src/components/inner-blocks/index.js +11 -10
- package/src/components/inner-blocks/use-inner-block-template-sync.js +3 -3
- package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +2 -0
- package/src/components/inserter/block-patterns-tab/index.js +2 -0
- package/src/components/inserter/media-tab/hooks.js +3 -3
- package/src/components/inserter/media-tab/media-list.js +1 -4
- package/src/components/inserter/media-tab/media-preview.js +12 -2
- package/src/components/inserter/media-tab/media-tab.js +2 -0
- package/src/components/inserter/menu.js +13 -22
- package/src/components/inserter/quick-inserter.js +6 -1
- package/src/components/inserter/style.scss +7 -9
- package/src/components/inserter-list-item/index.js +4 -4
- package/src/components/inserter-list-item/style.scss +2 -3
- package/src/components/inserter-listbox/index.js +2 -8
- package/src/components/inserter-listbox/item.js +9 -1
- package/src/components/inspector-controls/groups.js +2 -0
- package/src/components/inspector-controls-tabs/index.js +2 -0
- package/src/components/inspector-controls-tabs/settings-tab.js +1 -0
- package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +5 -2
- package/src/components/inspector-popover-header/index.js +4 -0
- package/src/components/letter-spacing-control/README.md +8 -1
- package/src/components/letter-spacing-control/index.js +7 -4
- package/src/components/line-height-control/README.md +7 -0
- package/src/components/line-height-control/index.js +3 -0
- package/src/components/link-control/index.js +17 -8
- package/src/components/link-control/settings-drawer.js +2 -0
- package/src/components/link-control/style.scss +2 -4
- package/src/components/list-view/block-select-button.js +2 -0
- package/src/components/list-view/style.scss +14 -16
- package/src/components/media-placeholder/index.js +26 -7
- package/src/components/media-replace-flow/index.js +12 -1
- package/src/components/media-upload/README.md +2 -0
- package/src/components/media-upload/index.native.js +2 -0
- package/src/components/multi-selection-inspector/index.js +8 -9
- package/src/components/provider/use-block-sync.js +20 -20
- package/src/components/responsive-block-control/README.md +3 -26
- package/src/components/responsive-block-control/test/index.js +1 -0
- package/src/components/rich-text/content.scss +1 -1
- package/src/components/rich-text/event-listeners/paste-handler.js +6 -1
- package/src/components/rich-text/index.js +54 -41
- package/src/components/rich-text/style.scss +1 -1
- package/src/components/rich-text/use-mark-persistent.js +5 -5
- package/src/components/skip-to-selected-block/index.js +2 -0
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +8 -4
- package/src/components/spacing-sizes-control/style.scss +17 -16
- package/src/components/text-alignment-control/index.js +20 -8
- package/src/components/text-decoration-control/index.js +20 -8
- package/src/components/text-decoration-control/stories/index.story.js +0 -4
- package/src/components/text-transform-control/index.js +20 -8
- package/src/components/text-transform-control/stories/index.story.js +0 -4
- package/src/components/tool-selector/index.js +2 -0
- package/src/components/url-input/button.js +6 -0
- package/src/components/url-input/index.js +2 -0
- package/src/components/url-input/style.scss +2 -2
- package/src/components/url-popover/image-url-input-ui.js +2 -0
- package/src/components/url-popover/stories/index.story.js +7 -1
- package/src/components/use-block-drop-zone/index.js +21 -3
- package/src/components/warning/content.scss +3 -10
- package/src/components/writing-flow/index.js +2 -0
- package/src/components/writing-flow/use-arrow-nav.js +9 -2
- package/src/components/writing-flow/use-event-redirect.js +72 -0
- package/src/components/writing-flow/use-input.js +36 -1
- package/src/components/writing-flow/use-select-all.js +18 -1
- package/src/components/writing-flow/use-selection-observer.js +23 -3
- package/src/components/writing-flow/use-tab-nav.js +4 -4
- package/src/components/writing-flow/utils.js +30 -0
- package/src/components/writing-mode-control/index.js +20 -8
- package/src/hooks/background.js +21 -27
- package/src/hooks/block-bindings.js +64 -122
- package/src/hooks/block-bindings.scss +2 -10
- package/src/hooks/content-lock-ui.js +11 -36
- package/src/hooks/duotone.js +0 -4
- package/src/hooks/layout.js +2 -0
- package/src/hooks/layout.scss +3 -11
- package/src/hooks/spacing-visualizer.js +3 -3
- package/src/hooks/style.js +1 -4
- package/src/hooks/test/background.js +60 -0
- package/src/hooks/use-bindings-attributes.js +23 -24
- package/src/hooks/use-zoom-out.js +7 -7
- package/src/layouts/constrained.js +51 -47
- package/src/layouts/flex.js +4 -0
- package/src/layouts/grid.js +3 -0
- package/src/layouts/test/grid.js +2 -2
- package/src/layouts/test/utils.js +6 -8
- package/src/layouts/utils.js +1 -9
- package/src/private-apis.js +4 -0
- package/src/store/actions.js +4 -6
- package/src/store/private-actions.js +1 -0
- package/src/store/private-keys.js +1 -0
- package/src/store/private-selectors.js +44 -7
- package/src/store/reducer.js +2 -0
- package/src/store/selectors.js +32 -51
- package/src/store/test/private-selectors.js +89 -0
- package/src/store/utils.js +50 -0
- package/src/style.scss +0 -1
- package/src/utils/block-bindings.js +97 -0
- package/src/utils/dom.js +117 -0
- package/src/utils/get-font-styles-and-weights.js +12 -4
- package/src/utils/test/get-font-styles-and-weights.js +148 -0
- package/src/utils/test/transform-styles.js +284 -26
- package/src/utils/transform-styles/index.js +132 -21
- package/tsconfig.json +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/global-styles/theme-file-uri-utils.js +0 -21
- package/build/components/global-styles/theme-file-uri-utils.js.map +0 -1
- package/build/components/inner-blocks/with-client-id.js +0 -28
- package/build/components/inner-blocks/with-client-id.js.map +0 -1
- package/build/components/segmented-text-control/index.js +0 -63
- package/build/components/segmented-text-control/index.js.map +0 -1
- package/build-module/components/global-styles/theme-file-uri-utils.js +0 -15
- package/build-module/components/global-styles/theme-file-uri-utils.js.map +0 -1
- package/build-module/components/inner-blocks/with-client-id.js +0 -21
- package/build-module/components/inner-blocks/with-client-id.js.map +0 -1
- package/build-module/components/segmented-text-control/index.js +0 -58
- package/build-module/components/segmented-text-control/index.js.map +0 -1
- package/src/components/global-styles/test/theme-file-uri-utils.js +0 -41
- package/src/components/global-styles/theme-file-uri-utils.js +0 -18
- package/src/components/inner-blocks/with-client-id.js +0 -19
- package/src/components/segmented-text-control/index.js +0 -63
- package/src/components/segmented-text-control/style.scss +0 -15
- package/src/utils/test/__snapshots__/transform-styles.js.snap +0 -109
|
@@ -6,11 +6,12 @@ import {
|
|
|
6
6
|
__experimentalUnitControl as UnitControl,
|
|
7
7
|
__experimentalToggleGroupControl as ToggleGroupControl,
|
|
8
8
|
__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,
|
|
9
|
+
__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,
|
|
9
10
|
} from '@wordpress/components';
|
|
10
11
|
import { __ } from '@wordpress/i18n';
|
|
11
12
|
import {
|
|
12
13
|
Icon,
|
|
13
|
-
|
|
14
|
+
alignNone,
|
|
14
15
|
stretchWide,
|
|
15
16
|
justifyLeft,
|
|
16
17
|
justifyCenter,
|
|
@@ -71,60 +72,63 @@ export default {
|
|
|
71
72
|
return (
|
|
72
73
|
<>
|
|
73
74
|
{ allowCustomContentAndWideSize && (
|
|
74
|
-
|
|
75
|
-
<
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
<
|
|
117
|
-
|
|
118
|
-
|
|
75
|
+
<div className="block-editor-hooks__layout-controls-units">
|
|
76
|
+
<UnitControl
|
|
77
|
+
__next40pxDefaultSize
|
|
78
|
+
className="block-editor-hooks__layout-controls-unit-input"
|
|
79
|
+
label={ __( 'Content width' ) }
|
|
80
|
+
labelPosition="top"
|
|
81
|
+
value={ contentSize || wideSize || '' }
|
|
82
|
+
onChange={ ( nextWidth ) => {
|
|
83
|
+
nextWidth =
|
|
84
|
+
0 > parseFloat( nextWidth )
|
|
85
|
+
? '0'
|
|
86
|
+
: nextWidth;
|
|
87
|
+
onChange( {
|
|
88
|
+
...layout,
|
|
89
|
+
contentSize: nextWidth,
|
|
90
|
+
} );
|
|
91
|
+
} }
|
|
92
|
+
units={ units }
|
|
93
|
+
prefix={
|
|
94
|
+
<InputControlPrefixWrapper variant="icon">
|
|
95
|
+
<Icon icon={ alignNone } />
|
|
96
|
+
</InputControlPrefixWrapper>
|
|
97
|
+
}
|
|
98
|
+
/>
|
|
99
|
+
<UnitControl
|
|
100
|
+
__next40pxDefaultSize
|
|
101
|
+
className="block-editor-hooks__layout-controls-unit-input"
|
|
102
|
+
label={ __( 'Wide width' ) }
|
|
103
|
+
labelPosition="top"
|
|
104
|
+
value={ wideSize || contentSize || '' }
|
|
105
|
+
onChange={ ( nextWidth ) => {
|
|
106
|
+
nextWidth =
|
|
107
|
+
0 > parseFloat( nextWidth )
|
|
108
|
+
? '0'
|
|
109
|
+
: nextWidth;
|
|
110
|
+
onChange( {
|
|
111
|
+
...layout,
|
|
112
|
+
wideSize: nextWidth,
|
|
113
|
+
} );
|
|
114
|
+
} }
|
|
115
|
+
units={ units }
|
|
116
|
+
prefix={
|
|
117
|
+
<InputControlPrefixWrapper variant="icon">
|
|
118
|
+
<Icon icon={ stretchWide } />
|
|
119
|
+
</InputControlPrefixWrapper>
|
|
120
|
+
}
|
|
121
|
+
/>
|
|
119
122
|
<p className="block-editor-hooks__layout-controls-helptext">
|
|
120
123
|
{ __(
|
|
121
124
|
'Customize the width for all elements that are assigned to the center or wide columns.'
|
|
122
125
|
) }
|
|
123
126
|
</p>
|
|
124
|
-
|
|
127
|
+
</div>
|
|
125
128
|
) }
|
|
126
129
|
{ allowJustification && (
|
|
127
130
|
<ToggleGroupControl
|
|
131
|
+
__next40pxDefaultSize
|
|
128
132
|
__nextHasNoMarginBottom
|
|
129
133
|
label={ __( 'Justification' ) }
|
|
130
134
|
value={ justifyContent }
|
package/src/layouts/flex.js
CHANGED
|
@@ -246,6 +246,8 @@ function FlexLayoutVerticalAlignmentControl( {
|
|
|
246
246
|
{ verticalAlignmentOptions.map( ( value, icon, label ) => {
|
|
247
247
|
return (
|
|
248
248
|
<Button
|
|
249
|
+
// TODO: Switch to `true` (40px size) if possible
|
|
250
|
+
__next40pxDefaultSize={ false }
|
|
249
251
|
key={ value }
|
|
250
252
|
label={ label }
|
|
251
253
|
icon={ icon }
|
|
@@ -325,6 +327,7 @@ function FlexLayoutJustifyContentControl( {
|
|
|
325
327
|
|
|
326
328
|
return (
|
|
327
329
|
<ToggleGroupControl
|
|
330
|
+
__next40pxDefaultSize
|
|
328
331
|
__nextHasNoMarginBottom
|
|
329
332
|
label={ __( 'Justification' ) }
|
|
330
333
|
value={ justifyContent }
|
|
@@ -370,6 +373,7 @@ function OrientationControl( { layout, onChange } ) {
|
|
|
370
373
|
} = layout;
|
|
371
374
|
return (
|
|
372
375
|
<ToggleGroupControl
|
|
376
|
+
__next40pxDefaultSize
|
|
373
377
|
__nextHasNoMarginBottom
|
|
374
378
|
className="block-editor-hooks__flex-layout-orientation-controls"
|
|
375
379
|
label={ __( 'Orientation' ) }
|
package/src/layouts/grid.js
CHANGED
|
@@ -264,6 +264,7 @@ function GridLayoutMinimumWidthControl( { layout, onChange } ) {
|
|
|
264
264
|
</FlexItem>
|
|
265
265
|
<FlexItem isBlock>
|
|
266
266
|
<RangeControl
|
|
267
|
+
__next40pxDefaultSize
|
|
267
268
|
__nextHasNoMarginBottom
|
|
268
269
|
onChange={ handleSliderChange }
|
|
269
270
|
value={ quantity || 0 }
|
|
@@ -368,6 +369,7 @@ function GridLayoutColumnsAndRowsControl( {
|
|
|
368
369
|
/>
|
|
369
370
|
) : (
|
|
370
371
|
<RangeControl
|
|
372
|
+
__next40pxDefaultSize
|
|
371
373
|
__nextHasNoMarginBottom
|
|
372
374
|
value={ columnCount ?? 0 }
|
|
373
375
|
onChange={ ( value ) =>
|
|
@@ -449,6 +451,7 @@ function GridLayoutTypeControl( { layout, onChange } ) {
|
|
|
449
451
|
|
|
450
452
|
return (
|
|
451
453
|
<ToggleGroupControl
|
|
454
|
+
__next40pxDefaultSize
|
|
452
455
|
__nextHasNoMarginBottom
|
|
453
456
|
label={ __( 'Grid item position' ) }
|
|
454
457
|
value={ gridPlacement }
|
package/src/layouts/test/grid.js
CHANGED
|
@@ -5,7 +5,7 @@ import grid from '../grid';
|
|
|
5
5
|
|
|
6
6
|
describe( 'getLayoutStyle', () => {
|
|
7
7
|
it( 'should return only `grid-template-columns` and `container-type` properties if no non-default params are provided', () => {
|
|
8
|
-
const expected = `.
|
|
8
|
+
const expected = `.my-container { grid-template-columns: repeat(auto-fill, minmax(min(12rem, 100%), 1fr)); container-type: inline-size; }`;
|
|
9
9
|
|
|
10
10
|
const result = grid.getLayoutStyle( {
|
|
11
11
|
selector: '.my-container',
|
|
@@ -19,7 +19,7 @@ describe( 'getLayoutStyle', () => {
|
|
|
19
19
|
expect( result ).toBe( expected );
|
|
20
20
|
} );
|
|
21
21
|
it( 'should return only `grid-template-columns` if columnCount property is provided', () => {
|
|
22
|
-
const expected = `.
|
|
22
|
+
const expected = `.my-container { grid-template-columns: repeat(3, minmax(0, 1fr)); }`;
|
|
23
23
|
|
|
24
24
|
const result = grid.getLayoutStyle( {
|
|
25
25
|
selector: '.my-container',
|
|
@@ -37,7 +37,7 @@ const layoutDefinitions = {
|
|
|
37
37
|
describe( 'getBlockGapCSS', () => {
|
|
38
38
|
it( 'should output default blockGap rules', () => {
|
|
39
39
|
const expected =
|
|
40
|
-
'.
|
|
40
|
+
'.my-container > * { margin-block-start: 0; margin-block-end: 0; }.my-container > * + * { margin-block-start: 3em; margin-block-end: 0; }';
|
|
41
41
|
|
|
42
42
|
const result = getBlockGapCSS(
|
|
43
43
|
'.my-container',
|
|
@@ -50,7 +50,7 @@ describe( 'getBlockGapCSS', () => {
|
|
|
50
50
|
} );
|
|
51
51
|
|
|
52
52
|
it( 'should output flex blockGap rules', () => {
|
|
53
|
-
const expected = '.
|
|
53
|
+
const expected = '.my-container { gap: 3em; }';
|
|
54
54
|
|
|
55
55
|
const result = getBlockGapCSS(
|
|
56
56
|
'.my-container',
|
|
@@ -97,7 +97,7 @@ describe( 'getBlockGapCSS', () => {
|
|
|
97
97
|
} );
|
|
98
98
|
|
|
99
99
|
it( 'should treat a blockGap string containing 0 as a valid value', () => {
|
|
100
|
-
const expected = '.
|
|
100
|
+
const expected = '.my-container { gap: 0; }';
|
|
101
101
|
|
|
102
102
|
const result = getBlockGapCSS(
|
|
103
103
|
'.my-container',
|
|
@@ -113,21 +113,19 @@ describe( 'getBlockGapCSS', () => {
|
|
|
113
113
|
describe( 'appendSelectors', () => {
|
|
114
114
|
it( 'should append a subselector without an appended selector', () => {
|
|
115
115
|
expect( appendSelectors( '.original-selector' ) ).toBe(
|
|
116
|
-
'.
|
|
116
|
+
'.original-selector'
|
|
117
117
|
);
|
|
118
118
|
} );
|
|
119
119
|
|
|
120
120
|
it( 'should append a subselector to a single selector', () => {
|
|
121
121
|
expect( appendSelectors( '.original-selector', '.appended' ) ).toBe(
|
|
122
|
-
'.
|
|
122
|
+
'.original-selector .appended'
|
|
123
123
|
);
|
|
124
124
|
} );
|
|
125
125
|
|
|
126
126
|
it( 'should append a subselector to multiple selectors', () => {
|
|
127
127
|
expect(
|
|
128
128
|
appendSelectors( '.first-selector,.second-selector', '.appended' )
|
|
129
|
-
).toBe(
|
|
130
|
-
'.editor-styles-wrapper .first-selector .appended,.editor-styles-wrapper .second-selector .appended'
|
|
131
|
-
);
|
|
129
|
+
).toBe( '.first-selector .appended,.second-selector .appended' );
|
|
132
130
|
} );
|
|
133
131
|
} );
|
package/src/layouts/utils.js
CHANGED
|
@@ -17,19 +17,11 @@ import { LAYOUT_DEFINITIONS } from './definitions';
|
|
|
17
17
|
* @return {string} - CSS selector.
|
|
18
18
|
*/
|
|
19
19
|
export function appendSelectors( selectors, append = '' ) {
|
|
20
|
-
// Ideally we shouldn't need the `.editor-styles-wrapper` increased specificity here
|
|
21
|
-
// The problem though is that we have a `.editor-styles-wrapper p { margin: reset; }` style
|
|
22
|
-
// it's used to reset the default margin added by wp-admin to paragraphs
|
|
23
|
-
// so we need this to be higher speficity otherwise, it won't be applied to paragraphs inside containers
|
|
24
|
-
// When the post editor is fully iframed, this extra classname could be removed.
|
|
25
|
-
|
|
26
20
|
return selectors
|
|
27
21
|
.split( ',' )
|
|
28
22
|
.map(
|
|
29
23
|
( subselector ) =>
|
|
30
|
-
|
|
31
|
-
append ? ` ${ append }` : ''
|
|
32
|
-
}`
|
|
24
|
+
`${ subselector }${ append ? ` ${ append }` : '' }`
|
|
33
25
|
)
|
|
34
26
|
.join( ',' );
|
|
35
27
|
}
|
package/src/private-apis.js
CHANGED
|
@@ -38,6 +38,7 @@ import {
|
|
|
38
38
|
reusableBlocksSelectKey,
|
|
39
39
|
globalStylesDataKey,
|
|
40
40
|
globalStylesLinksDataKey,
|
|
41
|
+
sectionRootClientIdKey,
|
|
41
42
|
} from './store/private-keys';
|
|
42
43
|
import { requiresWrapperOnCopy } from './components/writing-flow/utils';
|
|
43
44
|
import { PrivateRichText } from './components/rich-text/';
|
|
@@ -47,6 +48,7 @@ import { PrivatePublishDateTimePicker } from './components/publish-date-time-pic
|
|
|
47
48
|
import useSpacingSizes from './components/spacing-sizes-control/hooks/use-spacing-sizes';
|
|
48
49
|
import useBlockDisplayTitle from './components/block-title/use-block-display-title';
|
|
49
50
|
import TabbedSidebar from './components/tabbed-sidebar';
|
|
51
|
+
import { useBlockBindingsUtils } from './utils/block-bindings';
|
|
50
52
|
|
|
51
53
|
/**
|
|
52
54
|
* Private @wordpress/block-editor APIs.
|
|
@@ -92,4 +94,6 @@ lock( privateApis, {
|
|
|
92
94
|
useBlockDisplayTitle,
|
|
93
95
|
__unstableBlockStyleVariationOverridesWithConfig,
|
|
94
96
|
setBackgroundStyleDefaults,
|
|
97
|
+
useBlockBindingsUtils,
|
|
98
|
+
sectionRootClientIdKey,
|
|
95
99
|
} );
|
package/src/store/actions.js
CHANGED
|
@@ -34,8 +34,6 @@ import {
|
|
|
34
34
|
__experimentalUpdateSettings,
|
|
35
35
|
privateRemoveBlocks,
|
|
36
36
|
} from './private-actions';
|
|
37
|
-
import { STORE_NAME } from './constants';
|
|
38
|
-
import { unlock } from '../lock-unlock';
|
|
39
37
|
|
|
40
38
|
/** @typedef {import('../components/use-on-block-drop/types').WPDropOperation} WPDropOperation */
|
|
41
39
|
|
|
@@ -1670,13 +1668,13 @@ export const setNavigationMode =
|
|
|
1670
1668
|
*/
|
|
1671
1669
|
export const __unstableSetEditorMode =
|
|
1672
1670
|
( mode ) =>
|
|
1673
|
-
( { dispatch, select
|
|
1671
|
+
( { dispatch, select } ) => {
|
|
1674
1672
|
// When switching to zoom-out mode, we need to select the parent section
|
|
1675
1673
|
if ( mode === 'zoom-out' ) {
|
|
1676
1674
|
const firstSelectedClientId = select.getBlockSelectionStart();
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1675
|
+
|
|
1676
|
+
const sectionRootClientId = select.getSectionRootClientId();
|
|
1677
|
+
|
|
1680
1678
|
if ( firstSelectedClientId ) {
|
|
1681
1679
|
let sectionClientId;
|
|
1682
1680
|
|
|
@@ -367,6 +367,7 @@ export function expandBlock( clientId ) {
|
|
|
367
367
|
export const modifyContentLockBlock =
|
|
368
368
|
( clientId ) =>
|
|
369
369
|
( { select, dispatch } ) => {
|
|
370
|
+
dispatch.selectBlock( clientId );
|
|
370
371
|
dispatch.__unstableMarkNextChangeAsNotPersistent();
|
|
371
372
|
dispatch.updateBlockAttributes( clientId, {
|
|
372
373
|
templateLock: undefined,
|
|
@@ -2,3 +2,4 @@ export const globalStylesDataKey = Symbol( 'globalStylesDataKey' );
|
|
|
2
2
|
export const globalStylesLinksDataKey = Symbol( 'globalStylesLinks' );
|
|
3
3
|
export const selectBlockPatternsKey = Symbol( 'selectBlockPatternsKey' );
|
|
4
4
|
export const reusableBlocksSelectKey = Symbol( 'reusableBlocksSelect' );
|
|
5
|
+
export const sectionRootClientIdKey = Symbol( 'sectionRootClientIdKey' );
|
|
@@ -20,6 +20,7 @@ import {
|
|
|
20
20
|
checkAllowListRecursive,
|
|
21
21
|
getAllPatternsDependants,
|
|
22
22
|
getInsertBlockTypeDependants,
|
|
23
|
+
getGrammar,
|
|
23
24
|
} from './utils';
|
|
24
25
|
import { INSERTER_PATTERN_TYPES } from '../components/inserter/block-patterns-tab/utils';
|
|
25
26
|
import { STORE_NAME } from './constants';
|
|
@@ -27,6 +28,7 @@ import { unlock } from '../lock-unlock';
|
|
|
27
28
|
import {
|
|
28
29
|
selectBlockPatternsKey,
|
|
29
30
|
reusableBlocksSelectKey,
|
|
31
|
+
sectionRootClientIdKey,
|
|
30
32
|
} from './private-keys';
|
|
31
33
|
|
|
32
34
|
export { getBlockSettings } from './get-block-settings';
|
|
@@ -291,19 +293,18 @@ export const getInserterMediaCategories = createSelector(
|
|
|
291
293
|
export const hasAllowedPatterns = createRegistrySelector( ( select ) =>
|
|
292
294
|
createSelector(
|
|
293
295
|
( state, rootClientId = null ) => {
|
|
294
|
-
const { getAllPatterns
|
|
295
|
-
select( STORE_NAME )
|
|
296
|
-
);
|
|
296
|
+
const { getAllPatterns } = unlock( select( STORE_NAME ) );
|
|
297
297
|
const patterns = getAllPatterns();
|
|
298
298
|
const { allowedBlockTypes } = getSettings( state );
|
|
299
|
-
return patterns.some( (
|
|
299
|
+
return patterns.some( ( pattern ) => {
|
|
300
|
+
const { inserter = true } = pattern;
|
|
300
301
|
if ( ! inserter ) {
|
|
301
302
|
return false;
|
|
302
303
|
}
|
|
303
|
-
const
|
|
304
|
+
const grammar = getGrammar( pattern );
|
|
304
305
|
return (
|
|
305
|
-
checkAllowListRecursive(
|
|
306
|
-
|
|
306
|
+
checkAllowListRecursive( grammar, allowedBlockTypes ) &&
|
|
307
|
+
grammar.every( ( { name: blockName } ) =>
|
|
307
308
|
canInsertBlockType( state, blockName, rootClientId )
|
|
308
309
|
)
|
|
309
310
|
);
|
|
@@ -511,3 +512,39 @@ export function getTemporarilyEditingAsBlocks( state ) {
|
|
|
511
512
|
export function getTemporarilyEditingFocusModeToRevert( state ) {
|
|
512
513
|
return state.temporarilyEditingFocusModeRevert;
|
|
513
514
|
}
|
|
515
|
+
|
|
516
|
+
/**
|
|
517
|
+
* Returns the style attributes of multiple blocks.
|
|
518
|
+
*
|
|
519
|
+
* @param {Object} state Global application state.
|
|
520
|
+
* @param {string[]} clientIds An array of block client IDs.
|
|
521
|
+
*
|
|
522
|
+
* @return {Object} An object where keys are client IDs and values are the corresponding block styles or undefined.
|
|
523
|
+
*/
|
|
524
|
+
export const getBlockStyles = createSelector(
|
|
525
|
+
( state, clientIds ) =>
|
|
526
|
+
clientIds.reduce( ( styles, clientId ) => {
|
|
527
|
+
styles[ clientId ] = state.blocks.attributes.get( clientId )?.style;
|
|
528
|
+
return styles;
|
|
529
|
+
}, {} ),
|
|
530
|
+
( state, clientIds ) => [
|
|
531
|
+
...clientIds.map(
|
|
532
|
+
( clientId ) => state.blocks.attributes.get( clientId )?.style
|
|
533
|
+
),
|
|
534
|
+
]
|
|
535
|
+
);
|
|
536
|
+
|
|
537
|
+
/**
|
|
538
|
+
* Returns whether zoom out mode is enabled.
|
|
539
|
+
*
|
|
540
|
+
* @param {Object} state Editor state.
|
|
541
|
+
*
|
|
542
|
+
* @return {boolean} Is zoom out mode enabled.
|
|
543
|
+
*/
|
|
544
|
+
export function isZoomOutMode( state ) {
|
|
545
|
+
return state.editorMode === 'zoom-out';
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
export function getSectionRootClientId( state ) {
|
|
549
|
+
return state.settings?.[ sectionRootClientIdKey ];
|
|
550
|
+
}
|
package/src/store/reducer.js
CHANGED
package/src/store/selectors.js
CHANGED
|
@@ -7,7 +7,6 @@ import {
|
|
|
7
7
|
getBlockVariations,
|
|
8
8
|
hasBlockSupport,
|
|
9
9
|
getPossibleBlockTransformations,
|
|
10
|
-
parse,
|
|
11
10
|
switchToBlockType,
|
|
12
11
|
store as blocksStore,
|
|
13
12
|
} from '@wordpress/blocks';
|
|
@@ -27,6 +26,8 @@ import {
|
|
|
27
26
|
checkAllowList,
|
|
28
27
|
getAllPatternsDependants,
|
|
29
28
|
getInsertBlockTypeDependants,
|
|
29
|
+
getParsedPattern,
|
|
30
|
+
getGrammar,
|
|
30
31
|
} from './utils';
|
|
31
32
|
import { orderBy } from '../utils/sorting';
|
|
32
33
|
import { STORE_NAME } from './constants';
|
|
@@ -36,6 +37,7 @@ import {
|
|
|
36
37
|
getContentLockingParent,
|
|
37
38
|
getTemporarilyEditingAsBlocks,
|
|
38
39
|
getTemporarilyEditingFocusModeToRevert,
|
|
40
|
+
getSectionRootClientId,
|
|
39
41
|
} from './private-selectors';
|
|
40
42
|
|
|
41
43
|
/**
|
|
@@ -1752,7 +1754,7 @@ export function canRemoveBlocks( state, clientIds ) {
|
|
|
1752
1754
|
* @param {Object} state Editor state.
|
|
1753
1755
|
* @param {string} clientId The block client Id.
|
|
1754
1756
|
*
|
|
1755
|
-
* @return {boolean
|
|
1757
|
+
* @return {boolean} Whether the given block is allowed to be moved.
|
|
1756
1758
|
*/
|
|
1757
1759
|
export function canMoveBlock( state, clientId ) {
|
|
1758
1760
|
const attributes = getBlockAttributes( state, clientId );
|
|
@@ -2057,9 +2059,8 @@ export const getInserterItems = createRegistrySelector( ( select ) =>
|
|
|
2057
2059
|
if ( ! item.rootClientId ) {
|
|
2058
2060
|
let sectionRootClientId;
|
|
2059
2061
|
try {
|
|
2060
|
-
sectionRootClientId =
|
|
2061
|
-
|
|
2062
|
-
).sectionRootClientId;
|
|
2062
|
+
sectionRootClientId =
|
|
2063
|
+
getSectionRootClientId( state );
|
|
2063
2064
|
} catch ( e ) {}
|
|
2064
2065
|
if (
|
|
2065
2066
|
sectionRootClientId &&
|
|
@@ -2349,40 +2350,12 @@ export function __experimentalGetDirectInsertBlock(
|
|
|
2349
2350
|
}
|
|
2350
2351
|
|
|
2351
2352
|
export const __experimentalGetParsedPattern = createRegistrySelector(
|
|
2352
|
-
( select ) =>
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
if ( ! pattern ) {
|
|
2359
|
-
return null;
|
|
2360
|
-
}
|
|
2361
|
-
const blocks = parse( pattern.content, {
|
|
2362
|
-
__unstableSkipMigrationLogs: true,
|
|
2363
|
-
} );
|
|
2364
|
-
if ( blocks.length === 1 ) {
|
|
2365
|
-
blocks[ 0 ].attributes = {
|
|
2366
|
-
...blocks[ 0 ].attributes,
|
|
2367
|
-
metadata: {
|
|
2368
|
-
...( blocks[ 0 ].attributes.metadata || {} ),
|
|
2369
|
-
categories: pattern.categories,
|
|
2370
|
-
patternName: pattern.name,
|
|
2371
|
-
name:
|
|
2372
|
-
blocks[ 0 ].attributes.metadata?.name ||
|
|
2373
|
-
pattern.title,
|
|
2374
|
-
},
|
|
2375
|
-
};
|
|
2376
|
-
}
|
|
2377
|
-
return {
|
|
2378
|
-
...pattern,
|
|
2379
|
-
blocks,
|
|
2380
|
-
};
|
|
2381
|
-
},
|
|
2382
|
-
( state, patternName ) => [
|
|
2383
|
-
unlock( select( STORE_NAME ) ).getPatternBySlug( patternName ),
|
|
2384
|
-
]
|
|
2385
|
-
)
|
|
2353
|
+
( select ) => ( state, patternName ) => {
|
|
2354
|
+
const pattern = unlock( select( STORE_NAME ) ).getPatternBySlug(
|
|
2355
|
+
patternName
|
|
2356
|
+
);
|
|
2357
|
+
return pattern ? getParsedPattern( pattern ) : null;
|
|
2358
|
+
}
|
|
2386
2359
|
);
|
|
2387
2360
|
|
|
2388
2361
|
const getAllowedPatternsDependants = ( select ) => ( state, rootClientId ) => [
|
|
@@ -2401,23 +2374,30 @@ const getAllowedPatternsDependants = ( select ) => ( state, rootClientId ) => [
|
|
|
2401
2374
|
export const __experimentalGetAllowedPatterns = createRegistrySelector(
|
|
2402
2375
|
( select ) => {
|
|
2403
2376
|
return createSelector( ( state, rootClientId = null ) => {
|
|
2404
|
-
const {
|
|
2405
|
-
getAllPatterns,
|
|
2406
|
-
__experimentalGetParsedPattern: getParsedPattern,
|
|
2407
|
-
} = unlock( select( STORE_NAME ) );
|
|
2377
|
+
const { getAllPatterns } = unlock( select( STORE_NAME ) );
|
|
2408
2378
|
const patterns = getAllPatterns();
|
|
2409
2379
|
const { allowedBlockTypes } = getSettings( state );
|
|
2410
|
-
|
|
2411
2380
|
const parsedPatterns = patterns
|
|
2412
2381
|
.filter( ( { inserter = true } ) => !! inserter )
|
|
2413
|
-
.map( (
|
|
2382
|
+
.map( ( pattern ) => {
|
|
2383
|
+
return {
|
|
2384
|
+
...pattern,
|
|
2385
|
+
get blocks() {
|
|
2386
|
+
return getParsedPattern( pattern ).blocks;
|
|
2387
|
+
},
|
|
2388
|
+
};
|
|
2389
|
+
} );
|
|
2390
|
+
|
|
2414
2391
|
const availableParsedPatterns = parsedPatterns.filter(
|
|
2415
|
-
(
|
|
2416
|
-
checkAllowListRecursive(
|
|
2392
|
+
( pattern ) =>
|
|
2393
|
+
checkAllowListRecursive(
|
|
2394
|
+
getGrammar( pattern ),
|
|
2395
|
+
allowedBlockTypes
|
|
2396
|
+
)
|
|
2417
2397
|
);
|
|
2418
2398
|
const patternsAllowed = availableParsedPatterns.filter(
|
|
2419
|
-
(
|
|
2420
|
-
|
|
2399
|
+
( pattern ) =>
|
|
2400
|
+
getGrammar( pattern ).every( ( { blockName: name } ) =>
|
|
2421
2401
|
canInsertBlockType( state, name, rootClientId )
|
|
2422
2402
|
)
|
|
2423
2403
|
);
|
|
@@ -2858,7 +2838,7 @@ export function __unstableHasActiveBlockOverlayActive( state, clientId ) {
|
|
|
2858
2838
|
|
|
2859
2839
|
// In zoom-out mode, the block overlay is always active for section level blocks.
|
|
2860
2840
|
if ( editorMode === 'zoom-out' ) {
|
|
2861
|
-
const
|
|
2841
|
+
const sectionRootClientId = getSectionRootClientId( state );
|
|
2862
2842
|
if ( sectionRootClientId ) {
|
|
2863
2843
|
const sectionClientIds = getBlockOrder(
|
|
2864
2844
|
state,
|
|
@@ -2951,7 +2931,8 @@ export const getBlockEditingMode = createRegistrySelector(
|
|
|
2951
2931
|
// sections.
|
|
2952
2932
|
const editorMode = __unstableGetEditorMode( state );
|
|
2953
2933
|
if ( editorMode === 'zoom-out' ) {
|
|
2954
|
-
const
|
|
2934
|
+
const sectionRootClientId = getSectionRootClientId( state );
|
|
2935
|
+
|
|
2955
2936
|
if ( clientId === '' /* ROOT_CONTAINER_CLIENT_ID */ ) {
|
|
2956
2937
|
return sectionRootClientId ? 'disabled' : 'contentOnly';
|
|
2957
2938
|
}
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
getEnabledBlockParents,
|
|
10
10
|
getExpandedBlock,
|
|
11
11
|
isDragging,
|
|
12
|
+
getBlockStyles,
|
|
12
13
|
} from '../private-selectors';
|
|
13
14
|
import { getBlockEditingMode } from '../selectors';
|
|
14
15
|
|
|
@@ -509,4 +510,92 @@ describe( 'private selectors', () => {
|
|
|
509
510
|
);
|
|
510
511
|
} );
|
|
511
512
|
} );
|
|
513
|
+
|
|
514
|
+
describe( 'getBlockStyles', () => {
|
|
515
|
+
it( 'should return an empty object when no client IDs are provided', () => {
|
|
516
|
+
const state = {
|
|
517
|
+
blocks: {
|
|
518
|
+
attributes: new Map(),
|
|
519
|
+
},
|
|
520
|
+
};
|
|
521
|
+
const result = getBlockStyles( state, [] );
|
|
522
|
+
expect( result ).toEqual( {} );
|
|
523
|
+
} );
|
|
524
|
+
|
|
525
|
+
it( 'should return styles for a single block', () => {
|
|
526
|
+
const state = {
|
|
527
|
+
blocks: {
|
|
528
|
+
attributes: new Map( [
|
|
529
|
+
[ 'block-1', { style: { color: 'red' } } ],
|
|
530
|
+
] ),
|
|
531
|
+
},
|
|
532
|
+
};
|
|
533
|
+
const result = getBlockStyles( state, [ 'block-1' ] );
|
|
534
|
+
expect( result ).toEqual( {
|
|
535
|
+
'block-1': { color: 'red' },
|
|
536
|
+
} );
|
|
537
|
+
} );
|
|
538
|
+
|
|
539
|
+
it( 'should return styles for multiple blocks', () => {
|
|
540
|
+
const state = {
|
|
541
|
+
blocks: {
|
|
542
|
+
attributes: new Map( [
|
|
543
|
+
[ 'block-1', { style: { color: 'red' } } ],
|
|
544
|
+
[ 'block-2', { style: { fontSize: '16px' } } ],
|
|
545
|
+
[ 'block-3', { style: { margin: '10px' } } ],
|
|
546
|
+
] ),
|
|
547
|
+
},
|
|
548
|
+
};
|
|
549
|
+
const result = getBlockStyles( state, [
|
|
550
|
+
'block-1',
|
|
551
|
+
'block-2',
|
|
552
|
+
'block-3',
|
|
553
|
+
] );
|
|
554
|
+
expect( result ).toEqual( {
|
|
555
|
+
'block-1': { color: 'red' },
|
|
556
|
+
'block-2': { fontSize: '16px' },
|
|
557
|
+
'block-3': { margin: '10px' },
|
|
558
|
+
} );
|
|
559
|
+
} );
|
|
560
|
+
|
|
561
|
+
it( 'should return undefined for blocks without styles', () => {
|
|
562
|
+
const state = {
|
|
563
|
+
blocks: {
|
|
564
|
+
attributes: new Map( [
|
|
565
|
+
[ 'block-1', { style: { color: 'red' } } ],
|
|
566
|
+
[ 'block-2', {} ],
|
|
567
|
+
[ 'block-3', { style: { margin: '10px' } } ],
|
|
568
|
+
] ),
|
|
569
|
+
},
|
|
570
|
+
};
|
|
571
|
+
const result = getBlockStyles( state, [
|
|
572
|
+
'block-1',
|
|
573
|
+
'block-2',
|
|
574
|
+
'block-3',
|
|
575
|
+
] );
|
|
576
|
+
expect( result ).toEqual( {
|
|
577
|
+
'block-1': { color: 'red' },
|
|
578
|
+
'block-2': undefined,
|
|
579
|
+
'block-3': { margin: '10px' },
|
|
580
|
+
} );
|
|
581
|
+
} );
|
|
582
|
+
|
|
583
|
+
it( 'should return undefined for non-existent blocks', () => {
|
|
584
|
+
const state = {
|
|
585
|
+
blocks: {
|
|
586
|
+
attributes: new Map( [
|
|
587
|
+
[ 'block-1', { style: { color: 'red' } } ],
|
|
588
|
+
] ),
|
|
589
|
+
},
|
|
590
|
+
};
|
|
591
|
+
const result = getBlockStyles( state, [
|
|
592
|
+
'block-1',
|
|
593
|
+
'non-existent-block',
|
|
594
|
+
] );
|
|
595
|
+
expect( result ).toEqual( {
|
|
596
|
+
'block-1': { color: 'red' },
|
|
597
|
+
'non-existent-block': undefined,
|
|
598
|
+
} );
|
|
599
|
+
} );
|
|
600
|
+
} );
|
|
512
601
|
} );
|