@wordpress/block-editor 10.2.0 → 10.4.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 +41 -0
- package/build/components/alignment-control/ui.js +1 -1
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/constants.js +1 -1
- package/build/components/block-alignment-control/constants.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +1 -1
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-compare/index.js +1 -3
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.js +4 -2
- package/build/components/block-draggable/draggable-chip.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-inspector/index.js +4 -4
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-list-compact.native.js +1 -0
- package/build/components/block-list/block-list-compact.native.js.map +1 -1
- package/build/components/block-list/block.js +75 -15
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +79 -12
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +7 -23
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-lock/modal.js +9 -6
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-parent-selector/index.js +3 -3
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-patterns-list/index.js +5 -4
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-popover/drop-zone.js +85 -0
- package/build/components/block-popover/drop-zone.js.map +1 -0
- package/build/components/block-popover/inbetween.js +2 -1
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +4 -2
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/auto.js +2 -2
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-preview/index.js +8 -13
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-preview/live.js +3 -7
- package/build/components/block-preview/live.js.map +1 -1
- package/build/components/block-selection-clearer/index.js +9 -1
- package/build/components/block-selection-clearer/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +19 -19
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-styles/index.js +18 -42
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-switcher/index.js +2 -8
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/preview-block-popover.js +1 -1
- package/build/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build/components/block-toolbar/index.js +4 -4
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/back-compat.js +2 -1
- package/build/components/block-tools/back-compat.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +56 -16
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +15 -3
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +1 -1
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/all-input-control.js +2 -1
- package/build/components/border-radius-control/all-input-control.js.map +1 -1
- package/build/components/border-radius-control/index.js +2 -1
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +2 -1
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/colors-gradients/control.js +1 -1
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +2 -2
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/duotone-control/index.js +1 -1
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/font-sizes/fluid-utils.js +256 -0
- package/build/components/font-sizes/fluid-utils.js.map +1 -0
- package/build/components/font-sizes/index.js +8 -0
- package/build/components/font-sizes/index.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +1 -1
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/iframe/index.js +1 -1
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/constants.js +1 -1
- package/build/components/image-editor/constants.js.map +1 -1
- package/build/components/index.js +0 -9
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +6 -2
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/use-inner-block-template-sync.js +3 -2
- package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +151 -78
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js +2 -7
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/menu.js +14 -3
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/search-items.js +23 -2
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +4 -2
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/line-height-control/index.js +2 -1
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +2 -1
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +1 -14
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/media-replace-flow/index.js +1 -1
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/preview-options/index.js +2 -3
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.js +1 -1
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +1 -1
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +1 -1
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/spacing-sizes-control/all-input-control.js +6 -2
- package/build/components/spacing-sizes-control/all-input-control.js.map +1 -1
- package/build/components/spacing-sizes-control/axial-input-controls.js +6 -2
- package/build/components/spacing-sizes-control/axial-input-controls.js.map +1 -1
- package/build/components/spacing-sizes-control/index.js +6 -2
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls.js +6 -2
- package/build/components/spacing-sizes-control/input-controls.js.map +1 -1
- package/build/components/spacing-sizes-control/spacing-input-control.js +45 -8
- package/build/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
- package/build/components/url-input/index.js +1 -1
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +98 -57
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +12 -12
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-on-block-drop/types.js +6 -0
- package/build/components/use-on-block-drop/types.js.map +1 -0
- package/build/hooks/align.js +1 -3
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/align.native.js +1 -7
- package/build/hooks/align.native.js.map +1 -1
- package/build/hooks/border.js +1 -0
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/dimensions.js +32 -4
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/font-size.js +61 -0
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/layout.js +4 -3
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/margin.js +24 -17
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +20 -12
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/style.js +126 -4
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/use-typography-props.js +17 -3
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/hooks/utils.js +8 -7
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/constrained.js +0 -1
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/flex.js +1 -1
- package/build/layouts/flex.js.map +1 -1
- package/build/store/actions.js +63 -45
- package/build/store/actions.js.map +1 -1
- package/build/store/array.js +1 -7
- package/build/store/array.js.map +1 -1
- package/build/store/defaults.js +3 -0
- package/build/store/defaults.js.map +1 -1
- package/build/store/reducer.js +31 -15
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +46 -29
- package/build/store/selectors.js.map +1 -1
- package/build/utils/math.js +14 -0
- package/build/utils/math.js.map +1 -1
- package/build/utils/pre-parse-patterns.js +19 -2
- package/build/utils/pre-parse-patterns.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +1 -1
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/constants.js +1 -1
- package/build-module/components/block-alignment-control/constants.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-compare/index.js +2 -3
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.js +7 -3
- package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
- package/build-module/components/block-edit/index.js +4 -2
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +4 -4
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-list-compact.native.js +1 -0
- package/build-module/components/block-list/block-list-compact.native.js.map +1 -1
- package/build-module/components/block-list/block.js +75 -15
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +80 -13
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +8 -24
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-lock/modal.js +10 -8
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js +3 -3
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +5 -4
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-popover/drop-zone.js +70 -0
- package/build-module/components/block-popover/drop-zone.js.map +1 -0
- package/build-module/components/block-popover/inbetween.js +2 -1
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +4 -2
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js +1 -1
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-preview/index.js +8 -12
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-preview/live.js +3 -6
- package/build-module/components/block-preview/live.js.map +1 -1
- package/build-module/components/block-selection-clearer/index.js +9 -1
- package/build-module/components/block-selection-clearer/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +20 -19
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-styles/index.js +19 -44
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-switcher/index.js +2 -7
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +4 -4
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/back-compat.js +2 -1
- package/build-module/components/block-tools/back-compat.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +54 -16
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +15 -3
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/all-input-control.js +2 -1
- package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +2 -1
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +2 -1
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +2 -2
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +3 -3
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/duotone-control/index.js +1 -1
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/font-sizes/fluid-utils.js +245 -0
- package/build-module/components/font-sizes/fluid-utils.js.map +1 -0
- package/build-module/components/font-sizes/index.js +1 -0
- package/build-module/components/font-sizes/index.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +2 -2
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/iframe/index.js +1 -1
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/constants.js +1 -1
- package/build-module/components/image-editor/constants.js.map +1 -1
- package/build-module/components/index.js +0 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +6 -2
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js +3 -2
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +148 -81
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js +2 -6
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/menu.js +10 -3
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/search-items.js +23 -3
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +4 -2
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +2 -1
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +2 -1
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +1 -14
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +1 -1
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/preview-options/index.js +2 -3
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +1 -1
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/spacing-sizes-control/all-input-control.js +6 -2
- package/build-module/components/spacing-sizes-control/all-input-control.js.map +1 -1
- package/build-module/components/spacing-sizes-control/axial-input-controls.js +6 -2
- package/build-module/components/spacing-sizes-control/axial-input-controls.js.map +1 -1
- package/build-module/components/spacing-sizes-control/index.js +6 -2
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls.js +6 -2
- package/build-module/components/spacing-sizes-control/input-controls.js.map +1 -1
- package/build-module/components/spacing-sizes-control/spacing-input-control.js +44 -8
- package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
- package/build-module/components/url-input/index.js +1 -1
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +98 -58
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +12 -12
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/types.js +2 -0
- package/build-module/components/use-on-block-drop/types.js.map +1 -0
- package/build-module/hooks/align.js +1 -2
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/align.native.js +1 -6
- package/build-module/hooks/align.native.js.map +1 -1
- package/build-module/hooks/border.js +1 -0
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/dimensions.js +32 -4
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/font-size.js +60 -1
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/layout.js +5 -4
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/margin.js +25 -18
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +21 -13
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/style.js +124 -3
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +17 -4
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/hooks/utils.js +8 -8
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/constrained.js +0 -1
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/flex.js +1 -1
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/store/actions.js +59 -42
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/array.js +1 -6
- package/build-module/store/array.js.map +1 -1
- package/build-module/store/defaults.js +3 -0
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/reducer.js +32 -16
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +47 -30
- package/build-module/store/selectors.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/pre-parse-patterns.js +19 -2
- package/build-module/utils/pre-parse-patterns.js.map +1 -1
- package/build-style/style-rtl.css +292 -206
- package/build-style/style.css +288 -202
- package/package.json +29 -28
- package/src/components/alignment-control/ui.js +1 -1
- package/src/components/block-alignment-control/constants.js +1 -1
- package/src/components/block-alignment-matrix-control/index.js +1 -1
- package/src/components/block-breadcrumb/test/__snapshots__/index.js.snap +13 -11
- package/src/components/block-breadcrumb/test/index.js +2 -2
- package/src/components/block-compare/index.js +3 -2
- package/src/components/block-draggable/draggable-chip.js +4 -2
- package/src/components/block-edit/index.js +2 -1
- package/src/components/block-inspector/index.js +8 -7
- package/src/components/block-list/block-list-compact.native.js +1 -0
- package/src/components/block-list/block.js +113 -7
- package/src/components/block-list/block.native.js +123 -9
- package/src/components/block-list/style.scss +93 -126
- package/src/components/block-list/use-in-between-inserter.js +8 -19
- package/src/components/block-lock/modal.js +12 -7
- package/src/components/block-mover/stories/index.js +1 -1
- package/src/components/block-mover/style.scss +35 -1
- package/src/components/block-parent-selector/index.js +3 -3
- package/src/components/block-patterns-list/index.js +9 -5
- package/src/components/block-patterns-list/style.scss +7 -3
- package/src/components/block-popover/README.md +8 -0
- package/src/components/block-popover/drop-zone.js +63 -0
- package/src/components/block-popover/inbetween.js +1 -0
- package/src/components/block-popover/index.js +3 -1
- package/src/components/block-popover/style.scss +17 -5
- package/src/components/block-preview/auto.js +1 -1
- package/src/components/block-preview/index.js +15 -11
- package/src/components/block-preview/live.js +2 -7
- package/src/components/block-preview/test/index.js +1 -7
- package/src/components/block-selection-clearer/index.js +7 -2
- package/src/components/block-selection-clearer/test/index.js +118 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +29 -18
- package/src/components/block-settings-menu/test/block-mode-toggle.js +17 -17
- package/src/components/block-styles/index.js +26 -49
- package/src/components/block-switcher/index.js +2 -7
- package/src/components/block-switcher/preview-block-popover.js +1 -1
- package/src/components/block-switcher/test/index.js +2 -2
- package/src/components/block-toolbar/index.js +4 -6
- package/src/components/block-toolbar/style.scss +38 -14
- package/src/components/block-tools/back-compat.js +1 -0
- package/src/components/block-tools/insertion-point.js +49 -15
- package/src/components/block-tools/selected-block-popover.js +14 -1
- package/src/components/block-variation-picker/README.md +1 -1
- package/src/components/block-vertical-alignment-control/ui.js +1 -1
- package/src/components/border-radius-control/all-input-control.js +1 -0
- package/src/components/border-radius-control/index.js +1 -0
- package/src/components/border-radius-control/input-controls.js +1 -0
- package/src/components/border-radius-control/style.scss +15 -24
- package/src/components/button-block-appender/style.scss +4 -2
- package/src/components/color-palette/test/__snapshots__/control.js.snap +86 -104
- package/src/components/color-palette/test/control.js +11 -15
- package/src/components/colors-gradients/control.js +2 -2
- package/src/components/colors-gradients/panel-color-gradient-settings.js +3 -4
- package/src/components/colors-gradients/test/control.js +49 -77
- package/src/components/duotone-control/index.js +1 -1
- package/src/components/font-sizes/fluid-utils.js +296 -0
- package/src/components/font-sizes/index.js +1 -0
- package/src/components/font-sizes/test/fluid-utils.js +168 -0
- package/src/components/font-sizes/with-font-sizes.js +2 -3
- package/src/components/iframe/index.js +1 -1
- package/src/components/image-editor/constants.js +1 -1
- package/src/components/image-size-control/test/index.js +47 -60
- package/src/components/index.js +0 -1
- package/src/components/inner-blocks/index.js +5 -1
- package/src/components/inner-blocks/test/index.js +4 -0
- package/src/components/inner-blocks/use-inner-block-template-sync.js +3 -2
- package/src/components/inserter/block-patterns-tab.js +232 -98
- package/src/components/inserter/hooks/use-insertion-point.js +3 -11
- package/src/components/inserter/menu.js +15 -2
- package/src/components/inserter/search-items.js +23 -3
- package/src/components/inserter/style.scss +94 -9
- package/src/components/inserter/test/reusable-blocks-tab.js +6 -6
- package/src/components/inserter/test/search-items.js +6 -0
- package/src/components/inserter-draggable-blocks/index.js +12 -2
- package/src/components/inserter-list-item/style.scss +22 -1
- package/src/components/letter-spacing-control/README.md +55 -0
- package/src/components/line-height-control/index.js +1 -0
- package/src/components/link-control/README.md +3 -3
- package/src/components/link-control/test/index.js +1 -1
- package/src/components/list-view/drop-indicator.js +1 -0
- package/src/components/list-view/style.scss +1 -36
- package/src/components/list-view/use-list-view-drop-zone.js +4 -18
- package/src/components/media-replace-flow/index.js +1 -1
- package/src/components/media-replace-flow/test/index.js +69 -51
- package/src/components/panel-color-settings/test/index.js +4 -4
- package/src/components/preview-options/index.js +2 -2
- package/src/components/preview-options/style.scss +1 -1
- package/src/components/provider/test/use-block-sync.js +131 -165
- package/src/components/responsive-block-control/test/index.js +4 -4
- package/src/components/rich-text/format-toolbar/index.js +1 -1
- package/src/components/rich-text/format-toolbar-container.js +1 -1
- package/src/components/rich-text/use-paste-handler.js +1 -1
- package/src/components/spacing-sizes-control/all-input-control.js +4 -0
- package/src/components/spacing-sizes-control/axial-input-controls.js +4 -0
- package/src/components/spacing-sizes-control/index.js +4 -0
- package/src/components/spacing-sizes-control/input-controls.js +4 -0
- package/src/components/spacing-sizes-control/spacing-input-control.js +26 -3
- package/src/components/spacing-sizes-control/style.scss +27 -19
- package/src/components/url-input/index.js +1 -1
- package/src/components/use-block-drop-zone/index.js +136 -79
- package/src/components/use-block-drop-zone/test/index.js +333 -81
- package/src/components/use-on-block-drop/index.js +11 -12
- package/src/components/use-on-block-drop/types.ts +1 -0
- package/src/hooks/align.js +3 -2
- package/src/hooks/align.native.js +5 -8
- package/src/hooks/border.js +1 -0
- package/src/hooks/dimensions.js +32 -5
- package/src/hooks/font-size.js +76 -0
- package/src/hooks/layout.js +7 -9
- package/src/hooks/margin.js +20 -14
- package/src/hooks/padding.js +20 -16
- package/src/hooks/style.js +122 -3
- package/src/hooks/test/align.js +96 -72
- package/src/hooks/test/style.js +206 -1
- package/src/hooks/test/use-typography-props.js +22 -0
- package/src/hooks/use-typography-props.js +18 -3
- package/src/hooks/utils.js +10 -7
- package/src/layouts/constrained.js +0 -1
- package/src/layouts/flex.js +1 -1
- package/src/store/actions.js +24 -12
- package/src/store/array.js +1 -6
- package/src/store/defaults.js +3 -0
- package/src/store/reducer.js +31 -24
- package/src/store/selectors.js +28 -21
- package/src/store/test/actions.js +0 -9
- package/src/store/test/selectors.js +1 -1
- package/src/utils/math.js +17 -0
- package/src/utils/pre-parse-patterns.js +12 -7
- package/build/components/inserter/pattern-panel.js +0 -87
- package/build/components/inserter/pattern-panel.js.map +0 -1
- package/build-module/components/inserter/pattern-panel.js +0 -74
- package/build-module/components/inserter/pattern-panel.js.map +0 -1
- package/src/components/inserter/pattern-panel.js +0 -93
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-styles/index.js"],"names":["classnames","useState","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-styles/index.js"],"names":["classnames","useState","debounce","useViewportMatch","Button","__experimentalTruncate","Truncate","Popover","deprecated","BlockStylesPreviewPanel","useStylesForBlocks","noop","BlockStyles","clientId","onSwitch","onHoverClassName","onSelect","stylesToRender","activeStyle","genericPreviewBlock","className","previewClassName","hoveredStyle","setHoveredStyle","isMobileViewport","length","debouncedSetHoveredStyle","onSelectStylePreview","style","cancel","styleItemHandler","item","name","map","buttonText","label","Slot","version","since"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,QAAT,EAAmBC,gBAAnB,QAA2C,oBAA3C;AACA,SACCC,MADD,EAECC,sBAAsB,IAAIC,QAF3B,EAGCC,OAHD,QAIO,uBAJP;AAKA,OAAOC,UAAP,MAAuB,uBAAvB;AAEA;AACA;AACA;;AACA,OAAOC,uBAAP,MAAoC,iBAApC;AACA,OAAOC,kBAAP,MAA+B,wBAA/B;;AAEA,MAAMC,IAAI,GAAG,MAAM,CAAE,CAArB,C,CAEA;;;AACA,SAASC,WAAT,OAA+E;AAAA,MAAzD;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,QAAQ,GAAGH,IAAvB;AAA6BI,IAAAA,gBAAgB,GAAGJ;AAAhD,GAAyD;AAC9E,QAAM;AACLK,IAAAA,QADK;AAELC,IAAAA,cAFK;AAGLC,IAAAA,WAHK;AAILC,IAAAA,mBAJK;AAKLC,IAAAA,SAAS,EAAEC;AALN,MAMFX,kBAAkB,CAAE;AACvBG,IAAAA,QADuB;AAEvBC,IAAAA;AAFuB,GAAF,CANtB;AAUA,QAAM,CAAEQ,YAAF,EAAgBC,eAAhB,IAAoCtB,QAAQ,CAAE,IAAF,CAAlD;AACA,QAAMuB,gBAAgB,GAAGrB,gBAAgB,CAAE,QAAF,EAAY,GAAZ,CAAzC;;AAEA,MAAK,CAAEc,cAAF,IAAoBA,cAAc,CAACQ,MAAf,KAA0B,CAAnD,EAAuD;AACtD,WAAO,IAAP;AACA;;AAED,QAAMC,wBAAwB,GAAGxB,QAAQ,CAAEqB,eAAF,EAAmB,GAAnB,CAAzC;;AAEA,QAAMI,oBAAoB,GAAKC,KAAF,IAAa;AACzCZ,IAAAA,QAAQ,CAAEY,KAAF,CAAR;AACAb,IAAAA,gBAAgB,CAAE,IAAF,CAAhB;AACAQ,IAAAA,eAAe,CAAE,IAAF,CAAf;AACAG,IAAAA,wBAAwB,CAACG,MAAzB;AACA,GALD;;AAOA,QAAMC,gBAAgB,GAAKC,IAAF,IAAY;AAAA;;AACpC,QAAKT,YAAY,KAAKS,IAAtB,EAA6B;AAC5BL,MAAAA,wBAAwB,CAACG,MAAzB;AACA;AACA;;AACDH,IAAAA,wBAAwB,CAAEK,IAAF,CAAxB;AACAhB,IAAAA,gBAAgB,eAAEgB,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEC,IAAR,mDAAgB,IAAhB,CAAhB;AACA,GAPD;;AASA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGf,cAAc,CAACgB,GAAf,CAAsBL,KAAF,IAAa;AAClC,UAAMM,UAAU,GAAGN,KAAK,CAACO,KAAN,IAAeP,KAAK,CAACI,IAAxC;AAEA,WACC,cAAC,MAAD;AACC,MAAA,SAAS,EAAGhC,UAAU,CACrB,iCADqB,EAErB;AACC,qBACCkB,WAAW,CAACc,IAAZ,KAAqBJ,KAAK,CAACI;AAF7B,OAFqB,CADvB;AAQC,MAAA,GAAG,EAAGJ,KAAK,CAACI,IARb;AASC,MAAA,OAAO,EAAC,WATT;AAUC,MAAA,KAAK,EAAGE,UAVT;AAWC,MAAA,YAAY,EAAG,MAAMJ,gBAAgB,CAAEF,KAAF,CAXtC;AAYC,MAAA,OAAO,EAAG,MAAME,gBAAgB,CAAEF,KAAF,CAZjC;AAaC,MAAA,YAAY,EAAG,MAAME,gBAAgB,CAAE,IAAF,CAbtC;AAcC,MAAA,MAAM,EAAG,MAAMA,gBAAgB,CAAE,IAAF,CAdhC;AAeC,MAAA,OAAO,EAAG,MAAMH,oBAAoB,CAAEC,KAAF,CAfrC;AAgBC,sBAAeV,WAAW,CAACc,IAAZ,KAAqBJ,KAAK,CAACI;AAhB3C,OAkBC,cAAC,QAAD;AACC,MAAA,aAAa,EAAG,CADjB;AAEC,MAAA,SAAS,EAAC;AAFX,OAIGE,UAJH,CAlBD,CADD;AA2BA,GA9BC,CADH,CADD,EAkCGZ,YAAY,IAAI,CAAEE,gBAAlB,IACD,cAAC,OAAD;AAAS,IAAA,SAAS,EAAC,YAAnB;AAAgC,IAAA,MAAM,EAAG;AAAzC,KACC;AACC,IAAA,SAAS,EAAC,0CADX;AAEC,IAAA,YAAY,EAAG,MAAMM,gBAAgB,CAAE,IAAF;AAFtC,KAIC,cAAC,uBAAD;AACC,IAAA,WAAW,EAAGZ,WADf;AAEC,IAAA,SAAS,EAAGG,gBAFb;AAGC,IAAA,mBAAmB,EAAGF,mBAHvB;AAIC,IAAA,KAAK,EAAGG;AAJT,IAJD,CADD,CAnCF,CADD;AAoDA;;AAED,eAAeV,WAAf;;AAEAA,WAAW,CAACwB,IAAZ,GAAmB,MAAM;AACxB5B,EAAAA,UAAU,CAAE,kBAAF,EAAsB;AAC/B6B,IAAAA,OAAO,EAAE,KADsB;AAE/BC,IAAAA,KAAK,EAAE;AAFwB,GAAtB,CAAV;AAKA,SAAO,IAAP;AACA,CAPD","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { debounce, useViewportMatch } from '@wordpress/compose';\nimport {\n\tButton,\n\t__experimentalTruncate as Truncate,\n\tPopover,\n} from '@wordpress/components';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport BlockStylesPreviewPanel from './preview-panel';\nimport useStylesForBlocks from './use-styles-for-block';\n\nconst noop = () => {};\n\n// Block Styles component for the Settings Sidebar.\nfunction BlockStyles( { clientId, onSwitch = noop, onHoverClassName = noop } ) {\n\tconst {\n\t\tonSelect,\n\t\tstylesToRender,\n\t\tactiveStyle,\n\t\tgenericPreviewBlock,\n\t\tclassName: previewClassName,\n\t} = useStylesForBlocks( {\n\t\tclientId,\n\t\tonSwitch,\n\t} );\n\tconst [ hoveredStyle, setHoveredStyle ] = useState( null );\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\tif ( ! stylesToRender || stylesToRender.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst debouncedSetHoveredStyle = debounce( setHoveredStyle, 250 );\n\n\tconst onSelectStylePreview = ( style ) => {\n\t\tonSelect( style );\n\t\tonHoverClassName( null );\n\t\tsetHoveredStyle( null );\n\t\tdebouncedSetHoveredStyle.cancel();\n\t};\n\n\tconst styleItemHandler = ( item ) => {\n\t\tif ( hoveredStyle === item ) {\n\t\t\tdebouncedSetHoveredStyle.cancel();\n\t\t\treturn;\n\t\t}\n\t\tdebouncedSetHoveredStyle( item );\n\t\tonHoverClassName( item?.name ?? null );\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-block-styles\">\n\t\t\t<div className=\"block-editor-block-styles__variants\">\n\t\t\t\t{ stylesToRender.map( ( style ) => {\n\t\t\t\t\tconst buttonText = style.label || style.name;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-block-styles__item',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-active':\n\t\t\t\t\t\t\t\t\t\tactiveStyle.name === style.name,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tkey={ style.name }\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tlabel={ buttonText }\n\t\t\t\t\t\t\tonMouseEnter={ () => styleItemHandler( style ) }\n\t\t\t\t\t\t\tonFocus={ () => styleItemHandler( style ) }\n\t\t\t\t\t\t\tonMouseLeave={ () => styleItemHandler( null ) }\n\t\t\t\t\t\t\tonBlur={ () => styleItemHandler( null ) }\n\t\t\t\t\t\t\tonClick={ () => onSelectStylePreview( style ) }\n\t\t\t\t\t\t\taria-current={ activeStyle.name === style.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Truncate\n\t\t\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-block-styles__item-text\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ buttonText }\n\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t\t{ hoveredStyle && ! isMobileViewport && (\n\t\t\t\t<Popover placement=\"left-start\" offset={ 20 }>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"block-editor-block-styles__preview-panel\"\n\t\t\t\t\t\tonMouseLeave={ () => styleItemHandler( null ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockStylesPreviewPanel\n\t\t\t\t\t\t\tactiveStyle={ activeStyle }\n\t\t\t\t\t\t\tclassName={ previewClassName }\n\t\t\t\t\t\t\tgenericPreviewBlock={ genericPreviewBlock }\n\t\t\t\t\t\t\tstyle={ hoveredStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default BlockStyles;\n\nBlockStyles.Slot = () => {\n\tdeprecated( 'BlockStyles.Slot', {\n\t\tversion: '6.4',\n\t\tsince: '6.2',\n\t} );\n\n\treturn null;\n};\n"]}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import { createElement, Fragment } from "@wordpress/element";
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
* External dependencies
|
|
5
|
-
*/
|
|
6
|
-
import { castArray } from 'lodash';
|
|
7
3
|
/**
|
|
8
4
|
* WordPress dependencies
|
|
9
5
|
*/
|
|
10
|
-
|
|
11
6
|
import { __, _n, sprintf } from '@wordpress/i18n';
|
|
12
7
|
import { DropdownMenu, ToolbarButton, ToolbarGroup, ToolbarItem } from '@wordpress/components';
|
|
13
8
|
import { switchToBlockType, store as blocksStore, isReusableBlock, isTemplatePart } from '@wordpress/blocks';
|
|
@@ -52,7 +47,7 @@ export const BlockSwitcherDropdownMenu = _ref => {
|
|
|
52
47
|
const {
|
|
53
48
|
canRemoveBlocks
|
|
54
49
|
} = select(blockEditorStore);
|
|
55
|
-
const rootClientId = getBlockRootClientId(
|
|
50
|
+
const rootClientId = getBlockRootClientId(Array.isArray(clientIds) ? clientIds[0] : clientIds);
|
|
56
51
|
const [{
|
|
57
52
|
name: firstBlockName
|
|
58
53
|
}] = blocks;
|
|
@@ -134,7 +129,7 @@ export const BlockSwitcherDropdownMenu = _ref => {
|
|
|
134
129
|
label: blockSwitcherLabel,
|
|
135
130
|
popoverProps: {
|
|
136
131
|
position: 'bottom right',
|
|
137
|
-
|
|
132
|
+
variant: 'toolbar',
|
|
138
133
|
className: 'block-editor-block-switcher__popover'
|
|
139
134
|
},
|
|
140
135
|
icon: createElement(Fragment, null, createElement(BlockIcon, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-switcher/index.js"],"names":["castArray","__","_n","sprintf","DropdownMenu","ToolbarButton","ToolbarGroup","ToolbarItem","switchToBlockType","store","blocksStore","isReusableBlock","isTemplatePart","useSelect","useDispatch","copy","blockEditorStore","useBlockDisplayInformation","BlockIcon","BlockTransformationsMenu","BlockStylesMenu","PatternTransformationsMenu","useBlockDisplayTitle","BlockSwitcherDropdownMenu","clientIds","blocks","replaceBlocks","blockInformation","clientId","possibleBlockTransformations","canRemove","hasBlockStyles","icon","patterns","select","getBlockRootClientId","getBlockTransformItems","__experimentalGetPatternTransformItems","getBlockStyles","getBlockType","canRemoveBlocks","rootClientId","name","firstBlockName","_isSingleBlockSelected","length","styles","_icon","isSelectionOfSameType","Set","map","size","blockTitle","Array","isArray","maximumLength","isReusable","isTemplate","onBlockTransform","onPatternTransform","transformedBlocks","hasPossibleBlockTransformations","hasPatternTransformation","blockSwitcherLabel","blockSwitcherDescription","showDropDown","toggleProps","position","isAlternate","className","describedBy","orientation","onClose","BlockSwitcher","getBlocksByClientId","some","block"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { castArray } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tToolbarButton,\n\tToolbarGroup,\n\tToolbarItem,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tstore as blocksStore,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport BlockIcon from '../block-icon';\nimport BlockTransformationsMenu from './block-transformations-menu';\nimport BlockStylesMenu from './block-styles-menu';\nimport PatternTransformationsMenu from './pattern-transformations-menu';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nexport const BlockSwitcherDropdownMenu = ( { clientIds, blocks } ) => {\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst blockInformation = useBlockDisplayInformation( blocks[ 0 ].clientId );\n\tconst {\n\t\tpossibleBlockTransformations,\n\t\tcanRemove,\n\t\thasBlockStyles,\n\t\ticon,\n\t\tpatterns,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockTransformItems,\n\t\t\t\t__experimentalGetPatternTransformItems,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockStyles, getBlockType } = select( blocksStore );\n\t\t\tconst { canRemoveBlocks } = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId(\n\t\t\t\tcastArray( clientIds )[ 0 ]\n\t\t\t);\n\t\t\tconst [ { name: firstBlockName } ] = blocks;\n\t\t\tconst _isSingleBlockSelected = blocks.length === 1;\n\t\t\tconst styles =\n\t\t\t\t_isSingleBlockSelected && getBlockStyles( firstBlockName );\n\t\t\tlet _icon;\n\t\t\tif ( _isSingleBlockSelected ) {\n\t\t\t\t_icon = blockInformation?.icon; // Take into account active block variations.\n\t\t\t} else {\n\t\t\t\tconst isSelectionOfSameType =\n\t\t\t\t\tnew Set( blocks.map( ( { name } ) => name ) ).size === 1;\n\t\t\t\t// When selection consists of blocks of multiple types, display an\n\t\t\t\t// appropriate icon to communicate the non-uniformity.\n\t\t\t\t_icon = isSelectionOfSameType\n\t\t\t\t\t? getBlockType( firstBlockName )?.icon\n\t\t\t\t\t: copy;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\tblocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds, rootClientId ),\n\t\t\t\thasBlockStyles: !! styles?.length,\n\t\t\t\ticon: _icon,\n\t\t\t\tpatterns: __experimentalGetPatternTransformItems(\n\t\t\t\t\tblocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds, blocks, blockInformation?.icon ]\n\t);\n\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: Array.isArray( clientIds ) ? clientIds[ 0 ] : clientIds,\n\t\tmaximumLength: 35,\n\t} );\n\tconst isReusable = blocks.length === 1 && isReusableBlock( blocks[ 0 ] );\n\tconst isTemplate = blocks.length === 1 && isTemplatePart( blocks[ 0 ] );\n\n\t// Simple block tranformation based on the `Block Transforms` API.\n\tconst onBlockTransform = ( name ) =>\n\t\treplaceBlocks( clientIds, switchToBlockType( blocks, name ) );\n\t// Pattern transformation through the `Patterns` API.\n\tconst onPatternTransform = ( transformedBlocks ) =>\n\t\treplaceBlocks( clientIds, transformedBlocks );\n\n\t/**\n\t * The `isTemplate` check is a stopgap solution here.\n\t * Ideally, the Transforms API should handle this\n\t * by allowing to exclude blocks from wildcard transformations.\n\t */\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations.length && canRemove && ! isTemplate;\n\tconst hasPatternTransformation = !! patterns?.length && canRemove;\n\tif ( ! hasBlockStyles && ! hasPossibleBlockTransformations ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tdisabled\n\t\t\t\t\tclassName=\"block-editor-block-switcher__no-switcher-icon\"\n\t\t\t\t\ttitle={ blockTitle }\n\t\t\t\t\ticon={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t\t\t\t\t{ ( isReusable || isTemplate ) && (\n\t\t\t\t\t\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tconst blockSwitcherLabel = blockTitle;\n\n\tconst blockSwitcherDescription =\n\t\t1 === blocks.length\n\t\t\t? sprintf(\n\t\t\t\t\t/* translators: %s: block title. */\n\t\t\t\t\t__( '%s: Change block type or style' ),\n\t\t\t\t\tblockTitle\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: %d: number of blocks. */\n\t\t\t\t\t_n(\n\t\t\t\t\t\t'Change type of %d block',\n\t\t\t\t\t\t'Change type of %d blocks',\n\t\t\t\t\t\tblocks.length\n\t\t\t\t\t),\n\t\t\t\t\tblocks.length\n\t\t\t );\n\n\tconst showDropDown =\n\t\thasBlockStyles ||\n\t\thasPossibleBlockTransformations ||\n\t\thasPatternTransformation;\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarItem>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tclassName=\"block-editor-block-switcher\"\n\t\t\t\t\t\tlabel={ blockSwitcherLabel }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tposition: 'bottom right',\n\t\t\t\t\t\t\tisAlternate: true,\n\t\t\t\t\t\t\tclassName: 'block-editor-block-switcher__popover',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ ( isReusable || isTemplate ) && (\n\t\t\t\t\t\t\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tdescribedBy: blockSwitcherDescription,\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmenuProps={ { orientation: 'both' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) =>\n\t\t\t\t\t\t\tshowDropDown && (\n\t\t\t\t\t\t\t\t<div className=\"block-editor-block-switcher__container\">\n\t\t\t\t\t\t\t\t\t{ hasPatternTransformation && (\n\t\t\t\t\t\t\t\t\t\t<PatternTransformationsMenu\n\t\t\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\t\t\t\t\t\tonSelect={ (\n\t\t\t\t\t\t\t\t\t\t\t\ttransformedBlocks\n\t\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\t\tonPatternTransform(\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransformedBlocks\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ hasPossibleBlockTransformations && (\n\t\t\t\t\t\t\t\t\t\t<BlockTransformationsMenu\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__transforms__menugroup\"\n\t\t\t\t\t\t\t\t\t\t\tpossibleBlockTransformations={\n\t\t\t\t\t\t\t\t\t\t\t\tpossibleBlockTransformations\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\t\t\tonSelect={ ( name ) => {\n\t\t\t\t\t\t\t\t\t\t\t\tonBlockTransform( name );\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t\t\t\t\t<BlockStylesMenu\n\t\t\t\t\t\t\t\t\t\t\thoveredBlock={ blocks[ 0 ] }\n\t\t\t\t\t\t\t\t\t\t\tonSwitch={ onClose }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t</ToolbarGroup>\n\t);\n};\n\nexport const BlockSwitcher = ( { clientIds } ) => {\n\tconst blocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocksByClientId( clientIds ),\n\t\t[ clientIds ]\n\t);\n\n\tif ( ! blocks.length || blocks.some( ( block ) => ! block ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockSwitcherDropdownMenu clientIds={ clientIds } blocks={ blocks } />\n\t);\n};\n\nexport default BlockSwitcher;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-switcher/index.js"],"names":["__","_n","sprintf","DropdownMenu","ToolbarButton","ToolbarGroup","ToolbarItem","switchToBlockType","store","blocksStore","isReusableBlock","isTemplatePart","useSelect","useDispatch","copy","blockEditorStore","useBlockDisplayInformation","BlockIcon","BlockTransformationsMenu","BlockStylesMenu","PatternTransformationsMenu","useBlockDisplayTitle","BlockSwitcherDropdownMenu","clientIds","blocks","replaceBlocks","blockInformation","clientId","possibleBlockTransformations","canRemove","hasBlockStyles","icon","patterns","select","getBlockRootClientId","getBlockTransformItems","__experimentalGetPatternTransformItems","getBlockStyles","getBlockType","canRemoveBlocks","rootClientId","Array","isArray","name","firstBlockName","_isSingleBlockSelected","length","styles","_icon","isSelectionOfSameType","Set","map","size","blockTitle","maximumLength","isReusable","isTemplate","onBlockTransform","onPatternTransform","transformedBlocks","hasPossibleBlockTransformations","hasPatternTransformation","blockSwitcherLabel","blockSwitcherDescription","showDropDown","toggleProps","position","variant","className","describedBy","orientation","onClose","BlockSwitcher","getBlocksByClientId","some","block"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tToolbarButton,\n\tToolbarGroup,\n\tToolbarItem,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tstore as blocksStore,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport BlockIcon from '../block-icon';\nimport BlockTransformationsMenu from './block-transformations-menu';\nimport BlockStylesMenu from './block-styles-menu';\nimport PatternTransformationsMenu from './pattern-transformations-menu';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nexport const BlockSwitcherDropdownMenu = ( { clientIds, blocks } ) => {\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst blockInformation = useBlockDisplayInformation( blocks[ 0 ].clientId );\n\tconst {\n\t\tpossibleBlockTransformations,\n\t\tcanRemove,\n\t\thasBlockStyles,\n\t\ticon,\n\t\tpatterns,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockTransformItems,\n\t\t\t\t__experimentalGetPatternTransformItems,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockStyles, getBlockType } = select( blocksStore );\n\t\t\tconst { canRemoveBlocks } = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId(\n\t\t\t\tArray.isArray( clientIds ) ? clientIds[ 0 ] : clientIds\n\t\t\t);\n\t\t\tconst [ { name: firstBlockName } ] = blocks;\n\t\t\tconst _isSingleBlockSelected = blocks.length === 1;\n\t\t\tconst styles =\n\t\t\t\t_isSingleBlockSelected && getBlockStyles( firstBlockName );\n\t\t\tlet _icon;\n\t\t\tif ( _isSingleBlockSelected ) {\n\t\t\t\t_icon = blockInformation?.icon; // Take into account active block variations.\n\t\t\t} else {\n\t\t\t\tconst isSelectionOfSameType =\n\t\t\t\t\tnew Set( blocks.map( ( { name } ) => name ) ).size === 1;\n\t\t\t\t// When selection consists of blocks of multiple types, display an\n\t\t\t\t// appropriate icon to communicate the non-uniformity.\n\t\t\t\t_icon = isSelectionOfSameType\n\t\t\t\t\t? getBlockType( firstBlockName )?.icon\n\t\t\t\t\t: copy;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\tblocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds, rootClientId ),\n\t\t\t\thasBlockStyles: !! styles?.length,\n\t\t\t\ticon: _icon,\n\t\t\t\tpatterns: __experimentalGetPatternTransformItems(\n\t\t\t\t\tblocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds, blocks, blockInformation?.icon ]\n\t);\n\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: Array.isArray( clientIds ) ? clientIds[ 0 ] : clientIds,\n\t\tmaximumLength: 35,\n\t} );\n\tconst isReusable = blocks.length === 1 && isReusableBlock( blocks[ 0 ] );\n\tconst isTemplate = blocks.length === 1 && isTemplatePart( blocks[ 0 ] );\n\n\t// Simple block tranformation based on the `Block Transforms` API.\n\tconst onBlockTransform = ( name ) =>\n\t\treplaceBlocks( clientIds, switchToBlockType( blocks, name ) );\n\t// Pattern transformation through the `Patterns` API.\n\tconst onPatternTransform = ( transformedBlocks ) =>\n\t\treplaceBlocks( clientIds, transformedBlocks );\n\n\t/**\n\t * The `isTemplate` check is a stopgap solution here.\n\t * Ideally, the Transforms API should handle this\n\t * by allowing to exclude blocks from wildcard transformations.\n\t */\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations.length && canRemove && ! isTemplate;\n\tconst hasPatternTransformation = !! patterns?.length && canRemove;\n\tif ( ! hasBlockStyles && ! hasPossibleBlockTransformations ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tdisabled\n\t\t\t\t\tclassName=\"block-editor-block-switcher__no-switcher-icon\"\n\t\t\t\t\ttitle={ blockTitle }\n\t\t\t\t\ticon={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t\t\t\t\t{ ( isReusable || isTemplate ) && (\n\t\t\t\t\t\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tconst blockSwitcherLabel = blockTitle;\n\n\tconst blockSwitcherDescription =\n\t\t1 === blocks.length\n\t\t\t? sprintf(\n\t\t\t\t\t/* translators: %s: block title. */\n\t\t\t\t\t__( '%s: Change block type or style' ),\n\t\t\t\t\tblockTitle\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: %d: number of blocks. */\n\t\t\t\t\t_n(\n\t\t\t\t\t\t'Change type of %d block',\n\t\t\t\t\t\t'Change type of %d blocks',\n\t\t\t\t\t\tblocks.length\n\t\t\t\t\t),\n\t\t\t\t\tblocks.length\n\t\t\t );\n\n\tconst showDropDown =\n\t\thasBlockStyles ||\n\t\thasPossibleBlockTransformations ||\n\t\thasPatternTransformation;\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarItem>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tclassName=\"block-editor-block-switcher\"\n\t\t\t\t\t\tlabel={ blockSwitcherLabel }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tposition: 'bottom right',\n\t\t\t\t\t\t\tvariant: 'toolbar',\n\t\t\t\t\t\t\tclassName: 'block-editor-block-switcher__popover',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ ( isReusable || isTemplate ) && (\n\t\t\t\t\t\t\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tdescribedBy: blockSwitcherDescription,\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmenuProps={ { orientation: 'both' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) =>\n\t\t\t\t\t\t\tshowDropDown && (\n\t\t\t\t\t\t\t\t<div className=\"block-editor-block-switcher__container\">\n\t\t\t\t\t\t\t\t\t{ hasPatternTransformation && (\n\t\t\t\t\t\t\t\t\t\t<PatternTransformationsMenu\n\t\t\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\t\t\t\t\t\tonSelect={ (\n\t\t\t\t\t\t\t\t\t\t\t\ttransformedBlocks\n\t\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\t\tonPatternTransform(\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransformedBlocks\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ hasPossibleBlockTransformations && (\n\t\t\t\t\t\t\t\t\t\t<BlockTransformationsMenu\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__transforms__menugroup\"\n\t\t\t\t\t\t\t\t\t\t\tpossibleBlockTransformations={\n\t\t\t\t\t\t\t\t\t\t\t\tpossibleBlockTransformations\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\t\t\tonSelect={ ( name ) => {\n\t\t\t\t\t\t\t\t\t\t\t\tonBlockTransform( name );\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t\t\t\t\t<BlockStylesMenu\n\t\t\t\t\t\t\t\t\t\t\thoveredBlock={ blocks[ 0 ] }\n\t\t\t\t\t\t\t\t\t\t\tonSwitch={ onClose }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t</ToolbarGroup>\n\t);\n};\n\nexport const BlockSwitcher = ( { clientIds } ) => {\n\tconst blocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocksByClientId( clientIds ),\n\t\t[ clientIds ]\n\t);\n\n\tif ( ! blocks.length || blocks.some( ( block ) => ! block ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockSwitcherDropdownMenu clientIds={ clientIds } blocks={ blocks } />\n\t);\n};\n\nexport default BlockSwitcher;\n"]}
|
|
@@ -20,7 +20,7 @@ export default function PreviewBlockPopover(_ref) {
|
|
|
20
20
|
className: "block-editor-block-switcher__popover__preview__container"
|
|
21
21
|
}, createElement(Popover, {
|
|
22
22
|
className: "block-editor-block-switcher__preview__popover",
|
|
23
|
-
|
|
23
|
+
placement: "bottom-start",
|
|
24
24
|
focusOnMount: false
|
|
25
25
|
}, createElement("div", {
|
|
26
26
|
className: "block-editor-block-switcher__preview"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-switcher/preview-block-popover.js"],"names":["__","Popover","BlockPreview","PreviewBlockPopover","blocks"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,OAAT,QAAwB,uBAAxB;AAEA;AACA;AACA;;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AAEA,eAAe,SAASC,mBAAT,OAA2C;AAAA,MAAb;AAAEC,IAAAA;AAAF,GAAa;AACzD,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,OAAD;AACC,IAAA,SAAS,EAAC,+CADX;AAEC,IAAA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-switcher/preview-block-popover.js"],"names":["__","Popover","BlockPreview","PreviewBlockPopover","blocks"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,OAAT,QAAwB,uBAAxB;AAEA;AACA;AACA;;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AAEA,eAAe,SAASC,mBAAT,OAA2C;AAAA,MAAb;AAAEC,IAAAA;AAAF,GAAa;AACzD,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,OAAD;AACC,IAAA,SAAS,EAAC,+CADX;AAEC,IAAA,SAAS,EAAC,cAFX;AAGC,IAAA,YAAY,EAAG;AAHhB,KAKC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGJ,EAAE,CAAE,SAAF,CADL,CADD,EAIC,cAAC,YAAD;AAAc,IAAA,aAAa,EAAG,GAA9B;AAAoC,IAAA,MAAM,EAAGI;AAA7C,IAJD,CALD,CADD,CADD,CADD;AAkBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Popover } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\n\nexport default function PreviewBlockPopover( { blocks } ) {\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__popover__preview__parent\">\n\t\t\t<div className=\"block-editor-block-switcher__popover__preview__container\">\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"block-editor-block-switcher__preview__popover\"\n\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"block-editor-block-switcher__preview\">\n\t\t\t\t\t\t<div className=\"block-editor-block-switcher__preview-title\">\n\t\t\t\t\t\t\t{ __( 'Preview' ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<BlockPreview viewportWidth={ 500 } blocks={ blocks } />\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -40,7 +40,7 @@ const BlockToolbar = _ref => {
|
|
|
40
40
|
blockClientId,
|
|
41
41
|
blockType,
|
|
42
42
|
hasFixedToolbar,
|
|
43
|
-
|
|
43
|
+
isDistractionFree,
|
|
44
44
|
isValid,
|
|
45
45
|
isVisual,
|
|
46
46
|
isContentLocked
|
|
@@ -63,7 +63,7 @@ const BlockToolbar = _ref => {
|
|
|
63
63
|
blockClientId: selectedBlockClientId,
|
|
64
64
|
blockType: selectedBlockClientId && getBlockType(getBlockName(selectedBlockClientId)),
|
|
65
65
|
hasFixedToolbar: settings.hasFixedToolbar,
|
|
66
|
-
|
|
66
|
+
isDistractionFree: settings.isDistractionFree,
|
|
67
67
|
rootClientId: blockRootClientId,
|
|
68
68
|
isValid: selectedBlockClientIds.every(id => isBlockValid(id)),
|
|
69
69
|
isVisual: selectedBlockClientIds.every(id => getBlockMode(id) === 'visual'),
|
|
@@ -83,7 +83,7 @@ const BlockToolbar = _ref => {
|
|
|
83
83
|
ref: nodeRef,
|
|
84
84
|
|
|
85
85
|
onChange(isFocused) {
|
|
86
|
-
if (isFocused &&
|
|
86
|
+
if (isFocused && isDistractionFree) {
|
|
87
87
|
return;
|
|
88
88
|
}
|
|
89
89
|
|
|
@@ -122,7 +122,7 @@ const BlockToolbar = _ref => {
|
|
|
122
122
|
clientId: blockClientIds[0]
|
|
123
123
|
}), createElement(BlockMover, {
|
|
124
124
|
clientIds: blockClientIds,
|
|
125
|
-
hideDragHandle: hideDragHandle
|
|
125
|
+
hideDragHandle: hideDragHandle
|
|
126
126
|
}))), shouldShowVisualToolbar && isMultiToolbar && createElement(BlockGroupToolbar, null), shouldShowVisualToolbar && createElement(Fragment, null, createElement(BlockControls.Slot, {
|
|
127
127
|
group: "parent",
|
|
128
128
|
className: "block-editor-block-toolbar__slot"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"names":["classnames","useSelect","useDispatch","useRef","useViewportMatch","getBlockType","hasBlockSupport","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowMoversGestures","store","blockEditorStore","__unstableBlockNameContext","BlockToolbar","hideDragHandle","blockClientIds","blockClientId","blockType","hasFixedToolbar","hasReducedUI","isValid","isVisual","isContentLocked","select","getBlockName","getBlockMode","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getSettings","__unstableGetContentLockingParent","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","settings","rootClientId","every","id","toggleBlockHighlight","nodeRef","showMovers","gestures","showMoversGestures","ref","onChange","isFocused","displayHeaderToolbar","shouldShowMovers","length","shouldShowVisualToolbar","isMultiToolbar","classes","name"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { getBlockType, hasBlockSupport } from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowMoversGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\n\nconst BlockToolbar = ( { hideDragHandle } ) => {\n\tconst {\n\t\tblockClientIds,\n\t\tblockClientId,\n\t\tblockType,\n\t\thasFixedToolbar,\n\t\thasReducedUI,\n\t\tisValid,\n\t\tisVisual,\n\t\tisContentLocked,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSettings,\n\t\t\t__unstableGetContentLockingParent,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst blockRootClientId = getBlockRootClientId( selectedBlockClientId );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockType:\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\tgetBlockType( getBlockName( selectedBlockClientId ) ),\n\t\t\thasFixedToolbar: settings.hasFixedToolbar,\n\t\t\thasReducedUI: settings.hasReducedUI,\n\t\t\trootClientId: blockRootClientId,\n\t\t\tisValid: selectedBlockClientIds.every( ( id ) =>\n\t\t\t\tisBlockValid( id )\n\t\t\t),\n\t\t\tisVisual: selectedBlockClientIds.every(\n\t\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t\t),\n\t\t\tisContentLocked: !! __unstableGetContentLockingParent(\n\t\t\t\tselectedBlockClientId\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst { toggleBlockHighlight } = useDispatch( blockEditorStore );\n\tconst nodeRef = useRef();\n\tconst { showMovers, gestures: showMoversGestures } = useShowMoversGestures(\n\t\t{\n\t\t\tref: nodeRef,\n\t\t\tonChange( isFocused ) {\n\t\t\t\tif ( isFocused && hasReducedUI ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ttoggleBlockHighlight( blockClientId, isFocused );\n\t\t\t},\n\t\t}\n\t);\n\n\t// Account for the cases where the block toolbar is rendered within the\n\t// header area and not contextually to the block.\n\tconst displayHeaderToolbar =\n\t\tuseViewportMatch( 'medium', '<' ) || hasFixedToolbar;\n\n\tif ( blockType ) {\n\t\tif ( ! hasBlockSupport( blockType, '__experimentalToolbar', true ) ) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tconst shouldShowMovers = displayHeaderToolbar || showMovers;\n\n\tif ( blockClientIds.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst shouldShowVisualToolbar = isValid && isVisual;\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\n\tconst classes = classnames(\n\t\t'block-editor-block-toolbar',\n\t\tshouldShowMovers && 'is-showing-movers'\n\t);\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t{ ! isMultiToolbar &&\n\t\t\t\t! displayHeaderToolbar &&\n\t\t\t\t! isContentLocked && <BlockParentSelector /> }\n\t\t\t<div ref={ nodeRef } { ...showMoversGestures }>\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\t! isContentLocked && (\n\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t{ ! isMultiToolbar && (\n\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\tclientId={ blockClientIds[ 0 ] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockMover\n\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\thideDragHandle={\n\t\t\t\t\t\t\t\t\thideDragHandle || hasReducedUI\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ shouldShowVisualToolbar && isMultiToolbar && (\n\t\t\t\t<BlockGroupToolbar />\n\t\t\t) }\n\t\t\t{ shouldShowVisualToolbar && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t>\n\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t{ ! isContentLocked && (\n\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n */\nexport default BlockToolbar;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"names":["classnames","useSelect","useDispatch","useRef","useViewportMatch","getBlockType","hasBlockSupport","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowMoversGestures","store","blockEditorStore","__unstableBlockNameContext","BlockToolbar","hideDragHandle","blockClientIds","blockClientId","blockType","hasFixedToolbar","isDistractionFree","isValid","isVisual","isContentLocked","select","getBlockName","getBlockMode","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getSettings","__unstableGetContentLockingParent","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","settings","rootClientId","every","id","toggleBlockHighlight","nodeRef","showMovers","gestures","showMoversGestures","ref","onChange","isFocused","displayHeaderToolbar","shouldShowMovers","length","shouldShowVisualToolbar","isMultiToolbar","classes","name"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { getBlockType, hasBlockSupport } from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowMoversGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\n\nconst BlockToolbar = ( { hideDragHandle } ) => {\n\tconst {\n\t\tblockClientIds,\n\t\tblockClientId,\n\t\tblockType,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tisValid,\n\t\tisVisual,\n\t\tisContentLocked,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSettings,\n\t\t\t__unstableGetContentLockingParent,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst blockRootClientId = getBlockRootClientId( selectedBlockClientId );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockType:\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\tgetBlockType( getBlockName( selectedBlockClientId ) ),\n\t\t\thasFixedToolbar: settings.hasFixedToolbar,\n\t\t\tisDistractionFree: settings.isDistractionFree,\n\t\t\trootClientId: blockRootClientId,\n\t\t\tisValid: selectedBlockClientIds.every( ( id ) =>\n\t\t\t\tisBlockValid( id )\n\t\t\t),\n\t\t\tisVisual: selectedBlockClientIds.every(\n\t\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t\t),\n\t\t\tisContentLocked: !! __unstableGetContentLockingParent(\n\t\t\t\tselectedBlockClientId\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst { toggleBlockHighlight } = useDispatch( blockEditorStore );\n\tconst nodeRef = useRef();\n\tconst { showMovers, gestures: showMoversGestures } = useShowMoversGestures(\n\t\t{\n\t\t\tref: nodeRef,\n\t\t\tonChange( isFocused ) {\n\t\t\t\tif ( isFocused && isDistractionFree ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ttoggleBlockHighlight( blockClientId, isFocused );\n\t\t\t},\n\t\t}\n\t);\n\n\t// Account for the cases where the block toolbar is rendered within the\n\t// header area and not contextually to the block.\n\tconst displayHeaderToolbar =\n\t\tuseViewportMatch( 'medium', '<' ) || hasFixedToolbar;\n\n\tif ( blockType ) {\n\t\tif ( ! hasBlockSupport( blockType, '__experimentalToolbar', true ) ) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tconst shouldShowMovers = displayHeaderToolbar || showMovers;\n\n\tif ( blockClientIds.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst shouldShowVisualToolbar = isValid && isVisual;\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\n\tconst classes = classnames(\n\t\t'block-editor-block-toolbar',\n\t\tshouldShowMovers && 'is-showing-movers'\n\t);\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t{ ! isMultiToolbar &&\n\t\t\t\t! displayHeaderToolbar &&\n\t\t\t\t! isContentLocked && <BlockParentSelector /> }\n\t\t\t<div ref={ nodeRef } { ...showMoversGestures }>\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\t! isContentLocked && (\n\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t{ ! isMultiToolbar && (\n\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\tclientId={ blockClientIds[ 0 ] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockMover\n\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ shouldShowVisualToolbar && isMultiToolbar && (\n\t\t\t\t<BlockGroupToolbar />\n\t\t\t) }\n\t\t\t{ shouldShowVisualToolbar && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t>\n\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t{ ! isContentLocked && (\n\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n */\nexport default BlockToolbar;\n"]}
|
|
@@ -25,7 +25,8 @@ export default function BlockToolsBackCompat(_ref) {
|
|
|
25
25
|
|
|
26
26
|
deprecated('wp.components.Popover.Slot name="block-toolbar"', {
|
|
27
27
|
alternative: 'wp.blockEditor.BlockTools',
|
|
28
|
-
since: '5.8'
|
|
28
|
+
since: '5.8',
|
|
29
|
+
version: '6.3'
|
|
29
30
|
});
|
|
30
31
|
return createElement(InsertionPoint, {
|
|
31
32
|
__unstablePopoverSlot: "block-toolbar"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/back-compat.js"],"names":["useContext","Disabled","deprecated","InsertionPoint","InsertionPointOpenRef","BlockPopover","BlockToolsBackCompat","children","openRef","isDisabled","Context","alternative","since"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AACA,SAASC,QAAT,QAAyB,uBAAzB;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AAEA;AACA;AACA;;AACA,OAAOC,cAAP,IAAyBC,qBAAzB,QAAsD,mBAAtD;AACA,OAAOC,YAAP,MAAyB,0BAAzB;AAEA,eAAe,SAASC,oBAAT,OAA8C;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AAC5D,QAAMC,OAAO,GAAGR,UAAU,CAAEI,qBAAF,CAA1B;AACA,QAAMK,UAAU,GAAGT,UAAU,CAAEC,QAAQ,CAACS,OAAX,CAA7B,CAF4D,CAI5D;;AACA,MAAKF,OAAO,IAAIC,UAAhB,EAA6B;AAC5B,WAAOF,QAAP;AACA;;AAEDL,EAAAA,UAAU,CAAE,iDAAF,EAAqD;AAC9DS,IAAAA,WAAW,EAAE,2BADiD;AAE9DC,IAAAA,KAAK,EAAE;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/back-compat.js"],"names":["useContext","Disabled","deprecated","InsertionPoint","InsertionPointOpenRef","BlockPopover","BlockToolsBackCompat","children","openRef","isDisabled","Context","alternative","since","version"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AACA,SAASC,QAAT,QAAyB,uBAAzB;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AAEA;AACA;AACA;;AACA,OAAOC,cAAP,IAAyBC,qBAAzB,QAAsD,mBAAtD;AACA,OAAOC,YAAP,MAAyB,0BAAzB;AAEA,eAAe,SAASC,oBAAT,OAA8C;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AAC5D,QAAMC,OAAO,GAAGR,UAAU,CAAEI,qBAAF,CAA1B;AACA,QAAMK,UAAU,GAAGT,UAAU,CAAEC,QAAQ,CAACS,OAAX,CAA7B,CAF4D,CAI5D;;AACA,MAAKF,OAAO,IAAIC,UAAhB,EAA6B;AAC5B,WAAOF,QAAP;AACA;;AAEDL,EAAAA,UAAU,CAAE,iDAAF,EAAqD;AAC9DS,IAAAA,WAAW,EAAE,2BADiD;AAE9DC,IAAAA,KAAK,EAAE,KAFuD;AAG9DC,IAAAA,OAAO,EAAE;AAHqD,GAArD,CAAV;AAMA,SACC,cAAC,cAAD;AAAgB,IAAA,qBAAqB,EAAC;AAAtC,KACC,cAAC,YAAD;AAAc,IAAA,qBAAqB,EAAC;AAApC,IADD,EAEGN,QAFH,CADD;AAMA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { Disabled } from '@wordpress/components';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport InsertionPoint, { InsertionPointOpenRef } from './insertion-point';\nimport BlockPopover from './selected-block-popover';\n\nexport default function BlockToolsBackCompat( { children } ) {\n\tconst openRef = useContext( InsertionPointOpenRef );\n\tconst isDisabled = useContext( Disabled.Context );\n\n\t// If context is set, `BlockTools` is a parent component.\n\tif ( openRef || isDisabled ) {\n\t\treturn children;\n\t}\n\n\tdeprecated( 'wp.components.Popover.Slot name=\"block-toolbar\"', {\n\t\talternative: 'wp.blockEditor.BlockTools',\n\t\tsince: '5.8',\n\t\tversion: '6.3',\n\t} );\n\n\treturn (\n\t\t<InsertionPoint __unstablePopoverSlot=\"block-toolbar\">\n\t\t\t<BlockPopover __unstablePopoverSlot=\"block-toolbar\" />\n\t\t\t{ children }\n\t\t</InsertionPoint>\n\t);\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
1
2
|
import { createElement } from "@wordpress/element";
|
|
2
3
|
|
|
3
4
|
/**
|
|
@@ -19,9 +20,10 @@ import { useReducedMotion } from '@wordpress/compose';
|
|
|
19
20
|
import Inserter from '../inserter';
|
|
20
21
|
import { store as blockEditorStore } from '../../store';
|
|
21
22
|
import BlockPopoverInbetween from '../block-popover/inbetween';
|
|
23
|
+
import BlockDropZonePopover from '../block-popover/drop-zone';
|
|
22
24
|
export const InsertionPointOpenRef = createContext();
|
|
23
25
|
|
|
24
|
-
function
|
|
26
|
+
function InbetweenInsertionPointPopover(_ref) {
|
|
25
27
|
let {
|
|
26
28
|
__unstablePopoverSlot,
|
|
27
29
|
__unstableContentRef
|
|
@@ -37,7 +39,9 @@ function InsertionPointPopover(_ref) {
|
|
|
37
39
|
previousClientId,
|
|
38
40
|
nextClientId,
|
|
39
41
|
rootClientId,
|
|
40
|
-
isInserterShown
|
|
42
|
+
isInserterShown,
|
|
43
|
+
isDistractionFree,
|
|
44
|
+
isNavigationMode
|
|
41
45
|
} = useSelect(select => {
|
|
42
46
|
var _getBlockListSettings;
|
|
43
47
|
|
|
@@ -47,7 +51,9 @@ function InsertionPointPopover(_ref) {
|
|
|
47
51
|
getBlockInsertionPoint,
|
|
48
52
|
isBlockBeingDragged,
|
|
49
53
|
getPreviousBlockClientId,
|
|
50
|
-
getNextBlockClientId
|
|
54
|
+
getNextBlockClientId,
|
|
55
|
+
getSettings,
|
|
56
|
+
isNavigationMode: _isNavigationMode
|
|
51
57
|
} = select(blockEditorStore);
|
|
52
58
|
const insertionPoint = getBlockInsertionPoint();
|
|
53
59
|
const order = getBlockOrder(insertionPoint.rootClientId);
|
|
@@ -67,11 +73,14 @@ function InsertionPointPopover(_ref) {
|
|
|
67
73
|
_nextClientId = getNextBlockClientId(_nextClientId);
|
|
68
74
|
}
|
|
69
75
|
|
|
76
|
+
const settings = getSettings();
|
|
70
77
|
return {
|
|
71
78
|
previousClientId: _previousClientId,
|
|
72
79
|
nextClientId: _nextClientId,
|
|
73
80
|
orientation: ((_getBlockListSettings = getBlockListSettings(insertionPoint.rootClientId)) === null || _getBlockListSettings === void 0 ? void 0 : _getBlockListSettings.orientation) || 'vertical',
|
|
74
81
|
rootClientId: insertionPoint.rootClientId,
|
|
82
|
+
isNavigationMode: _isNavigationMode(),
|
|
83
|
+
isDistractionFree: settings.isDistractionFree,
|
|
75
84
|
isInserterShown: insertionPoint === null || insertionPoint === void 0 ? void 0 : insertionPoint.__unstableWithInserter
|
|
76
85
|
};
|
|
77
86
|
}, []);
|
|
@@ -84,20 +93,20 @@ function InsertionPointPopover(_ref) {
|
|
|
84
93
|
}
|
|
85
94
|
}
|
|
86
95
|
|
|
87
|
-
function onFocus(event) {
|
|
88
|
-
// Only handle click on the wrapper specifically, and not an event
|
|
89
|
-
// bubbled from the inserter itself.
|
|
90
|
-
if (event.target !== ref.current) {
|
|
91
|
-
openRef.current = true;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
96
|
function maybeHideInserterPoint(event) {
|
|
96
97
|
// Only hide the inserter if it's triggered on the wrapper,
|
|
97
98
|
// and the inserter is not open.
|
|
98
99
|
if (event.target === ref.current && !openRef.current) {
|
|
99
100
|
hideInsertionPoint();
|
|
100
101
|
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function onFocus(event) {
|
|
105
|
+
// Only handle click on the wrapper specifically, and not an event
|
|
106
|
+
// bubbled from the inserter itself.
|
|
107
|
+
if (event.target !== ref.current) {
|
|
108
|
+
openRef.current = true;
|
|
109
|
+
}
|
|
101
110
|
} // Define animation variants for the line element.
|
|
102
111
|
|
|
103
112
|
|
|
@@ -152,7 +161,7 @@ function InsertionPointPopover(_ref) {
|
|
|
152
161
|
opacity: 1,
|
|
153
162
|
borderRadius: '2px',
|
|
154
163
|
transition: {
|
|
155
|
-
delay: isInserterShown ? 0.
|
|
164
|
+
delay: isInserterShown ? 0.5 : 0,
|
|
156
165
|
type: 'tween'
|
|
157
166
|
}
|
|
158
167
|
},
|
|
@@ -160,7 +169,7 @@ function InsertionPointPopover(_ref) {
|
|
|
160
169
|
opacity: 1,
|
|
161
170
|
borderRadius: '2px',
|
|
162
171
|
transition: {
|
|
163
|
-
delay: 0.
|
|
172
|
+
delay: 0.5,
|
|
164
173
|
type: 'tween'
|
|
165
174
|
}
|
|
166
175
|
}
|
|
@@ -172,10 +181,16 @@ function InsertionPointPopover(_ref) {
|
|
|
172
181
|
rest: {
|
|
173
182
|
scale: 1,
|
|
174
183
|
transition: {
|
|
184
|
+
delay: 0.4,
|
|
175
185
|
type: 'tween'
|
|
176
186
|
}
|
|
177
187
|
}
|
|
178
188
|
};
|
|
189
|
+
|
|
190
|
+
if (isDistractionFree && !isNavigationMode) {
|
|
191
|
+
return null;
|
|
192
|
+
}
|
|
193
|
+
|
|
179
194
|
const className = classnames('block-editor-block-list__insertion-point', 'is-' + orientation);
|
|
180
195
|
return createElement(BlockPopoverInbetween, {
|
|
181
196
|
previousClientId: previousClientId,
|
|
@@ -219,9 +234,32 @@ function InsertionPointPopover(_ref) {
|
|
|
219
234
|
}
|
|
220
235
|
|
|
221
236
|
export default function InsertionPoint(props) {
|
|
222
|
-
const
|
|
223
|
-
|
|
237
|
+
const {
|
|
238
|
+
insertionPoint,
|
|
239
|
+
isVisible
|
|
240
|
+
} = useSelect(select => {
|
|
241
|
+
const {
|
|
242
|
+
getBlockInsertionPoint,
|
|
243
|
+
isBlockInsertionPointVisible
|
|
244
|
+
} = select(blockEditorStore);
|
|
245
|
+
return {
|
|
246
|
+
insertionPoint: getBlockInsertionPoint(),
|
|
247
|
+
isVisible: isBlockInsertionPointVisible()
|
|
248
|
+
};
|
|
224
249
|
}, []);
|
|
225
|
-
|
|
250
|
+
|
|
251
|
+
if (!isVisible) {
|
|
252
|
+
return null;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Render a popover that overlays the block when the desired operation is to replace it.
|
|
256
|
+
* Otherwise, render a popover in between blocks for the indication of inserting between them.
|
|
257
|
+
*/
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
return insertionPoint.operation === 'replace' ? createElement(BlockDropZonePopover // Force remount to trigger the animation.
|
|
261
|
+
, _extends({
|
|
262
|
+
key: `${insertionPoint.rootClientId}-${insertionPoint.index}`
|
|
263
|
+
}, props)) : createElement(InbetweenInsertionPointPopover, props);
|
|
226
264
|
}
|
|
227
265
|
//# sourceMappingURL=insertion-point.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/insertion-point.js"],"names":["classnames","useSelect","useDispatch","useRef","createContext","useContext","__unstableMotion","motion","useReducedMotion","Inserter","store","blockEditorStore","BlockPopoverInbetween","InsertionPointOpenRef","InsertionPointPopover","__unstablePopoverSlot","__unstableContentRef","selectBlock","hideInsertionPoint","openRef","ref","orientation","previousClientId","nextClientId","rootClientId","isInserterShown","select","getBlockOrder","getBlockListSettings","getBlockInsertionPoint","isBlockBeingDragged","getPreviousBlockClientId","getNextBlockClientId","insertionPoint","order","length","_previousClientId","index","_nextClientId","__unstableWithInserter","isVertical","disableMotion","onClick","event","target","current","onFocus","maybeHideInserterPoint","horizontalLine","start","width","top","bottom","x","rest","hover","verticalLine","height","left","right","y","lineVariants","opacity","borderRadius","transition","delay","type","inserterVariants","scale","className","isOpen","InsertionPoint","props","isVisible","isBlockInsertionPointVisible"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, createContext, useContext } from '@wordpress/element';\nimport { __unstableMotion as motion } from '@wordpress/components';\nimport { useReducedMotion } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Inserter from '../inserter';\nimport { store as blockEditorStore } from '../../store';\nimport BlockPopoverInbetween from '../block-popover/inbetween';\n\nexport const InsertionPointOpenRef = createContext();\n\nfunction InsertionPointPopover( {\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n} ) {\n\tconst { selectBlock, hideInsertionPoint } = useDispatch( blockEditorStore );\n\tconst openRef = useContext( InsertionPointOpenRef );\n\tconst ref = useRef();\n\tconst {\n\t\torientation,\n\t\tpreviousClientId,\n\t\tnextClientId,\n\t\trootClientId,\n\t\tisInserterShown,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockListSettings,\n\t\t\tgetBlockInsertionPoint,\n\t\t\tisBlockBeingDragged,\n\t\t\tgetPreviousBlockClientId,\n\t\t\tgetNextBlockClientId,\n\t\t} = select( blockEditorStore );\n\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\tconst order = getBlockOrder( insertionPoint.rootClientId );\n\n\t\tif ( ! order.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet _previousClientId = order[ insertionPoint.index - 1 ];\n\t\tlet _nextClientId = order[ insertionPoint.index ];\n\n\t\twhile ( isBlockBeingDragged( _previousClientId ) ) {\n\t\t\t_previousClientId = getPreviousBlockClientId( _previousClientId );\n\t\t}\n\n\t\twhile ( isBlockBeingDragged( _nextClientId ) ) {\n\t\t\t_nextClientId = getNextBlockClientId( _nextClientId );\n\t\t}\n\n\t\treturn {\n\t\t\tpreviousClientId: _previousClientId,\n\t\t\tnextClientId: _nextClientId,\n\t\t\torientation:\n\t\t\t\tgetBlockListSettings( insertionPoint.rootClientId )\n\t\t\t\t\t?.orientation || 'vertical',\n\t\t\trootClientId: insertionPoint.rootClientId,\n\t\t\tisInserterShown: insertionPoint?.__unstableWithInserter,\n\t\t};\n\t}, [] );\n\tconst isVertical = orientation === 'vertical';\n\n\tconst disableMotion = useReducedMotion();\n\n\tfunction onClick( event ) {\n\t\tif ( event.target === ref.current && nextClientId ) {\n\t\t\tselectBlock( nextClientId, -1 );\n\t\t}\n\t}\n\n\tfunction onFocus( event ) {\n\t\t// Only handle click on the wrapper specifically, and not an event\n\t\t// bubbled from the inserter itself.\n\t\tif ( event.target !== ref.current ) {\n\t\t\topenRef.current = true;\n\t\t}\n\t}\n\n\tfunction maybeHideInserterPoint( event ) {\n\t\t// Only hide the inserter if it's triggered on the wrapper,\n\t\t// and the inserter is not open.\n\t\tif ( event.target === ref.current && ! openRef.current ) {\n\t\t\thideInsertionPoint();\n\t\t}\n\t}\n\n\t// Define animation variants for the line element.\n\tconst horizontalLine = {\n\t\tstart: {\n\t\t\twidth: 0,\n\t\t\ttop: '50%',\n\t\t\tbottom: '50%',\n\t\t\tx: 0,\n\t\t},\n\t\trest: {\n\t\t\twidth: 4,\n\t\t\ttop: 0,\n\t\t\tbottom: 0,\n\t\t\tx: -2,\n\t\t},\n\t\thover: {\n\t\t\twidth: 4,\n\t\t\ttop: 0,\n\t\t\tbottom: 0,\n\t\t\tx: -2,\n\t\t},\n\t};\n\tconst verticalLine = {\n\t\tstart: {\n\t\t\theight: 0,\n\t\t\tleft: '50%',\n\t\t\tright: '50%',\n\t\t\ty: 0,\n\t\t},\n\t\trest: {\n\t\t\theight: 4,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\ty: -2,\n\t\t},\n\t\thover: {\n\t\t\theight: 4,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\ty: -2,\n\t\t},\n\t};\n\tconst lineVariants = {\n\t\t// Initial position starts from the center and invisible.\n\t\tstart: {\n\t\t\t...( ! isVertical ? horizontalLine.start : verticalLine.start ),\n\t\t\topacity: 0,\n\t\t},\n\t\t// The line expands to fill the container. If the inserter is visible it\n\t\t// is delayed so it appears orchestrated.\n\t\trest: {\n\t\t\t...( ! isVertical ? horizontalLine.rest : verticalLine.rest ),\n\t\t\topacity: 1,\n\t\t\tborderRadius: '2px',\n\t\t\ttransition: { delay: isInserterShown ? 0.1 : 0, type: 'tween' },\n\t\t},\n\t\thover: {\n\t\t\t...( ! isVertical ? horizontalLine.hover : verticalLine.hover ),\n\t\t\topacity: 1,\n\t\t\tborderRadius: '2px',\n\t\t\ttransition: { delay: 0.1, type: 'tween' },\n\t\t},\n\t};\n\n\tconst inserterVariants = {\n\t\tstart: {\n\t\t\tscale: disableMotion ? 1 : 0,\n\t\t},\n\t\trest: {\n\t\t\tscale: 1,\n\t\t\ttransition: { type: 'tween' },\n\t\t},\n\t};\n\n\tconst className = classnames(\n\t\t'block-editor-block-list__insertion-point',\n\t\t'is-' + orientation\n\t);\n\n\treturn (\n\t\t<BlockPopoverInbetween\n\t\t\tpreviousClientId={ previousClientId }\n\t\t\tnextClientId={ nextClientId }\n\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t>\n\t\t\t<motion.div\n\t\t\t\tlayout={ ! disableMotion }\n\t\t\t\tinitial={ disableMotion ? 'rest' : 'start' }\n\t\t\t\tanimate=\"rest\"\n\t\t\t\twhileHover=\"hover\"\n\t\t\t\twhileTap=\"pressed\"\n\t\t\t\texit=\"start\"\n\t\t\t\tref={ ref }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tonFocus={ onFocus }\n\t\t\t\tclassName={ classnames( className, {\n\t\t\t\t\t'is-with-inserter': isInserterShown,\n\t\t\t\t} ) }\n\t\t\t\tonHoverEnd={ maybeHideInserterPoint }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tvariants={ lineVariants }\n\t\t\t\t\tclassName=\"block-editor-block-list__insertion-point-indicator\"\n\t\t\t\t\tdata-testid=\"block-list-insertion-point-indicator\"\n\t\t\t\t/>\n\t\t\t\t{ isInserterShown && (\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tvariants={ inserterVariants }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-block-list__insertion-point-inserter'\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Inserter\n\t\t\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\t\t\tclientId={ nextClientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\t__experimentalIsQuick\n\t\t\t\t\t\t\tonToggle={ ( isOpen ) => {\n\t\t\t\t\t\t\t\topenRef.current = isOpen;\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectOrClose={ () => {\n\t\t\t\t\t\t\t\topenRef.current = false;\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</motion.div>\n\t\t\t\t) }\n\t\t\t</motion.div>\n\t\t</BlockPopoverInbetween>\n\t);\n}\n\nexport default function InsertionPoint( props ) {\n\tconst isVisible = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).isBlockInsertionPointVisible();\n\t}, [] );\n\n\treturn isVisible && <InsertionPointPopover { ...props } />;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/insertion-point.js"],"names":["classnames","useSelect","useDispatch","useRef","createContext","useContext","__unstableMotion","motion","useReducedMotion","Inserter","store","blockEditorStore","BlockPopoverInbetween","BlockDropZonePopover","InsertionPointOpenRef","InbetweenInsertionPointPopover","__unstablePopoverSlot","__unstableContentRef","selectBlock","hideInsertionPoint","openRef","ref","orientation","previousClientId","nextClientId","rootClientId","isInserterShown","isDistractionFree","isNavigationMode","select","getBlockOrder","getBlockListSettings","getBlockInsertionPoint","isBlockBeingDragged","getPreviousBlockClientId","getNextBlockClientId","getSettings","_isNavigationMode","insertionPoint","order","length","_previousClientId","index","_nextClientId","settings","__unstableWithInserter","isVertical","disableMotion","onClick","event","target","current","maybeHideInserterPoint","onFocus","horizontalLine","start","width","top","bottom","x","rest","hover","verticalLine","height","left","right","y","lineVariants","opacity","borderRadius","transition","delay","type","inserterVariants","scale","className","isOpen","InsertionPoint","props","isVisible","isBlockInsertionPointVisible","operation"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, createContext, useContext } from '@wordpress/element';\nimport { __unstableMotion as motion } from '@wordpress/components';\nimport { useReducedMotion } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Inserter from '../inserter';\nimport { store as blockEditorStore } from '../../store';\nimport BlockPopoverInbetween from '../block-popover/inbetween';\nimport BlockDropZonePopover from '../block-popover/drop-zone';\n\nexport const InsertionPointOpenRef = createContext();\n\nfunction InbetweenInsertionPointPopover( {\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n} ) {\n\tconst { selectBlock, hideInsertionPoint } = useDispatch( blockEditorStore );\n\tconst openRef = useContext( InsertionPointOpenRef );\n\tconst ref = useRef();\n\tconst {\n\t\torientation,\n\t\tpreviousClientId,\n\t\tnextClientId,\n\t\trootClientId,\n\t\tisInserterShown,\n\t\tisDistractionFree,\n\t\tisNavigationMode,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockListSettings,\n\t\t\tgetBlockInsertionPoint,\n\t\t\tisBlockBeingDragged,\n\t\t\tgetPreviousBlockClientId,\n\t\t\tgetNextBlockClientId,\n\t\t\tgetSettings,\n\t\t\tisNavigationMode: _isNavigationMode,\n\t\t} = select( blockEditorStore );\n\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\tconst order = getBlockOrder( insertionPoint.rootClientId );\n\n\t\tif ( ! order.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet _previousClientId = order[ insertionPoint.index - 1 ];\n\t\tlet _nextClientId = order[ insertionPoint.index ];\n\n\t\twhile ( isBlockBeingDragged( _previousClientId ) ) {\n\t\t\t_previousClientId = getPreviousBlockClientId( _previousClientId );\n\t\t}\n\n\t\twhile ( isBlockBeingDragged( _nextClientId ) ) {\n\t\t\t_nextClientId = getNextBlockClientId( _nextClientId );\n\t\t}\n\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tpreviousClientId: _previousClientId,\n\t\t\tnextClientId: _nextClientId,\n\t\t\torientation:\n\t\t\t\tgetBlockListSettings( insertionPoint.rootClientId )\n\t\t\t\t\t?.orientation || 'vertical',\n\t\t\trootClientId: insertionPoint.rootClientId,\n\t\t\tisNavigationMode: _isNavigationMode(),\n\t\t\tisDistractionFree: settings.isDistractionFree,\n\t\t\tisInserterShown: insertionPoint?.__unstableWithInserter,\n\t\t};\n\t}, [] );\n\tconst isVertical = orientation === 'vertical';\n\n\tconst disableMotion = useReducedMotion();\n\n\tfunction onClick( event ) {\n\t\tif ( event.target === ref.current && nextClientId ) {\n\t\t\tselectBlock( nextClientId, -1 );\n\t\t}\n\t}\n\n\tfunction maybeHideInserterPoint( event ) {\n\t\t// Only hide the inserter if it's triggered on the wrapper,\n\t\t// and the inserter is not open.\n\t\tif ( event.target === ref.current && ! openRef.current ) {\n\t\t\thideInsertionPoint();\n\t\t}\n\t}\n\n\tfunction onFocus( event ) {\n\t\t// Only handle click on the wrapper specifically, and not an event\n\t\t// bubbled from the inserter itself.\n\t\tif ( event.target !== ref.current ) {\n\t\t\topenRef.current = true;\n\t\t}\n\t}\n\n\t// Define animation variants for the line element.\n\tconst horizontalLine = {\n\t\tstart: {\n\t\t\twidth: 0,\n\t\t\ttop: '50%',\n\t\t\tbottom: '50%',\n\t\t\tx: 0,\n\t\t},\n\t\trest: {\n\t\t\twidth: 4,\n\t\t\ttop: 0,\n\t\t\tbottom: 0,\n\t\t\tx: -2,\n\t\t},\n\t\thover: {\n\t\t\twidth: 4,\n\t\t\ttop: 0,\n\t\t\tbottom: 0,\n\t\t\tx: -2,\n\t\t},\n\t};\n\tconst verticalLine = {\n\t\tstart: {\n\t\t\theight: 0,\n\t\t\tleft: '50%',\n\t\t\tright: '50%',\n\t\t\ty: 0,\n\t\t},\n\t\trest: {\n\t\t\theight: 4,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\ty: -2,\n\t\t},\n\t\thover: {\n\t\t\theight: 4,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\ty: -2,\n\t\t},\n\t};\n\tconst lineVariants = {\n\t\t// Initial position starts from the center and invisible.\n\t\tstart: {\n\t\t\t...( ! isVertical ? horizontalLine.start : verticalLine.start ),\n\t\t\topacity: 0,\n\t\t},\n\t\t// The line expands to fill the container. If the inserter is visible it\n\t\t// is delayed so it appears orchestrated.\n\t\trest: {\n\t\t\t...( ! isVertical ? horizontalLine.rest : verticalLine.rest ),\n\t\t\topacity: 1,\n\t\t\tborderRadius: '2px',\n\t\t\ttransition: { delay: isInserterShown ? 0.5 : 0, type: 'tween' },\n\t\t},\n\t\thover: {\n\t\t\t...( ! isVertical ? horizontalLine.hover : verticalLine.hover ),\n\t\t\topacity: 1,\n\t\t\tborderRadius: '2px',\n\t\t\ttransition: { delay: 0.5, type: 'tween' },\n\t\t},\n\t};\n\n\tconst inserterVariants = {\n\t\tstart: {\n\t\t\tscale: disableMotion ? 1 : 0,\n\t\t},\n\t\trest: {\n\t\t\tscale: 1,\n\t\t\ttransition: { delay: 0.4, type: 'tween' },\n\t\t},\n\t};\n\n\tif ( isDistractionFree && ! isNavigationMode ) {\n\t\treturn null;\n\t}\n\n\tconst className = classnames(\n\t\t'block-editor-block-list__insertion-point',\n\t\t'is-' + orientation\n\t);\n\n\treturn (\n\t\t<BlockPopoverInbetween\n\t\t\tpreviousClientId={ previousClientId }\n\t\t\tnextClientId={ nextClientId }\n\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t>\n\t\t\t<motion.div\n\t\t\t\tlayout={ ! disableMotion }\n\t\t\t\tinitial={ disableMotion ? 'rest' : 'start' }\n\t\t\t\tanimate=\"rest\"\n\t\t\t\twhileHover=\"hover\"\n\t\t\t\twhileTap=\"pressed\"\n\t\t\t\texit=\"start\"\n\t\t\t\tref={ ref }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tonFocus={ onFocus }\n\t\t\t\tclassName={ classnames( className, {\n\t\t\t\t\t'is-with-inserter': isInserterShown,\n\t\t\t\t} ) }\n\t\t\t\tonHoverEnd={ maybeHideInserterPoint }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tvariants={ lineVariants }\n\t\t\t\t\tclassName=\"block-editor-block-list__insertion-point-indicator\"\n\t\t\t\t\tdata-testid=\"block-list-insertion-point-indicator\"\n\t\t\t\t/>\n\t\t\t\t{ isInserterShown && (\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tvariants={ inserterVariants }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-block-list__insertion-point-inserter'\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Inserter\n\t\t\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\t\t\tclientId={ nextClientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\t__experimentalIsQuick\n\t\t\t\t\t\t\tonToggle={ ( isOpen ) => {\n\t\t\t\t\t\t\t\topenRef.current = isOpen;\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectOrClose={ () => {\n\t\t\t\t\t\t\t\topenRef.current = false;\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</motion.div>\n\t\t\t\t) }\n\t\t\t</motion.div>\n\t\t</BlockPopoverInbetween>\n\t);\n}\n\nexport default function InsertionPoint( props ) {\n\tconst { insertionPoint, isVisible } = useSelect( ( select ) => {\n\t\tconst { getBlockInsertionPoint, isBlockInsertionPointVisible } =\n\t\t\tselect( blockEditorStore );\n\t\treturn {\n\t\t\tinsertionPoint: getBlockInsertionPoint(),\n\t\t\tisVisible: isBlockInsertionPointVisible(),\n\t\t};\n\t}, [] );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Render a popover that overlays the block when the desired operation is to replace it.\n\t * Otherwise, render a popover in between blocks for the indication of inserting between them.\n\t */\n\treturn insertionPoint.operation === 'replace' ? (\n\t\t<BlockDropZonePopover\n\t\t\t// Force remount to trigger the animation.\n\t\t\tkey={ `${ insertionPoint.rootClientId }-${ insertionPoint.index }` }\n\t\t\t{ ...props }\n\t\t/>\n\t) : (\n\t\t<InbetweenInsertionPointPopover { ...props } />\n\t);\n}\n"]}
|
|
@@ -39,6 +39,7 @@ function selector(select) {
|
|
|
39
39
|
isMultiSelecting: isMultiSelecting(),
|
|
40
40
|
isTyping: isTyping(),
|
|
41
41
|
hasFixedToolbar: getSettings().hasFixedToolbar,
|
|
42
|
+
isDistractionFree: getSettings().isDistractionFree,
|
|
42
43
|
lastClientId: hasMultiSelection() ? getLastMultiSelectedBlockClientId() : null
|
|
43
44
|
};
|
|
44
45
|
}
|
|
@@ -48,6 +49,8 @@ function SelectedBlockPopover(_ref) {
|
|
|
48
49
|
clientId,
|
|
49
50
|
rootClientId,
|
|
50
51
|
isEmptyDefaultBlock,
|
|
52
|
+
showContents,
|
|
53
|
+
// we may need to mount an empty popover because we reuse
|
|
51
54
|
capturingClientId,
|
|
52
55
|
__unstablePopoverSlot,
|
|
53
56
|
__unstableContentRef
|
|
@@ -57,6 +60,7 @@ function SelectedBlockPopover(_ref) {
|
|
|
57
60
|
isMultiSelecting,
|
|
58
61
|
isTyping,
|
|
59
62
|
hasFixedToolbar,
|
|
63
|
+
isDistractionFree,
|
|
60
64
|
lastClientId
|
|
61
65
|
} = useSelect(selector, []);
|
|
62
66
|
const isInsertionPointVisible = useSelect(select => {
|
|
@@ -82,7 +86,7 @@ function SelectedBlockPopover(_ref) {
|
|
|
82
86
|
const showEmptyBlockSideInserter = !isTyping && editorMode === 'edit' && isEmptyDefaultBlock;
|
|
83
87
|
const shouldShowBreadcrumb = editorMode === 'navigation' || editorMode === 'zoom-out';
|
|
84
88
|
const shouldShowContextualToolbar = editorMode === 'edit' && !hasFixedToolbar && isLargeViewport && !isMultiSelecting && !showEmptyBlockSideInserter && !isTyping;
|
|
85
|
-
const canFocusHiddenToolbar = editorMode === 'edit' && !shouldShowContextualToolbar && !hasFixedToolbar && !isEmptyDefaultBlock;
|
|
89
|
+
const canFocusHiddenToolbar = editorMode === 'edit' && !shouldShowContextualToolbar && !hasFixedToolbar && !isDistractionFree && !isEmptyDefaultBlock;
|
|
86
90
|
useShortcut('core/block-editor/focus-toolbar', () => {
|
|
87
91
|
isToolbarForced.current = true;
|
|
88
92
|
stopTyping(true);
|
|
@@ -113,7 +117,7 @@ function SelectedBlockPopover(_ref) {
|
|
|
113
117
|
__unstablePopoverSlot: __unstablePopoverSlot,
|
|
114
118
|
__unstableContentRef: __unstableContentRef,
|
|
115
119
|
resize: false
|
|
116
|
-
}, popoverProps), shouldShowContextualToolbar && createElement(BlockContextualToolbar // If the toolbar is being shown because of being forced
|
|
120
|
+
}, popoverProps), shouldShowContextualToolbar && showContents && createElement(BlockContextualToolbar // If the toolbar is being shown because of being forced
|
|
117
121
|
// it should focus the toolbar right after the mount.
|
|
118
122
|
, {
|
|
119
123
|
focusOnMount: isToolbarForced.current,
|
|
@@ -137,6 +141,8 @@ function wrapperSelector(select) {
|
|
|
137
141
|
getBlockRootClientId,
|
|
138
142
|
getBlock,
|
|
139
143
|
getBlockParents,
|
|
144
|
+
getSettings,
|
|
145
|
+
isNavigationMode: _isNavigationMode,
|
|
140
146
|
__experimentalGetBlockListSettingsForBlocks
|
|
141
147
|
} = select(blockEditorStore);
|
|
142
148
|
const clientId = getSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();
|
|
@@ -159,10 +165,13 @@ function wrapperSelector(select) {
|
|
|
159
165
|
|
|
160
166
|
return (_parentBlockListSetti = parentBlockListSettings[parentClientId]) === null || _parentBlockListSetti === void 0 ? void 0 : _parentBlockListSetti.__experimentalCaptureToolbars;
|
|
161
167
|
});
|
|
168
|
+
const settings = getSettings();
|
|
162
169
|
return {
|
|
163
170
|
clientId,
|
|
164
171
|
rootClientId: getBlockRootClientId(clientId),
|
|
165
172
|
name,
|
|
173
|
+
isDistractionFree: settings.isDistractionFree,
|
|
174
|
+
isNavigationMode: _isNavigationMode(),
|
|
166
175
|
isEmptyDefaultBlock: name && isUnmodifiedDefaultBlock({
|
|
167
176
|
name,
|
|
168
177
|
attributes
|
|
@@ -187,7 +196,9 @@ export default function WrappedBlockPopover(_ref2) {
|
|
|
187
196
|
rootClientId,
|
|
188
197
|
name,
|
|
189
198
|
isEmptyDefaultBlock,
|
|
190
|
-
capturingClientId
|
|
199
|
+
capturingClientId,
|
|
200
|
+
isDistractionFree,
|
|
201
|
+
isNavigationMode
|
|
191
202
|
} = selected;
|
|
192
203
|
|
|
193
204
|
if (!name) {
|
|
@@ -198,6 +209,7 @@ export default function WrappedBlockPopover(_ref2) {
|
|
|
198
209
|
clientId: clientId,
|
|
199
210
|
rootClientId: rootClientId,
|
|
200
211
|
isEmptyDefaultBlock: isEmptyDefaultBlock,
|
|
212
|
+
showContents: !isDistractionFree || isNavigationMode,
|
|
201
213
|
capturingClientId: capturingClientId,
|
|
202
214
|
__unstablePopoverSlot: __unstablePopoverSlot,
|
|
203
215
|
__unstableContentRef: __unstableContentRef
|