@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
package/src/store/selectors.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { map,
|
|
4
|
+
import { map, find } from 'lodash';
|
|
5
5
|
import createSelector from 'rememo';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -27,6 +27,7 @@ import deprecated from '@wordpress/deprecated';
|
|
|
27
27
|
* Internal dependencies
|
|
28
28
|
*/
|
|
29
29
|
import { mapRichTextSettings } from './utils';
|
|
30
|
+
import { orderBy } from '../utils/sorting';
|
|
30
31
|
|
|
31
32
|
/**
|
|
32
33
|
* A block selection object.
|
|
@@ -65,12 +66,12 @@ const EMPTY_ARRAY = [];
|
|
|
65
66
|
* @return {string} Block name.
|
|
66
67
|
*/
|
|
67
68
|
export function getBlockName( state, clientId ) {
|
|
68
|
-
const block = state.blocks.byClientId
|
|
69
|
+
const block = state.blocks.byClientId.get( clientId );
|
|
69
70
|
const socialLinkName = 'core/social-link';
|
|
70
71
|
|
|
71
72
|
if ( Platform.OS !== 'web' && block?.name === socialLinkName ) {
|
|
72
|
-
const attributes = state.blocks.attributes
|
|
73
|
-
const { service } = attributes;
|
|
73
|
+
const attributes = state.blocks.attributes.get( clientId );
|
|
74
|
+
const { service } = attributes ?? {};
|
|
74
75
|
|
|
75
76
|
return service ? `${ socialLinkName }-${ service }` : socialLinkName;
|
|
76
77
|
}
|
|
@@ -86,7 +87,7 @@ export function getBlockName( state, clientId ) {
|
|
|
86
87
|
* @return {boolean} Is Valid.
|
|
87
88
|
*/
|
|
88
89
|
export function isBlockValid( state, clientId ) {
|
|
89
|
-
const block = state.blocks.byClientId
|
|
90
|
+
const block = state.blocks.byClientId.get( clientId );
|
|
90
91
|
return !! block && block.isValid;
|
|
91
92
|
}
|
|
92
93
|
|
|
@@ -100,12 +101,12 @@ export function isBlockValid( state, clientId ) {
|
|
|
100
101
|
* @return {Object?} Block attributes.
|
|
101
102
|
*/
|
|
102
103
|
export function getBlockAttributes( state, clientId ) {
|
|
103
|
-
const block = state.blocks.byClientId
|
|
104
|
+
const block = state.blocks.byClientId.get( clientId );
|
|
104
105
|
if ( ! block ) {
|
|
105
106
|
return null;
|
|
106
107
|
}
|
|
107
108
|
|
|
108
|
-
return state.blocks.attributes
|
|
109
|
+
return state.blocks.attributes.get( clientId );
|
|
109
110
|
}
|
|
110
111
|
|
|
111
112
|
/**
|
|
@@ -130,29 +131,27 @@ export function getBlockAttributes( state, clientId ) {
|
|
|
130
131
|
* @return {Object} Parsed block object.
|
|
131
132
|
*/
|
|
132
133
|
export function getBlock( state, clientId ) {
|
|
133
|
-
|
|
134
|
-
if ( ! block ) {
|
|
134
|
+
if ( ! state.blocks.byClientId.has( clientId ) ) {
|
|
135
135
|
return null;
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
return state.blocks.tree
|
|
138
|
+
return state.blocks.tree.get( clientId );
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
export const __unstableGetBlockWithoutInnerBlocks = createSelector(
|
|
142
142
|
( state, clientId ) => {
|
|
143
|
-
|
|
144
|
-
if ( ! block ) {
|
|
143
|
+
if ( ! state.blocks.byClientId.has( clientId ) ) {
|
|
145
144
|
return null;
|
|
146
145
|
}
|
|
147
146
|
|
|
148
147
|
return {
|
|
149
|
-
...
|
|
148
|
+
...state.blocks.byClientId.get( clientId ),
|
|
150
149
|
attributes: getBlockAttributes( state, clientId ),
|
|
151
150
|
};
|
|
152
151
|
},
|
|
153
152
|
( state, clientId ) => [
|
|
154
|
-
state.blocks.byClientId
|
|
155
|
-
state.blocks.attributes
|
|
153
|
+
state.blocks.byClientId.get( clientId ),
|
|
154
|
+
state.blocks.attributes.get( clientId ),
|
|
156
155
|
]
|
|
157
156
|
);
|
|
158
157
|
|
|
@@ -171,7 +170,7 @@ export function getBlocks( state, rootClientId ) {
|
|
|
171
170
|
! rootClientId || ! areInnerBlocksControlled( state, rootClientId )
|
|
172
171
|
? rootClientId || ''
|
|
173
172
|
: 'controlled||' + rootClientId;
|
|
174
|
-
return state.blocks.tree
|
|
173
|
+
return state.blocks.tree.get( treeKey )?.innerBlocks || EMPTY_ARRAY;
|
|
175
174
|
}
|
|
176
175
|
|
|
177
176
|
/**
|
|
@@ -273,14 +272,10 @@ export const getGlobalBlockCount = createSelector(
|
|
|
273
272
|
if ( ! blockName ) {
|
|
274
273
|
return clientIds.length;
|
|
275
274
|
}
|
|
276
|
-
return reduce(
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
return block.name === blockName ? accumulator + 1 : accumulator;
|
|
281
|
-
},
|
|
282
|
-
0
|
|
283
|
-
);
|
|
275
|
+
return clientIds.reduce( ( accumulator, clientId ) => {
|
|
276
|
+
const block = state.blocks.byClientId.get( clientId );
|
|
277
|
+
return block.name === blockName ? accumulator + 1 : accumulator;
|
|
278
|
+
}, 0 );
|
|
284
279
|
},
|
|
285
280
|
( state ) => [ state.blocks.order, state.blocks.byClientId ]
|
|
286
281
|
);
|
|
@@ -300,7 +295,7 @@ export const __experimentalGetGlobalBlocksByName = createSelector(
|
|
|
300
295
|
}
|
|
301
296
|
const clientIds = getClientIdsWithDescendants( state );
|
|
302
297
|
const foundBlocks = clientIds.filter( ( clientId ) => {
|
|
303
|
-
const block = state.blocks.byClientId
|
|
298
|
+
const block = state.blocks.byClientId.get( clientId );
|
|
304
299
|
return block.name === blockName;
|
|
305
300
|
} );
|
|
306
301
|
return foundBlocks.length > 0 ? foundBlocks : EMPTY_ARRAY;
|
|
@@ -326,7 +321,7 @@ export const getBlocksByClientId = createSelector(
|
|
|
326
321
|
( state, clientIds ) =>
|
|
327
322
|
map(
|
|
328
323
|
Array.isArray( clientIds ) ? clientIds : [ clientIds ],
|
|
329
|
-
( clientId ) => state.blocks.tree
|
|
324
|
+
( clientId ) => state.blocks.tree.get( clientId )
|
|
330
325
|
)
|
|
331
326
|
);
|
|
332
327
|
|
|
@@ -467,8 +462,8 @@ export function getSelectedBlock( state ) {
|
|
|
467
462
|
* @return {?string} Root client ID, if exists
|
|
468
463
|
*/
|
|
469
464
|
export function getBlockRootClientId( state, clientId ) {
|
|
470
|
-
return state.blocks.parents
|
|
471
|
-
? state.blocks.parents
|
|
465
|
+
return state.blocks.parents.has( clientId )
|
|
466
|
+
? state.blocks.parents.get( clientId )
|
|
472
467
|
: null;
|
|
473
468
|
}
|
|
474
469
|
|
|
@@ -485,8 +480,8 @@ export const getBlockParents = createSelector(
|
|
|
485
480
|
( state, clientId, ascending = false ) => {
|
|
486
481
|
const parents = [];
|
|
487
482
|
let current = clientId;
|
|
488
|
-
while ( !! state.blocks.parents
|
|
489
|
-
current = state.blocks.parents
|
|
483
|
+
while ( !! state.blocks.parents.get( current ) ) {
|
|
484
|
+
current = state.blocks.parents.get( current );
|
|
490
485
|
parents.push( current );
|
|
491
486
|
}
|
|
492
487
|
|
|
@@ -513,24 +508,20 @@ export const getBlockParentsByBlockName = createSelector(
|
|
|
513
508
|
( state, clientId, blockName, ascending = false ) => {
|
|
514
509
|
const parents = getBlockParents( state, clientId, ascending );
|
|
515
510
|
return map(
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
if ( Array.isArray( blockName ) ) {
|
|
523
|
-
return blockName.includes( name );
|
|
524
|
-
}
|
|
525
|
-
return name === blockName;
|
|
511
|
+
map( parents, ( id ) => ( {
|
|
512
|
+
id,
|
|
513
|
+
name: getBlockName( state, id ),
|
|
514
|
+
} ) ).filter( ( { name } ) => {
|
|
515
|
+
if ( Array.isArray( blockName ) ) {
|
|
516
|
+
return blockName.includes( name );
|
|
526
517
|
}
|
|
527
|
-
|
|
518
|
+
return name === blockName;
|
|
519
|
+
} ),
|
|
528
520
|
( { id } ) => id
|
|
529
521
|
);
|
|
530
522
|
},
|
|
531
523
|
( state ) => [ state.blocks.parents ]
|
|
532
524
|
);
|
|
533
|
-
|
|
534
525
|
/**
|
|
535
526
|
* Given a block client ID, returns the root of the hierarchy from which the block is nested, return the block itself for root level blocks.
|
|
536
527
|
*
|
|
@@ -544,7 +535,7 @@ export function getBlockHierarchyRootClientId( state, clientId ) {
|
|
|
544
535
|
let parent;
|
|
545
536
|
do {
|
|
546
537
|
parent = current;
|
|
547
|
-
current = state.blocks.parents
|
|
538
|
+
current = state.blocks.parents.get( current );
|
|
548
539
|
} while ( current );
|
|
549
540
|
return parent;
|
|
550
541
|
}
|
|
@@ -621,7 +612,7 @@ export function getAdjacentBlockClientId( state, startClientId, modifier = 1 ) {
|
|
|
621
612
|
}
|
|
622
613
|
|
|
623
614
|
const { order } = state.blocks;
|
|
624
|
-
const orderSet = order
|
|
615
|
+
const orderSet = order.get( rootClientId );
|
|
625
616
|
const index = orderSet.indexOf( startClientId );
|
|
626
617
|
const nextIndex = index + 1 * modifier;
|
|
627
618
|
|
|
@@ -1136,7 +1127,7 @@ export const __unstableGetSelectedBlocksWithPartialSelection = ( state ) => {
|
|
|
1136
1127
|
* @return {Array} Ordered client IDs of editor blocks.
|
|
1137
1128
|
*/
|
|
1138
1129
|
export function getBlockOrder( state, rootClientId ) {
|
|
1139
|
-
return state.blocks.order
|
|
1130
|
+
return state.blocks.order.get( rootClientId || '' ) || EMPTY_ARRAY;
|
|
1140
1131
|
}
|
|
1141
1132
|
|
|
1142
1133
|
/**
|
|
@@ -1274,6 +1265,17 @@ export function isTyping( state ) {
|
|
|
1274
1265
|
return state.isTyping;
|
|
1275
1266
|
}
|
|
1276
1267
|
|
|
1268
|
+
/**
|
|
1269
|
+
* Returns true if the the block interface should be hidden, or false otherwise.
|
|
1270
|
+
*
|
|
1271
|
+
* @param {Object} state Global application state.
|
|
1272
|
+
*
|
|
1273
|
+
* @return {boolean} Whether the block toolbar is hidden.
|
|
1274
|
+
*/
|
|
1275
|
+
export function __experimentalIsBlockInterfaceHidden( state ) {
|
|
1276
|
+
return state.isBlockInterfaceHidden;
|
|
1277
|
+
}
|
|
1278
|
+
|
|
1277
1279
|
/**
|
|
1278
1280
|
* Returns true if the user is dragging blocks, or false otherwise.
|
|
1279
1281
|
*
|
|
@@ -1424,19 +1426,14 @@ export function getTemplate( state ) {
|
|
|
1424
1426
|
* @param {Object} state Editor state.
|
|
1425
1427
|
* @param {?string} rootClientId Optional block root client ID.
|
|
1426
1428
|
*
|
|
1427
|
-
* @return {
|
|
1429
|
+
* @return {string|false} Block Template Lock
|
|
1428
1430
|
*/
|
|
1429
1431
|
export function getTemplateLock( state, rootClientId ) {
|
|
1430
1432
|
if ( ! rootClientId ) {
|
|
1431
|
-
return state.settings.templateLock;
|
|
1432
|
-
}
|
|
1433
|
-
|
|
1434
|
-
const blockListSettings = getBlockListSettings( state, rootClientId );
|
|
1435
|
-
if ( ! blockListSettings ) {
|
|
1436
|
-
return undefined;
|
|
1433
|
+
return state.settings.templateLock ?? false;
|
|
1437
1434
|
}
|
|
1438
1435
|
|
|
1439
|
-
return
|
|
1436
|
+
return getBlockListSettings( state, rootClientId )?.templateLock ?? false;
|
|
1440
1437
|
}
|
|
1441
1438
|
|
|
1442
1439
|
const checkAllowList = ( list, item, defaultResult = null ) => {
|
|
@@ -1591,7 +1588,7 @@ export const canInsertBlockType = createSelector(
|
|
|
1591
1588
|
canInsertBlockTypeUnmemoized,
|
|
1592
1589
|
( state, blockName, rootClientId ) => [
|
|
1593
1590
|
state.blockListSettings[ rootClientId ],
|
|
1594
|
-
state.blocks.byClientId
|
|
1591
|
+
state.blocks.byClientId.get( rootClientId ),
|
|
1595
1592
|
state.settings.allowedBlockTypes,
|
|
1596
1593
|
state.settings.templateLock,
|
|
1597
1594
|
]
|
|
@@ -2104,7 +2101,7 @@ export const getBlockTransformItems = createSelector(
|
|
|
2104
2101
|
'desc'
|
|
2105
2102
|
);
|
|
2106
2103
|
},
|
|
2107
|
-
( state, rootClientId ) => [
|
|
2104
|
+
( state, blocks, rootClientId ) => [
|
|
2108
2105
|
state.blockListSettings[ rootClientId ],
|
|
2109
2106
|
state.blocks.byClientId,
|
|
2110
2107
|
state.preferences.insertUsage,
|
|
@@ -2160,7 +2157,7 @@ export const __experimentalGetAllowedBlocks = createSelector(
|
|
|
2160
2157
|
return;
|
|
2161
2158
|
}
|
|
2162
2159
|
|
|
2163
|
-
return
|
|
2160
|
+
return getBlockTypes().filter( ( blockType ) =>
|
|
2164
2161
|
canIncludeBlockTypeInInserter( state, blockType, rootClientId )
|
|
2165
2162
|
);
|
|
2166
2163
|
},
|
|
@@ -2207,7 +2204,7 @@ export const __experimentalGetDirectInsertBlock = createSelector(
|
|
|
2207
2204
|
},
|
|
2208
2205
|
( state, rootClientId ) => [
|
|
2209
2206
|
state.blockListSettings[ rootClientId ],
|
|
2210
|
-
state.blocks.tree
|
|
2207
|
+
state.blocks.tree.get( rootClientId ),
|
|
2211
2208
|
]
|
|
2212
2209
|
);
|
|
2213
2210
|
|
|
@@ -2285,8 +2282,7 @@ const getAllAllowedPatterns = createSelector(
|
|
|
2285
2282
|
export const __experimentalGetAllowedPatterns = createSelector(
|
|
2286
2283
|
( state, rootClientId = null ) => {
|
|
2287
2284
|
const availableParsedPatterns = getAllAllowedPatterns( state );
|
|
2288
|
-
const patternsAllowed = filter(
|
|
2289
|
-
availableParsedPatterns,
|
|
2285
|
+
const patternsAllowed = availableParsedPatterns.filter(
|
|
2290
2286
|
( { blocks } ) =>
|
|
2291
2287
|
blocks.every( ( { name } ) =>
|
|
2292
2288
|
canInsertBlockType( state, name, rootClientId )
|
|
@@ -2300,7 +2296,7 @@ export const __experimentalGetAllowedPatterns = createSelector(
|
|
|
2300
2296
|
state.settings.allowedBlockTypes,
|
|
2301
2297
|
state.settings.templateLock,
|
|
2302
2298
|
state.blockListSettings[ rootClientId ],
|
|
2303
|
-
state.blocks.byClientId
|
|
2299
|
+
state.blocks.byClientId.get( rootClientId ),
|
|
2304
2300
|
]
|
|
2305
2301
|
);
|
|
2306
2302
|
|
|
@@ -2333,7 +2329,7 @@ export const __experimentalGetPatternsByBlockTypes = createSelector(
|
|
|
2333
2329
|
)
|
|
2334
2330
|
);
|
|
2335
2331
|
},
|
|
2336
|
-
( state, rootClientId ) => [
|
|
2332
|
+
( state, blockNames, rootClientId ) => [
|
|
2337
2333
|
...__experimentalGetAllowedPatterns.getDependants(
|
|
2338
2334
|
state,
|
|
2339
2335
|
rootClientId
|
|
@@ -2394,7 +2390,7 @@ export const __experimentalGetPatternTransformItems = createSelector(
|
|
|
2394
2390
|
rootClientId
|
|
2395
2391
|
);
|
|
2396
2392
|
},
|
|
2397
|
-
( state, rootClientId ) => [
|
|
2393
|
+
( state, blocks, rootClientId ) => [
|
|
2398
2394
|
...__experimentalGetPatternsByBlockTypes.getDependants(
|
|
2399
2395
|
state,
|
|
2400
2396
|
rootClientId
|
|
@@ -2657,6 +2653,16 @@ export function wasBlockJustInserted( state, clientId, source ) {
|
|
|
2657
2653
|
);
|
|
2658
2654
|
}
|
|
2659
2655
|
|
|
2656
|
+
/**
|
|
2657
|
+
* Gets the client id of the last inserted block.
|
|
2658
|
+
*
|
|
2659
|
+
* @param {Object} state Global application state.
|
|
2660
|
+
* @return {string|undefined} Client Id of the last inserted block.
|
|
2661
|
+
*/
|
|
2662
|
+
export function getLastInsertedBlockClientId( state ) {
|
|
2663
|
+
return state?.lastBlockInserted?.clientId;
|
|
2664
|
+
}
|
|
2665
|
+
|
|
2660
2666
|
/**
|
|
2661
2667
|
* Tells if the block is visible on the canvas or not.
|
|
2662
2668
|
*
|
|
@@ -2694,8 +2700,8 @@ export const __unstableGetContentLockingParent = createSelector(
|
|
|
2694
2700
|
( state, clientId ) => {
|
|
2695
2701
|
let current = clientId;
|
|
2696
2702
|
let result;
|
|
2697
|
-
while (
|
|
2698
|
-
current = state.blocks.parents
|
|
2703
|
+
while ( state.blocks.parents.has( current ) ) {
|
|
2704
|
+
current = state.blocks.parents.get( current );
|
|
2699
2705
|
if ( getTemplateLock( state, current ) === 'contentOnly' ) {
|
|
2700
2706
|
result = current;
|
|
2701
2707
|
}
|
|
@@ -27,6 +27,7 @@ const noop = () => {};
|
|
|
27
27
|
|
|
28
28
|
const {
|
|
29
29
|
clearSelectedBlock,
|
|
30
|
+
__experimentalHideBlockInterface: hideBlockInterface,
|
|
30
31
|
insertBlock,
|
|
31
32
|
insertBlocks,
|
|
32
33
|
mergeBlocks,
|
|
@@ -39,6 +40,7 @@ const {
|
|
|
39
40
|
replaceInnerBlocks,
|
|
40
41
|
resetBlocks,
|
|
41
42
|
selectBlock,
|
|
43
|
+
__experimentalShowBlockInterface: showBlockInterface,
|
|
42
44
|
showInsertionPoint,
|
|
43
45
|
startMultiSelect,
|
|
44
46
|
startTyping,
|
|
@@ -775,6 +777,22 @@ describe( 'actions', () => {
|
|
|
775
777
|
} );
|
|
776
778
|
} );
|
|
777
779
|
|
|
780
|
+
describe( 'hideBlockInterface', () => {
|
|
781
|
+
it( 'should return the HIDE_BLOCK_INTERFACE action', () => {
|
|
782
|
+
expect( hideBlockInterface() ).toEqual( {
|
|
783
|
+
type: 'HIDE_BLOCK_INTERFACE',
|
|
784
|
+
} );
|
|
785
|
+
} );
|
|
786
|
+
} );
|
|
787
|
+
|
|
788
|
+
describe( 'showBlockInterface', () => {
|
|
789
|
+
it( 'should return the SHOW_BLOCK_INTERFACE action', () => {
|
|
790
|
+
expect( showBlockInterface() ).toEqual( {
|
|
791
|
+
type: 'SHOW_BLOCK_INTERFACE',
|
|
792
|
+
} );
|
|
793
|
+
} );
|
|
794
|
+
} );
|
|
795
|
+
|
|
778
796
|
describe( 'startTyping', () => {
|
|
779
797
|
it( 'should return the START_TYPING action', () => {
|
|
780
798
|
expect( startTyping() ).toEqual( {
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import reducer from '../reducer';
|
|
5
|
+
|
|
6
|
+
describe( 'performance', () => {
|
|
7
|
+
const state = reducer( undefined, { type: '@@init' } );
|
|
8
|
+
const blocks = [];
|
|
9
|
+
for ( let i = 0; i < 100000; i++ ) {
|
|
10
|
+
blocks.push( {
|
|
11
|
+
clientId: `block-${ i }`,
|
|
12
|
+
attributes: { content: `paragraph ${ i }` },
|
|
13
|
+
innerBlocks: [],
|
|
14
|
+
} );
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
let preparedState;
|
|
18
|
+
|
|
19
|
+
it( 'should reset blocks', () => {
|
|
20
|
+
preparedState = reducer( state, {
|
|
21
|
+
type: 'RESET_BLOCKS',
|
|
22
|
+
blocks,
|
|
23
|
+
} );
|
|
24
|
+
expect( preparedState ).toBeDefined();
|
|
25
|
+
} );
|
|
26
|
+
|
|
27
|
+
it( 'should update blocks', () => {
|
|
28
|
+
const updatedState = reducer( preparedState, {
|
|
29
|
+
type: 'UPDATE_BLOCK_ATTRIBUTES',
|
|
30
|
+
clientIds: [ 'block-10' ],
|
|
31
|
+
attributes: {
|
|
32
|
+
content: 'updated paragraph 10',
|
|
33
|
+
},
|
|
34
|
+
} );
|
|
35
|
+
|
|
36
|
+
expect( updatedState ).toBeDefined();
|
|
37
|
+
} );
|
|
38
|
+
|
|
39
|
+
it( 'should replace blocks (Enter in paragraphs)', () => {
|
|
40
|
+
const updatedState = reducer( preparedState, {
|
|
41
|
+
type: 'REPLACE_BLOCKS',
|
|
42
|
+
clientIds: [ 'block-10' ],
|
|
43
|
+
blocks: [
|
|
44
|
+
{
|
|
45
|
+
clientId: `block-10`,
|
|
46
|
+
attributes: { content: `paragraph 10` },
|
|
47
|
+
innerBlocks: [],
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
clientId: `block-10-2`,
|
|
51
|
+
attributes: { content: '' },
|
|
52
|
+
innerBlocks: [],
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
indexToSelect: 10,
|
|
56
|
+
initialPosition: 0,
|
|
57
|
+
} );
|
|
58
|
+
|
|
59
|
+
expect( updatedState ).toBeDefined();
|
|
60
|
+
} );
|
|
61
|
+
|
|
62
|
+
it( 'should move blocks', () => {
|
|
63
|
+
const updatedState = reducer( preparedState, {
|
|
64
|
+
type: 'MOVE_BLOCKS_DOWN',
|
|
65
|
+
clientIds: [ 'block-10' ],
|
|
66
|
+
rootClientId: '',
|
|
67
|
+
} );
|
|
68
|
+
|
|
69
|
+
expect( updatedState ).toBeDefined();
|
|
70
|
+
} );
|
|
71
|
+
} );
|