@wordpress/block-editor 10.4.0 → 11.0.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 +17 -0
- package/README.md +0 -1
- package/build/autocompleters/block.js +2 -6
- package/build/autocompleters/block.js.map +1 -1
- package/build/autocompleters/link.js +2 -0
- package/build/autocompleters/link.js.map +1 -1
- package/build/components/block-card/index.js +51 -3
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-draggable/index.native.js +46 -39
- package/build/components/block-draggable/index.native.js.map +1 -1
- package/build/components/block-edit/edit.js +4 -3
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-edit/edit.native.js +4 -7
- package/build/components/block-edit/edit.native.js.map +1 -1
- package/build/components/block-inspector/index.js +35 -33
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-list-context.native.js +5 -8
- package/build/components/block-list/block-list-context.native.js.map +1 -1
- package/build/components/block-list/block.js +55 -24
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +61 -28
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-lock/menu-item.js +1 -1
- package/build/components/block-lock/menu-item.js.map +1 -1
- package/build/components/block-lock/modal.js +16 -9
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js +12 -4
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +3 -2
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-patterns-list/index.js +33 -11
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-preview/auto.js +9 -3
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-preview/index.js +5 -9
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +5 -2
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-styles/utils.js +3 -3
- package/build/components/block-styles/utils.js.map +1 -1
- package/build/components/block-switcher/index.js +19 -4
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +5 -1
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +8 -49
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +27 -4
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/block-variation-picker/index.js +1 -2
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/colors/with-colors.js +4 -3
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/font-sizes/fluid-utils.js +24 -40
- package/build/components/font-sizes/fluid-utils.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +7 -5
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/height-control/index.js +115 -0
- package/build/components/height-control/index.js.map +1 -0
- package/build/components/iframe/index.js +11 -8
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/use-save-image.js +2 -0
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/image-editor/zoom-dropdown.js +1 -0
- package/build/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build/components/index.js +18 -0
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +25 -9
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/use-inner-block-template-sync.js +25 -10
- package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/sidebar.js +1 -0
- package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +25 -46
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +3 -1
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/hooks/use-debounced-input.js +27 -0
- package/build/components/inserter/hooks/use-debounced-input.js.map +1 -0
- package/build/components/inserter/index.js +8 -3
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +3 -4
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/media-tab/hooks.js +103 -0
- package/build/components/inserter/media-tab/hooks.js.map +1 -0
- package/build/components/inserter/media-tab/index.js +32 -0
- package/build/components/inserter/media-tab/index.js.map +1 -0
- package/build/components/inserter/media-tab/media-list.js +100 -0
- package/build/components/inserter/media-tab/media-list.js.map +1 -0
- package/build/components/inserter/media-tab/media-panel.js +96 -0
- package/build/components/inserter/media-tab/media-panel.js.map +1 -0
- package/build/components/inserter/media-tab/media-tab.js +120 -0
- package/build/components/inserter/media-tab/media-tab.js.map +1 -0
- package/build/components/inserter/media-tab/utils.js +54 -0
- package/build/components/inserter/media-tab/utils.js.map +1 -0
- package/build/components/inserter/menu.js +35 -12
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/mobile-tab-navigation.js +70 -0
- package/build/components/inserter/mobile-tab-navigation.js.map +1 -0
- package/build/components/inserter/quick-inserter.js +1 -0
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.js +4 -1
- package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build/components/inserter/search-results.js +3 -1
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/tabs.js +16 -2
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter-list-item/index.js +4 -1
- package/build/components/inserter-list-item/index.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/advanced-controls-panel.js +46 -0
- package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -0
- package/build/components/inspector-controls-tabs/index.js +71 -0
- package/build/components/inspector-controls-tabs/index.js.map +1 -0
- package/build/components/inspector-controls-tabs/settings-tab.js +28 -0
- package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -0
- package/build/components/inspector-controls-tabs/styles-tab.js +61 -0
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -0
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +97 -0
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -0
- package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js +18 -0
- package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +1 -0
- package/build/components/inspector-controls-tabs/utils.js +37 -0
- package/build/components/inspector-controls-tabs/utils.js.map +1 -0
- package/build/components/link-control/index.js +19 -34
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-input.js +1 -2
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/use-internal-input-value.js +26 -0
- package/build/components/link-control/use-internal-input-value.js.map +1 -0
- package/build/components/list-view/block.js +10 -5
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +22 -15
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/media-upload/index.native.js +2 -3
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/off-canvas-editor/appender.js +104 -0
- package/build/components/off-canvas-editor/appender.js.map +1 -0
- package/build/components/off-canvas-editor/block-contents.js +100 -0
- package/build/components/off-canvas-editor/block-contents.js.map +1 -0
- package/build/components/off-canvas-editor/block-edit-button.js +50 -0
- package/build/components/off-canvas-editor/block-edit-button.js.map +1 -0
- package/build/components/off-canvas-editor/block-select-button.js +119 -0
- package/build/components/off-canvas-editor/block-select-button.js.map +1 -0
- package/build/components/off-canvas-editor/block.js +324 -0
- package/build/components/off-canvas-editor/block.js.map +1 -0
- package/build/components/off-canvas-editor/branch.js +179 -0
- package/build/components/off-canvas-editor/branch.js.map +1 -0
- package/build/components/off-canvas-editor/context.js +19 -0
- package/build/components/off-canvas-editor/context.js.map +1 -0
- package/build/components/off-canvas-editor/drop-indicator.js +118 -0
- package/build/components/off-canvas-editor/drop-indicator.js.map +1 -0
- package/build/components/off-canvas-editor/expander.js +41 -0
- package/build/components/off-canvas-editor/expander.js.map +1 -0
- package/build/components/off-canvas-editor/index.js +213 -0
- package/build/components/off-canvas-editor/index.js.map +1 -0
- package/build/components/off-canvas-editor/leaf.js +60 -0
- package/build/components/off-canvas-editor/leaf.js.map +1 -0
- package/build/components/off-canvas-editor/link-ui.js +185 -0
- package/build/components/off-canvas-editor/link-ui.js.map +1 -0
- package/build/components/off-canvas-editor/update-attributes.js +108 -0
- package/build/components/off-canvas-editor/update-attributes.js.map +1 -0
- package/build/components/off-canvas-editor/use-block-selection.js +139 -0
- package/build/components/off-canvas-editor/use-block-selection.js.map +1 -0
- package/build/components/off-canvas-editor/use-list-view-client-ids.js +33 -0
- package/build/components/off-canvas-editor/use-list-view-client-ids.js.map +1 -0
- package/build/components/off-canvas-editor/use-list-view-drop-zone.js +235 -0
- package/build/components/off-canvas-editor/use-list-view-drop-zone.js.map +1 -0
- package/build/components/off-canvas-editor/use-list-view-expand-selected-item.js +60 -0
- package/build/components/off-canvas-editor/use-list-view-expand-selected-item.js.map +1 -0
- package/build/components/off-canvas-editor/utils.js +60 -0
- package/build/components/off-canvas-editor/utils.js.map +1 -0
- package/build/components/rich-text/format-toolbar/index.js +8 -4
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/index.js +3 -3
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +0 -2
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/use-insert-replacement-text.js +43 -0
- package/build/components/rich-text/use-insert-replacement-text.js.map +1 -0
- package/build/components/rich-text/use-undo-automatic-change.js +9 -1
- package/build/components/rich-text/use-undo-automatic-change.js.map +1 -1
- package/build/components/rich-text/utils.js +1 -19
- package/build/components/rich-text/utils.js.map +1 -1
- package/build/components/spacing-sizes-control/spacing-input-control.js +12 -3
- package/build/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
- package/build/components/ungroup-button/index.native.js +4 -2
- package/build/components/ungroup-button/index.native.js.map +1 -1
- package/build/components/url-input/index.js +46 -43
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-popover/index.js +31 -2
- package/build/components/url-popover/index.js.map +1 -1
- package/build/components/use-block-display-information/index.js +8 -4
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/components/use-setting/index.js +10 -2
- package/build/components/use-setting/index.js.map +1 -1
- package/build/hooks/child-layout.js +209 -0
- package/build/hooks/child-layout.js.map +1 -0
- package/build/hooks/color-panel.js +17 -1
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/color.js +1 -1
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +14 -7
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/dimensions.js +65 -16
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/layout.js +59 -3
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/margin.js +4 -2
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/min-height.js +139 -0
- package/build/hooks/min-height.js.map +1 -0
- package/build/hooks/padding.js +4 -2
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/style.js +3 -2
- package/build/hooks/style.js.map +1 -1
- package/build/layouts/flex.js +22 -21
- package/build/layouts/flex.js.map +1 -1
- package/build/store/actions.js +26 -0
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +420 -265
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +73 -49
- package/build/store/selectors.js.map +1 -1
- package/build/utils/sorting.js +63 -0
- package/build/utils/sorting.js.map +1 -0
- package/build-module/autocompleters/block.js +2 -6
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/autocompleters/link.js +2 -0
- package/build-module/autocompleters/link.js.map +1 -1
- package/build-module/components/block-card/index.js +45 -3
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-draggable/index.native.js +40 -31
- package/build-module/components/block-draggable/index.native.js.map +1 -1
- package/build-module/components/block-edit/edit.js +4 -2
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-edit/edit.native.js +4 -6
- package/build-module/components/block-edit/edit.native.js.map +1 -1
- package/build-module/components/block-inspector/index.js +32 -30
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-list-context.native.js +5 -8
- package/build-module/components/block-list/block-list-context.native.js.map +1 -1
- package/build-module/components/block-list/block.js +55 -25
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +61 -28
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-lock/menu-item.js +2 -2
- package/build-module/components/block-lock/menu-item.js.map +1 -1
- package/build-module/components/block-lock/modal.js +17 -10
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +13 -6
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +3 -2
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +35 -13
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js +9 -3
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-preview/index.js +5 -8
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +5 -2
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-styles/utils.js +3 -3
- package/build-module/components/block-styles/utils.js.map +1 -1
- package/build-module/components/block-switcher/index.js +19 -4
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +6 -2
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +8 -49
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +27 -5
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +1 -2
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/colors/with-colors.js +5 -4
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/font-sizes/fluid-utils.js +24 -40
- package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +8 -6
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/height-control/index.js +103 -0
- package/build-module/components/height-control/index.js.map +1 -0
- package/build-module/components/iframe/index.js +11 -8
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js +2 -0
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/image-editor/zoom-dropdown.js +1 -0
- package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build-module/components/index.js +2 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +27 -11
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js +23 -10
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js +1 -0
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +27 -49
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +3 -2
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/hooks/use-debounced-input.js +18 -0
- package/build-module/components/inserter/hooks/use-debounced-input.js.map +1 -0
- package/build-module/components/inserter/index.js +8 -3
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +3 -5
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/media-tab/hooks.js +89 -0
- package/build-module/components/inserter/media-tab/hooks.js.map +1 -0
- package/build-module/components/inserter/media-tab/index.js +4 -0
- package/build-module/components/inserter/media-tab/index.js.map +1 -0
- package/build-module/components/inserter/media-tab/media-list.js +86 -0
- package/build-module/components/inserter/media-tab/media-list.js.map +1 -0
- package/build-module/components/inserter/media-tab/media-panel.js +77 -0
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -0
- package/build-module/components/inserter/media-tab/media-tab.js +100 -0
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -0
- package/build-module/components/inserter/media-tab/utils.js +45 -0
- package/build-module/components/inserter/media-tab/utils.js.map +1 -0
- package/build-module/components/inserter/menu.js +33 -12
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/mobile-tab-navigation.js +61 -0
- package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -0
- package/build-module/components/inserter/quick-inserter.js +1 -0
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.js +3 -1
- package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build-module/components/inserter/search-results.js +3 -2
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/tabs.js +15 -2
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +5 -2
- package/build-module/components/inserter-list-item/index.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/advanced-controls-panel.js +32 -0
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -0
- package/build-module/components/inspector-controls-tabs/index.js +56 -0
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -0
- package/build-module/components/inspector-controls-tabs/settings-tab.js +17 -0
- package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -0
- package/build-module/components/inspector-controls-tabs/styles-tab.js +46 -0
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -0
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +81 -0
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -0
- package/build-module/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js +8 -0
- package/build-module/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +1 -0
- package/build-module/components/inspector-controls-tabs/utils.js +26 -0
- package/build-module/components/inspector-controls-tabs/utils.js.map +1 -0
- package/build-module/components/link-control/index.js +18 -34
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-input.js +1 -2
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/use-internal-input-value.js +18 -0
- package/build-module/components/link-control/use-internal-input-value.js.map +1 -0
- package/build-module/components/list-view/block.js +10 -5
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +21 -14
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/media-upload/index.native.js +2 -4
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/off-canvas-editor/appender.js +89 -0
- package/build-module/components/off-canvas-editor/appender.js.map +1 -0
- package/build-module/components/off-canvas-editor/block-contents.js +85 -0
- package/build-module/components/off-canvas-editor/block-contents.js.map +1 -0
- package/build-module/components/off-canvas-editor/block-edit-button.js +35 -0
- package/build-module/components/off-canvas-editor/block-edit-button.js.map +1 -0
- package/build-module/components/off-canvas-editor/block-select-button.js +101 -0
- package/build-module/components/off-canvas-editor/block-select-button.js.map +1 -0
- package/build-module/components/off-canvas-editor/block.js +298 -0
- package/build-module/components/off-canvas-editor/block.js.map +1 -0
- package/build-module/components/off-canvas-editor/branch.js +164 -0
- package/build-module/components/off-canvas-editor/branch.js.map +1 -0
- package/build-module/components/off-canvas-editor/context.js +7 -0
- package/build-module/components/off-canvas-editor/context.js.map +1 -0
- package/build-module/components/off-canvas-editor/drop-indicator.js +111 -0
- package/build-module/components/off-canvas-editor/drop-indicator.js.map +1 -0
- package/build-module/components/off-canvas-editor/expander.js +32 -0
- package/build-module/components/off-canvas-editor/expander.js.map +1 -0
- package/build-module/components/off-canvas-editor/index.js +189 -0
- package/build-module/components/off-canvas-editor/index.js.map +1 -0
- package/build-module/components/off-canvas-editor/leaf.js +45 -0
- package/build-module/components/off-canvas-editor/leaf.js.map +1 -0
- package/build-module/components/off-canvas-editor/link-ui.js +165 -0
- package/build-module/components/off-canvas-editor/link-ui.js.map +1 -0
- package/build-module/components/off-canvas-editor/update-attributes.js +97 -0
- package/build-module/components/off-canvas-editor/update-attributes.js.map +1 -0
- package/build-module/components/off-canvas-editor/use-block-selection.js +124 -0
- package/build-module/components/off-canvas-editor/use-block-selection.js.map +1 -0
- package/build-module/components/off-canvas-editor/use-list-view-client-ids.js +24 -0
- package/build-module/components/off-canvas-editor/use-list-view-client-ids.js.map +1 -0
- package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js +220 -0
- package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js.map +1 -0
- package/build-module/components/off-canvas-editor/use-list-view-expand-selected-item.js +50 -0
- package/build-module/components/off-canvas-editor/use-list-view-expand-selected-item.js.map +1 -0
- package/build-module/components/off-canvas-editor/utils.js +44 -0
- package/build-module/components/off-canvas-editor/utils.js.map +1 -0
- package/build-module/components/rich-text/format-toolbar/index.js +6 -2
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +2 -3
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +0 -2
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-insert-replacement-text.js +33 -0
- package/build-module/components/rich-text/use-insert-replacement-text.js.map +1 -0
- package/build-module/components/rich-text/use-undo-automatic-change.js +9 -1
- package/build-module/components/rich-text/use-undo-automatic-change.js.map +1 -1
- package/build-module/components/rich-text/utils.js +1 -16
- package/build-module/components/rich-text/utils.js.map +1 -1
- package/build-module/components/spacing-sizes-control/spacing-input-control.js +12 -3
- package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
- package/build-module/components/ungroup-button/index.native.js +3 -2
- package/build-module/components/ungroup-button/index.native.js.map +1 -1
- package/build-module/components/url-input/index.js +46 -43
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-popover/index.js +30 -3
- package/build-module/components/url-popover/index.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +9 -5
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/components/use-setting/index.js +9 -2
- package/build-module/components/use-setting/index.js.map +1 -1
- package/build-module/hooks/child-layout.js +189 -0
- package/build-module/hooks/child-layout.js.map +1 -0
- package/build-module/hooks/color-panel.js +17 -1
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/color.js +1 -1
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +16 -9
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/dimensions.js +60 -16
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/layout.js +57 -2
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/margin.js +4 -2
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/min-height.js +116 -0
- package/build-module/hooks/min-height.js.map +1 -0
- package/build-module/hooks/padding.js +4 -2
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/style.js +4 -3
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/layouts/flex.js +23 -22
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/store/actions.js +22 -0
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +415 -265
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +66 -48
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/sorting.js +56 -0
- package/build-module/utils/sorting.js.map +1 -0
- package/build-style/content-rtl.css +701 -0
- package/build-style/content.css +701 -0
- package/build-style/default-editor-styles-rtl.css +14 -0
- package/build-style/default-editor-styles.css +14 -0
- package/build-style/style-rtl.css +305 -668
- package/build-style/style.css +305 -668
- package/package.json +32 -30
- package/src/autocompleters/block.js +2 -6
- package/src/autocompleters/link.js +2 -0
- package/src/components/alignment-control/README.md +1 -1
- package/src/components/alignment-control/test/index.js +4 -1
- package/src/components/block-alignment-control/test/index.js +4 -1
- package/src/components/block-alignment-control/test/index.native.js +4 -4
- package/src/components/block-card/index.js +46 -2
- package/src/components/block-card/style.scss +4 -0
- package/src/components/block-content-overlay/{style.scss → content.scss} +7 -1
- package/src/components/block-draggable/content.scss +20 -0
- package/src/components/block-draggable/index.native.js +54 -40
- package/src/components/block-draggable/style.scss +0 -21
- package/src/components/block-draggable/test/helpers.native.js +7 -9
- package/src/components/block-draggable/test/index.native.js +35 -45
- package/src/components/block-edit/edit.js +5 -2
- package/src/components/block-edit/edit.native.js +5 -6
- package/src/components/block-inspector/index.js +96 -81
- package/src/components/block-inspector/style.scss +9 -1
- package/src/components/block-list/block-list-context.native.js +5 -8
- package/src/components/block-list/block.js +74 -23
- package/src/components/block-list/block.native.js +78 -23
- package/src/components/block-list/{style.scss → content.scss} +11 -20
- package/src/components/block-list-appender/{style.scss → content.scss} +0 -0
- package/src/components/block-lock/menu-item.js +5 -2
- package/src/components/block-lock/modal.js +19 -36
- package/src/components/block-lock/style.scss +8 -17
- package/src/components/block-mobile-toolbar/block-actions-menu.native.js +24 -6
- package/src/components/block-mover/style.scss +0 -1
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +0 -2
- package/src/components/block-pattern-setup/index.js +2 -1
- package/src/components/block-patterns-list/index.js +47 -24
- package/src/components/block-popover/style.scss +1 -1
- package/src/components/block-preview/README.md +15 -10
- package/src/components/block-preview/auto.js +7 -1
- package/src/components/block-preview/content.scss +4 -0
- package/src/components/block-preview/index.js +7 -12
- package/src/components/block-preview/style.scss +0 -7
- package/src/components/block-preview/test/index.js +18 -35
- package/src/components/block-selection-clearer/test/index.js +12 -12
- package/src/components/block-settings-menu/block-settings-dropdown.js +32 -20
- package/src/components/block-styles/utils.js +3 -3
- package/src/components/block-switcher/index.js +19 -4
- package/src/components/block-switcher/test/index.js +4 -0
- package/src/components/block-toolbar/index.js +12 -5
- package/src/components/block-toolbar/style.scss +10 -0
- package/src/components/block-tools/insertion-point.js +3 -47
- package/src/components/block-tools/selected-block-popover.js +80 -34
- package/src/components/block-tools/style.scss +27 -5
- package/src/components/block-variation-picker/index.js +1 -4
- package/src/components/block-vertical-alignment-control/test/index.js +4 -1
- package/src/components/colors/with-colors.js +13 -23
- package/src/components/default-block-appender/{style.scss → content.scss} +1 -0
- package/src/components/font-sizes/fluid-utils.js +37 -64
- package/src/components/font-sizes/test/fluid-utils.js +5 -5
- package/src/components/font-sizes/with-font-sizes.js +14 -11
- package/src/components/height-control/index.js +123 -0
- package/src/components/height-control/stories/index.js +21 -0
- package/src/components/height-control/style.scss +5 -0
- package/src/components/iframe/index.js +25 -18
- package/src/components/image-editor/use-save-image.js +2 -0
- package/src/components/image-editor/zoom-dropdown.js +1 -0
- package/src/components/index.js +2 -0
- package/src/components/inner-blocks/{style.scss → content.scss} +0 -0
- package/src/components/inner-blocks/index.js +30 -10
- package/src/components/inner-blocks/use-inner-block-template-sync.js +28 -10
- package/src/components/inserter/block-patterns-explorer/sidebar.js +1 -0
- package/src/components/inserter/block-patterns-tab.js +28 -71
- package/src/components/inserter/block-types-tab.js +3 -2
- package/src/components/inserter/hooks/use-debounced-input.js +17 -0
- package/src/components/inserter/index.js +10 -2
- package/src/components/inserter/index.native.js +1 -1
- package/src/components/inserter/media-tab/hooks.js +88 -0
- package/src/components/inserter/media-tab/index.js +3 -0
- package/src/components/inserter/media-tab/media-list.js +93 -0
- package/src/components/inserter/media-tab/media-panel.js +83 -0
- package/src/components/inserter/media-tab/media-tab.js +135 -0
- package/src/components/inserter/media-tab/utils.js +37 -0
- package/src/components/inserter/menu.js +55 -13
- package/src/components/inserter/mobile-tab-navigation.js +85 -0
- package/src/components/inserter/quick-inserter.js +1 -0
- package/src/components/inserter/reusable-blocks-tab.js +4 -2
- package/src/components/inserter/search-results.js +3 -2
- package/src/components/inserter/stories/index.js +1 -1
- package/src/components/inserter/stories/{fixtures.js → utils/fixtures.js} +0 -0
- package/src/components/inserter/style.scss +184 -18
- package/src/components/inserter/tabs.js +12 -1
- package/src/components/inserter/test/reusable-blocks-tab.js +14 -57
- package/src/components/inserter-list-item/index.js +11 -1
- package/src/components/inserter-list-item/style.scss +26 -0
- package/src/components/inspector-controls/groups.js +2 -0
- package/src/components/inspector-controls-tabs/advanced-controls-panel.js +37 -0
- package/src/components/inspector-controls-tabs/index.js +62 -0
- package/src/components/inspector-controls-tabs/settings-tab.js +18 -0
- package/src/components/inspector-controls-tabs/styles-tab.js +51 -0
- package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +89 -0
- package/src/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js +9 -0
- package/src/components/inspector-controls-tabs/utils.js +28 -0
- package/src/components/line-height-control/test/index.js +5 -5
- package/src/components/link-control/README.md +1 -1
- package/src/components/link-control/index.js +24 -39
- package/src/components/link-control/search-input.js +1 -2
- package/src/components/link-control/test/index.js +400 -582
- package/src/components/link-control/use-internal-input-value.js +22 -0
- package/src/components/list-view/block.js +7 -3
- package/src/components/list-view/branch.js +21 -14
- package/src/components/list-view/style.scss +20 -9
- package/src/components/media-placeholder/{style.scss → content.scss} +0 -0
- package/src/components/media-replace-flow/test/index.js +37 -9
- package/src/components/media-upload/test/index.native.js +2 -0
- package/src/components/off-canvas-editor/README.md +5 -0
- package/src/components/off-canvas-editor/appender.js +93 -0
- package/src/components/off-canvas-editor/block-contents.js +89 -0
- package/src/components/off-canvas-editor/block-edit-button.js +27 -0
- package/src/components/off-canvas-editor/block-select-button.js +113 -0
- package/src/components/off-canvas-editor/block.js +401 -0
- package/src/components/off-canvas-editor/branch.js +208 -0
- package/src/components/off-canvas-editor/context.js +8 -0
- package/src/components/off-canvas-editor/drop-indicator.js +126 -0
- package/src/components/off-canvas-editor/expander.js +26 -0
- package/src/components/off-canvas-editor/index.js +242 -0
- package/src/components/off-canvas-editor/leaf.js +52 -0
- package/src/components/off-canvas-editor/link-ui.js +166 -0
- package/src/components/off-canvas-editor/style.scss +26 -0
- package/src/components/off-canvas-editor/test/utils.js +50 -0
- package/src/components/off-canvas-editor/update-attributes.js +99 -0
- package/src/components/off-canvas-editor/use-block-selection.js +169 -0
- package/src/components/off-canvas-editor/use-list-view-client-ids.js +29 -0
- package/src/components/off-canvas-editor/use-list-view-drop-zone.js +260 -0
- package/src/components/off-canvas-editor/use-list-view-expand-selected-item.js +58 -0
- package/src/components/off-canvas-editor/utils.js +58 -0
- package/src/components/plain-text/{style.scss → content.scss} +0 -0
- package/src/components/recursion-provider/test/index.js +27 -29
- package/src/components/responsive-block-control/test/index.js +69 -92
- package/src/components/rich-text/content.scss +42 -0
- package/src/components/rich-text/format-toolbar/index.js +6 -4
- package/src/components/rich-text/index.js +2 -2
- package/src/components/rich-text/index.native.js +0 -2
- package/src/components/rich-text/style.scss +0 -43
- package/src/components/rich-text/use-insert-replacement-text.js +31 -0
- package/src/components/rich-text/use-undo-automatic-change.js +7 -1
- package/src/components/rich-text/utils.js +2 -21
- package/src/components/spacing-sizes-control/spacing-input-control.js +9 -0
- package/src/components/ungroup-button/index.native.js +6 -2
- package/src/components/url-input/index.js +57 -73
- package/src/components/url-popover/README.md +12 -3
- package/src/components/url-popover/index.js +33 -3
- package/src/components/url-popover/test/__snapshots__/index.js.snap +8 -6
- package/src/components/url-popover/test/index.js +21 -9
- package/src/components/use-block-display-information/index.js +14 -5
- package/src/components/use-setting/index.js +20 -2
- package/src/components/use-setting/test/index.js +99 -0
- package/src/content.scss +10 -0
- package/src/hooks/child-layout.js +190 -0
- package/src/hooks/color-panel.js +13 -1
- package/src/hooks/color.js +2 -0
- package/src/hooks/content-lock-ui.js +47 -35
- package/src/hooks/dimensions.js +119 -21
- package/src/hooks/layout.js +62 -3
- package/src/hooks/margin.js +4 -3
- package/src/hooks/min-height.js +104 -0
- package/src/hooks/padding.js +4 -3
- package/src/hooks/style.js +10 -2
- package/src/hooks/test/style.js +4 -0
- package/src/hooks/test/use-typography-props.js +1 -1
- package/src/layouts/flex.js +43 -38
- package/src/store/actions.js +22 -0
- package/src/store/reducer.js +480 -434
- package/src/store/selectors.js +70 -64
- package/src/store/test/actions.js +18 -0
- package/src/store/test/performance.js +71 -0
- package/src/store/test/reducer.js +662 -490
- package/src/store/test/selectors.js +1839 -1306
- package/src/style.scss +4 -7
- package/src/utils/sorting.js +54 -0
- package/src/utils/test/sorting.js +49 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/block-preview/live.js +0 -30
- package/build/components/block-preview/live.js.map +0 -1
- package/build-module/components/block-preview/live.js +0 -20
- package/build-module/components/block-preview/live.js.map +0 -1
- package/src/components/block-preview/live.js +0 -19
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
__unstableComposite as Composite,
|
|
7
7
|
__unstableUseCompositeState as useCompositeState,
|
|
8
8
|
__unstableCompositeItem as CompositeItem,
|
|
9
|
+
Tooltip,
|
|
9
10
|
} from '@wordpress/components';
|
|
10
11
|
import { useInstanceId } from '@wordpress/compose';
|
|
11
12
|
import { __ } from '@wordpress/i18n';
|
|
@@ -16,7 +17,20 @@ import { __ } from '@wordpress/i18n';
|
|
|
16
17
|
import BlockPreview from '../block-preview';
|
|
17
18
|
import InserterDraggableBlocks from '../inserter-draggable-blocks';
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
const WithToolTip = ( { showTooltip, title, children } ) => {
|
|
21
|
+
if ( showTooltip ) {
|
|
22
|
+
return <Tooltip text={ title }>{ children }</Tooltip>;
|
|
23
|
+
}
|
|
24
|
+
return <>{ children }</>;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
function BlockPattern( {
|
|
28
|
+
isDraggable,
|
|
29
|
+
pattern,
|
|
30
|
+
onClick,
|
|
31
|
+
composite,
|
|
32
|
+
showTooltip,
|
|
33
|
+
} ) {
|
|
20
34
|
const { blocks, viewportWidth } = pattern;
|
|
21
35
|
const instanceId = useInstanceId( BlockPattern );
|
|
22
36
|
const descriptionId = `block-editor-block-patterns-list__item-description-${ instanceId }`;
|
|
@@ -34,30 +48,37 @@ function BlockPattern( { isDraggable, pattern, onClick, composite } ) {
|
|
|
34
48
|
onDragStart={ onDragStart }
|
|
35
49
|
onDragEnd={ onDragEnd }
|
|
36
50
|
>
|
|
37
|
-
<
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
{ ...composite }
|
|
41
|
-
className="block-editor-block-patterns-list__item"
|
|
42
|
-
onClick={ () => onClick( pattern, blocks ) }
|
|
43
|
-
aria-label={ pattern.title }
|
|
44
|
-
aria-describedby={
|
|
45
|
-
pattern.description ? descriptionId : undefined
|
|
46
|
-
}
|
|
51
|
+
<WithToolTip
|
|
52
|
+
showTooltip={ showTooltip }
|
|
53
|
+
title={ pattern.title }
|
|
47
54
|
>
|
|
48
|
-
<
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
{ pattern
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
55
|
+
<CompositeItem
|
|
56
|
+
role="option"
|
|
57
|
+
as="div"
|
|
58
|
+
{ ...composite }
|
|
59
|
+
className="block-editor-block-patterns-list__item"
|
|
60
|
+
onClick={ () => onClick( pattern, blocks ) }
|
|
61
|
+
aria-label={ pattern.title }
|
|
62
|
+
aria-describedby={
|
|
63
|
+
pattern.description ? descriptionId : undefined
|
|
64
|
+
}
|
|
65
|
+
>
|
|
66
|
+
<BlockPreview
|
|
67
|
+
blocks={ blocks }
|
|
68
|
+
viewportWidth={ viewportWidth }
|
|
69
|
+
/>
|
|
70
|
+
{ ! showTooltip && (
|
|
71
|
+
<div className="block-editor-block-patterns-list__item-title">
|
|
72
|
+
{ pattern.title }
|
|
73
|
+
</div>
|
|
74
|
+
) }
|
|
75
|
+
{ !! pattern.description && (
|
|
76
|
+
<VisuallyHidden id={ descriptionId }>
|
|
77
|
+
{ pattern.description }
|
|
78
|
+
</VisuallyHidden>
|
|
79
|
+
) }
|
|
80
|
+
</CompositeItem>
|
|
81
|
+
</WithToolTip>
|
|
61
82
|
</div>
|
|
62
83
|
) }
|
|
63
84
|
</InserterDraggableBlocks>
|
|
@@ -77,6 +98,7 @@ function BlockPatternList( {
|
|
|
77
98
|
onClickPattern,
|
|
78
99
|
orientation,
|
|
79
100
|
label = __( 'Block Patterns' ),
|
|
101
|
+
showTitlesAsTooltip,
|
|
80
102
|
} ) {
|
|
81
103
|
const composite = useCompositeState( { orientation } );
|
|
82
104
|
return (
|
|
@@ -95,6 +117,7 @@ function BlockPatternList( {
|
|
|
95
117
|
onClick={ onClickPattern }
|
|
96
118
|
isDraggable={ isDraggable }
|
|
97
119
|
composite={ composite }
|
|
120
|
+
showTooltip={ showTitlesAsTooltip }
|
|
98
121
|
/>
|
|
99
122
|
) : (
|
|
100
123
|
<BlockPatternPlaceholder key={ pattern.name } />
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
// Enable pointer events for the toolbar's content.
|
|
20
|
-
&:not(.block-editor-block-popover__inbetween, .block-editor-block-popover__drop-zone) .components-popover__content {
|
|
20
|
+
&:not(.block-editor-block-popover__inbetween, .block-editor-block-popover__drop-zone, .block-editor-block-list__block-side-inserter-popover) .components-popover__content {
|
|
21
21
|
* {
|
|
22
22
|
pointer-events: all;
|
|
23
23
|
}
|
|
@@ -28,6 +28,8 @@ Width of the preview container in pixels. Controls at what size the blocks will
|
|
|
28
28
|
|
|
29
29
|
`viewportWidth` can be used to simulate how blocks look on different device sizes or to make sure make sure multiple previews will be rendered with the same scale, regardless of their content.
|
|
30
30
|
|
|
31
|
+
Set `viewportWidth` to `0` to make the viewport the same width as the container.
|
|
32
|
+
|
|
31
33
|
### `__experimentalPadding`
|
|
32
34
|
|
|
33
35
|
- **Type** `Int`
|
|
@@ -35,16 +37,19 @@ Width of the preview container in pixels. Controls at what size the blocks will
|
|
|
35
37
|
|
|
36
38
|
Padding for the preview container body.
|
|
37
39
|
|
|
38
|
-
### `
|
|
39
|
-
|
|
40
|
-
- **Type** `Boolean`
|
|
41
|
-
- **Default:** `false`
|
|
40
|
+
### `__experimentalStyles`
|
|
42
41
|
|
|
43
|
-
|
|
42
|
+
List of additional editor styles to load into the preview iframe. Each object
|
|
43
|
+
should contain a `css` attribute. See `EditorStyles` for more info.
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
```jsx
|
|
46
|
+
<BlockPreview
|
|
47
|
+
blocks={ blocks }
|
|
48
|
+
__experimentalStyles={ [
|
|
49
|
+
{ css: '.wp-block { margin: 16px; }' },
|
|
50
|
+
] }
|
|
51
|
+
/>
|
|
52
|
+
```
|
|
49
53
|
|
|
50
|
-
|
|
54
|
+
- **Type** `Int`
|
|
55
|
+
- **Default** `[]`
|
|
@@ -25,7 +25,12 @@ function ScaledBlockPreview( {
|
|
|
25
25
|
containerWidth,
|
|
26
26
|
__experimentalPadding,
|
|
27
27
|
__experimentalMinHeight,
|
|
28
|
+
__experimentalStyles,
|
|
28
29
|
} ) {
|
|
30
|
+
if ( ! viewportWidth ) {
|
|
31
|
+
viewportWidth = containerWidth;
|
|
32
|
+
}
|
|
33
|
+
|
|
29
34
|
const [ contentResizeListener, { height: contentHeight } ] =
|
|
30
35
|
useResizeObserver();
|
|
31
36
|
const { styles, assets, duotone } = useSelect( ( select ) => {
|
|
@@ -42,6 +47,7 @@ function ScaledBlockPreview( {
|
|
|
42
47
|
if ( styles ) {
|
|
43
48
|
return [
|
|
44
49
|
...styles,
|
|
50
|
+
...__experimentalStyles,
|
|
45
51
|
{
|
|
46
52
|
css: 'body{height:auto;overflow:hidden;}',
|
|
47
53
|
__unstableType: 'presets',
|
|
@@ -50,7 +56,7 @@ function ScaledBlockPreview( {
|
|
|
50
56
|
}
|
|
51
57
|
|
|
52
58
|
return styles;
|
|
53
|
-
}, [ styles ] );
|
|
59
|
+
}, [ styles, __experimentalStyles ] );
|
|
54
60
|
|
|
55
61
|
const svgFilters = useMemo( () => {
|
|
56
62
|
return [ ...( duotone?.default ?? [] ), ...( duotone?.theme ?? [] ) ];
|
|
@@ -14,7 +14,6 @@ import { memo, useMemo } from '@wordpress/element';
|
|
|
14
14
|
* Internal dependencies
|
|
15
15
|
*/
|
|
16
16
|
import BlockEditorProvider from '../provider';
|
|
17
|
-
import LiveBlockPreview from './live';
|
|
18
17
|
import AutoHeightBlockPreview from './auto';
|
|
19
18
|
import { store as blockEditorStore } from '../../store';
|
|
20
19
|
import { BlockListItems } from '../block-list';
|
|
@@ -23,9 +22,8 @@ export function BlockPreview( {
|
|
|
23
22
|
blocks,
|
|
24
23
|
__experimentalPadding = 0,
|
|
25
24
|
viewportWidth = 1200,
|
|
26
|
-
__experimentalLive = false,
|
|
27
|
-
__experimentalOnClick,
|
|
28
25
|
__experimentalMinHeight,
|
|
26
|
+
__experimentalStyles = [],
|
|
29
27
|
} ) {
|
|
30
28
|
const originalSettings = useSelect(
|
|
31
29
|
( select ) => select( blockEditorStore ).getSettings(),
|
|
@@ -44,15 +42,12 @@ export function BlockPreview( {
|
|
|
44
42
|
}
|
|
45
43
|
return (
|
|
46
44
|
<BlockEditorProvider value={ renderedBlocks } settings={ settings }>
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
__experimentalMinHeight={ __experimentalMinHeight }
|
|
54
|
-
/>
|
|
55
|
-
) }
|
|
45
|
+
<AutoHeightBlockPreview
|
|
46
|
+
viewportWidth={ viewportWidth }
|
|
47
|
+
__experimentalPadding={ __experimentalPadding }
|
|
48
|
+
__experimentalMinHeight={ __experimentalMinHeight }
|
|
49
|
+
__experimentalStyles={ __experimentalStyles }
|
|
50
|
+
/>
|
|
56
51
|
</BlockEditorProvider>
|
|
57
52
|
);
|
|
58
53
|
}
|
|
@@ -29,19 +29,12 @@
|
|
|
29
29
|
min-height: auto;
|
|
30
30
|
|
|
31
31
|
.block-editor-block-list__insertion-point,
|
|
32
|
-
.block-editor-block-drop-zone,
|
|
33
|
-
.reusable-block-indicator,
|
|
34
32
|
.block-list-appender {
|
|
35
33
|
display: none;
|
|
36
34
|
}
|
|
37
35
|
}
|
|
38
36
|
}
|
|
39
37
|
|
|
40
|
-
// Hide inserter from previews.
|
|
41
|
-
.block-editor-block-preview__content-iframe .block-list-appender {
|
|
42
|
-
display: none;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
38
|
.block-editor-block-preview__live-content {
|
|
46
39
|
* {
|
|
47
40
|
pointer-events: none;
|
|
@@ -17,36 +17,6 @@ import {
|
|
|
17
17
|
*/
|
|
18
18
|
import { useBlockPreview } from '../';
|
|
19
19
|
|
|
20
|
-
jest.mock( '@wordpress/dom', () => {
|
|
21
|
-
const focus = jest.requireActual( '../../../../../dom/src' ).focus;
|
|
22
|
-
|
|
23
|
-
return {
|
|
24
|
-
focus: {
|
|
25
|
-
...focus,
|
|
26
|
-
focusable: {
|
|
27
|
-
...focus.focusable,
|
|
28
|
-
find( context ) {
|
|
29
|
-
// In JSDOM, all elements have zero'd widths and height.
|
|
30
|
-
// This is a metric for focusable's `isVisible`, so find
|
|
31
|
-
// and apply an arbitrary non-zero width.
|
|
32
|
-
Array.from( context.querySelectorAll( '*' ) ).forEach(
|
|
33
|
-
( element ) => {
|
|
34
|
-
Object.defineProperties( element, {
|
|
35
|
-
offsetWidth: {
|
|
36
|
-
get: () => 1,
|
|
37
|
-
configurable: true,
|
|
38
|
-
},
|
|
39
|
-
} );
|
|
40
|
-
}
|
|
41
|
-
);
|
|
42
|
-
|
|
43
|
-
return focus.focusable.find( ...arguments );
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
} );
|
|
49
|
-
|
|
50
20
|
jest.useRealTimers();
|
|
51
21
|
|
|
52
22
|
describe( 'useBlockPreview', () => {
|
|
@@ -78,14 +48,19 @@ describe( 'useBlockPreview', () => {
|
|
|
78
48
|
blocks,
|
|
79
49
|
props: { className },
|
|
80
50
|
} );
|
|
81
|
-
return
|
|
51
|
+
return (
|
|
52
|
+
<div
|
|
53
|
+
{ ...blockPreviewProps }
|
|
54
|
+
data-testid="block-preview-component"
|
|
55
|
+
/>
|
|
56
|
+
);
|
|
82
57
|
}
|
|
83
58
|
|
|
84
59
|
it( 'will render a block preview with minimal nesting', async () => {
|
|
85
60
|
const blocks = [];
|
|
86
61
|
blocks.push( createBlock( 'core/test-block' ) );
|
|
87
62
|
|
|
88
|
-
|
|
63
|
+
render(
|
|
89
64
|
<BlockPreviewComponent
|
|
90
65
|
className="test-container-classname"
|
|
91
66
|
blocks={ blocks }
|
|
@@ -99,12 +74,20 @@ describe( 'useBlockPreview', () => {
|
|
|
99
74
|
);
|
|
100
75
|
expect( previewedBlockContents ).toBeInTheDocument();
|
|
101
76
|
|
|
77
|
+
const blockPreviewComponent = screen.getByTestId(
|
|
78
|
+
'block-preview-component'
|
|
79
|
+
);
|
|
80
|
+
|
|
102
81
|
// Ensure the block preview class names are merged with the component's class name.
|
|
103
|
-
expect(
|
|
104
|
-
'
|
|
82
|
+
expect( blockPreviewComponent ).toHaveClass(
|
|
83
|
+
'block-editor-block-preview__live-content'
|
|
84
|
+
);
|
|
85
|
+
expect( blockPreviewComponent ).toHaveClass(
|
|
86
|
+
'test-container-classname'
|
|
105
87
|
);
|
|
88
|
+
expect( blockPreviewComponent ).toHaveClass( 'components-disabled' );
|
|
106
89
|
|
|
107
90
|
// Ensure there is no nesting between the parent component and rendered blocks.
|
|
108
|
-
expect(
|
|
91
|
+
expect( blockPreviewComponent ).toContainElement( previewedBlock );
|
|
109
92
|
} );
|
|
110
93
|
} );
|
|
@@ -43,12 +43,12 @@ describe( 'BlockSelectionClearer component', () => {
|
|
|
43
43
|
} ) );
|
|
44
44
|
|
|
45
45
|
render(
|
|
46
|
-
<BlockSelectionClearer>
|
|
46
|
+
<BlockSelectionClearer data-testid="selection-clearer">
|
|
47
47
|
<button>Not a block</button>
|
|
48
48
|
</BlockSelectionClearer>
|
|
49
49
|
);
|
|
50
|
-
|
|
51
|
-
fireEvent.mouseDown(
|
|
50
|
+
|
|
51
|
+
fireEvent.mouseDown( screen.getByTestId( 'selection-clearer' ) );
|
|
52
52
|
|
|
53
53
|
expect( mockClearSelectedBlock ).toBeCalled();
|
|
54
54
|
} );
|
|
@@ -64,12 +64,12 @@ describe( 'BlockSelectionClearer component', () => {
|
|
|
64
64
|
} ) );
|
|
65
65
|
|
|
66
66
|
render(
|
|
67
|
-
<BlockSelectionClearer>
|
|
67
|
+
<BlockSelectionClearer data-testid="selection-clearer">
|
|
68
68
|
<button>Not a block</button>
|
|
69
69
|
</BlockSelectionClearer>
|
|
70
70
|
);
|
|
71
|
-
|
|
72
|
-
fireEvent.mouseDown(
|
|
71
|
+
|
|
72
|
+
fireEvent.mouseDown( screen.getByTestId( 'selection-clearer' ) );
|
|
73
73
|
|
|
74
74
|
expect( mockClearSelectedBlock ).toBeCalled();
|
|
75
75
|
} );
|
|
@@ -82,12 +82,12 @@ describe( 'BlockSelectionClearer component', () => {
|
|
|
82
82
|
} ) );
|
|
83
83
|
|
|
84
84
|
render(
|
|
85
|
-
<BlockSelectionClearer>
|
|
85
|
+
<BlockSelectionClearer data-testid="selection-clearer">
|
|
86
86
|
<button>Not a block</button>
|
|
87
87
|
</BlockSelectionClearer>
|
|
88
88
|
);
|
|
89
|
-
|
|
90
|
-
fireEvent.mouseDown(
|
|
89
|
+
|
|
90
|
+
fireEvent.mouseDown( screen.getByTestId( 'selection-clearer' ) );
|
|
91
91
|
|
|
92
92
|
expect( mockClearSelectedBlock ).not.toBeCalled();
|
|
93
93
|
} );
|
|
@@ -106,12 +106,12 @@ describe( 'BlockSelectionClearer component', () => {
|
|
|
106
106
|
} ) );
|
|
107
107
|
|
|
108
108
|
render(
|
|
109
|
-
<BlockSelectionClearer>
|
|
109
|
+
<BlockSelectionClearer data-testid="selection-clearer">
|
|
110
110
|
<button>Not a block</button>
|
|
111
111
|
</BlockSelectionClearer>
|
|
112
112
|
);
|
|
113
|
-
|
|
114
|
-
fireEvent.mouseDown(
|
|
113
|
+
|
|
114
|
+
fireEvent.mouseDown( screen.getByTestId( 'selection-clearer' ) );
|
|
115
115
|
|
|
116
116
|
expect( mockClearSelectedBlock ).not.toBeCalled();
|
|
117
117
|
} );
|
|
@@ -189,6 +189,11 @@ export function BlockSettingsDropdown( {
|
|
|
189
189
|
},
|
|
190
190
|
} );
|
|
191
191
|
|
|
192
|
+
// This can occur when the selected block (the parent)
|
|
193
|
+
// displays child blocks within a List View.
|
|
194
|
+
const parentBlockIsSelected =
|
|
195
|
+
selectedBlockClientIds?.includes( firstParentClientId );
|
|
196
|
+
|
|
192
197
|
return (
|
|
193
198
|
<BlockActions
|
|
194
199
|
clientIds={ clientIds }
|
|
@@ -221,26 +226,33 @@ export function BlockSettingsDropdown( {
|
|
|
221
226
|
<__unstableBlockSettingsMenuFirstItem.Slot
|
|
222
227
|
fillProps={ { onClose } }
|
|
223
228
|
/>
|
|
224
|
-
{
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
229
|
+
{ ! parentBlockIsSelected &&
|
|
230
|
+
!! firstParentClientId && (
|
|
231
|
+
<MenuItem
|
|
232
|
+
{ ...showParentOutlineGestures }
|
|
233
|
+
ref={ selectParentButtonRef }
|
|
234
|
+
icon={
|
|
235
|
+
<BlockIcon
|
|
236
|
+
icon={
|
|
237
|
+
parentBlockType.icon
|
|
238
|
+
}
|
|
239
|
+
/>
|
|
240
|
+
}
|
|
241
|
+
onClick={ () =>
|
|
242
|
+
selectBlock(
|
|
243
|
+
firstParentClientId
|
|
244
|
+
)
|
|
245
|
+
}
|
|
246
|
+
>
|
|
247
|
+
{ sprintf(
|
|
248
|
+
/* translators: %s: Name of the block's parent. */
|
|
249
|
+
__(
|
|
250
|
+
'Select parent block (%s)'
|
|
251
|
+
),
|
|
252
|
+
parentBlockType.title
|
|
253
|
+
) }
|
|
254
|
+
</MenuItem>
|
|
255
|
+
) }
|
|
244
256
|
{ count === 1 && (
|
|
245
257
|
<BlockHTMLConvertButton
|
|
246
258
|
clientId={ firstBlockClientId }
|
|
@@ -11,7 +11,7 @@ import { _x } from '@wordpress/i18n';
|
|
|
11
11
|
/**
|
|
12
12
|
* Returns the active style from the given className.
|
|
13
13
|
*
|
|
14
|
-
* @param {Array} styles Block
|
|
14
|
+
* @param {Array} styles Block styles.
|
|
15
15
|
* @param {string} className Class name
|
|
16
16
|
*
|
|
17
17
|
* @return {Object?} The active style.
|
|
@@ -59,7 +59,7 @@ export function replaceActiveStyle( className, activeStyle, newStyle ) {
|
|
|
59
59
|
* act as a fallback for when there is no active style applied to a block. The default item also serves
|
|
60
60
|
* as a switch on the frontend to deactivate non-default styles.
|
|
61
61
|
*
|
|
62
|
-
* @param {Array} styles Block
|
|
62
|
+
* @param {Array} styles Block styles.
|
|
63
63
|
*
|
|
64
64
|
* @return {Array<Object?>} The style collection.
|
|
65
65
|
*/
|
|
@@ -83,7 +83,7 @@ export function getRenderedStyles( styles ) {
|
|
|
83
83
|
/**
|
|
84
84
|
* Returns a style object from a collection of styles where that style object is the default block style.
|
|
85
85
|
*
|
|
86
|
-
* @param {Array} styles Block
|
|
86
|
+
* @param {Array} styles Block styles.
|
|
87
87
|
*
|
|
88
88
|
* @return {Object?} The default style object, if found.
|
|
89
89
|
*/
|
|
@@ -29,7 +29,7 @@ import PatternTransformationsMenu from './pattern-transformations-menu';
|
|
|
29
29
|
import useBlockDisplayTitle from '../block-title/use-block-display-title';
|
|
30
30
|
|
|
31
31
|
export const BlockSwitcherDropdownMenu = ( { clientIds, blocks } ) => {
|
|
32
|
-
const { replaceBlocks } = useDispatch( blockEditorStore );
|
|
32
|
+
const { replaceBlocks, multiSelect } = useDispatch( blockEditorStore );
|
|
33
33
|
const blockInformation = useBlockDisplayInformation( blocks[ 0 ].clientId );
|
|
34
34
|
const {
|
|
35
35
|
possibleBlockTransformations,
|
|
@@ -89,12 +89,27 @@ export const BlockSwitcherDropdownMenu = ( { clientIds, blocks } ) => {
|
|
|
89
89
|
const isReusable = blocks.length === 1 && isReusableBlock( blocks[ 0 ] );
|
|
90
90
|
const isTemplate = blocks.length === 1 && isTemplatePart( blocks[ 0 ] );
|
|
91
91
|
|
|
92
|
+
function selectForMultipleBlocks( insertedBlocks ) {
|
|
93
|
+
if ( insertedBlocks.length > 1 ) {
|
|
94
|
+
multiSelect(
|
|
95
|
+
insertedBlocks[ 0 ].clientId,
|
|
96
|
+
insertedBlocks[ insertedBlocks.length - 1 ].clientId
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
92
101
|
// Simple block tranformation based on the `Block Transforms` API.
|
|
93
|
-
|
|
94
|
-
|
|
102
|
+
function onBlockTransform( name ) {
|
|
103
|
+
const newBlocks = switchToBlockType( blocks, name );
|
|
104
|
+
replaceBlocks( clientIds, newBlocks );
|
|
105
|
+
selectForMultipleBlocks( newBlocks );
|
|
106
|
+
}
|
|
107
|
+
|
|
95
108
|
// Pattern transformation through the `Patterns` API.
|
|
96
|
-
|
|
109
|
+
function onPatternTransform( transformedBlocks ) {
|
|
97
110
|
replaceBlocks( clientIds, transformedBlocks );
|
|
111
|
+
selectForMultipleBlocks( transformedBlocks );
|
|
112
|
+
}
|
|
98
113
|
|
|
99
114
|
/**
|
|
100
115
|
* The `isTemplate` check is a stopgap solution here.
|
|
@@ -15,6 +15,7 @@ import { copy } from '@wordpress/icons';
|
|
|
15
15
|
* Internal dependencies
|
|
16
16
|
*/
|
|
17
17
|
import { BlockSwitcher, BlockSwitcherDropdownMenu } from '../';
|
|
18
|
+
import { act } from 'react-test-renderer';
|
|
18
19
|
|
|
19
20
|
jest.mock( '@wordpress/data/src/components/use-select', () => jest.fn() );
|
|
20
21
|
jest.mock( '../../block-title/use-block-display-title', () =>
|
|
@@ -210,6 +211,7 @@ describe( 'BlockSwitcherDropdownMenu', () => {
|
|
|
210
211
|
} ),
|
|
211
212
|
'[ArrowDown]'
|
|
212
213
|
);
|
|
214
|
+
await act( () => Promise.resolve() );
|
|
213
215
|
|
|
214
216
|
expect(
|
|
215
217
|
screen.getByRole( 'button', {
|
|
@@ -252,6 +254,7 @@ describe( 'BlockSwitcherDropdownMenu', () => {
|
|
|
252
254
|
expanded: false,
|
|
253
255
|
} )
|
|
254
256
|
);
|
|
257
|
+
await act( () => Promise.resolve() );
|
|
255
258
|
|
|
256
259
|
expect(
|
|
257
260
|
screen.getByRole( 'button', {
|
|
@@ -282,6 +285,7 @@ describe( 'BlockSwitcherDropdownMenu', () => {
|
|
|
282
285
|
expanded: false,
|
|
283
286
|
} )
|
|
284
287
|
);
|
|
288
|
+
await act( () => Promise.resolve() );
|
|
285
289
|
|
|
286
290
|
expect(
|
|
287
291
|
within(
|
|
@@ -9,7 +9,12 @@ import classnames from 'classnames';
|
|
|
9
9
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
10
10
|
import { useRef } from '@wordpress/element';
|
|
11
11
|
import { useViewportMatch } from '@wordpress/compose';
|
|
12
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
getBlockType,
|
|
14
|
+
hasBlockSupport,
|
|
15
|
+
isReusableBlock,
|
|
16
|
+
isTemplatePart,
|
|
17
|
+
} from '@wordpress/blocks';
|
|
13
18
|
import { ToolbarGroup } from '@wordpress/components';
|
|
14
19
|
|
|
15
20
|
/**
|
|
@@ -109,11 +114,13 @@ const BlockToolbar = ( { hideDragHandle } ) => {
|
|
|
109
114
|
|
|
110
115
|
const shouldShowVisualToolbar = isValid && isVisual;
|
|
111
116
|
const isMultiToolbar = blockClientIds.length > 1;
|
|
117
|
+
const isSynced =
|
|
118
|
+
isReusableBlock( blockType ) || isTemplatePart( blockType );
|
|
112
119
|
|
|
113
|
-
const classes = classnames(
|
|
114
|
-
'
|
|
115
|
-
|
|
116
|
-
);
|
|
120
|
+
const classes = classnames( 'block-editor-block-toolbar', {
|
|
121
|
+
'is-showing-movers': shouldShowMovers,
|
|
122
|
+
'is-synced': isSynced,
|
|
123
|
+
} );
|
|
117
124
|
|
|
118
125
|
return (
|
|
119
126
|
<div className={ classes }>
|
|
@@ -39,6 +39,16 @@
|
|
|
39
39
|
border-right: $border-width solid $gray-300;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
&.is-synced .block-editor-block-switcher .components-button .block-editor-block-icon {
|
|
43
|
+
color: var(--wp-block-synced-color);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&.is-synced .components-toolbar-button.block-editor-block-switcher__no-switcher-icon {
|
|
47
|
+
&:disabled .block-editor-block-icon.has-colors {
|
|
48
|
+
color: var(--wp-block-synced-color);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
42
52
|
> :last-child,
|
|
43
53
|
> :last-child .components-toolbar-group,
|
|
44
54
|
> :last-child .components-toolbar {
|