@wordpress/block-editor 12.17.0 → 12.18.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 +4 -0
- package/README.md +32 -0
- package/build/components/block-draggable/index.js +11 -3
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-edit/context.js +3 -1
- package/build/components/block-edit/context.js.map +1 -1
- package/build/components/block-edit/index.js +4 -2
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-editing-mode/index.js +6 -3
- package/build/components/block-editing-mode/index.js.map +1 -1
- package/build/components/block-inspector/index.js +5 -2
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block.js +4 -3
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +9 -5
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +30 -4
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/private-block-context.js +1 -1
- package/build/components/block-list/private-block-context.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +1 -1
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-lock/toolbar.js +8 -2
- package/build/components/block-lock/toolbar.js.map +1 -1
- package/build/components/block-popover/inbetween.js +15 -3
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-preview/auto.js +1 -1
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js +3 -2
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +2 -4
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.js +12 -1
- package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/index.js +119 -90
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +10 -3
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/font-sizes/fluid-utils.js +7 -1
- package/build/components/font-sizes/fluid-utils.js.map +1 -1
- package/build/components/global-styles/border-panel.js +5 -14
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/effects-panel.js +7 -1
- package/build/components/global-styles/effects-panel.js.map +1 -1
- package/build/components/global-styles/hooks.js +3 -2
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +31 -14
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/iframe/get-compatibility-styles.js +99 -0
- package/build/components/iframe/get-compatibility-styles.js.map +1 -0
- package/build/components/iframe/index.js +2 -3
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/index.js +16 -2
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +16 -2
- package/build/components/index.native.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/styles-tab.js +3 -0
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +3 -2
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build/components/link-control/link-preview.js +30 -26
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-input.js +1 -9
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/list-view/block-contents.js +3 -1
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block.js +10 -1
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +29 -8
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +100 -32
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/index.js +52 -4
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +2 -2
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/use-list-view-block-indexes.js +30 -0
- package/build/components/list-view/use-list-view-block-indexes.js.map +1 -0
- package/build/components/list-view/use-list-view-drop-zone.js +56 -5
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/list-view/utils.js +92 -0
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/provider/index.js +1 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/components/recursion-provider/index.js +21 -0
- package/build/components/recursion-provider/index.js.map +1 -1
- package/build/components/rich-text/index.js +30 -6
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +9 -9
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +30 -7
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +50 -8
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/hooks/block-hooks.js +5 -14
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/content-lock-ui.js +17 -42
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/effects.js +66 -0
- package/build/hooks/effects.js.map +1 -0
- package/build/hooks/index.js +15 -2
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/index.native.js +13 -0
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/style.js +6 -2
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/supports.js +2 -1
- package/build/hooks/supports.js.map +1 -1
- package/build/hooks/typography.native.js +2 -2
- package/build/hooks/typography.native.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +115 -0
- package/build/hooks/use-bindings-attributes.js.map +1 -0
- package/build/hooks/use-shadow-props.js +46 -0
- package/build/hooks/use-shadow-props.js.map +1 -0
- package/build/hooks/utils.js +11 -7
- package/build/hooks/utils.js.map +1 -1
- package/build/index.js +14 -0
- package/build/index.js.map +1 -1
- package/build/store/actions.js +10 -6
- package/build/store/actions.js.map +1 -1
- package/build/store/index.js +2 -0
- package/build/store/index.js.map +1 -1
- package/build/store/private-actions.js +37 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +60 -9
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +44 -3
- package/build/store/reducer.js.map +1 -1
- package/build/store/resolvers.js +27 -0
- package/build/store/resolvers.js.map +1 -0
- package/build/store/selectors.js +94 -56
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +5 -26
- package/build/store/utils.js.map +1 -1
- package/build/utils/index.js +0 -16
- package/build/utils/index.js.map +1 -1
- package/build/utils/math.js +13 -0
- package/build/utils/math.js.map +1 -1
- package/build/utils/object.js +17 -0
- package/build/utils/object.js.map +1 -1
- package/build/utils/transform-styles/index.js +37 -27
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/components/block-draggable/index.js +11 -3
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-edit/context.js +1 -0
- package/build-module/components/block-edit/context.js.map +1 -1
- package/build-module/components/block-edit/index.js +5 -3
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-editing-mode/index.js +7 -4
- package/build-module/components/block-editing-mode/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +5 -2
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block.js +6 -5
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +11 -7
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +31 -5
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/private-block-context.js +1 -1
- package/build-module/components/block-list/private-block-context.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-lock/toolbar.js +8 -2
- package/build-module/components/block-lock/toolbar.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +15 -3
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-preview/auto.js +3 -3
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +3 -2
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +2 -4
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.js +12 -1
- package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/index.js +116 -86
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +10 -3
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/font-sizes/fluid-utils.js +7 -1
- package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +5 -14
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/effects-panel.js +7 -1
- package/build-module/components/global-styles/effects-panel.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +3 -2
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +32 -15
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/iframe/get-compatibility-styles.js +93 -0
- package/build-module/components/iframe/get-compatibility-styles.js.map +1 -0
- package/build-module/components/iframe/index.js +2 -3
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/index.js +1 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js +1 -1
- package/build-module/components/index.native.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/styles-tab.js +3 -0
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +3 -2
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +32 -28
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-input.js +1 -8
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +3 -1
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block.js +10 -1
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +30 -9
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +99 -32
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/index.js +54 -6
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +2 -2
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/list-view/use-list-view-block-indexes.js +23 -0
- package/build-module/components/list-view/use-list-view-block-indexes.js.map +1 -0
- package/build-module/components/list-view/use-list-view-drop-zone.js +58 -7
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/list-view/utils.js +91 -0
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/provider/index.js +1 -1
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/recursion-provider/index.js +17 -0
- package/build-module/components/recursion-provider/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +30 -6
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +9 -9
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +31 -8
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +51 -9
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/hooks/block-hooks.js +5 -14
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +19 -43
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/effects.js +51 -0
- package/build-module/hooks/effects.js.map +1 -0
- package/build-module/hooks/index.js +3 -2
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/index.native.js +1 -0
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/style.js +6 -2
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/supports.js +2 -1
- package/build-module/hooks/supports.js.map +1 -1
- package/build-module/hooks/typography.native.js +2 -2
- package/build-module/hooks/typography.native.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +112 -0
- package/build-module/hooks/use-bindings-attributes.js.map +1 -0
- package/build-module/hooks/use-shadow-props.js +39 -0
- package/build-module/hooks/use-shadow-props.js.map +1 -0
- package/build-module/hooks/utils.js +13 -9
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/store/actions.js +10 -6
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/index.js +2 -0
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/private-actions.js +35 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +53 -8
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +43 -3
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/resolvers.js +20 -0
- package/build-module/store/resolvers.js.map +1 -0
- package/build-module/store/selectors.js +89 -52
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +3 -23
- package/build-module/store/utils.js.map +1 -1
- package/build-module/utils/index.js +0 -1
- package/build-module/utils/index.js.map +1 -1
- package/build-module/utils/math.js +12 -0
- package/build-module/utils/math.js.map +1 -1
- package/build-module/utils/object.js +16 -0
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +36 -27
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +33 -16
- package/build-style/content.css +33 -16
- package/build-style/default-editor-styles-rtl.css +1 -1
- package/build-style/default-editor-styles.css +1 -1
- package/build-style/style-rtl.css +169 -114
- package/build-style/style.css +169 -114
- package/package.json +31 -31
- package/src/components/block-canvas/style.scss +8 -1
- package/src/components/block-draggable/index.js +16 -5
- package/src/components/block-edit/context.js +1 -0
- package/src/components/block-edit/index.js +4 -0
- package/src/components/block-editing-mode/index.js +12 -7
- package/src/components/block-inspector/index.js +5 -2
- package/src/components/block-list/block.js +5 -4
- package/src/components/block-list/block.native.js +13 -3
- package/src/components/block-list/content.scss +34 -5
- package/src/components/block-list/index.js +52 -16
- package/src/components/block-list/private-block-context.js +1 -1
- package/src/components/block-list/use-in-between-inserter.js +1 -2
- package/src/components/block-lock/toolbar.js +10 -2
- package/src/components/block-popover/inbetween.js +22 -2
- package/src/components/block-preview/auto.js +3 -3
- package/src/components/block-removal-warning-modal/index.js +3 -2
- package/src/components/block-settings-menu/block-settings-dropdown.js +2 -7
- package/src/components/block-switcher/block-transformations-menu.js +18 -1
- package/src/components/block-switcher/index.js +133 -111
- package/src/components/block-switcher/style.scss +6 -4
- package/src/components/block-switcher/test/index.js +113 -230
- package/src/components/block-toolbar/style.scss +22 -18
- package/src/components/block-tools/insertion-point.js +15 -2
- package/src/components/block-tools/style.scss +8 -7
- package/src/components/font-sizes/fluid-utils.js +8 -2
- package/src/components/font-sizes/test/fluid-utils.js +9 -0
- package/src/components/global-styles/border-panel.js +7 -17
- package/src/components/global-styles/effects-panel.js +16 -1
- package/src/components/global-styles/hooks.js +2 -0
- package/src/components/global-styles/typography-panel.js +45 -13
- package/src/components/iframe/get-compatibility-styles.js +120 -0
- package/src/components/iframe/index.js +2 -3
- package/src/components/index.js +4 -2
- package/src/components/index.native.js +4 -2
- package/src/components/inspector-controls/groups.js +2 -0
- package/src/components/inspector-controls-tabs/styles-tab.js +1 -0
- package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -0
- package/src/components/link-control/link-preview.js +31 -55
- package/src/components/link-control/search-input.js +1 -9
- package/src/components/link-control/style.scss +31 -85
- package/src/components/link-control/test/index.js +2 -1
- package/src/components/list-view/block-contents.js +5 -1
- package/src/components/list-view/block.js +9 -0
- package/src/components/list-view/branch.js +30 -10
- package/src/components/list-view/drop-indicator.js +139 -46
- package/src/components/list-view/index.js +74 -3
- package/src/components/list-view/leaf.js +2 -2
- package/src/components/list-view/style.scss +102 -13
- package/src/components/list-view/test/use-list-view-drop-zone.js +4 -0
- package/src/components/list-view/test/utils.js +218 -1
- package/src/components/list-view/use-list-view-block-indexes.js +29 -0
- package/src/components/list-view/use-list-view-drop-zone.js +78 -6
- package/src/components/list-view/utils.js +116 -0
- package/src/components/provider/index.js +3 -1
- package/src/components/recursion-provider/README.md +2 -2
- package/src/components/recursion-provider/index.js +17 -0
- package/src/components/rich-text/index.js +48 -10
- package/src/components/rich-text/native/index.native.js +10 -10
- package/src/components/use-block-drop-zone/index.js +60 -19
- package/src/components/use-block-drop-zone/test/index.js +32 -61
- package/src/components/use-on-block-drop/index.js +92 -11
- package/src/hooks/block-hooks.js +5 -17
- package/src/hooks/content-lock-ui.js +15 -55
- package/src/hooks/effects.js +57 -0
- package/src/hooks/index.js +2 -2
- package/src/hooks/index.native.js +1 -0
- package/src/hooks/style.js +8 -0
- package/src/hooks/supports.js +2 -0
- package/src/hooks/test/effects.js +39 -0
- package/src/hooks/typography.native.js +2 -2
- package/src/hooks/use-bindings-attributes.js +148 -0
- package/src/hooks/use-shadow-props.js +37 -0
- package/src/hooks/utils.js +26 -10
- package/src/index.js +2 -0
- package/src/store/actions.js +9 -4
- package/src/store/index.js +2 -0
- package/src/store/private-actions.js +32 -0
- package/src/store/private-selectors.js +78 -21
- package/src/store/reducer.js +49 -2
- package/src/store/resolvers.js +17 -0
- package/src/store/selectors.js +169 -161
- package/src/store/test/registry-selectors.js +431 -0
- package/src/store/test/selectors.js +14 -400
- package/src/store/utils.js +10 -33
- package/src/style.scss +0 -1
- package/src/utils/index.js +0 -1
- package/src/utils/math.js +12 -0
- package/src/utils/object.js +16 -0
- package/src/utils/transform-styles/index.js +52 -37
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/iframe/use-compatibility-styles.js +0 -100
- package/build/components/iframe/use-compatibility-styles.js.map +0 -1
- package/build/hooks/custom-fields.js +0 -106
- package/build/hooks/custom-fields.js.map +0 -1
- package/build/utils/block-variation-transforms.js +0 -42
- package/build/utils/block-variation-transforms.js.map +0 -1
- package/build-module/components/iframe/use-compatibility-styles.js +0 -94
- package/build-module/components/iframe/use-compatibility-styles.js.map +0 -1
- package/build-module/hooks/custom-fields.js +0 -99
- package/build-module/hooks/custom-fields.js.map +0 -1
- package/build-module/utils/block-variation-transforms.js +0 -35
- package/build-module/utils/block-variation-transforms.js.map +0 -1
- package/src/components/block-switcher/test/__snapshots__/index.js.snap +0 -116
- package/src/components/contrast-checker/style.scss +0 -3
- package/src/components/iframe/use-compatibility-styles.js +0 -122
- package/src/hooks/custom-fields.js +0 -115
- package/src/utils/block-variation-transforms.js +0 -38
- package/src/utils/test/block-variation-transforms.js +0 -94
|
@@ -17,8 +17,10 @@ import { createRegistrySelector } from '@wordpress/data';
|
|
|
17
17
|
/**
|
|
18
18
|
* Internal dependencies
|
|
19
19
|
*/
|
|
20
|
-
import {
|
|
20
|
+
import { checkAllowListRecursive, checkAllowList, getAllPatternsDependants } from './utils';
|
|
21
21
|
import { orderBy } from '../utils/sorting';
|
|
22
|
+
import { STORE_NAME } from './constants';
|
|
23
|
+
import { unlock } from '../lock-unlock';
|
|
22
24
|
|
|
23
25
|
/**
|
|
24
26
|
* A block selection object.
|
|
@@ -263,14 +265,14 @@ export const getGlobalBlockCount = createSelector((state, blockName) => {
|
|
|
263
265
|
}, state => [state.blocks.order, state.blocks.byClientId]);
|
|
264
266
|
|
|
265
267
|
/**
|
|
266
|
-
* Returns all
|
|
268
|
+
* Returns all blocks that match a blockName. Results include nested blocks.
|
|
267
269
|
*
|
|
268
270
|
* @param {Object} state Global application state.
|
|
269
271
|
* @param {?string} blockName Optional block name, if not specified, returns an empty array.
|
|
270
272
|
*
|
|
271
273
|
* @return {Array} Array of clientIds of blocks with name equal to blockName.
|
|
272
274
|
*/
|
|
273
|
-
export const
|
|
275
|
+
export const getBlocksByName = createSelector((state, blockName) => {
|
|
274
276
|
if (!blockName) {
|
|
275
277
|
return EMPTY_ARRAY;
|
|
276
278
|
}
|
|
@@ -283,6 +285,24 @@ export const __experimentalGetGlobalBlocksByName = createSelector((state, blockN
|
|
|
283
285
|
return foundBlocks.length > 0 ? foundBlocks : EMPTY_ARRAY;
|
|
284
286
|
}, state => [state.blocks.order, state.blocks.byClientId]);
|
|
285
287
|
|
|
288
|
+
/**
|
|
289
|
+
* Returns all global blocks that match a blockName. Results include nested blocks.
|
|
290
|
+
*
|
|
291
|
+
* @deprecated
|
|
292
|
+
*
|
|
293
|
+
* @param {Object} state Global application state.
|
|
294
|
+
* @param {?string} blockName Optional block name, if not specified, returns an empty array.
|
|
295
|
+
*
|
|
296
|
+
* @return {Array} Array of clientIds of blocks with name equal to blockName.
|
|
297
|
+
*/
|
|
298
|
+
export function __experimentalGetGlobalBlocksByName(state, blockName) {
|
|
299
|
+
deprecated("wp.data.select( 'core/block-editor' ).__experimentalGetGlobalBlocksByName", {
|
|
300
|
+
since: '6.5',
|
|
301
|
+
alternative: `wp.data.select( 'core/block-editor' ).getBlocksByName`
|
|
302
|
+
});
|
|
303
|
+
return getBlocksByName(state, blockName);
|
|
304
|
+
}
|
|
305
|
+
|
|
286
306
|
/**
|
|
287
307
|
* Given an array of block client IDs, returns the corresponding array of block
|
|
288
308
|
* objects.
|
|
@@ -1750,7 +1770,7 @@ export const getInserterItems = createSelector((state, rootClientId = null) => {
|
|
|
1750
1770
|
});
|
|
1751
1771
|
const sortedBlockTypes = [...coreItems, ...nonCoreItems];
|
|
1752
1772
|
return [...sortedBlockTypes, ...syncedPatternInserterItems];
|
|
1753
|
-
}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.blocks.order, state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), getBlockTypes()]);
|
|
1773
|
+
}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId), state.blocks.order, state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), getBlockTypes()]);
|
|
1754
1774
|
|
|
1755
1775
|
/**
|
|
1756
1776
|
* Determines the items that appear in the available block transforms list.
|
|
@@ -1792,7 +1812,7 @@ export const getBlockTransformItems = createSelector((state, blocks, rootClientI
|
|
|
1792
1812
|
return accumulator;
|
|
1793
1813
|
}, []);
|
|
1794
1814
|
return orderBy(possibleTransforms, block => itemsByName[block.name].frecency, 'desc');
|
|
1795
|
-
}, (state, blocks, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, getBlockTypes()]);
|
|
1815
|
+
}, (state, blocks, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId), state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, getBlockTypes()]);
|
|
1796
1816
|
|
|
1797
1817
|
/**
|
|
1798
1818
|
* Determines whether there are items to show in the inserter.
|
|
@@ -1809,7 +1829,7 @@ export const hasInserterItems = createSelector((state, rootClientId = null) => {
|
|
|
1809
1829
|
}
|
|
1810
1830
|
const hasReusableBlock = canInsertBlockTypeUnmemoized(state, 'core/block', rootClientId) && getReusableBlocks(state).length > 0;
|
|
1811
1831
|
return hasReusableBlock;
|
|
1812
|
-
}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), getBlockTypes()]);
|
|
1832
|
+
}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId), state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), getBlockTypes()]);
|
|
1813
1833
|
|
|
1814
1834
|
/**
|
|
1815
1835
|
* Returns the list of allowed inserter blocks for inner blocks children.
|
|
@@ -1825,8 +1845,11 @@ export const getAllowedBlocks = createSelector((state, rootClientId = null) => {
|
|
|
1825
1845
|
}
|
|
1826
1846
|
const blockTypes = getBlockTypes().filter(blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId));
|
|
1827
1847
|
const hasReusableBlock = canInsertBlockTypeUnmemoized(state, 'core/block', rootClientId) && getReusableBlocks(state).length > 0;
|
|
1828
|
-
|
|
1829
|
-
|
|
1848
|
+
if (hasReusableBlock) {
|
|
1849
|
+
blockTypes.push('core/block');
|
|
1850
|
+
}
|
|
1851
|
+
return blockTypes;
|
|
1852
|
+
}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId), state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), getBlockTypes()]);
|
|
1830
1853
|
export const __experimentalGetAllowedBlocks = createSelector((state, rootClientId = null) => {
|
|
1831
1854
|
deprecated('wp.data.select( "core/block-editor" ).__experimentalGetAllowedBlocks', {
|
|
1832
1855
|
alternative: 'wp.data.select( "core/block-editor" ).getAllowedBlocks',
|
|
@@ -1871,13 +1894,12 @@ export const __experimentalGetDirectInsertBlock = createSelector((state, rootCli
|
|
|
1871
1894
|
});
|
|
1872
1895
|
return getDirectInsertBlock(state, rootClientId);
|
|
1873
1896
|
}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.tree.get(rootClientId)]);
|
|
1874
|
-
export const
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
const patterns =
|
|
1879
|
-
const
|
|
1880
|
-
const pattern = [...patterns, ...userPatterns].find(({
|
|
1897
|
+
export const __experimentalGetParsedPattern = createRegistrySelector(select => createSelector((state, patternName) => {
|
|
1898
|
+
const {
|
|
1899
|
+
getAllPatterns
|
|
1900
|
+
} = unlock(select(STORE_NAME));
|
|
1901
|
+
const patterns = getAllPatterns();
|
|
1902
|
+
const pattern = patterns.find(({
|
|
1881
1903
|
name
|
|
1882
1904
|
}) => name === patternName);
|
|
1883
1905
|
if (!pattern) {
|
|
@@ -1889,23 +1911,10 @@ export const __experimentalGetParsedPattern = createSelector((state, patternName
|
|
|
1889
1911
|
__unstableSkipMigrationLogs: true
|
|
1890
1912
|
})
|
|
1891
1913
|
};
|
|
1892
|
-
},
|
|
1893
|
-
const
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
const {
|
|
1897
|
-
allowedBlockTypes
|
|
1898
|
-
} = getSettings(state);
|
|
1899
|
-
const parsedPatterns = [...userPatterns, ...patterns].filter(({
|
|
1900
|
-
inserter = true
|
|
1901
|
-
}) => !!inserter).map(({
|
|
1902
|
-
name
|
|
1903
|
-
}) => __experimentalGetParsedPattern(state, name));
|
|
1904
|
-
const allowedPatterns = parsedPatterns.filter(({
|
|
1905
|
-
blocks
|
|
1906
|
-
}) => checkAllowListRecursive(blocks, allowedBlockTypes));
|
|
1907
|
-
return allowedPatterns;
|
|
1908
|
-
}, state => [state.settings.__experimentalBlockPatterns, state.settings.__experimentalReusableBlocks, state.settings.allowedBlockTypes, state?.settings?.__experimentalUserPatternCategories]);
|
|
1914
|
+
}, getAllPatternsDependants));
|
|
1915
|
+
const getAllowedPatternsDependants = (state, rootClientId) => {
|
|
1916
|
+
return [...getAllPatternsDependants(state), state.settings.allowedBlockTypes, state.settings.templateLock, state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId)];
|
|
1917
|
+
};
|
|
1909
1918
|
|
|
1910
1919
|
/**
|
|
1911
1920
|
* Returns the list of allowed patterns for inner blocks children.
|
|
@@ -1915,15 +1924,32 @@ const getAllAllowedPatterns = createSelector(state => {
|
|
|
1915
1924
|
*
|
|
1916
1925
|
* @return {Array?} The list of allowed patterns.
|
|
1917
1926
|
*/
|
|
1918
|
-
export const __experimentalGetAllowedPatterns =
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
+
export const __experimentalGetAllowedPatterns = createRegistrySelector(select => {
|
|
1928
|
+
return createSelector((state, rootClientId = null) => {
|
|
1929
|
+
const {
|
|
1930
|
+
getAllPatterns,
|
|
1931
|
+
__experimentalGetParsedPattern: getParsedPattern
|
|
1932
|
+
} = unlock(select(STORE_NAME));
|
|
1933
|
+
const patterns = getAllPatterns();
|
|
1934
|
+
const {
|
|
1935
|
+
allowedBlockTypes
|
|
1936
|
+
} = getSettings(state);
|
|
1937
|
+
const parsedPatterns = patterns.filter(({
|
|
1938
|
+
inserter = true
|
|
1939
|
+
}) => !!inserter).map(({
|
|
1940
|
+
name
|
|
1941
|
+
}) => getParsedPattern(name));
|
|
1942
|
+
const availableParsedPatterns = parsedPatterns.filter(({
|
|
1943
|
+
blocks
|
|
1944
|
+
}) => checkAllowListRecursive(blocks, allowedBlockTypes));
|
|
1945
|
+
const patternsAllowed = availableParsedPatterns.filter(({
|
|
1946
|
+
blocks
|
|
1947
|
+
}) => blocks.every(({
|
|
1948
|
+
name
|
|
1949
|
+
}) => canInsertBlockType(state, name, rootClientId)));
|
|
1950
|
+
return patternsAllowed;
|
|
1951
|
+
}, getAllowedPatternsDependants);
|
|
1952
|
+
});
|
|
1927
1953
|
|
|
1928
1954
|
/**
|
|
1929
1955
|
* Returns the list of patterns based on their declared `blockTypes`
|
|
@@ -1938,24 +1964,24 @@ export const __experimentalGetAllowedPatterns = createSelector((state, rootClien
|
|
|
1938
1964
|
*
|
|
1939
1965
|
* @return {Array} The list of matched block patterns based on declared `blockTypes` and block name.
|
|
1940
1966
|
*/
|
|
1941
|
-
export const getPatternsByBlockTypes = createSelector((state, blockNames, rootClientId = null) => {
|
|
1967
|
+
export const getPatternsByBlockTypes = createRegistrySelector(select => createSelector((state, blockNames, rootClientId = null) => {
|
|
1942
1968
|
if (!blockNames) return EMPTY_ARRAY;
|
|
1943
|
-
const patterns = __experimentalGetAllowedPatterns(
|
|
1969
|
+
const patterns = select(STORE_NAME).__experimentalGetAllowedPatterns(rootClientId);
|
|
1944
1970
|
const normalizedBlockNames = Array.isArray(blockNames) ? blockNames : [blockNames];
|
|
1945
1971
|
const filteredPatterns = patterns.filter(pattern => pattern?.blockTypes?.some?.(blockName => normalizedBlockNames.includes(blockName)));
|
|
1946
1972
|
if (filteredPatterns.length === 0) {
|
|
1947
1973
|
return EMPTY_ARRAY;
|
|
1948
1974
|
}
|
|
1949
1975
|
return filteredPatterns;
|
|
1950
|
-
}, (state, blockNames, rootClientId) =>
|
|
1951
|
-
export const __experimentalGetPatternsByBlockTypes =
|
|
1976
|
+
}, (state, blockNames, rootClientId) => getAllowedPatternsDependants(state, rootClientId)));
|
|
1977
|
+
export const __experimentalGetPatternsByBlockTypes = createRegistrySelector(select => {
|
|
1952
1978
|
deprecated('wp.data.select( "core/block-editor" ).__experimentalGetPatternsByBlockTypes', {
|
|
1953
1979
|
alternative: 'wp.data.select( "core/block-editor" ).getPatternsByBlockTypes',
|
|
1954
1980
|
since: '6.2',
|
|
1955
1981
|
version: '6.4'
|
|
1956
1982
|
});
|
|
1957
|
-
return
|
|
1958
|
-
}
|
|
1983
|
+
return select(STORE_NAME).getPatternsByBlockTypes;
|
|
1984
|
+
});
|
|
1959
1985
|
|
|
1960
1986
|
/**
|
|
1961
1987
|
* Determines the items that appear in the available pattern transforms list.
|
|
@@ -1974,7 +2000,7 @@ export const __experimentalGetPatternsByBlockTypes = createSelector((state, bloc
|
|
|
1974
2000
|
*
|
|
1975
2001
|
* @return {WPBlockPattern[]} Items that are eligible for a pattern transformation.
|
|
1976
2002
|
*/
|
|
1977
|
-
export const __experimentalGetPatternTransformItems = createSelector((state, blocks, rootClientId = null) => {
|
|
2003
|
+
export const __experimentalGetPatternTransformItems = createRegistrySelector(select => createSelector((state, blocks, rootClientId = null) => {
|
|
1978
2004
|
if (!blocks) return EMPTY_ARRAY;
|
|
1979
2005
|
/**
|
|
1980
2006
|
* For now we only handle blocks without InnerBlocks and take into account
|
|
@@ -2000,8 +2026,8 @@ export const __experimentalGetPatternTransformItems = createSelector((state, blo
|
|
|
2000
2026
|
* block pattern's blocks and try to find matches from the selected blocks.
|
|
2001
2027
|
* Now this happens in the consumer to avoid heavy operations in the selector.
|
|
2002
2028
|
*/
|
|
2003
|
-
return getPatternsByBlockTypes(
|
|
2004
|
-
}, (state, blocks, rootClientId) =>
|
|
2029
|
+
return select(STORE_NAME).getPatternsByBlockTypes(selectedBlockNames, rootClientId);
|
|
2030
|
+
}, (state, blocks, rootClientId) => getAllowedPatternsDependants(state, rootClientId)));
|
|
2005
2031
|
|
|
2006
2032
|
/**
|
|
2007
2033
|
* Returns the Block List settings of a block, if any exist.
|
|
@@ -2116,7 +2142,7 @@ export function __experimentalGetLastBlockAttributeChanges(state) {
|
|
|
2116
2142
|
*/
|
|
2117
2143
|
function getReusableBlocks(state) {
|
|
2118
2144
|
var _state$settings$__exp;
|
|
2119
|
-
return (_state$settings$__exp = state
|
|
2145
|
+
return (_state$settings$__exp = state.settings.__experimentalReusableBlocks) !== null && _state$settings$__exp !== void 0 ? _state$settings$__exp : EMPTY_ARRAY;
|
|
2120
2146
|
}
|
|
2121
2147
|
|
|
2122
2148
|
/**
|
|
@@ -2267,7 +2293,7 @@ export const __unstableGetContentLockingParent = createSelector((state, clientId
|
|
|
2267
2293
|
let result;
|
|
2268
2294
|
while (state.blocks.parents.has(current)) {
|
|
2269
2295
|
current = state.blocks.parents.get(current);
|
|
2270
|
-
if (current && getBlockName(state, current) === 'core/block'
|
|
2296
|
+
if (current && getBlockName(state, current) === 'core/block' || current && getTemplateLock(state, current) === 'contentOnly') {
|
|
2271
2297
|
result = current;
|
|
2272
2298
|
}
|
|
2273
2299
|
}
|
|
@@ -2284,6 +2310,17 @@ export const __unstableGetContentLockingParent = createSelector((state, clientId
|
|
|
2284
2310
|
export function __unstableGetTemporarilyEditingAsBlocks(state) {
|
|
2285
2311
|
return state.temporarilyEditingAsBlocks;
|
|
2286
2312
|
}
|
|
2313
|
+
|
|
2314
|
+
/**
|
|
2315
|
+
* DO-NOT-USE in production.
|
|
2316
|
+
* This selector is created for internal/experimental only usage and may be
|
|
2317
|
+
* removed anytime without any warning, causing breakage on any plugin or theme invoking it.
|
|
2318
|
+
*
|
|
2319
|
+
* @param {Object} state Global application state.
|
|
2320
|
+
*/
|
|
2321
|
+
export function __unstableGetTemporarilyEditingFocusModeToRevert(state) {
|
|
2322
|
+
return state.temporarilyEditingFocusModeRevert;
|
|
2323
|
+
}
|
|
2287
2324
|
export function __unstableHasActiveBlockOverlayActive(state, clientId) {
|
|
2288
2325
|
// Prevent overlay on blocks with a non-default editing mode. If the mdoe is
|
|
2289
2326
|
// 'disabled' then the overlay is redundant since the block can't be
|