@wordpress/block-editor 12.24.0 → 12.26.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 +11 -3
- package/README.md +7 -1
- package/build/components/alignment-control/ui.js +3 -1
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/block-actions/index.js +4 -2
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +2 -2
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-card/index.js +2 -2
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-compare/index.js +2 -2
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-edit/edit.js +2 -2
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-icon/index.js +2 -2
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-list/block.js +4 -13
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +2 -2
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +6 -5
- 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 +11 -8
- 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-list/use-block-props/use-scroll-into-view.js +44 -0
- package/build/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
- package/build/components/block-list-appender/index.js +2 -2
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-mover/button.js +2 -2
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +2 -2
- package/build/components/block-mover/index.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-patterns-list/index.js +26 -5
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-popover/cover.js +9 -6
- package/build/components/block-popover/cover.js.map +1 -1
- package/build/components/block-popover/inbetween.js +2 -2
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +22 -4
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/index.js +2 -2
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +8 -30
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +10 -7
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +2 -2
- package/build/components/block-styles/index.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/index.js +3 -3
- package/build/components/block-toolbar/index.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/block-selection-button.js +2 -2
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/block-toolbar-breadcrumb.js +4 -4
- package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
- package/build/components/block-tools/block-toolbar-popover.js +2 -2
- package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build/components/block-tools/empty-block-inserter.js +2 -2
- package/build/components/block-tools/empty-block-inserter.js.map +1 -1
- package/build/components/block-tools/index.js +23 -2
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +4 -4
- package/build/components/block-tools/insertion-point.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 +68 -20
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-variation-picker/index.js +5 -4
- 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/button-block-appender/index.js +2 -2
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/child-layout-control/index.js +2 -2
- package/build/components/child-layout-control/index.js.map +1 -1
- package/build/components/colors-gradients/control.js +3 -3
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +2 -2
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +2 -2
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.js +6 -0
- package/build/components/convert-to-group-buttons/index.js.map +1 -1
- package/build/components/default-block-appender/index.js +2 -2
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/dimensions-tool/aspect-ratio-tool.js +30 -36
- package/build/components/dimensions-tool/aspect-ratio-tool.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 +4 -4
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +6 -4
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +20 -4
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +2 -2
- package/build/components/global-styles/filters-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/shadow-panel-components.js +4 -4
- package/build/components/global-styles/shadow-panel-components.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/grid-visualizer/grid-item-resizer.js +141 -24
- package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -1
- package/build/components/grid-visualizer/grid-visualizer.js +11 -5
- package/build/components/grid-visualizer/grid-visualizer.js.map +1 -1
- package/build/components/iframe/index.js +69 -30
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +53 -36
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/image-editor/cropper.js +2 -2
- package/build/components/image-editor/cropper.js.map +1 -1
- package/build/components/image-editor/index.js +1 -1
- package/build/components/image-editor/index.js.map +1 -1
- package/build/components/index.js +8 -0
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/button-block-appender.js +2 -2
- package/build/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +25 -10
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/index.js +20 -30
- package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +9 -3
- 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/hooks/use-insertion-point.js +11 -2
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +12 -5
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/index.js +2 -2
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/library.js +8 -2
- package/build/components/inserter/library.js.map +1 -1
- 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 +15 -5
- 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 +115 -109
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +2 -2
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/tabs.js +23 -11
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter-list-item/index.js +3 -3
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +9 -0
- package/build/components/keyboard-shortcuts/index.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/index.js +2 -2
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/link-preview.js +3 -3
- package/build/components/link-control/link-preview.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/link-control/search-results.js +2 -2
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/list-view/block-contents.js +2 -2
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +15 -172
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +196 -21
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +3 -3
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/index.js +3 -3
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +2 -2
- package/build/components/list-view/leaf.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 +7 -7
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-replace-flow/index.js +2 -2
- package/build/components/media-replace-flow/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/plain-text/index.js +2 -2
- package/build/components/plain-text/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 +10 -1
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/responsive-block-control/index.js +2 -2
- package/build/components/responsive-block-control/index.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 +89 -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 +126 -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/format-toolbar/index.js +2 -2
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/index.js +20 -33
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +15 -5
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/multiline.js +36 -4
- 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 +22 -26
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +19 -23
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/url-input/index.js +4 -4
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-popover/link-editor.js +2 -2
- package/build/components/url-popover/link-editor.js.map +1 -1
- package/build/components/url-popover/link-viewer-url.js +2 -2
- package/build/components/url-popover/link-viewer-url.js.map +1 -1
- package/build/components/url-popover/link-viewer.js +2 -2
- package/build/components/url-popover/link-viewer.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/warning/index.js +2 -2
- package/build/components/warning/index.js.map +1 -1
- package/build/components/writing-flow/index.js +2 -2
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-clipboard-handler.js +77 -30
- package/build/components/writing-flow/use-clipboard-handler.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-input.js +44 -2
- package/build/components/writing-flow/use-input.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +9 -2
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/components/writing-mode-control/index.js +17 -21
- package/build/components/writing-mode-control/index.js.map +1 -1
- package/build/hooks/align.js +2 -2
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/background.js +1 -1
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/border.js +3 -3
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +3 -3
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +5 -28
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/custom-class-name.js +2 -2
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-class-name.native.js +2 -2
- package/build/hooks/custom-class-name.native.js.map +1 -1
- package/build/hooks/dimensions.js +2 -2
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +3 -1
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/layout-child.js +16 -8
- package/build/hooks/layout-child.js.map +1 -1
- package/build/hooks/layout.js +2 -2
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/position.js +2 -2
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/text-align.js +3 -3
- package/build/hooks/text-align.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +39 -13
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/hooks/use-color-props.js +2 -2
- package/build/hooks/use-color-props.js.map +1 -1
- package/build/hooks/use-typography-props.js +2 -2
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/hooks/utils.js +13 -8
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/grid.js +7 -6
- package/build/layouts/grid.js.map +1 -1
- package/build/private-apis.js +8 -3
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +143 -25
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +26 -1
- 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 +33 -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 +25 -8
- 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/utils/selection.js +8 -0
- package/build/utils/selection.js.map +1 -1
- package/build/utils/transform-styles/index.js +12 -7
- package/build/utils/transform-styles/index.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-actions/index.js +4 -2
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +2 -2
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-card/index.js +2 -2
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-compare/index.js +2 -2
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-edit/edit.js +2 -2
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-icon/index.js +2 -2
- package/build-module/components/block-icon/index.js.map +1 -1
- package/build-module/components/block-list/block.js +4 -13
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +2 -2
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +6 -5
- 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 +11 -8
- 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-list/use-block-props/use-scroll-into-view.js +37 -0
- package/build-module/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
- package/build-module/components/block-list-appender/index.js +2 -2
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-mover/button.js +2 -2
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +2 -2
- package/build-module/components/block-mover/index.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-patterns-list/index.js +27 -6
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-popover/cover.js +9 -5
- package/build-module/components/block-popover/cover.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +2 -2
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +21 -3
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/index.js +2 -2
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +9 -31
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +10 -7
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +2 -2
- package/build-module/components/block-styles/index.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/index.js +3 -3
- package/build-module/components/block-toolbar/index.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/block-selection-button.js +2 -2
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js +4 -4
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-popover.js +2 -2
- package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build-module/components/block-tools/empty-block-inserter.js +2 -2
- package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
- package/build-module/components/block-tools/index.js +23 -2
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +4 -4
- package/build-module/components/block-tools/insertion-point.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 +69 -21
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +5 -4
- 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/button-block-appender/index.js +2 -2
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/child-layout-control/index.js +2 -2
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +3 -3
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +2 -2
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +2 -2
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.js +7 -1
- package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js +2 -2
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js +30 -36
- package/build-module/components/dimensions-tool/aspect-ratio-tool.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 +4 -4
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +6 -4
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +21 -5
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +2 -2
- package/build-module/components/global-styles/filters-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/shadow-panel-components.js +4 -4
- package/build-module/components/global-styles/shadow-panel-components.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/grid-visualizer/grid-item-resizer.js +141 -24
- package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -1
- package/build-module/components/grid-visualizer/grid-visualizer.js +12 -6
- package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -1
- package/build-module/components/iframe/index.js +70 -31
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +52 -36
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/image-editor/cropper.js +2 -2
- package/build-module/components/image-editor/cropper.js.map +1 -1
- package/build-module/components/image-editor/index.js +1 -1
- package/build-module/components/image-editor/index.js.map +1 -1
- package/build-module/components/index.js +1 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.js +2 -2
- package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +25 -10
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.js +21 -31
- package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +10 -4
- 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/hooks/use-insertion-point.js +11 -2
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +12 -5
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.js +2 -2
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/library.js +8 -2
- package/build-module/components/inserter/library.js.map +1 -1
- 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 +15 -5
- 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 +117 -111
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +2 -2
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/tabs.js +24 -12
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +3 -3
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +9 -0
- package/build-module/components/keyboard-shortcuts/index.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/index.js +2 -2
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +3 -3
- package/build-module/components/link-control/link-preview.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/link-control/search-results.js +2 -2
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +2 -2
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +17 -174
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +198 -23
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +3 -3
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/index.js +3 -3
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +2 -2
- package/build-module/components/list-view/leaf.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 +7 -7
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +2 -2
- package/build-module/components/media-replace-flow/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/plain-text/index.js +2 -2
- package/build-module/components/plain-text/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 +10 -1
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/responsive-block-control/index.js +2 -2
- package/build-module/components/responsive-block-control/index.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 +82 -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 +122 -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/format-toolbar/index.js +2 -2
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +21 -34
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +15 -5
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/multiline.js +37 -5
- 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 +22 -26
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +19 -23
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/url-input/index.js +4 -4
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-popover/link-editor.js +2 -2
- package/build-module/components/url-popover/link-editor.js.map +1 -1
- package/build-module/components/url-popover/link-viewer-url.js +2 -2
- package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
- package/build-module/components/url-popover/link-viewer.js +2 -2
- package/build-module/components/url-popover/link-viewer.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/warning/index.js +2 -2
- package/build-module/components/warning/index.js.map +1 -1
- package/build-module/components/writing-flow/index.js +2 -2
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-clipboard-handler.js +78 -31
- package/build-module/components/writing-flow/use-clipboard-handler.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-input.js +45 -3
- package/build-module/components/writing-flow/use-input.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +9 -2
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/components/writing-mode-control/index.js +17 -21
- package/build-module/components/writing-mode-control/index.js.map +1 -1
- package/build-module/hooks/align.js +2 -2
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/background.js +1 -1
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/border.js +3 -3
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +3 -3
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +5 -28
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +2 -2
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-class-name.native.js +2 -2
- package/build-module/hooks/custom-class-name.native.js.map +1 -1
- package/build-module/hooks/dimensions.js +2 -2
- package/build-module/hooks/dimensions.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/layout-child.js +16 -8
- package/build-module/hooks/layout-child.js.map +1 -1
- package/build-module/hooks/layout.js +2 -2
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/position.js +2 -2
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/text-align.js +3 -3
- package/build-module/hooks/text-align.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +39 -13
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/hooks/use-color-props.js +2 -2
- package/build-module/hooks/use-color-props.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +2 -2
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/hooks/utils.js +13 -8
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/grid.js +7 -6
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/private-apis.js +9 -4
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +145 -27
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +24 -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 +32 -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 +25 -8
- 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-module/utils/selection.js +7 -0
- package/build-module/utils/selection.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +12 -7
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +124 -158
- package/build-style/content.css +124 -158
- package/build-style/style-rtl.css +114 -203
- package/build-style/style.css +114 -203
- package/build-types/components/block-context/index.d.ts +1 -1
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/package.json +32 -32
- package/src/components/alignment-control/ui.js +3 -1
- package/src/components/block-actions/index.js +5 -1
- package/src/components/block-alignment-control/ui.js +2 -2
- package/src/components/block-bindings-toolbar-indicator/style.scss +1 -4
- package/src/components/block-canvas/style.scss +1 -3
- package/src/components/block-card/index.js +2 -2
- package/src/components/block-compare/index.js +2 -2
- package/src/components/block-content-overlay/content.scss +4 -37
- package/src/components/block-edit/edit.js +2 -2
- package/src/components/block-icon/index.js +2 -2
- package/src/components/block-list/block.js +6 -17
- package/src/components/block-list/block.native.js +2 -2
- package/src/components/block-list/content.scss +53 -72
- package/src/components/block-list/index.js +6 -6
- package/src/components/block-list/index.native.js +1 -6
- package/src/components/block-list/use-block-props/index.js +16 -6
- 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-list/use-block-props/use-scroll-into-view.js +38 -0
- package/src/components/block-list-appender/index.js +2 -2
- package/src/components/block-mover/button.js +2 -2
- package/src/components/block-mover/index.js +2 -2
- package/src/components/block-mover/index.native.js +3 -1
- package/src/components/block-patterns-list/index.js +29 -4
- package/src/components/block-patterns-list/style.scss +1 -3
- package/src/components/block-popover/README.md +1 -1
- package/src/components/block-popover/cover.js +22 -7
- package/src/components/block-popover/inbetween.js +2 -2
- package/src/components/block-popover/index.js +24 -6
- package/src/components/block-preview/index.js +2 -2
- package/src/components/block-preview/style.scss +13 -15
- package/src/components/block-settings-menu/block-settings-dropdown.js +15 -57
- package/src/components/block-settings-menu-controls/index.js +25 -16
- package/src/components/block-styles/index.js +2 -2
- 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/index.js +3 -3
- 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/block-selection-button.js +2 -2
- package/src/components/block-tools/block-toolbar-breadcrumb.js +5 -5
- package/src/components/block-tools/block-toolbar-popover.js +4 -7
- package/src/components/block-tools/empty-block-inserter.js +2 -2
- package/src/components/block-tools/index.js +27 -4
- package/src/components/block-tools/insertion-point.js +4 -4
- package/src/components/block-tools/style.scss +8 -0
- package/src/components/block-tools/use-show-block-tools.js +36 -48
- package/src/components/block-tools/zoom-out-mode-inserters.js +74 -18
- package/src/components/block-variation-picker/content.scss +22 -72
- package/src/components/block-variation-picker/index.js +5 -4
- package/src/components/block-variation-transforms/index.js +3 -1
- package/src/components/button-block-appender/index.js +2 -2
- package/src/components/child-layout-control/index.js +14 -2
- package/src/components/colors-gradients/control.js +3 -3
- package/src/components/colors-gradients/dropdown.js +2 -2
- package/src/components/colors-gradients/panel-color-gradient-settings.js +2 -2
- package/src/components/colors-gradients/test/control.js +3 -3
- package/src/components/convert-to-group-buttons/index.js +10 -1
- package/src/components/default-block-appender/index.js +2 -2
- package/src/components/dimensions-tool/aspect-ratio-tool.js +40 -67
- package/src/components/dimensions-tool/test/index.js +10 -0
- package/src/components/editable-text/README.md +0 -4
- package/src/components/floating-toolbar/index.native.js +5 -2
- package/src/components/global-styles/background-panel.js +4 -6
- package/src/components/global-styles/color-panel.js +6 -4
- package/src/components/global-styles/dimensions-panel.js +22 -5
- package/src/components/global-styles/filters-panel.js +2 -2
- package/src/components/global-styles/hooks.js +2 -0
- package/src/components/global-styles/shadow-panel-components.js +6 -9
- package/src/components/global-styles/test/get-global-styles-changes.js +0 -2
- package/src/components/global-styles/test/use-global-styles-output.js +5 -5
- 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/grid-visualizer/grid-item-resizer.js +169 -40
- package/src/components/grid-visualizer/grid-visualizer.js +19 -6
- package/src/components/iframe/content.scss +63 -0
- package/src/components/iframe/index.js +119 -39
- package/src/components/image-editor/aspect-ratio-dropdown.js +91 -59
- package/src/components/image-editor/cropper.js +2 -2
- package/src/components/image-editor/index.js +1 -1
- package/src/components/image-editor/test/index.js +22 -0
- package/src/components/index.js +1 -0
- package/src/components/inner-blocks/button-block-appender.js +2 -2
- package/src/components/inner-blocks/index.js +24 -9
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -1
- package/src/components/inserter/block-patterns-tab/index.js +30 -64
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -1
- package/src/components/inserter/block-types-tab.js +12 -9
- package/src/components/inserter/category-tabs/index.js +74 -0
- package/src/components/inserter/hooks/use-insertion-point.js +15 -1
- package/src/components/inserter/hooks/use-patterns-state.js +18 -5
- package/src/components/inserter/index.js +4 -5
- package/src/components/inserter/library.js +6 -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 +17 -9
- package/src/components/inserter/media-tab/media-tab.js +44 -83
- package/src/components/inserter/menu.js +168 -140
- package/src/components/inserter/quick-inserter.js +2 -2
- package/src/components/inserter/style.scss +96 -178
- package/src/components/inserter/tabs.js +33 -27
- package/src/components/inserter-list-item/index.js +3 -3
- package/src/components/keyboard-shortcuts/index.js +12 -0
- package/src/components/line-height-control/index.js +6 -2
- package/src/components/line-height-control/test/index.js +16 -14
- package/src/components/link-control/index.js +2 -2
- package/src/components/link-control/link-preview.js +3 -3
- package/src/components/link-control/search-item.js +9 -3
- package/src/components/link-control/search-results.js +2 -2
- package/src/components/list-view/block-contents.js +2 -2
- package/src/components/list-view/block-select-button.js +85 -267
- package/src/components/list-view/block.js +240 -26
- package/src/components/list-view/drop-indicator.js +3 -3
- package/src/components/list-view/index.js +3 -3
- package/src/components/list-view/leaf.js +2 -5
- 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 +7 -7
- package/src/components/media-replace-flow/index.js +2 -2
- package/src/components/navigable-toolbar/index.js +3 -1
- package/src/components/plain-text/index.js +2 -2
- 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 +10 -1
- package/src/components/responsive-block-control/index.js +2 -2
- package/src/components/rich-text/README.md +0 -8
- 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 +84 -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 +132 -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/format-toolbar/index.js +2 -2
- package/src/components/rich-text/index.js +17 -37
- package/src/components/rich-text/index.native.js +13 -2
- package/src/components/rich-text/multiline.js +37 -5
- 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 +22 -35
- package/src/components/text-transform-control/index.js +19 -32
- package/src/components/url-input/index.js +4 -4
- package/src/components/url-popover/link-editor.js +2 -2
- package/src/components/url-popover/link-viewer-url.js +2 -2
- package/src/components/url-popover/link-viewer.js +2 -2
- 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/warning/index.js +2 -2
- package/src/components/writing-flow/index.js +2 -2
- package/src/components/writing-flow/use-clipboard-handler.js +107 -47
- package/src/components/writing-flow/use-drag-selection.js +3 -1
- package/src/components/writing-flow/use-input.js +75 -1
- package/src/components/writing-flow/use-tab-nav.js +13 -2
- package/src/components/writing-mode-control/index.js +17 -33
- package/src/content.scss +1 -0
- package/src/hooks/align.js +2 -2
- package/src/hooks/background.js +1 -1
- package/src/hooks/border.js +3 -3
- package/src/hooks/color.js +12 -19
- package/src/hooks/color.scss +1 -0
- package/src/hooks/content-lock-ui.js +16 -33
- package/src/hooks/custom-class-name.js +2 -2
- package/src/hooks/custom-class-name.native.js +2 -2
- package/src/hooks/dimensions.js +2 -2
- package/src/hooks/duotone.js +3 -1
- package/src/hooks/layout-child.js +34 -20
- package/src/hooks/layout.js +2 -2
- package/src/hooks/position.js +2 -2
- package/src/hooks/text-align.js +3 -3
- package/src/hooks/use-bindings-attributes.js +48 -16
- package/src/hooks/use-color-props.js +2 -2
- package/src/hooks/use-typography-props.js +2 -2
- package/src/hooks/utils.js +18 -4
- package/src/layouts/grid.js +3 -7
- package/src/private-apis.js +8 -2
- package/src/store/actions.js +233 -54
- package/src/store/private-actions.js +24 -0
- package/src/store/private-keys.js +1 -0
- package/src/store/private-selectors.js +43 -4
- package/src/store/reducer.js +13 -23
- package/src/store/selectors.js +24 -9
- 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/src/utils/selection.js +8 -0
- package/src/utils/test/__snapshots__/transform-styles.js.snap +6 -0
- package/src/utils/test/transform-styles.js +14 -0
- package/src/utils/transform-styles/index.js +12 -9
- package/tsconfig.tsbuildinfo +1 -1
- 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/split-value.js +0 -81
- package/build/components/rich-text/split-value.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/split-value.js +0 -75
- package/build-module/components/rich-text/split-value.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/split-value.js +0 -64
- 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
|
@@ -8,34 +8,70 @@ import { __ } from '@wordpress/i18n';
|
|
|
8
8
|
/**
|
|
9
9
|
* Internal dependencies
|
|
10
10
|
*/
|
|
11
|
+
import { useSettings } from '../use-settings';
|
|
11
12
|
import { POPOVER_PROPS } from './constants';
|
|
12
13
|
import { useImageEditingContext } from './context';
|
|
13
14
|
|
|
14
|
-
function
|
|
15
|
+
function AspectRatioGroup( {
|
|
16
|
+
aspectRatios,
|
|
17
|
+
isDisabled,
|
|
18
|
+
label,
|
|
19
|
+
onClick,
|
|
20
|
+
value,
|
|
21
|
+
} ) {
|
|
15
22
|
return (
|
|
16
23
|
<MenuGroup label={ label }>
|
|
17
|
-
{ aspectRatios.map( ( {
|
|
24
|
+
{ aspectRatios.map( ( { name, slug, ratio } ) => (
|
|
18
25
|
<MenuItem
|
|
19
|
-
key={
|
|
26
|
+
key={ slug }
|
|
20
27
|
disabled={ isDisabled }
|
|
21
28
|
onClick={ () => {
|
|
22
|
-
onClick(
|
|
29
|
+
onClick( ratio );
|
|
23
30
|
} }
|
|
24
31
|
role="menuitemradio"
|
|
25
|
-
isSelected={
|
|
26
|
-
icon={
|
|
32
|
+
isSelected={ ratio === value }
|
|
33
|
+
icon={ ratio === value ? check : undefined }
|
|
27
34
|
>
|
|
28
|
-
{
|
|
35
|
+
{ name }
|
|
29
36
|
</MenuItem>
|
|
30
37
|
) ) }
|
|
31
38
|
</MenuGroup>
|
|
32
39
|
);
|
|
33
40
|
}
|
|
34
41
|
|
|
42
|
+
export function ratioToNumber( str ) {
|
|
43
|
+
// TODO: support two-value aspect ratio?
|
|
44
|
+
// https://css-tricks.com/almanac/properties/a/aspect-ratio/#aa-it-can-take-two-values
|
|
45
|
+
const [ a, b, ...rest ] = str.split( '/' ).map( Number );
|
|
46
|
+
if (
|
|
47
|
+
a <= 0 ||
|
|
48
|
+
b <= 0 ||
|
|
49
|
+
Number.isNaN( a ) ||
|
|
50
|
+
Number.isNaN( b ) ||
|
|
51
|
+
rest.length
|
|
52
|
+
) {
|
|
53
|
+
return NaN;
|
|
54
|
+
}
|
|
55
|
+
return b ? a / b : a;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function presetRatioAsNumber( { ratio, ...rest } ) {
|
|
59
|
+
return {
|
|
60
|
+
ratio: ratioToNumber( ratio ),
|
|
61
|
+
...rest,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
35
65
|
export default function AspectRatioDropdown( { toggleProps } ) {
|
|
36
66
|
const { isInProgress, aspect, setAspect, defaultAspect } =
|
|
37
67
|
useImageEditingContext();
|
|
38
68
|
|
|
69
|
+
const [ defaultRatios, themeRatios, showDefaultRatios ] = useSettings(
|
|
70
|
+
'dimensions.aspectRatios.default',
|
|
71
|
+
'dimensions.aspectRatios.theme',
|
|
72
|
+
'dimensions.defaultAspectRatios'
|
|
73
|
+
);
|
|
74
|
+
|
|
39
75
|
return (
|
|
40
76
|
<DropdownMenu
|
|
41
77
|
icon={ aspectRatioIcon }
|
|
@@ -46,7 +82,7 @@ export default function AspectRatioDropdown( { toggleProps } ) {
|
|
|
46
82
|
>
|
|
47
83
|
{ ( { onClose } ) => (
|
|
48
84
|
<>
|
|
49
|
-
<
|
|
85
|
+
<AspectRatioGroup
|
|
50
86
|
isDisabled={ isInProgress }
|
|
51
87
|
onClick={ ( newAspect ) => {
|
|
52
88
|
setAspect( newAspect );
|
|
@@ -56,61 +92,57 @@ export default function AspectRatioDropdown( { toggleProps } ) {
|
|
|
56
92
|
aspectRatios={ [
|
|
57
93
|
// All ratios should be mirrored in AspectRatioTool in @wordpress/block-editor.
|
|
58
94
|
{
|
|
59
|
-
|
|
95
|
+
slug: 'original',
|
|
96
|
+
name: __( 'Original' ),
|
|
60
97
|
aspect: defaultAspect,
|
|
61
98
|
},
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
/>
|
|
68
|
-
<AspectGroup
|
|
69
|
-
label={ __( 'Landscape' ) }
|
|
70
|
-
isDisabled={ isInProgress }
|
|
71
|
-
onClick={ ( newAspect ) => {
|
|
72
|
-
setAspect( newAspect );
|
|
73
|
-
onClose();
|
|
74
|
-
} }
|
|
75
|
-
value={ aspect }
|
|
76
|
-
aspectRatios={ [
|
|
77
|
-
{
|
|
78
|
-
title: __( '16:9' ),
|
|
79
|
-
aspect: 16 / 9,
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
title: __( '4:3' ),
|
|
83
|
-
aspect: 4 / 3,
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
title: __( '3:2' ),
|
|
87
|
-
aspect: 3 / 2,
|
|
88
|
-
},
|
|
89
|
-
] }
|
|
90
|
-
/>
|
|
91
|
-
<AspectGroup
|
|
92
|
-
label={ __( 'Portrait' ) }
|
|
93
|
-
isDisabled={ isInProgress }
|
|
94
|
-
onClick={ ( newAspect ) => {
|
|
95
|
-
setAspect( newAspect );
|
|
96
|
-
onClose();
|
|
97
|
-
} }
|
|
98
|
-
value={ aspect }
|
|
99
|
-
aspectRatios={ [
|
|
100
|
-
{
|
|
101
|
-
title: __( '9:16' ),
|
|
102
|
-
aspect: 9 / 16,
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
title: __( '3:4' ),
|
|
106
|
-
aspect: 3 / 4,
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
title: __( '2:3' ),
|
|
110
|
-
aspect: 2 / 3,
|
|
111
|
-
},
|
|
99
|
+
...( showDefaultRatios
|
|
100
|
+
? defaultRatios
|
|
101
|
+
.map( presetRatioAsNumber )
|
|
102
|
+
.filter( ( { ratio } ) => ratio === 1 )
|
|
103
|
+
: [] ),
|
|
112
104
|
] }
|
|
113
105
|
/>
|
|
106
|
+
{ themeRatios?.length > 0 && (
|
|
107
|
+
<AspectRatioGroup
|
|
108
|
+
label={ __( 'Theme' ) }
|
|
109
|
+
isDisabled={ isInProgress }
|
|
110
|
+
onClick={ ( newAspect ) => {
|
|
111
|
+
setAspect( newAspect );
|
|
112
|
+
onClose();
|
|
113
|
+
} }
|
|
114
|
+
value={ aspect }
|
|
115
|
+
aspectRatios={ themeRatios }
|
|
116
|
+
/>
|
|
117
|
+
) }
|
|
118
|
+
{ showDefaultRatios && (
|
|
119
|
+
<AspectRatioGroup
|
|
120
|
+
label={ __( 'Landscape' ) }
|
|
121
|
+
isDisabled={ isInProgress }
|
|
122
|
+
onClick={ ( newAspect ) => {
|
|
123
|
+
setAspect( newAspect );
|
|
124
|
+
onClose();
|
|
125
|
+
} }
|
|
126
|
+
value={ aspect }
|
|
127
|
+
aspectRatios={ defaultRatios
|
|
128
|
+
.map( presetRatioAsNumber )
|
|
129
|
+
.filter( ( { ratio } ) => ratio > 1 ) }
|
|
130
|
+
/>
|
|
131
|
+
) }
|
|
132
|
+
{ showDefaultRatios && (
|
|
133
|
+
<AspectRatioGroup
|
|
134
|
+
label={ __( 'Portrait' ) }
|
|
135
|
+
isDisabled={ isInProgress }
|
|
136
|
+
onClick={ ( newAspect ) => {
|
|
137
|
+
setAspect( newAspect );
|
|
138
|
+
onClose();
|
|
139
|
+
} }
|
|
140
|
+
value={ aspect }
|
|
141
|
+
aspectRatios={ defaultRatios
|
|
142
|
+
.map( presetRatioAsNumber )
|
|
143
|
+
.filter( ( { ratio } ) => ratio < 1 ) }
|
|
144
|
+
/>
|
|
145
|
+
) }
|
|
114
146
|
</>
|
|
115
147
|
) }
|
|
116
148
|
</DropdownMenu>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import Cropper from 'react-easy-crop';
|
|
5
|
-
import
|
|
5
|
+
import clsx from 'clsx';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
@@ -47,7 +47,7 @@ export default function ImageCropper( {
|
|
|
47
47
|
|
|
48
48
|
const area = (
|
|
49
49
|
<div
|
|
50
|
-
className={
|
|
50
|
+
className={ clsx(
|
|
51
51
|
'wp-block-image__crop-area',
|
|
52
52
|
borderProps?.className,
|
|
53
53
|
{
|
|
@@ -6,11 +6,11 @@ import { ToolbarGroup, ToolbarItem } from '@wordpress/components';
|
|
|
6
6
|
/**
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
9
|
+
import AspectRatioDropdown from './aspect-ratio-dropdown';
|
|
9
10
|
import BlockControls from '../block-controls';
|
|
10
11
|
import ImageEditingProvider from './context';
|
|
11
12
|
import Cropper from './cropper';
|
|
12
13
|
import ZoomDropdown from './zoom-dropdown';
|
|
13
|
-
import AspectRatioDropdown from './aspect-ratio-dropdown';
|
|
14
14
|
import RotationButton from './rotation-button';
|
|
15
15
|
import FormControls from './form-controls';
|
|
16
16
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { ratioToNumber } from '../aspect-ratio-dropdown';
|
|
5
|
+
|
|
6
|
+
test( 'ratioToNumber', () => {
|
|
7
|
+
expect( ratioToNumber( '1/1' ) ).toBe( 1 );
|
|
8
|
+
expect( ratioToNumber( '1' ) ).toBe( 1 );
|
|
9
|
+
expect( ratioToNumber( '11/11' ) ).toBe( 1 );
|
|
10
|
+
expect( ratioToNumber( '16/9' ) ).toBe( 16 / 9 );
|
|
11
|
+
expect( ratioToNumber( '4/3' ) ).toBe( 4 / 3 );
|
|
12
|
+
expect( ratioToNumber( '3/2' ) ).toBe( 3 / 2 );
|
|
13
|
+
expect( ratioToNumber( '2/1' ) ).toBe( 2 );
|
|
14
|
+
expect( ratioToNumber( '1/2' ) ).toBe( 1 / 2 );
|
|
15
|
+
expect( ratioToNumber( '2/3' ) ).toBe( 2 / 3 );
|
|
16
|
+
expect( ratioToNumber( '3/4' ) ).toBe( 3 / 4 );
|
|
17
|
+
expect( ratioToNumber( '9/16' ) ).toBe( 9 / 16 );
|
|
18
|
+
expect( ratioToNumber( '1/16' ) ).toBe( 1 / 16 );
|
|
19
|
+
expect( ratioToNumber( '16/1' ) ).toBe( 16 );
|
|
20
|
+
expect( ratioToNumber( '1/9' ) ).toBe( 1 / 9 );
|
|
21
|
+
expect( ratioToNumber( 'auto' ) ).toBe( NaN );
|
|
22
|
+
} );
|
package/src/components/index.js
CHANGED
|
@@ -160,6 +160,7 @@ export {
|
|
|
160
160
|
export { default as __experimentalBlockPatternsList } from './block-patterns-list';
|
|
161
161
|
export { default as __experimentalPublishDateTimePicker } from './publish-date-time-picker';
|
|
162
162
|
export { default as __experimentalInspectorPopoverHeader } from './inspector-popover-header';
|
|
163
|
+
export { default as BlockPopover } from './block-popover';
|
|
163
164
|
export { useBlockEditingMode } from './block-editing-mode';
|
|
164
165
|
|
|
165
166
|
/*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import
|
|
4
|
+
import clsx from 'clsx';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Internal dependencies
|
|
@@ -18,7 +18,7 @@ export const ButtonBlockAppender = ( {
|
|
|
18
18
|
} ) => {
|
|
19
19
|
return (
|
|
20
20
|
<BaseButtonBlockAppender
|
|
21
|
-
className={
|
|
21
|
+
className={ clsx( {
|
|
22
22
|
'block-list-appender__toggle': isToggle,
|
|
23
23
|
} ) }
|
|
24
24
|
rootClientId={ clientId }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import
|
|
4
|
+
import clsx from 'clsx';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
@@ -190,10 +190,6 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
|
|
|
190
190
|
} = useBlockEditContext();
|
|
191
191
|
const selected = useSelect(
|
|
192
192
|
( select ) => {
|
|
193
|
-
if ( ! clientId ) {
|
|
194
|
-
return {};
|
|
195
|
-
}
|
|
196
|
-
|
|
197
193
|
const {
|
|
198
194
|
getBlockName,
|
|
199
195
|
isBlockSelected,
|
|
@@ -204,7 +200,20 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
|
|
|
204
200
|
getBlockEditingMode,
|
|
205
201
|
getBlockSettings,
|
|
206
202
|
isDragging,
|
|
203
|
+
getSettings,
|
|
207
204
|
} = unlock( select( blockEditorStore ) );
|
|
205
|
+
let _isDropZoneDisabled;
|
|
206
|
+
// In zoom out mode, we want to disable the drop zone for the sections.
|
|
207
|
+
// The inner blocks belonging to the section drop zone is
|
|
208
|
+
// already disabled by the blocks themselves being disabled.
|
|
209
|
+
if ( __unstableGetEditorMode() === 'zoom-out' ) {
|
|
210
|
+
const { sectionRootClientId } = unlock( getSettings() );
|
|
211
|
+
_isDropZoneDisabled = clientId !== sectionRootClientId;
|
|
212
|
+
}
|
|
213
|
+
if ( ! clientId ) {
|
|
214
|
+
return { isDropZoneDisabled: _isDropZoneDisabled };
|
|
215
|
+
}
|
|
216
|
+
|
|
208
217
|
const { hasBlockSupport, getBlockType } = select( blocksStore );
|
|
209
218
|
const blockName = getBlockName( clientId );
|
|
210
219
|
const enableClickThrough =
|
|
@@ -212,6 +221,11 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
|
|
|
212
221
|
const blockEditingMode = getBlockEditingMode( clientId );
|
|
213
222
|
const parentClientId = getBlockRootClientId( clientId );
|
|
214
223
|
const [ defaultLayout ] = getBlockSettings( clientId, 'layout' );
|
|
224
|
+
|
|
225
|
+
if ( _isDropZoneDisabled !== undefined ) {
|
|
226
|
+
_isDropZoneDisabled = blockEditingMode === 'disabled';
|
|
227
|
+
}
|
|
228
|
+
|
|
215
229
|
return {
|
|
216
230
|
__experimentalCaptureToolbars: hasBlockSupport(
|
|
217
231
|
blockName,
|
|
@@ -228,7 +242,7 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
|
|
|
228
242
|
blockType: getBlockType( blockName ),
|
|
229
243
|
parentLock: getTemplateLock( parentClientId ),
|
|
230
244
|
parentClientId,
|
|
231
|
-
isDropZoneDisabled:
|
|
245
|
+
isDropZoneDisabled: _isDropZoneDisabled,
|
|
232
246
|
defaultLayout,
|
|
233
247
|
};
|
|
234
248
|
},
|
|
@@ -249,12 +263,13 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
|
|
|
249
263
|
dropZoneElement,
|
|
250
264
|
rootClientId: clientId,
|
|
251
265
|
parentClientId,
|
|
252
|
-
isDisabled: isDropZoneDisabled,
|
|
253
266
|
} );
|
|
254
267
|
|
|
255
268
|
const ref = useMergeRefs( [
|
|
256
269
|
props.ref,
|
|
257
|
-
__unstableDisableDropZone
|
|
270
|
+
__unstableDisableDropZone || isDropZoneDisabled
|
|
271
|
+
? null
|
|
272
|
+
: blockDropZoneRef,
|
|
258
273
|
] );
|
|
259
274
|
|
|
260
275
|
const innerBlocksProps = {
|
|
@@ -274,7 +289,7 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
|
|
|
274
289
|
return {
|
|
275
290
|
...props,
|
|
276
291
|
ref,
|
|
277
|
-
className:
|
|
292
|
+
className: clsx(
|
|
278
293
|
props.className,
|
|
279
294
|
'block-editor-block-list__layout',
|
|
280
295
|
__unstableDisableLayoutClassNames ? '' : layoutClassNames,
|
|
@@ -2,15 +2,10 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { useState } from '@wordpress/element';
|
|
5
|
-
import { __, isRTL } from '@wordpress/i18n';
|
|
6
5
|
import { useViewportMatch } from '@wordpress/compose';
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
Button,
|
|
11
|
-
privateApis as componentsPrivateApis,
|
|
12
|
-
} from '@wordpress/components';
|
|
13
|
-
import { Icon, chevronRight, chevronLeft } from '@wordpress/icons';
|
|
6
|
+
import { Button, Spinner } from '@wordpress/components';
|
|
7
|
+
import { __ } from '@wordpress/i18n';
|
|
8
|
+
import { useSelect } from '@wordpress/data';
|
|
14
9
|
|
|
15
10
|
/**
|
|
16
11
|
* Internal dependencies
|
|
@@ -19,10 +14,11 @@ import PatternsExplorerModal from '../block-patterns-explorer';
|
|
|
19
14
|
import MobileTabNavigation from '../mobile-tab-navigation';
|
|
20
15
|
import { PatternCategoryPreviews } from './pattern-category-previews';
|
|
21
16
|
import { usePatternCategories } from './use-pattern-categories';
|
|
17
|
+
import CategoryTabs from '../category-tabs';
|
|
18
|
+
import InserterNoResults from '../no-results';
|
|
19
|
+
import { store as blockEditorStore } from '../../../store';
|
|
22
20
|
import { unlock } from '../../../lock-unlock';
|
|
23
21
|
|
|
24
|
-
const { Tabs } = unlock( componentsPrivateApis );
|
|
25
|
-
|
|
26
22
|
function BlockPatternsTab( {
|
|
27
23
|
onSelectCategory,
|
|
28
24
|
selectedCategory,
|
|
@@ -35,65 +31,35 @@ function BlockPatternsTab( {
|
|
|
35
31
|
const categories = usePatternCategories( rootClientId );
|
|
36
32
|
|
|
37
33
|
const isMobile = useViewportMatch( 'medium', '<' );
|
|
34
|
+
const isResolvingPatterns = useSelect(
|
|
35
|
+
( select ) =>
|
|
36
|
+
unlock( select( blockEditorStore ) ).isResolvingPatterns(),
|
|
37
|
+
[]
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
if ( isResolvingPatterns ) {
|
|
41
|
+
return (
|
|
42
|
+
<div className="block-editor-inserter__patterns-loading">
|
|
43
|
+
<Spinner />
|
|
44
|
+
</div>
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if ( ! categories.length ) {
|
|
49
|
+
return <InserterNoResults />;
|
|
50
|
+
}
|
|
38
51
|
|
|
39
52
|
return (
|
|
40
53
|
<>
|
|
41
54
|
{ ! isMobile && (
|
|
42
55
|
<div className="block-editor-inserter__block-patterns-tabs-container">
|
|
43
|
-
<
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
orientation={ 'vertical' }
|
|
49
|
-
onSelect={ ( categoryId ) => {
|
|
50
|
-
// Pass the full category object
|
|
51
|
-
onSelectCategory(
|
|
52
|
-
categories.find(
|
|
53
|
-
( category ) => category.name === categoryId
|
|
54
|
-
)
|
|
55
|
-
);
|
|
56
|
-
} }
|
|
56
|
+
<CategoryTabs
|
|
57
|
+
categories={ categories }
|
|
58
|
+
selectedCategory={ selectedCategory }
|
|
59
|
+
onSelectCategory={ onSelectCategory }
|
|
57
60
|
>
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
<Tabs.Tab
|
|
61
|
-
key={ category.name }
|
|
62
|
-
tabId={ category.name }
|
|
63
|
-
className="block-editor-inserter__patterns-tab"
|
|
64
|
-
aria-label={ category.label }
|
|
65
|
-
aria-current={
|
|
66
|
-
category === selectedCategory
|
|
67
|
-
? 'true'
|
|
68
|
-
: undefined
|
|
69
|
-
}
|
|
70
|
-
>
|
|
71
|
-
<HStack>
|
|
72
|
-
<FlexBlock>
|
|
73
|
-
{ category.label }
|
|
74
|
-
</FlexBlock>
|
|
75
|
-
<Icon
|
|
76
|
-
icon={
|
|
77
|
-
isRTL()
|
|
78
|
-
? chevronLeft
|
|
79
|
-
: chevronRight
|
|
80
|
-
}
|
|
81
|
-
/>
|
|
82
|
-
</HStack>
|
|
83
|
-
</Tabs.Tab>
|
|
84
|
-
) ) }
|
|
85
|
-
</Tabs.TabList>
|
|
86
|
-
{ categories.map( ( category ) => (
|
|
87
|
-
<Tabs.TabPanel
|
|
88
|
-
key={ category.name }
|
|
89
|
-
tabId={ category.name }
|
|
90
|
-
focusable={ false }
|
|
91
|
-
className="block-editor-inserter__patterns-category-panel"
|
|
92
|
-
>
|
|
93
|
-
{ children }
|
|
94
|
-
</Tabs.TabPanel>
|
|
95
|
-
) ) }
|
|
96
|
-
</Tabs>
|
|
61
|
+
{ children }
|
|
62
|
+
</CategoryTabs>
|
|
97
63
|
<Button
|
|
98
64
|
className="block-editor-inserter__patterns-explore-button"
|
|
99
65
|
onClick={ () => setShowPatternsExplorer( true ) }
|
|
@@ -106,7 +72,7 @@ function BlockPatternsTab( {
|
|
|
106
72
|
{ isMobile && (
|
|
107
73
|
<MobileTabNavigation categories={ categories }>
|
|
108
74
|
{ ( category ) => (
|
|
109
|
-
<div className="block-editor-
|
|
75
|
+
<div className="block-editor-inserter__category-panel">
|
|
110
76
|
<PatternCategoryPreviews
|
|
111
77
|
key={ category.name }
|
|
112
78
|
onInsert={ onInsert }
|
|
@@ -44,7 +44,8 @@ export function PatternCategoryPreviews( {
|
|
|
44
44
|
} ) {
|
|
45
45
|
const [ allPatterns, , onClickPattern ] = usePatternsState(
|
|
46
46
|
onInsert,
|
|
47
|
-
rootClientId
|
|
47
|
+
rootClientId,
|
|
48
|
+
category?.name
|
|
48
49
|
);
|
|
49
50
|
const [ patternSyncFilter, setPatternSyncFilter ] = useState( 'all' );
|
|
50
51
|
const [ patternSourceFilter, setPatternSourceFilter ] = useState( 'all' );
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { __, _x } from '@wordpress/i18n';
|
|
5
|
-
import { useMemo, useEffect } from '@wordpress/element';
|
|
5
|
+
import { useMemo, useEffect, forwardRef } from '@wordpress/element';
|
|
6
6
|
import { pipe, useAsyncList } from '@wordpress/compose';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -13,6 +13,7 @@ import InserterPanel from './panel';
|
|
|
13
13
|
import useBlockTypesState from './hooks/use-block-types-state';
|
|
14
14
|
import InserterListbox from '../inserter-listbox';
|
|
15
15
|
import { orderBy } from '../../utils/sorting';
|
|
16
|
+
import InserterNoResults from './no-results';
|
|
16
17
|
|
|
17
18
|
const getBlockNamespace = ( item ) => item.name.split( '/' )[ 0 ];
|
|
18
19
|
|
|
@@ -26,12 +27,10 @@ const MAX_SUGGESTED_ITEMS = 6;
|
|
|
26
27
|
*/
|
|
27
28
|
const EMPTY_ARRAY = [];
|
|
28
29
|
|
|
29
|
-
export function BlockTypesTab(
|
|
30
|
-
rootClientId,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
showMostUsedBlocks,
|
|
34
|
-
} ) {
|
|
30
|
+
export function BlockTypesTab(
|
|
31
|
+
{ rootClientId, onInsert, onHover, showMostUsedBlocks },
|
|
32
|
+
ref
|
|
33
|
+
) {
|
|
35
34
|
const [ items, categories, collections, onSelectItem ] = useBlockTypesState(
|
|
36
35
|
rootClientId,
|
|
37
36
|
onInsert
|
|
@@ -102,9 +101,13 @@ export function BlockTypesTab( {
|
|
|
102
101
|
didRenderAllCategories ? collectionEntries : EMPTY_ARRAY
|
|
103
102
|
);
|
|
104
103
|
|
|
104
|
+
if ( ! items.length ) {
|
|
105
|
+
return <InserterNoResults />;
|
|
106
|
+
}
|
|
107
|
+
|
|
105
108
|
return (
|
|
106
109
|
<InserterListbox>
|
|
107
|
-
<div>
|
|
110
|
+
<div ref={ ref }>
|
|
108
111
|
{ showMostUsedBlocks && !! suggestedItems.length && (
|
|
109
112
|
<InserterPanel title={ _x( 'Most used', 'blocks' ) }>
|
|
110
113
|
<BlockTypesList
|
|
@@ -179,4 +182,4 @@ export function BlockTypesTab( {
|
|
|
179
182
|
);
|
|
180
183
|
}
|
|
181
184
|
|
|
182
|
-
export default BlockTypesTab;
|
|
185
|
+
export default forwardRef( BlockTypesTab );
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { isRTL } from '@wordpress/i18n';
|
|
5
|
+
import {
|
|
6
|
+
__experimentalHStack as HStack,
|
|
7
|
+
FlexBlock,
|
|
8
|
+
privateApis as componentsPrivateApis,
|
|
9
|
+
} from '@wordpress/components';
|
|
10
|
+
import { Icon, chevronRight, chevronLeft } from '@wordpress/icons';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Internal dependencies
|
|
14
|
+
*/
|
|
15
|
+
import { unlock } from '../../../lock-unlock';
|
|
16
|
+
|
|
17
|
+
const { Tabs } = unlock( componentsPrivateApis );
|
|
18
|
+
|
|
19
|
+
function CategoryTabs( {
|
|
20
|
+
categories,
|
|
21
|
+
selectedCategory,
|
|
22
|
+
onSelectCategory,
|
|
23
|
+
children,
|
|
24
|
+
} ) {
|
|
25
|
+
return (
|
|
26
|
+
<Tabs
|
|
27
|
+
className="block-editor-inserter__category-tabs"
|
|
28
|
+
selectOnMove={ false }
|
|
29
|
+
selectedTabId={ selectedCategory ? selectedCategory.name : null }
|
|
30
|
+
orientation={ 'vertical' }
|
|
31
|
+
onSelect={ ( categoryId ) => {
|
|
32
|
+
// Pass the full category object
|
|
33
|
+
onSelectCategory(
|
|
34
|
+
categories.find(
|
|
35
|
+
( category ) => category.name === categoryId
|
|
36
|
+
)
|
|
37
|
+
);
|
|
38
|
+
} }
|
|
39
|
+
>
|
|
40
|
+
<Tabs.TabList className="block-editor-inserter__category-tablist">
|
|
41
|
+
{ categories.map( ( category ) => (
|
|
42
|
+
<Tabs.Tab
|
|
43
|
+
key={ category.name }
|
|
44
|
+
tabId={ category.name }
|
|
45
|
+
className="block-editor-inserter__category-tab"
|
|
46
|
+
aria-label={ category.label }
|
|
47
|
+
aria-current={
|
|
48
|
+
category === selectedCategory ? 'true' : undefined
|
|
49
|
+
}
|
|
50
|
+
>
|
|
51
|
+
<HStack>
|
|
52
|
+
<FlexBlock>{ category.label }</FlexBlock>
|
|
53
|
+
<Icon
|
|
54
|
+
icon={ isRTL() ? chevronLeft : chevronRight }
|
|
55
|
+
/>
|
|
56
|
+
</HStack>
|
|
57
|
+
</Tabs.Tab>
|
|
58
|
+
) ) }
|
|
59
|
+
</Tabs.TabList>
|
|
60
|
+
{ categories.map( ( category ) => (
|
|
61
|
+
<Tabs.TabPanel
|
|
62
|
+
key={ category.name }
|
|
63
|
+
tabId={ category.name }
|
|
64
|
+
focusable={ false }
|
|
65
|
+
className="block-editor-inserter__category-panel"
|
|
66
|
+
>
|
|
67
|
+
{ children }
|
|
68
|
+
</Tabs.TabPanel>
|
|
69
|
+
) ) }
|
|
70
|
+
</Tabs>
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export default CategoryTabs;
|
|
@@ -11,6 +11,7 @@ import { useCallback } from '@wordpress/element';
|
|
|
11
11
|
* Internal dependencies
|
|
12
12
|
*/
|
|
13
13
|
import { store as blockEditorStore } from '../../../store';
|
|
14
|
+
import { unlock } from '../../../lock-unlock';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* @typedef WPInserterConfig
|
|
@@ -86,10 +87,23 @@ function useInsertionPoint( {
|
|
|
86
87
|
insertBlocks,
|
|
87
88
|
showInsertionPoint,
|
|
88
89
|
hideInsertionPoint,
|
|
89
|
-
|
|
90
|
+
setLastFocus,
|
|
91
|
+
} = unlock( useDispatch( blockEditorStore ) );
|
|
90
92
|
|
|
91
93
|
const onInsertBlocks = useCallback(
|
|
92
94
|
( blocks, meta, shouldForceFocusBlock = false ) => {
|
|
95
|
+
// When we are trying to move focus or select a new block on insert, we also
|
|
96
|
+
// need to clear the last focus to avoid the focus being set to the wrong block
|
|
97
|
+
// when tabbing back into the canvas if the block was added from outside the
|
|
98
|
+
// editor canvas.
|
|
99
|
+
if (
|
|
100
|
+
shouldForceFocusBlock ||
|
|
101
|
+
shouldFocusBlock ||
|
|
102
|
+
selectBlockOnInsert
|
|
103
|
+
) {
|
|
104
|
+
setLastFocus( null );
|
|
105
|
+
}
|
|
106
|
+
|
|
93
107
|
const selectedBlock = getSelectedBlock();
|
|
94
108
|
|
|
95
109
|
if (
|