@wordpress/block-editor 12.17.0 → 12.18.1
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/dimensions-tool/aspect-ratio-tool.js +2 -1
- package/build/components/dimensions-tool/aspect-ratio-tool.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/dimensions-panel.js +30 -5
- package/build/components/global-styles/dimensions-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 +11 -8
- 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/global-styles/use-global-styles-output.js +6 -0
- package/build/components/global-styles/use-global-styles-output.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/dimensions.js +71 -1
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/effects.js +66 -0
- package/build/hooks/effects.js.map +1 -0
- package/build/hooks/index.js +17 -4
- 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 +9 -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 +12 -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/dimensions-tool/aspect-ratio-tool.js +2 -1
- package/build-module/components/dimensions-tool/aspect-ratio-tool.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/dimensions-panel.js +30 -5
- package/build-module/components/global-styles/dimensions-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 +11 -8
- 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/global-styles/use-global-styles-output.js +6 -0
- package/build-module/components/global-styles/use-global-styles-output.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/dimensions.js +70 -2
- package/build-module/hooks/dimensions.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 +5 -3
- 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 +9 -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 +14 -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/dimensions-tool/aspect-ratio-tool.js +4 -1
- 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/dimensions-panel.js +50 -1
- package/src/components/global-styles/effects-panel.js +16 -1
- package/src/components/global-styles/hooks.js +11 -6
- package/src/components/global-styles/typography-panel.js +45 -13
- package/src/components/global-styles/use-global-styles-output.js +6 -0
- 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/dimensions.js +74 -3
- package/src/hooks/effects.js +57 -0
- package/src/hooks/index.js +4 -2
- package/src/hooks/index.native.js +1 -0
- package/src/hooks/style.js +12 -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 +30 -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
package/src/store/actions.js
CHANGED
|
@@ -640,13 +640,15 @@ export function showInsertionPoint(
|
|
|
640
640
|
index,
|
|
641
641
|
__unstableOptions = {}
|
|
642
642
|
) {
|
|
643
|
-
const { __unstableWithInserter, operation } =
|
|
643
|
+
const { __unstableWithInserter, operation, nearestSide } =
|
|
644
|
+
__unstableOptions;
|
|
644
645
|
return {
|
|
645
646
|
type: 'SHOW_INSERTION_POINT',
|
|
646
647
|
rootClientId,
|
|
647
648
|
index,
|
|
648
649
|
__unstableWithInserter,
|
|
649
650
|
operation,
|
|
651
|
+
nearestSide,
|
|
650
652
|
};
|
|
651
653
|
}
|
|
652
654
|
/**
|
|
@@ -1679,20 +1681,23 @@ export function setBlockVisibility( updates ) {
|
|
|
1679
1681
|
}
|
|
1680
1682
|
|
|
1681
1683
|
/**
|
|
1682
|
-
* Action that sets whether a block is being
|
|
1684
|
+
* Action that sets whether a block is being temporarily edited as blocks.
|
|
1683
1685
|
*
|
|
1684
1686
|
* DO-NOT-USE in production.
|
|
1685
1687
|
* This action is created for internal/experimental only usage and may be
|
|
1686
1688
|
* removed anytime without any warning, causing breakage on any plugin or theme invoking it.
|
|
1687
1689
|
*
|
|
1688
|
-
* @param {?string} temporarilyEditingAsBlocks The block's clientId being
|
|
1690
|
+
* @param {?string} temporarilyEditingAsBlocks The block's clientId being temporarily edited as blocks.
|
|
1691
|
+
* @param {?string} focusModeToRevert The focus mode to revert after temporarily edit as blocks finishes.
|
|
1689
1692
|
*/
|
|
1690
1693
|
export function __unstableSetTemporarilyEditingAsBlocks(
|
|
1691
|
-
temporarilyEditingAsBlocks
|
|
1694
|
+
temporarilyEditingAsBlocks,
|
|
1695
|
+
focusModeToRevert
|
|
1692
1696
|
) {
|
|
1693
1697
|
return {
|
|
1694
1698
|
type: 'SET_TEMPORARILY_EDITING_AS_BLOCKS',
|
|
1695
1699
|
temporarilyEditingAsBlocks,
|
|
1700
|
+
focusModeToRevert,
|
|
1696
1701
|
};
|
|
1697
1702
|
}
|
|
1698
1703
|
|
package/src/store/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import reducer from './reducer';
|
|
|
10
10
|
import * as selectors from './selectors';
|
|
11
11
|
import * as privateActions from './private-actions';
|
|
12
12
|
import * as privateSelectors from './private-selectors';
|
|
13
|
+
import * as resolvers from './resolvers';
|
|
13
14
|
import * as actions from './actions';
|
|
14
15
|
import { STORE_NAME } from './constants';
|
|
15
16
|
import { unlock } from '../lock-unlock';
|
|
@@ -22,6 +23,7 @@ import { unlock } from '../lock-unlock';
|
|
|
22
23
|
export const storeConfig = {
|
|
23
24
|
reducer,
|
|
24
25
|
selectors,
|
|
26
|
+
resolvers,
|
|
25
27
|
actions,
|
|
26
28
|
};
|
|
27
29
|
|
|
@@ -338,3 +338,35 @@ export function setLastFocus( lastFocus = null ) {
|
|
|
338
338
|
lastFocus,
|
|
339
339
|
};
|
|
340
340
|
}
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* Action that stops temporarily editing as blocks.
|
|
344
|
+
*
|
|
345
|
+
* @param {string} clientId The block's clientId.
|
|
346
|
+
*/
|
|
347
|
+
export function stopEditingAsBlocks( clientId ) {
|
|
348
|
+
return ( { select, dispatch } ) => {
|
|
349
|
+
const focusModeToRevert =
|
|
350
|
+
select.__unstableGetTemporarilyEditingFocusModeToRevert();
|
|
351
|
+
dispatch.__unstableMarkNextChangeAsNotPersistent();
|
|
352
|
+
dispatch.updateBlockAttributes( clientId, {
|
|
353
|
+
templateLock: 'contentOnly',
|
|
354
|
+
} );
|
|
355
|
+
dispatch.updateBlockListSettings( clientId, {
|
|
356
|
+
...select.getBlockListSettings( clientId ),
|
|
357
|
+
templateLock: 'contentOnly',
|
|
358
|
+
} );
|
|
359
|
+
dispatch.updateSettings( { focusMode: focusModeToRevert } );
|
|
360
|
+
dispatch.__unstableSetTemporarilyEditingAsBlocks();
|
|
361
|
+
};
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
export function registerBlockBindingsSource( source ) {
|
|
365
|
+
return {
|
|
366
|
+
type: 'REGISTER_BLOCK_BINDINGS_SOURCE',
|
|
367
|
+
sourceName: source.name,
|
|
368
|
+
sourceLabel: source.label,
|
|
369
|
+
useSource: source.useSource,
|
|
370
|
+
lockAttributesEditing: source.lockAttributesEditing,
|
|
371
|
+
};
|
|
372
|
+
}
|
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import createSelector from 'rememo';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* WordPress dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { createRegistrySelector } from '@wordpress/data';
|
|
10
|
+
|
|
6
11
|
/**
|
|
7
12
|
* Internal dependencies
|
|
8
13
|
*/
|
|
@@ -11,11 +16,12 @@ import {
|
|
|
11
16
|
getBlockParents,
|
|
12
17
|
getBlockEditingMode,
|
|
13
18
|
getSettings,
|
|
14
|
-
__experimentalGetParsedPattern,
|
|
15
19
|
canInsertBlockType,
|
|
16
|
-
__experimentalGetAllowedPatterns,
|
|
17
20
|
} from './selectors';
|
|
18
|
-
import {
|
|
21
|
+
import { checkAllowListRecursive, getAllPatternsDependants } from './utils';
|
|
22
|
+
import { INSERTER_PATTERN_TYPES } from '../components/inserter/block-patterns-tab/utils';
|
|
23
|
+
import { store } from './';
|
|
24
|
+
import { unlock } from '../lock-unlock';
|
|
19
25
|
|
|
20
26
|
/**
|
|
21
27
|
* Returns true if the block interface is hidden, or false otherwise.
|
|
@@ -242,6 +248,10 @@ export const getInserterMediaCategories = createSelector(
|
|
|
242
248
|
]
|
|
243
249
|
);
|
|
244
250
|
|
|
251
|
+
export function getFetchedPatterns( state ) {
|
|
252
|
+
return state.blockPatterns;
|
|
253
|
+
}
|
|
254
|
+
|
|
245
255
|
/**
|
|
246
256
|
* Returns whether there is at least one allowed pattern for inner blocks children.
|
|
247
257
|
* This is useful for deferring the parsing of all patterns until needed.
|
|
@@ -251,35 +261,74 @@ export const getInserterMediaCategories = createSelector(
|
|
|
251
261
|
*
|
|
252
262
|
* @return {boolean} If there is at least one allowed pattern.
|
|
253
263
|
*/
|
|
254
|
-
export const hasAllowedPatterns =
|
|
255
|
-
(
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
264
|
+
export const hasAllowedPatterns = createRegistrySelector( ( select ) =>
|
|
265
|
+
createSelector(
|
|
266
|
+
( state, rootClientId = null ) => {
|
|
267
|
+
const { getAllPatterns, __experimentalGetParsedPattern } = unlock(
|
|
268
|
+
select( store )
|
|
269
|
+
);
|
|
270
|
+
const patterns = getAllPatterns();
|
|
271
|
+
const { allowedBlockTypes } = getSettings( state );
|
|
272
|
+
return patterns.some( ( { name, inserter = true } ) => {
|
|
261
273
|
if ( ! inserter ) {
|
|
262
274
|
return false;
|
|
263
275
|
}
|
|
264
|
-
const { blocks } = __experimentalGetParsedPattern(
|
|
265
|
-
state,
|
|
266
|
-
name
|
|
267
|
-
);
|
|
276
|
+
const { blocks } = __experimentalGetParsedPattern( name );
|
|
268
277
|
return (
|
|
269
278
|
checkAllowListRecursive( blocks, allowedBlockTypes ) &&
|
|
270
279
|
blocks.every( ( { name: blockName } ) =>
|
|
271
280
|
canInsertBlockType( state, blockName, rootClientId )
|
|
272
281
|
)
|
|
273
282
|
);
|
|
283
|
+
} );
|
|
284
|
+
},
|
|
285
|
+
( state, rootClientId ) => [
|
|
286
|
+
getAllPatternsDependants( state ),
|
|
287
|
+
state.settings.allowedBlockTypes,
|
|
288
|
+
state.settings.templateLock,
|
|
289
|
+
state.blockListSettings[ rootClientId ],
|
|
290
|
+
state.blocks.byClientId.get( rootClientId ),
|
|
291
|
+
]
|
|
292
|
+
)
|
|
293
|
+
);
|
|
294
|
+
|
|
295
|
+
export const getAllPatterns = createRegistrySelector( ( select ) =>
|
|
296
|
+
createSelector( ( state ) => {
|
|
297
|
+
// This setting is left for back compat.
|
|
298
|
+
const {
|
|
299
|
+
__experimentalBlockPatterns = [],
|
|
300
|
+
__experimentalUserPatternCategories = [],
|
|
301
|
+
__experimentalReusableBlocks = [],
|
|
302
|
+
} = state.settings;
|
|
303
|
+
const userPatterns = ( __experimentalReusableBlocks ?? [] ).map(
|
|
304
|
+
( userPattern ) => {
|
|
305
|
+
return {
|
|
306
|
+
name: `core/block/${ userPattern.id }`,
|
|
307
|
+
id: userPattern.id,
|
|
308
|
+
type: INSERTER_PATTERN_TYPES.user,
|
|
309
|
+
title: userPattern.title.raw,
|
|
310
|
+
categories: userPattern.wp_pattern_category.map(
|
|
311
|
+
( catId ) => {
|
|
312
|
+
const category = (
|
|
313
|
+
__experimentalUserPatternCategories ?? []
|
|
314
|
+
).find( ( { id } ) => id === catId );
|
|
315
|
+
return category ? category.slug : catId;
|
|
316
|
+
}
|
|
317
|
+
),
|
|
318
|
+
content: userPattern.content.raw,
|
|
319
|
+
syncStatus: userPattern.wp_pattern_sync_status,
|
|
320
|
+
};
|
|
274
321
|
}
|
|
275
322
|
);
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
323
|
+
return [
|
|
324
|
+
...userPatterns,
|
|
325
|
+
...__experimentalBlockPatterns,
|
|
326
|
+
...unlock( select( store ) ).getFetchedPatterns(),
|
|
327
|
+
].filter(
|
|
328
|
+
( x, index, arr ) =>
|
|
329
|
+
index === arr.findIndex( ( y ) => x.name === y.name )
|
|
330
|
+
);
|
|
331
|
+
}, getAllPatternsDependants )
|
|
283
332
|
);
|
|
284
333
|
|
|
285
334
|
/**
|
|
@@ -292,3 +341,11 @@ export const hasAllowedPatterns = createSelector(
|
|
|
292
341
|
export function getLastFocus( state ) {
|
|
293
342
|
return state.lastFocus;
|
|
294
343
|
}
|
|
344
|
+
|
|
345
|
+
export function getAllBlockBindingsSources( state ) {
|
|
346
|
+
return state.blockBindingsSources;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
export function getBlockBindingsSource( state, sourceName ) {
|
|
350
|
+
return state.blockBindingsSources[ sourceName ];
|
|
351
|
+
}
|
package/src/store/reducer.js
CHANGED
|
@@ -1599,13 +1599,19 @@ export function blocksMode( state = {}, action ) {
|
|
|
1599
1599
|
export function insertionPoint( state = null, action ) {
|
|
1600
1600
|
switch ( action.type ) {
|
|
1601
1601
|
case 'SHOW_INSERTION_POINT': {
|
|
1602
|
-
const {
|
|
1603
|
-
|
|
1602
|
+
const {
|
|
1603
|
+
rootClientId,
|
|
1604
|
+
index,
|
|
1605
|
+
__unstableWithInserter,
|
|
1606
|
+
operation,
|
|
1607
|
+
nearestSide,
|
|
1608
|
+
} = action;
|
|
1604
1609
|
const nextState = {
|
|
1605
1610
|
rootClientId,
|
|
1606
1611
|
index,
|
|
1607
1612
|
__unstableWithInserter,
|
|
1608
1613
|
operation,
|
|
1614
|
+
nearestSide,
|
|
1609
1615
|
};
|
|
1610
1616
|
|
|
1611
1617
|
// Bail out updates if the states are the same.
|
|
@@ -1906,6 +1912,21 @@ export function temporarilyEditingAsBlocks( state = '', action ) {
|
|
|
1906
1912
|
return state;
|
|
1907
1913
|
}
|
|
1908
1914
|
|
|
1915
|
+
/**
|
|
1916
|
+
* Reducer returning the focus mode that should be used when temporarily edit as blocks finishes.
|
|
1917
|
+
*
|
|
1918
|
+
* @param {Object} state Current state.
|
|
1919
|
+
* @param {Object} action Dispatched action.
|
|
1920
|
+
*
|
|
1921
|
+
* @return {Object} Updated state.
|
|
1922
|
+
*/
|
|
1923
|
+
export function temporarilyEditingFocusModeRevert( state = '', action ) {
|
|
1924
|
+
if ( action.type === 'SET_TEMPORARILY_EDITING_AS_BLOCKS' ) {
|
|
1925
|
+
return action.focusModeToRevert;
|
|
1926
|
+
}
|
|
1927
|
+
return state;
|
|
1928
|
+
}
|
|
1929
|
+
|
|
1909
1930
|
/**
|
|
1910
1931
|
* Reducer returning a map of block client IDs to block editing modes.
|
|
1911
1932
|
*
|
|
@@ -2002,6 +2023,29 @@ export function lastFocus( state = false, action ) {
|
|
|
2002
2023
|
return state;
|
|
2003
2024
|
}
|
|
2004
2025
|
|
|
2026
|
+
function blockBindingsSources( state = {}, action ) {
|
|
2027
|
+
if ( action.type === 'REGISTER_BLOCK_BINDINGS_SOURCE' ) {
|
|
2028
|
+
return {
|
|
2029
|
+
...state,
|
|
2030
|
+
[ action.sourceName ]: {
|
|
2031
|
+
label: action.sourceLabel,
|
|
2032
|
+
useSource: action.useSource,
|
|
2033
|
+
lockAttributesEditing: action.lockAttributesEditing,
|
|
2034
|
+
},
|
|
2035
|
+
};
|
|
2036
|
+
}
|
|
2037
|
+
return state;
|
|
2038
|
+
}
|
|
2039
|
+
|
|
2040
|
+
function blockPatterns( state = [], action ) {
|
|
2041
|
+
switch ( action.type ) {
|
|
2042
|
+
case 'RECEIVE_BLOCK_PATTERNS':
|
|
2043
|
+
return action.patterns;
|
|
2044
|
+
}
|
|
2045
|
+
|
|
2046
|
+
return state;
|
|
2047
|
+
}
|
|
2048
|
+
|
|
2005
2049
|
const combinedReducers = combineReducers( {
|
|
2006
2050
|
blocks,
|
|
2007
2051
|
isTyping,
|
|
@@ -2024,6 +2068,7 @@ const combinedReducers = combineReducers( {
|
|
|
2024
2068
|
highlightedBlock,
|
|
2025
2069
|
lastBlockInserted,
|
|
2026
2070
|
temporarilyEditingAsBlocks,
|
|
2071
|
+
temporarilyEditingFocusModeRevert,
|
|
2027
2072
|
blockVisibility,
|
|
2028
2073
|
blockEditingModes,
|
|
2029
2074
|
styleOverrides,
|
|
@@ -2031,6 +2076,8 @@ const combinedReducers = combineReducers( {
|
|
|
2031
2076
|
blockRemovalRules,
|
|
2032
2077
|
openedBlockSettingsMenu,
|
|
2033
2078
|
registeredInserterMediaCategories,
|
|
2079
|
+
blockBindingsSources,
|
|
2080
|
+
blockPatterns,
|
|
2034
2081
|
} );
|
|
2035
2082
|
|
|
2036
2083
|
function withAutomaticChangeReset( reducer ) {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const getFetchedPatterns =
|
|
2
|
+
() =>
|
|
3
|
+
async ( { dispatch, select } ) => {
|
|
4
|
+
const { __experimentalFetchBlockPatterns } = select.getSettings();
|
|
5
|
+
if ( ! __experimentalFetchBlockPatterns ) {
|
|
6
|
+
return [];
|
|
7
|
+
}
|
|
8
|
+
const patterns = await __experimentalFetchBlockPatterns();
|
|
9
|
+
dispatch( { type: 'RECEIVE_BLOCK_PATTERNS', patterns } );
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
getFetchedPatterns.shouldInvalidate = ( action ) => {
|
|
13
|
+
return (
|
|
14
|
+
action.type === 'UPDATE_SETTINGS' &&
|
|
15
|
+
!! action.settings.__experimentalFetchBlockPatterns
|
|
16
|
+
);
|
|
17
|
+
};
|