@wordpress/block-editor 14.1.0 → 14.2.1-next.1f6eadc42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +1 -10
- 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 +2 -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 +1 -0
- 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 +2 -0
- package/build/components/block-edit/multiple-usage-warning.js.map +1 -1
- package/build/components/block-inspector/index.js +27 -11
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.js +3 -2
- 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/index.js +14 -3
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +5 -1
- 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 +53 -0
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
- package/build/components/block-list/zoom-out-separator.js +98 -0
- package/build/components/block-list/zoom-out-separator.js.map +1 -0
- 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 +1 -0
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +1 -0
- 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 +2 -10
- 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 +12 -20
- 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-controls/index.js +4 -0
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-switcher/index.js +30 -19
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +2 -10
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-toolbar/index.js +19 -12
- 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/index.js +1 -1
- package/build/components/block-tools/index.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/zoom-out-mode-inserters.js +7 -21
- 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 +26 -7
- 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/button-block-appender/index.js +20 -23
- 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/editor-styles/index.js +4 -3
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/global-styles/background-panel.js +8 -12
- 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/shadow-panel-components.js +14 -17
- 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/utils.js +4 -6
- 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-item-resizer.js +2 -2
- package/build/components/grid/grid-item-resizer.js.map +1 -1
- package/build/components/iframe/get-compatibility-styles.js +1 -1
- package/build/components/iframe/get-compatibility-styles.js.map +1 -1
- package/build/components/iframe/index.js +5 -5
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +2 -4
- 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/block-patterns-tab/pattern-category-previews.js +23 -13
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/index.js +4 -11
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/library.js +2 -4
- package/build/components/inserter/library.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 -8
- package/build/components/inserter/media-tab/media-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +9 -7
- 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 +7 -24
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +4 -5
- 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 -13
- package/build/components/inserter-listbox/index.js.map +1 -1
- package/build/components/inserter-listbox/item.js +6 -11
- package/build/components/inserter-listbox/item.js.map +1 -1
- package/build/components/inserter-listbox/row.js +1 -9
- package/build/components/inserter-listbox/row.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/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/list-view/index.js +3 -7
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/media-placeholder/index.js +32 -11
- 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/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/index.js +8 -9
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/spacing-sizes-control/linked-button.js +35 -0
- package/build/components/spacing-sizes-control/linked-button.js.map +1 -0
- package/build/components/spacing-sizes-control/utils.js +4 -15
- package/build/components/spacing-sizes-control/utils.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/use-block-drop-zone/index.js +31 -7
- 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/hooks/block-bindings.js +33 -29
- 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 -2
- 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 +41 -42
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/flex.js +4 -1
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/grid.js +19 -16
- 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 +2 -3
- 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 +16 -18
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +1 -10
- 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 +16 -11
- package/build/utils/block-bindings.js.map +1 -1
- 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/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 +2 -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 +1 -0
- 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 +2 -0
- package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
- package/build-module/components/block-inspector/index.js +27 -11
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +3 -2
- 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/index.js +14 -3
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +5 -1
- 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 +47 -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/zoom-out-separator.js +90 -0
- package/build-module/components/block-list/zoom-out-separator.js.map +1 -0
- 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 +1 -0
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +1 -0
- 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 +2 -10
- 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 +12 -20
- 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-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 +30 -19
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +2 -10
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +19 -12
- 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/index.js +1 -1
- package/build-module/components/block-tools/index.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/zoom-out-mode-inserters.js +7 -22
- 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 +27 -8
- 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/button-block-appender/index.js +22 -26
- 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/editor-styles/index.js +4 -3
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +8 -12
- 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/shadow-panel-components.js +14 -17
- 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/utils.js +4 -6
- 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-item-resizer.js +2 -2
- package/build-module/components/grid/grid-item-resizer.js.map +1 -1
- package/build-module/components/iframe/get-compatibility-styles.js +1 -1
- package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
- package/build-module/components/iframe/index.js +5 -5
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +2 -4
- 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/block-patterns-tab/pattern-category-previews.js +23 -13
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/index.js +4 -11
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/library.js +2 -4
- package/build-module/components/inserter/library.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 -8
- package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +10 -8
- 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 +7 -24
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +5 -6
- 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 -11
- package/build-module/components/inserter-listbox/index.js.map +1 -1
- package/build-module/components/inserter-listbox/item.js +7 -12
- package/build-module/components/inserter-listbox/item.js.map +1 -1
- package/build-module/components/inserter-listbox/row.js +2 -10
- package/build-module/components/inserter-listbox/row.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/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/list-view/index.js +3 -7
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +32 -11
- 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/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/index.js +9 -10
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/linked-button.js +28 -0
- package/build-module/components/spacing-sizes-control/linked-button.js.map +1 -0
- package/build-module/components/spacing-sizes-control/utils.js +4 -15
- package/build-module/components/spacing-sizes-control/utils.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/use-block-drop-zone/index.js +31 -7
- 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/hooks/block-bindings.js +35 -31
- 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 -2
- 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 -45
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/flex.js +4 -1
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/grid.js +21 -18
- 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 +3 -4
- 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 +15 -18
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +1 -9
- 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 +17 -12
- package/build-module/utils/block-bindings.js.map +1 -1
- 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 +19 -11
- package/build-style/content.css +19 -11
- package/build-style/style-rtl.css +27 -117
- package/build-style/style.css +27 -117
- 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/components/block-alignment-matrix-control/index.js +1 -1
- package/src/components/block-breadcrumb/index.js +2 -2
- package/src/components/block-breadcrumb/style.scss +1 -30
- package/src/components/block-canvas/index.js +9 -1
- package/src/components/block-compare/block-view.js +6 -1
- package/src/components/block-compare/test/__snapshots__/block-view.js.snap +1 -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 +2 -0
- package/src/components/block-inspector/index.js +22 -7
- package/src/components/block-inspector/style.scss +2 -4
- package/src/components/block-list/block-invalid-warning.js +3 -2
- package/src/components/block-list/block.js +6 -2
- package/src/components/block-list/content.scss +23 -3
- package/src/components/block-list/index.js +59 -38
- package/src/components/block-list/use-block-props/index.js +3 -0
- 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 +56 -0
- package/src/components/block-list/zoom-out-separator.js +110 -0
- 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 +1 -0
- package/src/components/block-mover/index.js +1 -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 -15
- 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 -18
- 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-controls/index.js +7 -1
- package/src/components/block-switcher/index.js +45 -23
- package/src/components/block-switcher/pattern-transformations-menu.js +3 -12
- package/src/components/block-switcher/style.scss +5 -30
- package/src/components/block-toolbar/index.js +27 -11
- package/src/components/block-toolbar/shuffle.js +9 -7
- package/src/components/block-toolbar/style.scss +4 -1
- 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/index.js +1 -1
- package/src/components/block-tools/style.scss +3 -4
- package/src/components/block-tools/use-block-toolbar-popover-props.js +2 -1
- package/src/components/block-tools/zoom-out-mode-inserters.js +2 -17
- package/src/components/block-tools/zoom-out-popover.js +3 -7
- package/src/components/block-tools/zoom-out-toolbar.js +31 -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 +1 -1
- package/src/components/button-block-appender/content.scss +0 -1
- package/src/components/button-block-appender/index.js +30 -28
- 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/default-block-appender/content.scss +0 -1
- package/src/components/editor-styles/index.js +4 -3
- package/src/components/global-styles/background-panel.js +6 -14
- 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/shadow-panel-components.js +11 -15
- package/src/components/global-styles/style.scss +3 -4
- package/src/components/global-styles/test/typography-utils.js +96 -5
- 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/utils.js +4 -6
- package/src/components/grid/grid-item-movers.js +3 -3
- package/src/components/grid/grid-item-resizer.js +2 -2
- package/src/components/grid/style.scss +1 -1
- package/src/components/iframe/get-compatibility-styles.js +6 -1
- package/src/components/iframe/index.js +5 -5
- package/src/components/inner-blocks/index.js +2 -2
- 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/block-patterns-tab/pattern-category-previews.js +32 -15
- package/src/components/inserter/index.js +4 -10
- package/src/components/inserter/library.js +0 -2
- package/src/components/inserter/media-tab/hooks.js +3 -3
- package/src/components/inserter/media-tab/media-list.js +1 -7
- package/src/components/inserter/media-tab/media-preview.js +15 -8
- package/src/components/inserter/media-tab/media-tab.js +2 -0
- package/src/components/inserter/menu.js +15 -29
- package/src/components/inserter/quick-inserter.js +3 -4
- package/src/components/inserter/style.scss +10 -17
- package/src/components/inserter-list-item/index.js +4 -4
- package/src/components/inserter-list-item/style.scss +1 -3
- package/src/components/inserter-listbox/index.js +2 -11
- package/src/components/inserter-listbox/item.js +12 -14
- package/src/components/inserter-listbox/row.js +2 -9
- 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/link-control/index.js +17 -8
- package/src/components/link-control/settings-drawer.js +2 -0
- package/src/components/link-control/style.scss +1 -3
- package/src/components/list-view/block-select-button.js +2 -0
- package/src/components/list-view/index.js +3 -8
- package/src/components/list-view/style.scss +14 -16
- package/src/components/media-placeholder/README.md +2 -2
- package/src/components/media-placeholder/index.js +21 -4
- package/src/components/media-replace-flow/index.js +12 -1
- package/src/components/provider/use-block-sync.js +20 -20
- package/src/components/responsive-block-control/README.md +3 -27
- 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/index.js +10 -13
- package/src/components/spacing-sizes-control/linked-button.js +32 -0
- package/src/components/spacing-sizes-control/style.scss +1 -0
- package/src/components/spacing-sizes-control/test/utils.js +14 -15
- package/src/components/spacing-sizes-control/utils.js +5 -18
- 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-popover/stories/index.story.js +7 -1
- package/src/components/use-block-drop-zone/index.js +37 -5
- 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/hooks/block-bindings.js +42 -43
- package/src/hooks/block-bindings.scss +1 -9
- package/src/hooks/content-lock-ui.js +11 -36
- package/src/hooks/duotone.js +0 -4
- package/src/hooks/layout.js +2 -1
- package/src/hooks/layout.scss +5 -27
- package/src/hooks/spacing-visualizer.js +3 -3
- package/src/hooks/style.js +1 -4
- package/src/hooks/use-bindings-attributes.js +23 -24
- package/src/hooks/use-zoom-out.js +7 -7
- package/src/layouts/constrained.js +53 -48
- package/src/layouts/flex.js +2 -0
- package/src/layouts/grid.js +29 -22
- 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 +2 -2
- 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 +18 -14
- package/src/store/reducer.js +0 -7
- package/src/store/selectors.js +32 -51
- package/src/store/utils.js +50 -0
- package/src/utils/block-bindings.js +15 -16
- 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 +259 -50
- package/src/utils/transform-styles/index.js +132 -21
- package/tsconfig.json +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/spacing-sizes-control/sides-dropdown/index.js +0 -86
- package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +0 -1
- package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +0 -81
- package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +0 -1
- package/src/components/spacing-sizes-control/sides-dropdown/index.js +0 -91
- package/src/utils/test/__snapshots__/transform-styles.js.snap +0 -109
|
@@ -51,6 +51,8 @@ const InsertFromURLPopover = ( {
|
|
|
51
51
|
value={ src }
|
|
52
52
|
/>
|
|
53
53
|
<Button
|
|
54
|
+
// TODO: Switch to `true` (40px size) if possible
|
|
55
|
+
__next40pxDefaultSize={ false }
|
|
54
56
|
className="block-editor-media-placeholder__url-input-submit-button"
|
|
55
57
|
icon={ keyboardReturn }
|
|
56
58
|
label={ __( 'Apply' ) }
|
|
@@ -85,6 +87,8 @@ const URLSelectionUI = ( { src, onChangeSrc, onSelectURL } ) => {
|
|
|
85
87
|
return (
|
|
86
88
|
<div className="block-editor-media-placeholder__url-input-container">
|
|
87
89
|
<Button
|
|
90
|
+
// TODO: Switch to `true` (40px size) if possible
|
|
91
|
+
__next40pxDefaultSize={ false }
|
|
88
92
|
className="block-editor-media-placeholder__button"
|
|
89
93
|
onClick={ openURLInput }
|
|
90
94
|
isPressed={ isURLInputVisible }
|
|
@@ -168,7 +172,10 @@ export function MediaPlaceholder( {
|
|
|
168
172
|
};
|
|
169
173
|
|
|
170
174
|
const onFilesUpload = ( files ) => {
|
|
171
|
-
if (
|
|
175
|
+
if (
|
|
176
|
+
! handleUpload ||
|
|
177
|
+
( typeof handleUpload === 'function' && ! handleUpload( files ) )
|
|
178
|
+
) {
|
|
172
179
|
return onSelect( files );
|
|
173
180
|
}
|
|
174
181
|
onFilesPreUpload( files );
|
|
@@ -316,15 +323,15 @@ export function MediaPlaceholder( {
|
|
|
316
323
|
|
|
317
324
|
if ( isAudio ) {
|
|
318
325
|
instructions = __(
|
|
319
|
-
'Upload an audio file, pick one from your
|
|
326
|
+
'Upload or drag an audio file here, or pick one from your library.'
|
|
320
327
|
);
|
|
321
328
|
} else if ( isImage ) {
|
|
322
329
|
instructions = __(
|
|
323
|
-
'Upload an image file, pick one from your
|
|
330
|
+
'Upload or drag an image file here, or pick one from your library.'
|
|
324
331
|
);
|
|
325
332
|
} else if ( isVideo ) {
|
|
326
333
|
instructions = __(
|
|
327
|
-
'Upload a video file, pick one from your
|
|
334
|
+
'Upload or drag a video file here, or pick one from your library.'
|
|
328
335
|
);
|
|
329
336
|
}
|
|
330
337
|
}
|
|
@@ -382,6 +389,8 @@ export function MediaPlaceholder( {
|
|
|
382
389
|
return (
|
|
383
390
|
onCancel && (
|
|
384
391
|
<Button
|
|
392
|
+
// TODO: Switch to `true` (40px size) if possible
|
|
393
|
+
__next40pxDefaultSize={ false }
|
|
385
394
|
className="block-editor-media-placeholder__cancel-button"
|
|
386
395
|
title={ __( 'Cancel' ) }
|
|
387
396
|
variant="link"
|
|
@@ -410,6 +419,8 @@ export function MediaPlaceholder( {
|
|
|
410
419
|
onToggleFeaturedImage && (
|
|
411
420
|
<div className="block-editor-media-placeholder__url-input-container">
|
|
412
421
|
<Button
|
|
422
|
+
// TODO: Switch to `true` (40px size) if possible
|
|
423
|
+
__next40pxDefaultSize={ false }
|
|
413
424
|
className="block-editor-media-placeholder__button"
|
|
414
425
|
onClick={ onToggleFeaturedImage }
|
|
415
426
|
variant="secondary"
|
|
@@ -425,6 +436,8 @@ export function MediaPlaceholder( {
|
|
|
425
436
|
const defaultButton = ( { open } ) => {
|
|
426
437
|
return (
|
|
427
438
|
<Button
|
|
439
|
+
// TODO: Switch to `true` (40px size) if possible
|
|
440
|
+
__next40pxDefaultSize={ false }
|
|
428
441
|
variant="secondary"
|
|
429
442
|
onClick={ () => {
|
|
430
443
|
open();
|
|
@@ -464,6 +477,8 @@ export function MediaPlaceholder( {
|
|
|
464
477
|
const content = (
|
|
465
478
|
<>
|
|
466
479
|
<Button
|
|
480
|
+
// TODO: Switch to `true` (40px size) if possible
|
|
481
|
+
__next40pxDefaultSize={ false }
|
|
467
482
|
variant="primary"
|
|
468
483
|
className={ clsx(
|
|
469
484
|
'block-editor-media-placeholder__button',
|
|
@@ -493,6 +508,8 @@ export function MediaPlaceholder( {
|
|
|
493
508
|
<FormFileUpload
|
|
494
509
|
render={ ( { openFileDialog } ) => (
|
|
495
510
|
<Button
|
|
511
|
+
// TODO: Switch to `true` (40px size) if possible
|
|
512
|
+
__next40pxDefaultSize={ false }
|
|
496
513
|
onClick={ openFileDialog }
|
|
497
514
|
variant="primary"
|
|
498
515
|
className={ clsx(
|
|
@@ -48,6 +48,7 @@ const MediaReplaceFlow = ( {
|
|
|
48
48
|
onError,
|
|
49
49
|
onSelect,
|
|
50
50
|
onSelectURL,
|
|
51
|
+
onReset,
|
|
51
52
|
onToggleFeaturedImage,
|
|
52
53
|
useFeaturedImage,
|
|
53
54
|
onFilesUpload = noop,
|
|
@@ -75,7 +76,7 @@ const MediaReplaceFlow = ( {
|
|
|
75
76
|
}
|
|
76
77
|
// We need to set a timeout for showing the notice
|
|
77
78
|
// so that VoiceOver and possibly other screen readers
|
|
78
|
-
// can announce the error
|
|
79
|
+
// can announce the error after the toolbar button
|
|
79
80
|
// regains focus once the upload dialog closes.
|
|
80
81
|
// Otherwise VO simply skips over the notice and announces
|
|
81
82
|
// the focused element and the open menu.
|
|
@@ -202,6 +203,16 @@ const MediaReplaceFlow = ( {
|
|
|
202
203
|
{ __( 'Use featured image' ) }
|
|
203
204
|
</MenuItem>
|
|
204
205
|
) }
|
|
206
|
+
{ mediaURL && onReset && (
|
|
207
|
+
<MenuItem
|
|
208
|
+
onClick={ () => {
|
|
209
|
+
onReset();
|
|
210
|
+
onClose();
|
|
211
|
+
} }
|
|
212
|
+
>
|
|
213
|
+
{ __( 'Reset' ) }
|
|
214
|
+
</MenuItem>
|
|
215
|
+
) }
|
|
205
216
|
{ typeof children === 'function'
|
|
206
217
|
? children( { onClose } )
|
|
207
218
|
: children }
|
|
@@ -91,8 +91,8 @@ export default function useBlockSync( {
|
|
|
91
91
|
[ clientId ]
|
|
92
92
|
);
|
|
93
93
|
|
|
94
|
-
const
|
|
95
|
-
const
|
|
94
|
+
const pendingChangesRef = useRef( { incoming: null, outgoing: [] } );
|
|
95
|
+
const subscribedRef = useRef( false );
|
|
96
96
|
|
|
97
97
|
const setControlledBlocks = () => {
|
|
98
98
|
if ( ! controlledBlocks ) {
|
|
@@ -113,15 +113,15 @@ export default function useBlockSync( {
|
|
|
113
113
|
const storeBlocks = controlledBlocks.map( ( block ) =>
|
|
114
114
|
cloneBlock( block )
|
|
115
115
|
);
|
|
116
|
-
if (
|
|
117
|
-
|
|
116
|
+
if ( subscribedRef.current ) {
|
|
117
|
+
pendingChangesRef.current.incoming = storeBlocks;
|
|
118
118
|
}
|
|
119
119
|
__unstableMarkNextChangeAsNotPersistent();
|
|
120
120
|
replaceInnerBlocks( clientId, storeBlocks );
|
|
121
121
|
} );
|
|
122
122
|
} else {
|
|
123
|
-
if (
|
|
124
|
-
|
|
123
|
+
if ( subscribedRef.current ) {
|
|
124
|
+
pendingChangesRef.current.incoming = controlledBlocks;
|
|
125
125
|
}
|
|
126
126
|
resetBlocks( controlledBlocks );
|
|
127
127
|
}
|
|
@@ -153,7 +153,7 @@ export default function useBlockSync( {
|
|
|
153
153
|
|
|
154
154
|
// Determine if blocks need to be reset when they change.
|
|
155
155
|
useEffect( () => {
|
|
156
|
-
if (
|
|
156
|
+
if ( pendingChangesRef.current.outgoing.includes( controlledBlocks ) ) {
|
|
157
157
|
// Skip block reset if the value matches expected outbound sync
|
|
158
158
|
// triggered by this component by a preceding change detection.
|
|
159
159
|
// Only skip if the value matches expectation, since a reset should
|
|
@@ -161,18 +161,18 @@ export default function useBlockSync( {
|
|
|
161
161
|
// to allow that the consumer may apply modifications to reflect
|
|
162
162
|
// back on the editor.
|
|
163
163
|
if (
|
|
164
|
-
|
|
165
|
-
|
|
164
|
+
pendingChangesRef.current.outgoing[
|
|
165
|
+
pendingChangesRef.current.outgoing.length - 1
|
|
166
166
|
] === controlledBlocks
|
|
167
167
|
) {
|
|
168
|
-
|
|
168
|
+
pendingChangesRef.current.outgoing = [];
|
|
169
169
|
}
|
|
170
170
|
} else if ( getBlocks( clientId ) !== controlledBlocks ) {
|
|
171
171
|
// Reset changing value in all other cases than the sync described
|
|
172
172
|
// above. Since this can be reached in an update following an out-
|
|
173
173
|
// bound sync, unset the outbound value to avoid considering it in
|
|
174
174
|
// subsequent renders.
|
|
175
|
-
|
|
175
|
+
pendingChangesRef.current.outgoing = [];
|
|
176
176
|
setControlledBlocks();
|
|
177
177
|
|
|
178
178
|
if ( controlledSelection ) {
|
|
@@ -185,19 +185,19 @@ export default function useBlockSync( {
|
|
|
185
185
|
}
|
|
186
186
|
}, [ controlledBlocks, clientId ] );
|
|
187
187
|
|
|
188
|
-
const
|
|
188
|
+
const isMountedRef = useRef( false );
|
|
189
189
|
|
|
190
190
|
useEffect( () => {
|
|
191
191
|
// On mount, controlled blocks are already set in the effect above.
|
|
192
|
-
if ( !
|
|
193
|
-
|
|
192
|
+
if ( ! isMountedRef.current ) {
|
|
193
|
+
isMountedRef.current = true;
|
|
194
194
|
return;
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
// When the block becomes uncontrolled, it means its inner state has been reset
|
|
198
198
|
// we need to take the blocks again from the external value property.
|
|
199
199
|
if ( ! isControlled ) {
|
|
200
|
-
|
|
200
|
+
pendingChangesRef.current.outgoing = [];
|
|
201
201
|
setControlledBlocks();
|
|
202
202
|
}
|
|
203
203
|
}, [ isControlled ] );
|
|
@@ -214,7 +214,7 @@ export default function useBlockSync( {
|
|
|
214
214
|
let isPersistent = isLastBlockChangePersistent();
|
|
215
215
|
let previousAreBlocksDifferent = false;
|
|
216
216
|
|
|
217
|
-
|
|
217
|
+
subscribedRef.current = true;
|
|
218
218
|
const unsubscribe = registry.subscribe( () => {
|
|
219
219
|
// Sometimes, when changing block lists, lingering subscriptions
|
|
220
220
|
// might trigger before they are cleaned up. If the block for which
|
|
@@ -243,10 +243,10 @@ export default function useBlockSync( {
|
|
|
243
243
|
blocks = newBlocks;
|
|
244
244
|
if (
|
|
245
245
|
areBlocksDifferent &&
|
|
246
|
-
(
|
|
246
|
+
( pendingChangesRef.current.incoming ||
|
|
247
247
|
__unstableIsLastBlockChangeIgnored() )
|
|
248
248
|
) {
|
|
249
|
-
|
|
249
|
+
pendingChangesRef.current.incoming = null;
|
|
250
250
|
isPersistent = newIsPersistent;
|
|
251
251
|
return;
|
|
252
252
|
}
|
|
@@ -266,7 +266,7 @@ export default function useBlockSync( {
|
|
|
266
266
|
// We need to be aware that it was caused by an outgoing change
|
|
267
267
|
// so that we do not treat it as an incoming change later on,
|
|
268
268
|
// which would cause a block reset.
|
|
269
|
-
|
|
269
|
+
pendingChangesRef.current.outgoing.push( blocks );
|
|
270
270
|
|
|
271
271
|
// Inform the controlling entity that changes have been made to
|
|
272
272
|
// the block-editor store they should be aware about.
|
|
@@ -286,7 +286,7 @@ export default function useBlockSync( {
|
|
|
286
286
|
}, blockEditorStore );
|
|
287
287
|
|
|
288
288
|
return () => {
|
|
289
|
-
|
|
289
|
+
subscribedRef.current = false;
|
|
290
290
|
unsubscribe();
|
|
291
291
|
};
|
|
292
292
|
}, [ registry, clientId ] );
|
|
@@ -27,9 +27,6 @@ import {
|
|
|
27
27
|
InspectorControls,
|
|
28
28
|
__experimentalResponsiveBlockControl as ResponsiveBlockControl,
|
|
29
29
|
} from '@wordpress/block-editor';
|
|
30
|
-
import {
|
|
31
|
-
DimensionControl,
|
|
32
|
-
} from '@wordpress/components';
|
|
33
30
|
|
|
34
31
|
registerBlockType( 'my-plugin/my-block', {
|
|
35
32
|
// ...
|
|
@@ -37,34 +34,13 @@ registerBlockType( 'my-plugin/my-block', {
|
|
|
37
34
|
edit( { attributes, setAttributes } ) {
|
|
38
35
|
|
|
39
36
|
const [ isResponsive, setIsResponsive ] = useState( false );
|
|
40
|
-
|
|
41
|
-
// Used for example purposes only
|
|
42
|
-
const sizeOptions = [
|
|
43
|
-
{
|
|
44
|
-
label: 'Small',
|
|
45
|
-
value: 'small',
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
label: 'Medium',
|
|
49
|
-
value: 'medium',
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
label: 'Large',
|
|
53
|
-
value: 'large',
|
|
54
|
-
},
|
|
55
|
-
];
|
|
56
|
-
|
|
57
37
|
const { paddingSize } = attributes;
|
|
58
38
|
|
|
59
|
-
|
|
60
39
|
// Your custom control can be anything you'd like to use.
|
|
61
|
-
// You are not restricted to `DimensionControl`s, but this
|
|
62
|
-
// makes life easier if dealing with standard CSS values.
|
|
63
|
-
// see `packages/components/src/dimension-control/README.md`
|
|
64
40
|
const paddingControl = ( labelComponent, viewport ) => {
|
|
65
41
|
return (
|
|
66
|
-
<
|
|
67
|
-
|
|
42
|
+
<input
|
|
43
|
+
type="number"
|
|
68
44
|
label={ viewport.label }
|
|
69
45
|
onChange={ // handle update to padding value here }
|
|
70
46
|
value={ paddingSize }
|
|
@@ -155,7 +131,7 @@ const renderDefaultControl = ( labelComponent, viewport ) => {
|
|
|
155
131
|
// id: 'small',
|
|
156
132
|
// label: 'All'
|
|
157
133
|
// }
|
|
158
|
-
return <
|
|
134
|
+
return <SelectControl label={ labelComponent } />;
|
|
159
135
|
};
|
|
160
136
|
```
|
|
161
137
|
|
|
@@ -26,10 +26,15 @@ export default ( props ) => ( element ) => {
|
|
|
26
26
|
preserveWhiteSpace,
|
|
27
27
|
pastePlainText,
|
|
28
28
|
} = props.current;
|
|
29
|
+
const { ownerDocument } = element;
|
|
30
|
+
const { defaultView } = ownerDocument;
|
|
31
|
+
const { anchorNode, focusNode } = defaultView.getSelection();
|
|
32
|
+
const containsSelection =
|
|
33
|
+
element.contains( anchorNode ) && element.contains( focusNode );
|
|
29
34
|
|
|
30
35
|
// The event listener is attached to the window, so we need to check if
|
|
31
36
|
// the target is the element.
|
|
32
|
-
if (
|
|
37
|
+
if ( ! containsSelection ) {
|
|
33
38
|
return;
|
|
34
39
|
}
|
|
35
40
|
|
|
@@ -20,8 +20,9 @@ import {
|
|
|
20
20
|
removeFormat,
|
|
21
21
|
} from '@wordpress/rich-text';
|
|
22
22
|
import { Popover } from '@wordpress/components';
|
|
23
|
-
import {
|
|
23
|
+
import { store as blocksStore } from '@wordpress/blocks';
|
|
24
24
|
import deprecated from '@wordpress/deprecated';
|
|
25
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
25
26
|
|
|
26
27
|
/**
|
|
27
28
|
* Internal dependencies
|
|
@@ -163,49 +164,47 @@ export function RichTextWrapper(
|
|
|
163
164
|
isBlockSelected,
|
|
164
165
|
] );
|
|
165
166
|
|
|
166
|
-
const
|
|
167
|
+
const { disableBoundBlock, bindingsPlaceholder } = useSelect(
|
|
167
168
|
( select ) => {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
const { getBlockBindingsSource } = unlock(
|
|
174
|
-
select( blocksStore )
|
|
175
|
-
);
|
|
176
|
-
for ( const [ attribute, binding ] of Object.entries(
|
|
177
|
-
blockBindings
|
|
178
|
-
) ) {
|
|
179
|
-
if (
|
|
180
|
-
blockTypeAttributes?.[ attribute ]?.source !==
|
|
181
|
-
'rich-text'
|
|
182
|
-
) {
|
|
183
|
-
break;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
// If the source is not defined, or if its value of `canUserEditValue` is `false`, disable it.
|
|
187
|
-
const blockBindingsSource = getBlockBindingsSource(
|
|
188
|
-
binding.source
|
|
189
|
-
);
|
|
190
|
-
if (
|
|
191
|
-
! blockBindingsSource?.canUserEditValue?.( {
|
|
192
|
-
select,
|
|
193
|
-
context: blockContext,
|
|
194
|
-
args: binding.args,
|
|
195
|
-
} )
|
|
196
|
-
) {
|
|
197
|
-
_disableBoundBlocks = true;
|
|
198
|
-
break;
|
|
199
|
-
}
|
|
200
|
-
}
|
|
169
|
+
if (
|
|
170
|
+
! blockBindings?.[ identifier ] ||
|
|
171
|
+
! canBindBlock( blockName )
|
|
172
|
+
) {
|
|
173
|
+
return {};
|
|
201
174
|
}
|
|
202
175
|
|
|
203
|
-
|
|
176
|
+
const relatedBinding = blockBindings[ identifier ];
|
|
177
|
+
const { getBlockBindingsSource } = unlock( select( blocksStore ) );
|
|
178
|
+
const blockBindingsSource = getBlockBindingsSource(
|
|
179
|
+
relatedBinding.source
|
|
180
|
+
);
|
|
181
|
+
|
|
182
|
+
const _disableBoundBlock =
|
|
183
|
+
! blockBindingsSource?.canUserEditValue?.( {
|
|
184
|
+
select,
|
|
185
|
+
context: blockContext,
|
|
186
|
+
args: relatedBinding.args,
|
|
187
|
+
} );
|
|
188
|
+
|
|
189
|
+
const _bindingsPlaceholder = _disableBoundBlock
|
|
190
|
+
? relatedBinding?.args?.key || blockBindingsSource?.label
|
|
191
|
+
: sprintf(
|
|
192
|
+
/* translators: %s: source label or key */
|
|
193
|
+
__( 'Add %s' ),
|
|
194
|
+
relatedBinding?.args?.key || blockBindingsSource?.label
|
|
195
|
+
);
|
|
196
|
+
|
|
197
|
+
return {
|
|
198
|
+
disableBoundBlock: _disableBoundBlock,
|
|
199
|
+
bindingsPlaceholder:
|
|
200
|
+
( ! adjustedValue || adjustedValue.length === 0 ) &&
|
|
201
|
+
_bindingsPlaceholder,
|
|
202
|
+
};
|
|
204
203
|
},
|
|
205
|
-
[ blockBindings, blockName ]
|
|
204
|
+
[ blockBindings, identifier, blockName, blockContext, adjustedValue ]
|
|
206
205
|
);
|
|
207
206
|
|
|
208
|
-
const shouldDisableEditing = readOnly ||
|
|
207
|
+
const shouldDisableEditing = readOnly || disableBoundBlock;
|
|
209
208
|
|
|
210
209
|
const { getSelectionStart, getSelectionEnd, getBlockRootClientId } =
|
|
211
210
|
useSelect( blockEditorStore );
|
|
@@ -335,7 +334,7 @@ export function RichTextWrapper(
|
|
|
335
334
|
selectionStart,
|
|
336
335
|
selectionEnd,
|
|
337
336
|
onSelectionChange,
|
|
338
|
-
placeholder,
|
|
337
|
+
placeholder: bindingsPlaceholder || placeholder,
|
|
339
338
|
__unstableIsSelected: isSelected,
|
|
340
339
|
__unstableDisableFormats: disableFormats,
|
|
341
340
|
preserveWhiteSpace,
|
|
@@ -357,7 +356,19 @@ export function RichTextWrapper(
|
|
|
357
356
|
const inputEvents = useRef( new Set() );
|
|
358
357
|
|
|
359
358
|
function onFocus() {
|
|
360
|
-
anchorRef.current
|
|
359
|
+
let element = anchorRef.current;
|
|
360
|
+
|
|
361
|
+
if ( ! element ) {
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
// Writing flow might be editable, so we should make sure focus goes to
|
|
366
|
+
// the root editable element.
|
|
367
|
+
while ( element.parentElement?.isContentEditable ) {
|
|
368
|
+
element = element.parentElement;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
element.focus();
|
|
361
372
|
}
|
|
362
373
|
|
|
363
374
|
const registry = useRegistry();
|
|
@@ -392,9 +403,11 @@ export function RichTextWrapper(
|
|
|
392
403
|
// Overridable props.
|
|
393
404
|
role="textbox"
|
|
394
405
|
aria-multiline={ ! disableLineBreaks }
|
|
395
|
-
aria-label={ placeholder }
|
|
396
406
|
aria-readonly={ shouldDisableEditing }
|
|
397
407
|
{ ...props }
|
|
408
|
+
aria-label={
|
|
409
|
+
bindingsPlaceholder || props[ 'aria-label' ] || placeholder
|
|
410
|
+
}
|
|
398
411
|
{ ...autocompleteProps }
|
|
399
412
|
ref={ useMergeRefs( [
|
|
400
413
|
// Rich text ref must be first because its focus listener
|
|
@@ -10,7 +10,7 @@ import { useDispatch } from '@wordpress/data';
|
|
|
10
10
|
import { store as blockEditorStore } from '../../store';
|
|
11
11
|
|
|
12
12
|
export function useMarkPersistent( { html, value } ) {
|
|
13
|
-
const
|
|
13
|
+
const previousTextRef = useRef();
|
|
14
14
|
const hasActiveFormats = !! value.activeFormats?.length;
|
|
15
15
|
const { __unstableMarkLastChangeAsPersistent } =
|
|
16
16
|
useDispatch( blockEditorStore );
|
|
@@ -18,18 +18,18 @@ export function useMarkPersistent( { html, value } ) {
|
|
|
18
18
|
// Must be set synchronously to make sure it applies to the last change.
|
|
19
19
|
useLayoutEffect( () => {
|
|
20
20
|
// Ignore mount.
|
|
21
|
-
if ( !
|
|
22
|
-
|
|
21
|
+
if ( ! previousTextRef.current ) {
|
|
22
|
+
previousTextRef.current = value.text;
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
// Text input, so don't create an undo level for every character.
|
|
27
27
|
// Create an undo level after 1 second of no input.
|
|
28
|
-
if (
|
|
28
|
+
if ( previousTextRef.current !== value.text ) {
|
|
29
29
|
const timeout = window.setTimeout( () => {
|
|
30
30
|
__unstableMarkLastChangeAsPersistent();
|
|
31
31
|
}, 1000 );
|
|
32
|
-
|
|
32
|
+
previousTextRef.current = value.text;
|
|
33
33
|
return () => {
|
|
34
34
|
window.clearTimeout( timeout );
|
|
35
35
|
};
|
|
@@ -28,6 +28,8 @@ export default function SkipToSelectedBlock() {
|
|
|
28
28
|
|
|
29
29
|
return selectedBlockClientId ? (
|
|
30
30
|
<Button
|
|
31
|
+
// TODO: Switch to `true` (40px size) if possible
|
|
32
|
+
__next40pxDefaultSize={ false }
|
|
31
33
|
variant="secondary"
|
|
32
34
|
className="block-editor-skip-to-selected-block"
|
|
33
35
|
onClick={ onClick }
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
__experimentalVStack as VStack,
|
|
8
8
|
} from '@wordpress/components';
|
|
9
9
|
import { useState } from '@wordpress/element';
|
|
10
|
-
import { __,
|
|
10
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Internal dependencies
|
|
@@ -15,7 +15,7 @@ import { __, _x, sprintf } from '@wordpress/i18n';
|
|
|
15
15
|
import AxialInputControls from './input-controls/axial';
|
|
16
16
|
import SeparatedInputControls from './input-controls/separated';
|
|
17
17
|
import SingleInputControl from './input-controls/single';
|
|
18
|
-
import
|
|
18
|
+
import LinkedButton from './linked-button';
|
|
19
19
|
import useSpacingSizes from './hooks/use-spacing-sizes';
|
|
20
20
|
import {
|
|
21
21
|
ALL_SIDES,
|
|
@@ -47,6 +47,10 @@ export default function SpacingSizesControl( {
|
|
|
47
47
|
|
|
48
48
|
const [ view, setView ] = useState( getInitialView( inputValues, sides ) );
|
|
49
49
|
|
|
50
|
+
const toggleLinked = () => {
|
|
51
|
+
setView( view === VIEWS.axial ? VIEWS.custom : VIEWS.axial );
|
|
52
|
+
};
|
|
53
|
+
|
|
50
54
|
const handleOnChange = ( nextValue ) => {
|
|
51
55
|
const newValues = { ...values, ...nextValue };
|
|
52
56
|
onChange( newValues );
|
|
@@ -91,12 +95,6 @@ export default function SpacingSizesControl( {
|
|
|
91
95
|
sideLabel
|
|
92
96
|
).trim();
|
|
93
97
|
|
|
94
|
-
const dropdownLabelText = sprintf(
|
|
95
|
-
// translators: %s: The current spacing property e.g. "Padding", "Margin".
|
|
96
|
-
_x( '%s options', 'Button label to reveal side configuration options' ),
|
|
97
|
-
labelProp
|
|
98
|
-
);
|
|
99
|
-
|
|
100
98
|
return (
|
|
101
99
|
<fieldset className="spacing-sizes-control">
|
|
102
100
|
<HStack className="spacing-sizes-control__header">
|
|
@@ -107,11 +105,10 @@ export default function SpacingSizesControl( {
|
|
|
107
105
|
{ label }
|
|
108
106
|
</BaseControl.VisualLabel>
|
|
109
107
|
{ ! hasOneSide && ! hasOnlyAxialSides && (
|
|
110
|
-
<
|
|
111
|
-
label={
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
value={ view }
|
|
108
|
+
<LinkedButton
|
|
109
|
+
label={ labelProp }
|
|
110
|
+
onClick={ toggleLinked }
|
|
111
|
+
isLinked={ view === VIEWS.axial }
|
|
115
112
|
/>
|
|
116
113
|
) }
|
|
117
114
|
</HStack>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { Button, Tooltip } from '@wordpress/components';
|
|
5
|
+
import { link, linkOff } from '@wordpress/icons';
|
|
6
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
7
|
+
|
|
8
|
+
export default function LinkedButton( { isLinked, ...props } ) {
|
|
9
|
+
const label = isLinked
|
|
10
|
+
? sprintf(
|
|
11
|
+
// translators: 1. Type of spacing being modified (padding, margin, etc).
|
|
12
|
+
__( 'Unlink %1$s' ),
|
|
13
|
+
props.label.toLowerCase()
|
|
14
|
+
).trim()
|
|
15
|
+
: sprintf(
|
|
16
|
+
// translators: 1. Type of spacing being modified (padding, margin, etc).
|
|
17
|
+
__( 'Link %1$s' ),
|
|
18
|
+
props.label.toLowerCase()
|
|
19
|
+
).trim();
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<Tooltip text={ label }>
|
|
23
|
+
<Button
|
|
24
|
+
{ ...props }
|
|
25
|
+
size="small"
|
|
26
|
+
icon={ isLinked ? link : linkOff }
|
|
27
|
+
iconSize={ 24 }
|
|
28
|
+
aria-label={ label }
|
|
29
|
+
/>
|
|
30
|
+
</Tooltip>
|
|
31
|
+
);
|
|
32
|
+
}
|
|
@@ -373,8 +373,8 @@ describe( 'getInitialView', () => {
|
|
|
373
373
|
getInitialView( { top: '1em', right: '10px' }, ALL_SIDES )
|
|
374
374
|
).toBe( VIEWS.custom );
|
|
375
375
|
} );
|
|
376
|
-
it( 'should
|
|
377
|
-
expect( getInitialView( { top: '1em' }, ALL_SIDES ) ).
|
|
376
|
+
it( 'should return custom view if there is only a single side value', () => {
|
|
377
|
+
expect( getInitialView( { top: '1em' }, ALL_SIDES ) ).toBe(
|
|
378
378
|
VIEWS.custom
|
|
379
379
|
);
|
|
380
380
|
} );
|
|
@@ -387,20 +387,19 @@ describe( 'getInitialView', () => {
|
|
|
387
387
|
);
|
|
388
388
|
} );
|
|
389
389
|
|
|
390
|
-
it( 'should return
|
|
391
|
-
expect( getInitialView( {
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
VIEWS.left
|
|
402
|
-
);
|
|
390
|
+
it( 'should return single side when only single side supported and no value defined', () => {
|
|
391
|
+
expect( getInitialView( {}, [ 'top' ] ) ).toBe( VIEWS.top );
|
|
392
|
+
} );
|
|
393
|
+
|
|
394
|
+
it( 'should return single side when only single side supported and all values defined', () => {
|
|
395
|
+
expect(
|
|
396
|
+
getInitialView(
|
|
397
|
+
{ top: '1em', right: '2em', bottom: '1em', left: '2em' },
|
|
398
|
+
[ 'top' ]
|
|
399
|
+
)
|
|
400
|
+
).toBe( VIEWS.top );
|
|
403
401
|
} );
|
|
402
|
+
|
|
404
403
|
it( 'should return single side view when only one side is supported', () => {
|
|
405
404
|
expect( getInitialView( { top: '1em' }, [ 'top' ] ) ).toBe(
|
|
406
405
|
VIEWS.top
|