@wordpress/block-editor 10.5.0 → 11.1.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 +18 -0
- package/README.md +2 -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/alignment-control/ui.js +1 -7
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/use-available-alignments.js +4 -3
- package/build/components/block-alignment-control/use-available-alignments.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-icon/index.js +4 -2
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-inspector/index.js +90 -37
- 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-list-appender/index.js +46 -34
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-list-appender/index.native.js +39 -34
- package/build/components/block-list-appender/index.native.js.map +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js +30 -22
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build/components/block-mobile-toolbar/index.native.js +1 -1
- package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +16 -8
- 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/index.native.js +1 -3
- package/build/components/block-styles/index.native.js.map +1 -1
- package/build/components/block-styles/utils.js +7 -10
- package/build/components/block-styles/utils.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-toolbar/index.native.js +6 -8
- package/build/components/block-toolbar/index.native.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 +1 -3
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/block-variation-picker/index.js +2 -3
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/colors/utils.js +2 -6
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors-gradients/control.js +0 -3
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +0 -2
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +2 -19
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +4 -3
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build/components/copy-handler/index.js +37 -9
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/font-sizes/fluid-utils.js +5 -2
- package/build/components/font-sizes/fluid-utils.js.map +1 -1
- package/build/components/font-sizes/utils.js +10 -4
- package/build/components/font-sizes/utils.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +11 -6
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/gradients/use-gradient.js +2 -8
- package/build/components/gradients/use-gradient.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 +22 -101
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/iframe/use-compatibility-styles.js +93 -0
- package/build/components/iframe/use-compatibility-styles.js.map +1 -0
- 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 +9 -0
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +25 -7
- 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/hooks/use-insertion-point.js +4 -3
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/index.js +20 -6
- 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 +106 -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 +7 -3
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/search-items.js +15 -14
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/inserter/search-results.js +7 -3
- 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 +1 -0
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-input.js +0 -1
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/use-internal-input-value.js +3 -3
- package/build/components/link-control/use-internal-input-value.js.map +1 -1
- package/build/components/list-view/block-select-button.js +1 -1
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +5 -2
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +13 -12
- 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 +99 -0
- package/build/components/off-canvas-editor/appender.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 +3 -2
- package/build/components/off-canvas-editor/block-select-button.js.map +1 -1
- package/build/components/off-canvas-editor/block.js +82 -38
- package/build/components/off-canvas-editor/block.js.map +1 -1
- package/build/components/off-canvas-editor/branch.js +3 -5
- package/build/components/off-canvas-editor/branch.js.map +1 -1
- package/build/components/off-canvas-editor/index.js +24 -11
- package/build/components/off-canvas-editor/index.js.map +1 -1
- package/build/components/off-canvas-editor/leaf.js +1 -1
- package/build/components/off-canvas-editor/leaf.js.map +1 -1
- 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-inserted-block.js +58 -0
- package/build/components/off-canvas-editor/use-inserted-block.js.map +1 -0
- package/build/components/responsive-block-control/label.js.map +1 -1
- package/build/components/rich-text/format-edit.js +12 -10
- package/build/components/rich-text/format-edit.js.map +1 -1
- 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-paste-handler.js +21 -12
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- 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/index.js +0 -1
- package/build/components/spacing-sizes-control/index.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/spacing-sizes-control/utils.js +1 -1
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/typewriter/index.js +1 -1
- package/build/components/typewriter/index.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/image-url-input-ui.js +2 -2
- package/build/components/url-popover/image-url-input-ui.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 +9 -1
- package/build/components/use-setting/index.js.map +1 -1
- package/build/components/writing-flow/index.js +1 -1
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/hooks/border.js +0 -1
- package/build/hooks/border.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 +0 -1
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/color.js +1 -2
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +1 -1
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/dimensions.js +25 -7
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/font-family.js +4 -4
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +5 -3
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/layout.js +57 -1
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/min-height.js +4 -10
- package/build/hooks/min-height.js.map +1 -1
- package/build/hooks/use-typography-props.js +11 -8
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/store/reducer.js +411 -274
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +58 -48
- package/build/store/selectors.js.map +1 -1
- package/build/utils/pasting.js +6 -11
- package/build/utils/pasting.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/alignment-control/ui.js +1 -6
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/use-available-alignments.js +4 -3
- package/build-module/components/block-alignment-control/use-available-alignments.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-icon/index.js +4 -2
- package/build-module/components/block-icon/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +87 -34
- 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-list-appender/index.js +46 -34
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.native.js +39 -32
- package/build-module/components/block-list-appender/index.native.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +31 -24
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/index.native.js +1 -1
- package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +16 -8
- 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/index.native.js +1 -2
- package/build-module/components/block-styles/index.native.js.map +1 -1
- package/build-module/components/block-styles/utils.js +7 -9
- package/build-module/components/block-styles/utils.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-toolbar/index.native.js +6 -8
- package/build-module/components/block-toolbar/index.native.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 +1 -2
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +2 -3
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/colors/utils.js +3 -7
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +0 -3
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +0 -2
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +4 -19
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +4 -2
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build-module/components/copy-handler/index.js +38 -10
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/font-sizes/fluid-utils.js +5 -2
- package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
- package/build-module/components/font-sizes/utils.js +11 -5
- package/build-module/components/font-sizes/utils.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +12 -7
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/gradients/use-gradient.js +2 -7
- package/build-module/components/gradients/use-gradient.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 +21 -101
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/iframe/use-compatibility-styles.js +85 -0
- package/build-module/components/iframe/use-compatibility-styles.js.map +1 -0
- 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 +1 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +27 -9
- 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/hooks/use-insertion-point.js +4 -3
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/index.js +20 -6
- 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 +92 -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 +7 -3
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/search-items.js +15 -13
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/inserter/search-results.js +7 -4
- 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 +1 -0
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-input.js +0 -1
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/use-internal-input-value.js +3 -3
- package/build-module/components/link-control/use-internal-input-value.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +1 -1
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +5 -2
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +12 -11
- 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 +83 -0
- package/build-module/components/off-canvas-editor/appender.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 +3 -2
- package/build-module/components/off-canvas-editor/block-select-button.js.map +1 -1
- package/build-module/components/off-canvas-editor/block.js +83 -41
- package/build-module/components/off-canvas-editor/block.js.map +1 -1
- package/build-module/components/off-canvas-editor/branch.js +3 -4
- package/build-module/components/off-canvas-editor/branch.js.map +1 -1
- package/build-module/components/off-canvas-editor/index.js +24 -12
- package/build-module/components/off-canvas-editor/index.js.map +1 -1
- package/build-module/components/off-canvas-editor/leaf.js +1 -1
- package/build-module/components/off-canvas-editor/leaf.js.map +1 -1
- 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-inserted-block.js +47 -0
- package/build-module/components/off-canvas-editor/use-inserted-block.js.map +1 -0
- package/build-module/components/responsive-block-control/label.js +1 -2
- package/build-module/components/responsive-block-control/label.js.map +1 -1
- package/build-module/components/rich-text/format-edit.js +12 -9
- package/build-module/components/rich-text/format-edit.js.map +1 -1
- 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-paste-handler.js +22 -12
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- 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/index.js +0 -1
- package/build-module/components/spacing-sizes-control/index.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/spacing-sizes-control/utils.js +1 -1
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/typewriter/index.js +1 -1
- package/build-module/components/typewriter/index.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/image-url-input-ui.js +3 -3
- package/build-module/components/url-popover/image-url-input-ui.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 +8 -1
- package/build-module/components/use-setting/index.js.map +1 -1
- package/build-module/components/writing-flow/index.js +1 -1
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/hooks/border.js +0 -1
- package/build-module/hooks/border.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 +0 -1
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/color.js +1 -2
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +1 -1
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/dimensions.js +25 -8
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/font-family.js +5 -5
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +5 -3
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/layout.js +55 -0
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/min-height.js +3 -9
- package/build-module/hooks/min-height.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +11 -8
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/store/reducer.js +409 -274
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +55 -48
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/pasting.js +6 -10
- package/build-module/utils/pasting.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 +17 -3
- package/build-style/default-editor-styles.css +17 -3
- package/build-style/style-rtl.css +313 -665
- package/build-style/style.css +313 -665
- package/package.json +32 -30
- package/src/autocompleters/block.js +2 -6
- package/src/autocompleters/link.js +2 -0
- package/src/components/alignment-control/test/index.js +6 -1
- package/src/components/alignment-control/ui.js +1 -7
- package/src/components/block-alignment-control/test/index.js +6 -1
- package/src/components/block-alignment-control/use-available-alignments.js +4 -3
- 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-icon/index.js +4 -2
- package/src/components/block-icon/test/index.js +9 -5
- package/src/components/block-inspector/index.js +173 -85
- package/src/components/block-inspector/style.scss +16 -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} +1 -15
- package/src/components/block-list-appender/{style.scss → content.scss} +0 -0
- package/src/components/block-list-appender/index.js +65 -54
- package/src/components/block-list-appender/index.native.js +45 -34
- package/src/components/block-mobile-toolbar/block-actions-menu.native.js +42 -28
- package/src/components/block-mobile-toolbar/index.native.js +1 -1
- package/src/components/block-mobile-toolbar/test/__snapshots__/block-actions-menu.native.js.snap +125 -0
- package/src/components/block-mobile-toolbar/test/block-actions-menu.native.js +439 -0
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +42 -2
- package/src/components/block-mover/test/index.native.js +157 -1
- package/src/components/block-pattern-setup/index.js +17 -7
- package/src/components/block-pattern-setup/style.scss +29 -1
- package/src/components/block-patterns-list/index.js +47 -24
- 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/index.native.js +1 -2
- package/src/components/block-styles/utils.js +5 -7
- package/src/components/block-switcher/test/index.js +6 -1
- package/src/components/block-toolbar/index.js +12 -5
- package/src/components/block-toolbar/index.native.js +8 -11
- 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 +1 -3
- package/src/components/block-tools/style.scss +12 -5
- package/src/components/block-variation-picker/index.js +6 -5
- package/src/components/block-vertical-alignment-control/test/index.js +6 -1
- package/src/components/colors/test/with-colors.js +2 -0
- package/src/components/colors/utils.js +5 -3
- package/src/components/colors-gradients/control.js +0 -7
- package/src/components/colors-gradients/dropdown.js +0 -2
- package/src/components/colors-gradients/panel-color-gradient-settings.js +4 -22
- package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +4 -2
- package/src/components/copy-handler/index.js +53 -7
- package/src/components/default-block-appender/{style.scss → content.scss} +0 -0
- package/src/components/default-block-appender/test/index.js +2 -0
- package/src/components/font-sizes/fluid-utils.js +7 -1
- package/src/components/font-sizes/utils.js +5 -3
- package/src/components/font-sizes/with-font-sizes.js +4 -4
- package/src/components/gradients/use-gradient.js +2 -7
- 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 +33 -121
- package/src/components/iframe/use-compatibility-styles.js +95 -0
- package/src/components/image-editor/use-save-image.js +2 -0
- package/src/components/image-editor/zoom-dropdown.js +1 -0
- package/src/components/image-size-control/test/index.js +147 -79
- package/src/components/index.js +1 -0
- package/src/components/inner-blocks/{style.scss → content.scss} +0 -0
- package/src/components/inner-blocks/index.js +26 -7
- 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/hooks/use-insertion-point.js +3 -2
- package/src/components/inserter/index.js +24 -3
- package/src/components/inserter/index.native.js +1 -1
- package/src/components/inserter/media-tab/hooks.js +89 -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 +4 -0
- package/src/components/inserter/search-items.js +1 -2
- package/src/components/inserter/search-results.js +5 -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 +176 -11
- package/src/components/inserter/tabs.js +12 -1
- 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 +1 -0
- package/src/components/link-control/search-input.js +0 -1
- package/src/components/link-control/test/index.js +204 -403
- package/src/components/link-control/use-internal-input-value.js +3 -3
- package/src/components/list-view/block-select-button.js +1 -1
- package/src/components/list-view/block.js +3 -0
- package/src/components/list-view/branch.js +10 -8
- package/src/components/list-view/style.scss +21 -16
- package/src/components/media-placeholder/{style.scss → content.scss} +0 -0
- package/src/components/media-replace-flow/test/index.js +39 -9
- package/src/components/media-upload/test/index.native.js +2 -0
- package/src/components/off-canvas-editor/appender.js +98 -0
- package/src/components/off-canvas-editor/block-edit-button.js +27 -0
- package/src/components/off-canvas-editor/block-select-button.js +6 -2
- package/src/components/off-canvas-editor/block.js +160 -77
- package/src/components/off-canvas-editor/branch.js +3 -5
- package/src/components/off-canvas-editor/index.js +68 -33
- package/src/components/off-canvas-editor/leaf.js +5 -1
- package/src/components/off-canvas-editor/link-ui.js +166 -0
- package/src/components/off-canvas-editor/style.scss +19 -386
- package/src/components/off-canvas-editor/test/use-inserted-block.js +108 -0
- package/src/components/off-canvas-editor/update-attributes.js +99 -0
- package/src/components/off-canvas-editor/use-inserted-block.js +47 -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/label.js +2 -3
- package/src/components/responsive-block-control/test/index.js +4 -2
- package/src/components/rich-text/content.scss +42 -0
- package/src/components/rich-text/format-edit.js +6 -10
- package/src/components/rich-text/format-toolbar/index.js +6 -4
- package/src/components/rich-text/index.js +3 -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-paste-handler.js +33 -14
- 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/index.js +0 -1
- package/src/components/spacing-sizes-control/spacing-input-control.js +9 -0
- package/src/components/spacing-sizes-control/utils.js +1 -1
- package/src/components/typewriter/index.js +3 -1
- package/src/components/ungroup-button/index.native.js +6 -2
- package/src/components/url-input/index.js +57 -73
- package/src/components/url-input/test/button.js +2 -0
- package/src/components/url-popover/image-url-input-ui.js +5 -4
- package/src/components/url-popover/test/__snapshots__/index.js.snap +8 -6
- package/src/components/url-popover/test/index.js +37 -9
- package/src/components/use-block-display-information/index.js +14 -5
- package/src/components/use-setting/index.js +13 -1
- package/src/components/use-setting/test/index.js +99 -0
- package/src/components/warning/test/index.js +2 -0
- package/src/components/writing-flow/index.js +1 -1
- package/src/content.scss +10 -0
- package/src/hooks/border.js +0 -1
- package/src/hooks/child-layout.js +190 -0
- package/src/hooks/color-panel.js +0 -1
- package/src/hooks/color.js +0 -2
- package/src/hooks/content-lock-ui.js +1 -1
- package/src/hooks/dimensions.js +45 -7
- package/src/hooks/font-family.js +3 -5
- package/src/hooks/font-size.js +13 -4
- package/src/hooks/layout.js +60 -0
- package/src/hooks/min-height.js +2 -19
- package/src/hooks/test/use-typography-props.js +26 -0
- package/src/hooks/use-typography-props.js +15 -7
- package/src/store/reducer.js +471 -428
- package/src/store/selectors.js +57 -59
- package/src/store/test/performance.js +71 -0
- package/src/store/test/reducer.js +623 -491
- package/src/store/test/selectors.js +1820 -1306
- package/src/style.scss +4 -7
- package/src/utils/pasting.js +3 -9
- 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/components/colors-gradients/use-common-single-multiple-selects.js +0 -21
- package/build/components/colors-gradients/use-common-single-multiple-selects.js.map +0 -1
- package/build/components/rich-text/file-paste-handler.js +0 -21
- package/build/components/rich-text/file-paste-handler.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/build-module/components/colors-gradients/use-common-single-multiple-selects.js +0 -11
- package/build-module/components/colors-gradients/use-common-single-multiple-selects.js.map +0 -1
- package/build-module/components/rich-text/file-paste-handler.js +0 -13
- package/build-module/components/rich-text/file-paste-handler.js.map +0 -1
- package/src/components/block-preview/live.js +0 -19
- package/src/components/colors-gradients/use-common-single-multiple-selects.js +0 -11
- package/src/components/rich-text/file-paste-handler.js +0 -13
package/src/store/selectors.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { map
|
|
4
|
+
import { map } 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
|
/**
|
|
@@ -274,7 +273,7 @@ export const getGlobalBlockCount = createSelector(
|
|
|
274
273
|
return clientIds.length;
|
|
275
274
|
}
|
|
276
275
|
return clientIds.reduce( ( accumulator, clientId ) => {
|
|
277
|
-
const block = state.blocks.byClientId
|
|
276
|
+
const block = state.blocks.byClientId.get( clientId );
|
|
278
277
|
return block.name === blockName ? accumulator + 1 : accumulator;
|
|
279
278
|
}, 0 );
|
|
280
279
|
},
|
|
@@ -296,7 +295,7 @@ export const __experimentalGetGlobalBlocksByName = createSelector(
|
|
|
296
295
|
}
|
|
297
296
|
const clientIds = getClientIdsWithDescendants( state );
|
|
298
297
|
const foundBlocks = clientIds.filter( ( clientId ) => {
|
|
299
|
-
const block = state.blocks.byClientId
|
|
298
|
+
const block = state.blocks.byClientId.get( clientId );
|
|
300
299
|
return block.name === blockName;
|
|
301
300
|
} );
|
|
302
301
|
return foundBlocks.length > 0 ? foundBlocks : EMPTY_ARRAY;
|
|
@@ -322,7 +321,7 @@ export const getBlocksByClientId = createSelector(
|
|
|
322
321
|
( state, clientIds ) =>
|
|
323
322
|
map(
|
|
324
323
|
Array.isArray( clientIds ) ? clientIds : [ clientIds ],
|
|
325
|
-
( clientId ) => state.blocks.tree
|
|
324
|
+
( clientId ) => state.blocks.tree.get( clientId )
|
|
326
325
|
)
|
|
327
326
|
);
|
|
328
327
|
|
|
@@ -463,8 +462,8 @@ export function getSelectedBlock( state ) {
|
|
|
463
462
|
* @return {?string} Root client ID, if exists
|
|
464
463
|
*/
|
|
465
464
|
export function getBlockRootClientId( state, clientId ) {
|
|
466
|
-
return state.blocks.parents
|
|
467
|
-
? state.blocks.parents
|
|
465
|
+
return state.blocks.parents.has( clientId )
|
|
466
|
+
? state.blocks.parents.get( clientId )
|
|
468
467
|
: null;
|
|
469
468
|
}
|
|
470
469
|
|
|
@@ -481,8 +480,8 @@ export const getBlockParents = createSelector(
|
|
|
481
480
|
( state, clientId, ascending = false ) => {
|
|
482
481
|
const parents = [];
|
|
483
482
|
let current = clientId;
|
|
484
|
-
while ( !! state.blocks.parents
|
|
485
|
-
current = state.blocks.parents
|
|
483
|
+
while ( !! state.blocks.parents.get( current ) ) {
|
|
484
|
+
current = state.blocks.parents.get( current );
|
|
486
485
|
parents.push( current );
|
|
487
486
|
}
|
|
488
487
|
|
|
@@ -509,24 +508,20 @@ export const getBlockParentsByBlockName = createSelector(
|
|
|
509
508
|
( state, clientId, blockName, ascending = false ) => {
|
|
510
509
|
const parents = getBlockParents( state, clientId, ascending );
|
|
511
510
|
return map(
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
if ( Array.isArray( blockName ) ) {
|
|
519
|
-
return blockName.includes( name );
|
|
520
|
-
}
|
|
521
|
-
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 );
|
|
522
517
|
}
|
|
523
|
-
|
|
518
|
+
return name === blockName;
|
|
519
|
+
} ),
|
|
524
520
|
( { id } ) => id
|
|
525
521
|
);
|
|
526
522
|
},
|
|
527
523
|
( state ) => [ state.blocks.parents ]
|
|
528
524
|
);
|
|
529
|
-
|
|
530
525
|
/**
|
|
531
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.
|
|
532
527
|
*
|
|
@@ -540,7 +535,7 @@ export function getBlockHierarchyRootClientId( state, clientId ) {
|
|
|
540
535
|
let parent;
|
|
541
536
|
do {
|
|
542
537
|
parent = current;
|
|
543
|
-
current = state.blocks.parents
|
|
538
|
+
current = state.blocks.parents.get( current );
|
|
544
539
|
} while ( current );
|
|
545
540
|
return parent;
|
|
546
541
|
}
|
|
@@ -617,7 +612,7 @@ export function getAdjacentBlockClientId( state, startClientId, modifier = 1 ) {
|
|
|
617
612
|
}
|
|
618
613
|
|
|
619
614
|
const { order } = state.blocks;
|
|
620
|
-
const orderSet = order
|
|
615
|
+
const orderSet = order.get( rootClientId );
|
|
621
616
|
const index = orderSet.indexOf( startClientId );
|
|
622
617
|
const nextIndex = index + 1 * modifier;
|
|
623
618
|
|
|
@@ -1132,7 +1127,7 @@ export const __unstableGetSelectedBlocksWithPartialSelection = ( state ) => {
|
|
|
1132
1127
|
* @return {Array} Ordered client IDs of editor blocks.
|
|
1133
1128
|
*/
|
|
1134
1129
|
export function getBlockOrder( state, rootClientId ) {
|
|
1135
|
-
return state.blocks.order
|
|
1130
|
+
return state.blocks.order.get( rootClientId || '' ) || EMPTY_ARRAY;
|
|
1136
1131
|
}
|
|
1137
1132
|
|
|
1138
1133
|
/**
|
|
@@ -1431,19 +1426,14 @@ export function getTemplate( state ) {
|
|
|
1431
1426
|
* @param {Object} state Editor state.
|
|
1432
1427
|
* @param {?string} rootClientId Optional block root client ID.
|
|
1433
1428
|
*
|
|
1434
|
-
* @return {
|
|
1429
|
+
* @return {string|false} Block Template Lock
|
|
1435
1430
|
*/
|
|
1436
1431
|
export function getTemplateLock( state, rootClientId ) {
|
|
1437
1432
|
if ( ! rootClientId ) {
|
|
1438
|
-
return state.settings.templateLock;
|
|
1439
|
-
}
|
|
1440
|
-
|
|
1441
|
-
const blockListSettings = getBlockListSettings( state, rootClientId );
|
|
1442
|
-
if ( ! blockListSettings ) {
|
|
1443
|
-
return undefined;
|
|
1433
|
+
return state.settings.templateLock ?? false;
|
|
1444
1434
|
}
|
|
1445
1435
|
|
|
1446
|
-
return
|
|
1436
|
+
return getBlockListSettings( state, rootClientId )?.templateLock ?? false;
|
|
1447
1437
|
}
|
|
1448
1438
|
|
|
1449
1439
|
const checkAllowList = ( list, item, defaultResult = null ) => {
|
|
@@ -1598,7 +1588,7 @@ export const canInsertBlockType = createSelector(
|
|
|
1598
1588
|
canInsertBlockTypeUnmemoized,
|
|
1599
1589
|
( state, blockName, rootClientId ) => [
|
|
1600
1590
|
state.blockListSettings[ rootClientId ],
|
|
1601
|
-
state.blocks.byClientId
|
|
1591
|
+
state.blocks.byClientId.get( rootClientId ),
|
|
1602
1592
|
state.settings.allowedBlockTypes,
|
|
1603
1593
|
state.settings.templateLock,
|
|
1604
1594
|
]
|
|
@@ -2111,7 +2101,7 @@ export const getBlockTransformItems = createSelector(
|
|
|
2111
2101
|
'desc'
|
|
2112
2102
|
);
|
|
2113
2103
|
},
|
|
2114
|
-
( state, rootClientId ) => [
|
|
2104
|
+
( state, blocks, rootClientId ) => [
|
|
2115
2105
|
state.blockListSettings[ rootClientId ],
|
|
2116
2106
|
state.blocks.byClientId,
|
|
2117
2107
|
state.preferences.insertUsage,
|
|
@@ -2167,7 +2157,7 @@ export const __experimentalGetAllowedBlocks = createSelector(
|
|
|
2167
2157
|
return;
|
|
2168
2158
|
}
|
|
2169
2159
|
|
|
2170
|
-
return
|
|
2160
|
+
return getBlockTypes().filter( ( blockType ) =>
|
|
2171
2161
|
canIncludeBlockTypeInInserter( state, blockType, rootClientId )
|
|
2172
2162
|
);
|
|
2173
2163
|
},
|
|
@@ -2214,7 +2204,7 @@ export const __experimentalGetDirectInsertBlock = createSelector(
|
|
|
2214
2204
|
},
|
|
2215
2205
|
( state, rootClientId ) => [
|
|
2216
2206
|
state.blockListSettings[ rootClientId ],
|
|
2217
|
-
state.blocks.tree
|
|
2207
|
+
state.blocks.tree.get( rootClientId ),
|
|
2218
2208
|
]
|
|
2219
2209
|
);
|
|
2220
2210
|
|
|
@@ -2292,8 +2282,7 @@ const getAllAllowedPatterns = createSelector(
|
|
|
2292
2282
|
export const __experimentalGetAllowedPatterns = createSelector(
|
|
2293
2283
|
( state, rootClientId = null ) => {
|
|
2294
2284
|
const availableParsedPatterns = getAllAllowedPatterns( state );
|
|
2295
|
-
const patternsAllowed = filter(
|
|
2296
|
-
availableParsedPatterns,
|
|
2285
|
+
const patternsAllowed = availableParsedPatterns.filter(
|
|
2297
2286
|
( { blocks } ) =>
|
|
2298
2287
|
blocks.every( ( { name } ) =>
|
|
2299
2288
|
canInsertBlockType( state, name, rootClientId )
|
|
@@ -2307,7 +2296,7 @@ export const __experimentalGetAllowedPatterns = createSelector(
|
|
|
2307
2296
|
state.settings.allowedBlockTypes,
|
|
2308
2297
|
state.settings.templateLock,
|
|
2309
2298
|
state.blockListSettings[ rootClientId ],
|
|
2310
|
-
state.blocks.byClientId
|
|
2299
|
+
state.blocks.byClientId.get( rootClientId ),
|
|
2311
2300
|
]
|
|
2312
2301
|
);
|
|
2313
2302
|
|
|
@@ -2340,7 +2329,7 @@ export const __experimentalGetPatternsByBlockTypes = createSelector(
|
|
|
2340
2329
|
)
|
|
2341
2330
|
);
|
|
2342
2331
|
},
|
|
2343
|
-
( state, rootClientId ) => [
|
|
2332
|
+
( state, blockNames, rootClientId ) => [
|
|
2344
2333
|
...__experimentalGetAllowedPatterns.getDependants(
|
|
2345
2334
|
state,
|
|
2346
2335
|
rootClientId
|
|
@@ -2401,7 +2390,7 @@ export const __experimentalGetPatternTransformItems = createSelector(
|
|
|
2401
2390
|
rootClientId
|
|
2402
2391
|
);
|
|
2403
2392
|
},
|
|
2404
|
-
( state, rootClientId ) => [
|
|
2393
|
+
( state, blocks, rootClientId ) => [
|
|
2405
2394
|
...__experimentalGetPatternsByBlockTypes.getDependants(
|
|
2406
2395
|
state,
|
|
2407
2396
|
rootClientId
|
|
@@ -2480,8 +2469,7 @@ export const __experimentalGetBlockListSettingsForBlocks = createSelector(
|
|
|
2480
2469
|
*/
|
|
2481
2470
|
export const __experimentalGetReusableBlockTitle = createSelector(
|
|
2482
2471
|
( state, ref ) => {
|
|
2483
|
-
const reusableBlock = find(
|
|
2484
|
-
getReusableBlocks( state ),
|
|
2472
|
+
const reusableBlock = getReusableBlocks( state ).find(
|
|
2485
2473
|
( block ) => block.id === ref
|
|
2486
2474
|
);
|
|
2487
2475
|
if ( ! reusableBlock ) {
|
|
@@ -2664,6 +2652,16 @@ export function wasBlockJustInserted( state, clientId, source ) {
|
|
|
2664
2652
|
);
|
|
2665
2653
|
}
|
|
2666
2654
|
|
|
2655
|
+
/**
|
|
2656
|
+
* Gets the client id of the last inserted block.
|
|
2657
|
+
*
|
|
2658
|
+
* @param {Object} state Global application state.
|
|
2659
|
+
* @return {string|undefined} Client Id of the last inserted block.
|
|
2660
|
+
*/
|
|
2661
|
+
export function getLastInsertedBlockClientId( state ) {
|
|
2662
|
+
return state?.lastBlockInserted?.clientId;
|
|
2663
|
+
}
|
|
2664
|
+
|
|
2667
2665
|
/**
|
|
2668
2666
|
* Tells if the block is visible on the canvas or not.
|
|
2669
2667
|
*
|
|
@@ -2701,8 +2699,8 @@ export const __unstableGetContentLockingParent = createSelector(
|
|
|
2701
2699
|
( state, clientId ) => {
|
|
2702
2700
|
let current = clientId;
|
|
2703
2701
|
let result;
|
|
2704
|
-
while (
|
|
2705
|
-
current = state.blocks.parents
|
|
2702
|
+
while ( state.blocks.parents.has( current ) ) {
|
|
2703
|
+
current = state.blocks.parents.get( current );
|
|
2706
2704
|
if ( getTemplateLock( state, current ) === 'contentOnly' ) {
|
|
2707
2705
|
result = current;
|
|
2708
2706
|
}
|
|
@@ -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
|
+
} );
|