@wordpress/block-editor 12.0.0 → 12.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/README.md +1 -1
- package/build/components/block-controls/slot.js +12 -4
- package/build/components/block-controls/slot.js.map +1 -1
- package/build/components/block-controls/slot.native.js +10 -1
- package/build/components/block-controls/slot.native.js.map +1 -1
- package/build/components/block-draggable/index.js +11 -7
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/use-scroll-when-dragging.js +2 -2
- package/build/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.native.js +15 -7
- package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build/components/block-list/block-list-item-cell.native.js +15 -2
- package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js +158 -195
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block-outline.native.js +57 -0
- package/build/components/block-list/block-outline.native.js.map +1 -0
- package/build/components/block-list/block.native.js +343 -299
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.native.js +202 -298
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/insertion-point.native.js +4 -2
- package/build/components/block-list/insertion-point.native.js.map +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +8 -10
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +15 -4
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +17 -62
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +3 -8
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +3 -2
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build/components/global-styles/advanced-panel.js +86 -0
- package/build/components/global-styles/advanced-panel.js.map +1 -0
- package/build/components/global-styles/color-panel.js +4 -1
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +6 -6
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/hooks.js +1 -2
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/index.js +24 -0
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +1 -1
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +27 -4
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +30 -0
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/image-editor/use-save-image.js +24 -8
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +5 -0
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inspector-controls/fill.js +1 -1
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +1 -1
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls/slot.js +3 -6
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls/slot.native.js +1 -1
- package/build/components/inspector-controls/slot.native.js.map +1 -1
- package/build/components/line-height-control/index.js +7 -2
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/link-control/use-internal-input-value.js +9 -8
- package/build/components/link-control/use-internal-input-value.js.map +1 -1
- package/build/components/list-view/block-contents.js +7 -2
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +2 -1
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +4 -4
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/index.js +32 -18
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +163 -11
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/media-placeholder/index.js +68 -7
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/multi-selection-inspector/index.js +2 -2
- package/build/components/multi-selection-inspector/index.js.map +1 -1
- package/build/components/off-canvas-editor/leaf-more-menu.js +3 -1
- package/build/components/off-canvas-editor/leaf-more-menu.js.map +1 -1
- package/build/components/preview-options/index.js +6 -1
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/spacing-sizes-control/spacing-input-control.js +1 -1
- package/build/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
- package/build/components/url-input/index.js +1 -2
- package/build/components/url-input/index.js.map +1 -1
- package/build/hooks/align.js +1 -1
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/border.js +1 -1
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +1 -1
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +8 -12
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/duotone.js +1 -1
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/index.native.js +8 -0
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout.js +2 -2
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/position.js +1 -1
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/style.js +1 -1
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/use-editor-wrapper-styles.native.js +255 -0
- package/build/hooks/use-editor-wrapper-styles.native.js.map +1 -0
- package/build/hooks/use-typography-props.js +14 -10
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/index.native.js +31 -0
- package/build/index.native.js.map +1 -0
- package/build/utils/use-should-contextual-toolbar-show.js +16 -12
- package/build/utils/use-should-contextual-toolbar-show.js.map +1 -1
- package/build-module/components/block-controls/slot.js +11 -4
- package/build-module/components/block-controls/slot.js.map +1 -1
- package/build-module/components/block-controls/slot.native.js +9 -1
- package/build-module/components/block-controls/slot.native.js.map +1 -1
- package/build-module/components/block-draggable/index.js +10 -6
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-draggable/use-scroll-when-dragging.js +2 -2
- package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.native.js +16 -8
- package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item-cell.native.js +13 -2
- package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item.native.js +160 -190
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block-outline.native.js +44 -0
- package/build-module/components/block-list/block-outline.native.js.map +1 -0
- package/build-module/components/block-list/block.native.js +341 -298
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.native.js +203 -293
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/insertion-point.native.js +4 -2
- package/build-module/components/block-list/insertion-point.native.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +8 -9
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +13 -5
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +18 -62
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +3 -7
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +3 -2
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build-module/components/global-styles/advanced-panel.js +74 -0
- package/build-module/components/global-styles/advanced-panel.js.map +1 -0
- package/build-module/components/global-styles/color-panel.js +5 -2
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +6 -6
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +1 -2
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/index.js +3 -1
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +1 -1
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +25 -4
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +25 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js +24 -8
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +4 -0
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +1 -1
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +1 -1
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +4 -7
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls/slot.native.js +1 -1
- package/build-module/components/inspector-controls/slot.native.js.map +1 -1
- package/build-module/components/line-height-control/index.js +7 -2
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/link-control/use-internal-input-value.js +9 -8
- package/build-module/components/link-control/use-internal-input-value.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +7 -3
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +2 -1
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +4 -4
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/index.js +32 -18
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +160 -11
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +66 -7
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/multi-selection-inspector/index.js +2 -2
- package/build-module/components/multi-selection-inspector/index.js.map +1 -1
- package/build-module/components/off-canvas-editor/leaf-more-menu.js +3 -1
- package/build-module/components/off-canvas-editor/leaf-more-menu.js.map +1 -1
- package/build-module/components/preview-options/index.js +7 -2
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/spacing-input-control.js +1 -1
- package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
- package/build-module/components/url-input/index.js +1 -2
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/hooks/align.js +1 -1
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/border.js +1 -1
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +1 -1
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +8 -11
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/duotone.js +1 -1
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/index.native.js +1 -0
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout.js +2 -2
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/position.js +1 -1
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/style.js +1 -1
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/use-editor-wrapper-styles.native.js +242 -0
- package/build-module/hooks/use-editor-wrapper-styles.native.js.map +1 -0
- package/build-module/hooks/use-typography-props.js +14 -10
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/index.native.js +6 -0
- package/build-module/index.native.js.map +1 -0
- package/build-module/utils/use-should-contextual-toolbar-show.js +16 -12
- package/build-module/utils/use-should-contextual-toolbar-show.js.map +1 -1
- package/build-style/content-rtl.css +0 -1
- package/build-style/content.css +0 -1
- package/build-style/style-rtl.css +37 -13
- package/build-style/style.css +37 -13
- package/package.json +31 -31
- package/src/components/block-breadcrumb/style.scss +2 -1
- package/src/components/block-controls/slot.js +8 -4
- package/src/components/block-controls/slot.native.js +6 -1
- package/src/components/block-draggable/index.js +10 -6
- package/src/components/block-draggable/use-scroll-when-dragging.js +8 -2
- package/src/components/block-list/block-invalid-warning.native.js +17 -9
- package/src/components/block-list/block-list-item-cell.native.js +10 -1
- package/src/components/block-list/block-list-item.native.js +180 -208
- package/src/components/block-list/block-outline.native.js +58 -0
- package/src/components/block-list/block.native.js +564 -523
- package/src/components/block-list/content.scss +0 -1
- package/src/components/block-list/index.native.js +229 -298
- package/src/components/block-list/insertion-point.native.js +2 -2
- package/src/components/block-list/test/block-invalid-warning.native.js +48 -0
- package/src/components/block-list/test/index.native.js +205 -0
- package/src/components/block-mobile-toolbar/block-actions-menu.native.js +3 -1
- package/src/components/block-pattern-setup/style.scss +1 -4
- package/src/components/block-patterns-list/style.scss +1 -4
- package/src/components/block-settings-menu/block-settings-dropdown.js +10 -17
- package/src/components/block-settings-menu-controls/index.js +24 -4
- package/src/components/block-styles/style.scss +4 -4
- package/src/components/block-tools/block-contextual-toolbar.js +28 -62
- package/src/components/block-tools/selected-block-popover.js +3 -5
- package/src/components/block-tools/style.scss +8 -0
- package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +16 -2
- package/src/components/global-styles/advanced-panel.js +82 -0
- package/src/components/global-styles/color-panel.js +6 -1
- package/src/components/global-styles/dimensions-panel.js +6 -6
- package/src/components/global-styles/hooks.js +1 -5
- package/src/components/global-styles/index.js +6 -1
- package/src/components/global-styles/style.scss +14 -0
- package/src/components/global-styles/test/utils.js +57 -1
- package/src/components/global-styles/typography-panel.js +1 -1
- package/src/components/global-styles/use-global-styles-output.js +21 -3
- package/src/components/global-styles/utils.js +27 -0
- package/src/components/image-editor/use-save-image.js +20 -9
- package/src/components/inserter-draggable-blocks/index.js +4 -0
- package/src/components/inspector-controls/fill.js +1 -1
- package/src/components/inspector-controls/fill.native.js +1 -1
- package/src/components/inspector-controls/slot.js +4 -9
- package/src/components/inspector-controls/slot.native.js +1 -1
- package/src/components/line-height-control/index.js +7 -2
- package/src/components/line-height-control/stories/index.js +1 -1
- package/src/components/link-control/test/index.js +42 -0
- package/src/components/link-control/use-internal-input-value.js +8 -7
- package/src/components/list-view/block-contents.js +26 -20
- package/src/components/list-view/block-select-button.js +5 -1
- package/src/components/list-view/block.js +5 -2
- package/src/components/list-view/index.js +26 -14
- package/src/components/list-view/style.scss +5 -2
- package/src/components/list-view/test/use-list-view-drop-zone.js +88 -12
- package/src/components/list-view/use-list-view-drop-zone.js +194 -11
- package/src/components/media-placeholder/index.js +74 -1
- package/src/components/multi-selection-inspector/index.js +2 -2
- package/src/components/off-canvas-editor/leaf-more-menu.js +2 -1
- package/src/components/preview-options/index.js +9 -2
- package/src/components/spacing-sizes-control/spacing-input-control.js +1 -0
- package/src/components/url-input/index.js +1 -2
- package/src/hooks/align.js +2 -1
- package/src/hooks/border.js +2 -1
- package/src/hooks/color.js +2 -1
- package/src/hooks/content-lock-ui.js +3 -15
- package/src/hooks/duotone.js +1 -0
- package/src/hooks/index.native.js +1 -0
- package/src/hooks/layout.js +4 -2
- package/src/hooks/position.js +2 -1
- package/src/hooks/style.js +2 -1
- package/src/hooks/test/use-editor-wrapper-styles.native.js +282 -0
- package/src/hooks/test/use-typography-props.js +47 -2
- package/src/hooks/use-editor-wrapper-styles.native.js +250 -0
- package/src/hooks/use-editor-wrapper-styles.native.scss +11 -0
- package/src/hooks/use-typography-props.js +10 -11
- package/src/index.native.js +6 -0
- package/src/utils/use-should-contextual-toolbar-show.js +19 -9
- package/tsconfig.json +1 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -10,7 +10,7 @@ import classnames from 'classnames';
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import { __ } from '@wordpress/i18n';
|
|
13
|
-
import {
|
|
13
|
+
import { useEffect, useRef, useState } from '@wordpress/element';
|
|
14
14
|
import { hasBlockSupport, store as blocksStore } from '@wordpress/blocks';
|
|
15
15
|
import { useSelect } from '@wordpress/data';
|
|
16
16
|
import { ToolbarItem, ToolbarButton, ToolbarGroup } from '@wordpress/components';
|
|
@@ -24,62 +24,17 @@ import NavigableToolbar from '../navigable-toolbar';
|
|
|
24
24
|
import BlockToolbar from '../block-toolbar';
|
|
25
25
|
import { store as blockEditorStore } from '../../store';
|
|
26
26
|
import BlockIcon from '../block-icon';
|
|
27
|
-
const CollapseFixedToolbarButton = forwardRef((_ref, ref) => {
|
|
28
|
-
let {
|
|
29
|
-
onClick
|
|
30
|
-
} = _ref;
|
|
31
|
-
return createElement(ToolbarItem, {
|
|
32
|
-
as: ToolbarButton,
|
|
33
|
-
className: "block-editor-block-toolbar__collapse-fixed-toolbar",
|
|
34
|
-
icon: levelUp,
|
|
35
|
-
onClick: onClick,
|
|
36
|
-
ref: ref,
|
|
37
|
-
label: __('Show document tools')
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
const ExpandFixedToolbarButton = forwardRef((_ref2, ref) => {
|
|
41
|
-
let {
|
|
42
|
-
onClick,
|
|
43
|
-
icon
|
|
44
|
-
} = _ref2;
|
|
45
|
-
return createElement(ToolbarItem, {
|
|
46
|
-
as: ToolbarButton,
|
|
47
|
-
className: "block-editor-block-toolbar__expand-fixed-toolbar",
|
|
48
|
-
icon: createElement(BlockIcon, {
|
|
49
|
-
icon: icon
|
|
50
|
-
}),
|
|
51
|
-
onClick: onClick,
|
|
52
|
-
ref: ref,
|
|
53
|
-
label: __('Show block tools')
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
27
|
|
|
57
|
-
function BlockContextualToolbar(
|
|
28
|
+
function BlockContextualToolbar(_ref) {
|
|
58
29
|
let {
|
|
59
30
|
focusOnMount,
|
|
60
31
|
isFixed,
|
|
61
32
|
...props
|
|
62
|
-
} =
|
|
33
|
+
} = _ref;
|
|
63
34
|
// When the toolbar is fixed it can be collapsed
|
|
64
35
|
const [isCollapsed, setIsCollapsed] = useState(false);
|
|
65
|
-
const
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
const initialRender = useRef(true);
|
|
69
|
-
useEffect(() => {
|
|
70
|
-
if (initialRender.current) {
|
|
71
|
-
initialRender.current = false;
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
if (isCollapsed && expandFixedToolbarButtonRef.current) {
|
|
76
|
-
expandFixedToolbarButtonRef.current.focus();
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
if (!isCollapsed && collapseFixedToolbarButtonRef.current) {
|
|
80
|
-
collapseFixedToolbarButtonRef.current.focus();
|
|
81
|
-
}
|
|
82
|
-
}, [isCollapsed]);
|
|
36
|
+
const toolbarButtonRef = useRef();
|
|
37
|
+
const isLargeViewport = useViewportMatch('medium');
|
|
83
38
|
const {
|
|
84
39
|
blockType,
|
|
85
40
|
hasParents,
|
|
@@ -111,12 +66,9 @@ function BlockContextualToolbar(_ref3) {
|
|
|
111
66
|
useEffect(() => {
|
|
112
67
|
setIsCollapsed(false);
|
|
113
68
|
}, [selectedBlockClientId]);
|
|
114
|
-
const isLargeViewport = useViewportMatch('medium');
|
|
115
69
|
|
|
116
|
-
if (blockType) {
|
|
117
|
-
|
|
118
|
-
return null;
|
|
119
|
-
}
|
|
70
|
+
if (blockType && !hasBlockSupport(blockType, '__experimentalToolbar', true)) {
|
|
71
|
+
return null;
|
|
120
72
|
} // Shifts the toolbar to make room for the parent block selector.
|
|
121
73
|
|
|
122
74
|
|
|
@@ -133,13 +85,17 @@ function BlockContextualToolbar(_ref3) {
|
|
|
133
85
|
"aria-label": __('Block tools')
|
|
134
86
|
}, props), isFixed && isLargeViewport && blockType && createElement(ToolbarGroup, {
|
|
135
87
|
className: isCollapsed ? 'block-editor-block-toolbar__group-expand-fixed-toolbar' : 'block-editor-block-toolbar__group-collapse-fixed-toolbar'
|
|
136
|
-
},
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
88
|
+
}, createElement(ToolbarItem, {
|
|
89
|
+
as: ToolbarButton,
|
|
90
|
+
ref: toolbarButtonRef,
|
|
91
|
+
icon: isCollapsed ? createElement(BlockIcon, {
|
|
92
|
+
icon: blockType.icon
|
|
93
|
+
}) : levelUp,
|
|
94
|
+
onClick: () => {
|
|
95
|
+
setIsCollapsed(collapsed => !collapsed);
|
|
96
|
+
toolbarButtonRef.current.focus();
|
|
97
|
+
},
|
|
98
|
+
label: isCollapsed ? __('Show block tools') : __('Show document tools')
|
|
143
99
|
})), !isCollapsed && createElement(BlockToolbar, {
|
|
144
100
|
hideDragHandle: isFixed
|
|
145
101
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/block-contextual-toolbar.js"],"names":["classnames","__","forwardRef","useEffect","useRef","useState","hasBlockSupport","store","blocksStore","useSelect","ToolbarItem","ToolbarButton","ToolbarGroup","levelUp","useViewportMatch","NavigableToolbar","BlockToolbar","blockEditorStore","BlockIcon","CollapseFixedToolbarButton","ref","onClick","ExpandFixedToolbarButton","icon","BlockContextualToolbar","focusOnMount","isFixed","props","isCollapsed","setIsCollapsed","expandFixedToolbarButtonRef","collapseFixedToolbarButtonRef","initialRender","current","focus","blockType","hasParents","showParentSelector","selectedBlockClientId","select","getBlockName","getBlockParents","getSelectedBlockClientIds","__unstableGetContentLockingParent","getBlockType","selectedBlockClientIds","_selectedBlockClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","isLargeViewport","classes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef, useEffect, useRef, useState } from '@wordpress/element';\nimport { hasBlockSupport, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tToolbarItem,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { levelUp } from '@wordpress/icons';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport NavigableToolbar from '../navigable-toolbar';\nimport BlockToolbar from '../block-toolbar';\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\n\nconst CollapseFixedToolbarButton = forwardRef( ( { onClick }, ref ) => {\n\treturn (\n\t\t<ToolbarItem\n\t\t\tas={ ToolbarButton }\n\t\t\tclassName=\"block-editor-block-toolbar__collapse-fixed-toolbar\"\n\t\t\ticon={ levelUp }\n\t\t\tonClick={ onClick }\n\t\t\tref={ ref }\n\t\t\tlabel={ __( 'Show document tools' ) }\n\t\t/>\n\t);\n} );\n\nconst ExpandFixedToolbarButton = forwardRef( ( { onClick, icon }, ref ) => {\n\treturn (\n\t\t<ToolbarItem\n\t\t\tas={ ToolbarButton }\n\t\t\tclassName=\"block-editor-block-toolbar__expand-fixed-toolbar\"\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tonClick={ onClick }\n\t\t\tref={ ref }\n\t\t\tlabel={ __( 'Show block tools' ) }\n\t\t/>\n\t);\n} );\n\nfunction BlockContextualToolbar( { focusOnMount, isFixed, ...props } ) {\n\t// When the toolbar is fixed it can be collapsed\n\tconst [ isCollapsed, setIsCollapsed ] = useState( false );\n\tconst expandFixedToolbarButtonRef = useRef();\n\tconst collapseFixedToolbarButtonRef = useRef();\n\n\t// Don't focus the block toolbar just because it mounts\n\tconst initialRender = useRef( true );\n\tuseEffect( () => {\n\t\tif ( initialRender.current ) {\n\t\t\tinitialRender.current = false;\n\t\t\treturn;\n\t\t}\n\t\tif ( isCollapsed && expandFixedToolbarButtonRef.current ) {\n\t\t\texpandFixedToolbarButtonRef.current.focus();\n\t\t}\n\t\tif ( ! isCollapsed && collapseFixedToolbarButtonRef.current ) {\n\t\t\tcollapseFixedToolbarButtonRef.current.focus();\n\t\t}\n\t}, [ isCollapsed ] );\n\n\tconst { blockType, hasParents, showParentSelector, selectedBlockClientId } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t__unstableGetContentLockingParent,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockType } = select( blocksStore );\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\t\tconst _selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\t\tconst parents = getBlockParents( _selectedBlockClientId );\n\t\t\tconst firstParentClientId = parents[ parents.length - 1 ];\n\t\t\tconst parentBlockName = getBlockName( firstParentClientId );\n\t\t\tconst parentBlockType = getBlockType( parentBlockName );\n\n\t\t\treturn {\n\t\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\t\tblockType:\n\t\t\t\t\t_selectedBlockClientId &&\n\t\t\t\t\tgetBlockType( getBlockName( _selectedBlockClientId ) ),\n\t\t\t\thasParents: parents.length,\n\t\t\t\tshowParentSelector:\n\t\t\t\t\tparentBlockType &&\n\t\t\t\t\thasBlockSupport(\n\t\t\t\t\t\tparentBlockType,\n\t\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) &&\n\t\t\t\t\tselectedBlockClientIds.length <= 1 &&\n\t\t\t\t\t! __unstableGetContentLockingParent(\n\t\t\t\t\t\t_selectedBlockClientId\n\t\t\t\t\t),\n\t\t\t};\n\t\t}, [] );\n\n\tuseEffect( () => {\n\t\tsetIsCollapsed( false );\n\t}, [ selectedBlockClientId ] );\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tif ( blockType ) {\n\t\tif ( ! hasBlockSupport( blockType, '__experimentalToolbar', true ) ) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t// Shifts the toolbar to make room for the parent block selector.\n\tconst classes = classnames( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': hasParents && showParentSelector,\n\t\t'is-fixed': isFixed,\n\t\t'is-collapsed': isCollapsed,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\tclassName={ classes }\n\t\t\t/* translators: accessibility text for the block toolbar */\n\t\t\taria-label={ __( 'Block tools' ) }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ isFixed && isLargeViewport && blockType && (\n\t\t\t\t<ToolbarGroup\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tisCollapsed\n\t\t\t\t\t\t\t? 'block-editor-block-toolbar__group-expand-fixed-toolbar'\n\t\t\t\t\t\t\t: 'block-editor-block-toolbar__group-collapse-fixed-toolbar'\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isCollapsed ? (\n\t\t\t\t\t\t<ExpandFixedToolbarButton\n\t\t\t\t\t\t\tonClick={ () => setIsCollapsed( false ) }\n\t\t\t\t\t\t\ticon={ blockType.icon }\n\t\t\t\t\t\t\tref={ expandFixedToolbarButtonRef }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<CollapseFixedToolbarButton\n\t\t\t\t\t\t\tonClick={ () => setIsCollapsed( true ) }\n\t\t\t\t\t\t\tref={ collapseFixedToolbarButtonRef }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t\t{ ! isCollapsed && <BlockToolbar hideDragHandle={ isFixed } /> }\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default BlockContextualToolbar;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/block-contextual-toolbar.js"],"names":["classnames","__","useEffect","useRef","useState","hasBlockSupport","store","blocksStore","useSelect","ToolbarItem","ToolbarButton","ToolbarGroup","levelUp","useViewportMatch","NavigableToolbar","BlockToolbar","blockEditorStore","BlockIcon","BlockContextualToolbar","focusOnMount","isFixed","props","isCollapsed","setIsCollapsed","toolbarButtonRef","isLargeViewport","blockType","hasParents","showParentSelector","selectedBlockClientId","select","getBlockName","getBlockParents","getSelectedBlockClientIds","__unstableGetContentLockingParent","getBlockType","selectedBlockClientIds","_selectedBlockClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","classes","icon","collapsed","current","focus"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { hasBlockSupport, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tToolbarItem,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { levelUp } from '@wordpress/icons';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport NavigableToolbar from '../navigable-toolbar';\nimport BlockToolbar from '../block-toolbar';\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\n\nfunction BlockContextualToolbar( { focusOnMount, isFixed, ...props } ) {\n\t// When the toolbar is fixed it can be collapsed\n\tconst [ isCollapsed, setIsCollapsed ] = useState( false );\n\tconst toolbarButtonRef = useRef();\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { blockType, hasParents, showParentSelector, selectedBlockClientId } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t__unstableGetContentLockingParent,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockType } = select( blocksStore );\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\t\tconst _selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\t\tconst parents = getBlockParents( _selectedBlockClientId );\n\t\t\tconst firstParentClientId = parents[ parents.length - 1 ];\n\t\t\tconst parentBlockName = getBlockName( firstParentClientId );\n\t\t\tconst parentBlockType = getBlockType( parentBlockName );\n\n\t\t\treturn {\n\t\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\t\tblockType:\n\t\t\t\t\t_selectedBlockClientId &&\n\t\t\t\t\tgetBlockType( getBlockName( _selectedBlockClientId ) ),\n\t\t\t\thasParents: parents.length,\n\t\t\t\tshowParentSelector:\n\t\t\t\t\tparentBlockType &&\n\t\t\t\t\thasBlockSupport(\n\t\t\t\t\t\tparentBlockType,\n\t\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) &&\n\t\t\t\t\tselectedBlockClientIds.length <= 1 &&\n\t\t\t\t\t! __unstableGetContentLockingParent(\n\t\t\t\t\t\t_selectedBlockClientId\n\t\t\t\t\t),\n\t\t\t};\n\t\t}, [] );\n\n\tuseEffect( () => {\n\t\tsetIsCollapsed( false );\n\t}, [ selectedBlockClientId ] );\n\n\tif (\n\t\tblockType &&\n\t\t! hasBlockSupport( blockType, '__experimentalToolbar', true )\n\t) {\n\t\treturn null;\n\t}\n\n\t// Shifts the toolbar to make room for the parent block selector.\n\tconst classes = classnames( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': hasParents && showParentSelector,\n\t\t'is-fixed': isFixed,\n\t\t'is-collapsed': isCollapsed,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\tclassName={ classes }\n\t\t\t/* translators: accessibility text for the block toolbar */\n\t\t\taria-label={ __( 'Block tools' ) }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ isFixed && isLargeViewport && blockType && (\n\t\t\t\t<ToolbarGroup\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tisCollapsed\n\t\t\t\t\t\t\t? 'block-editor-block-toolbar__group-expand-fixed-toolbar'\n\t\t\t\t\t\t\t: 'block-editor-block-toolbar__group-collapse-fixed-toolbar'\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\tas={ ToolbarButton }\n\t\t\t\t\t\tref={ toolbarButtonRef }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tisCollapsed ? (\n\t\t\t\t\t\t\t\t<BlockIcon icon={ blockType.icon } />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tlevelUp\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsCollapsed( ( collapsed ) => ! collapsed );\n\t\t\t\t\t\t\ttoolbarButtonRef.current.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tisCollapsed\n\t\t\t\t\t\t\t\t? __( 'Show block tools' )\n\t\t\t\t\t\t\t\t: __( 'Show document tools' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t\t{ ! isCollapsed && <BlockToolbar hideDragHandle={ isFixed } /> }\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default BlockContextualToolbar;\n"]}
|
|
@@ -23,8 +23,7 @@ import { store as blockEditorStore } from '../../store';
|
|
|
23
23
|
import BlockPopover from '../block-popover';
|
|
24
24
|
import useBlockToolbarPopoverProps from './use-block-toolbar-popover-props';
|
|
25
25
|
import Inserter from '../inserter';
|
|
26
|
-
import {
|
|
27
|
-
import { privateApis } from '../../private-apis';
|
|
26
|
+
import { useShouldContextualToolbarShow } from '../../utils/use-should-contextual-toolbar-show';
|
|
28
27
|
|
|
29
28
|
function selector(select) {
|
|
30
29
|
const {
|
|
@@ -32,7 +31,7 @@ function selector(select) {
|
|
|
32
31
|
hasMultiSelection,
|
|
33
32
|
isTyping,
|
|
34
33
|
getLastMultiSelectedBlockClientId
|
|
35
|
-
} =
|
|
34
|
+
} = select(blockEditorStore);
|
|
36
35
|
return {
|
|
37
36
|
editorMode: __unstableGetEditorMode(),
|
|
38
37
|
hasMultiSelection: hasMultiSelection(),
|
|
@@ -56,9 +55,6 @@ function SelectedBlockPopover(_ref) {
|
|
|
56
55
|
isTyping,
|
|
57
56
|
lastClientId
|
|
58
57
|
} = useSelect(selector, []);
|
|
59
|
-
const {
|
|
60
|
-
useShouldContextualToolbarShow
|
|
61
|
-
} = unlock(privateApis);
|
|
62
58
|
const isInsertionPointVisible = useSelect(select => {
|
|
63
59
|
const {
|
|
64
60
|
isBlockInsertionPointVisible,
|
|
@@ -78,7 +74,7 @@ function SelectedBlockPopover(_ref) {
|
|
|
78
74
|
const {
|
|
79
75
|
shouldShowContextualToolbar,
|
|
80
76
|
canFocusHiddenToolbar
|
|
81
|
-
} = useShouldContextualToolbarShow(
|
|
77
|
+
} = useShouldContextualToolbarShow();
|
|
82
78
|
const {
|
|
83
79
|
stopTyping
|
|
84
80
|
} = useDispatch(blockEditorStore);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/selected-block-popover.js"],"names":["classnames","useRef","useEffect","isUnmodifiedDefaultBlock","useDispatch","useSelect","useShortcut","BlockSelectionButton","BlockContextualToolbar","store","blockEditorStore","BlockPopover","useBlockToolbarPopoverProps","Inserter","unlock","privateApis","selector","select","__unstableGetEditorMode","hasMultiSelection","isTyping","getLastMultiSelectedBlockClientId","editorMode","lastClientId","SelectedBlockPopover","clientId","rootClientId","isEmptyDefaultBlock","capturingClientId","__unstablePopoverSlot","__unstableContentRef","useShouldContextualToolbarShow","isInsertionPointVisible","isBlockInsertionPointVisible","getBlockInsertionPoint","getBlockOrder","insertionPoint","order","index","isToolbarForced","shouldShowContextualToolbar","canFocusHiddenToolbar","stopTyping","showEmptyBlockSideInserter","shouldShowBreadcrumb","current","isDisabled","initialToolbarItemIndexRef","popoverProps","contentElement","wrapperSelector","getSelectedBlockClientId","getFirstMultiSelectedBlockClientId","getBlockRootClientId","getBlock","getBlockParents","__experimentalGetBlockListSettingsForBlocks","name","attributes","blockParentsClientIds","parentBlockListSettings","find","parentClientId","__experimentalCaptureToolbars","WrappedBlockPopover","selected"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useEffect } from '@wordpress/element';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport BlockSelectionButton from './block-selection-button';\nimport BlockContextualToolbar from './block-contextual-toolbar';\nimport { store as blockEditorStore } from '../../store';\nimport BlockPopover from '../block-popover';\nimport useBlockToolbarPopoverProps from './use-block-toolbar-popover-props';\nimport Inserter from '../inserter';\nimport { unlock } from '../../lock-unlock';\nimport { privateApis } from '../../private-apis';\n\nfunction selector( select ) {\n\tconst {\n\t\t__unstableGetEditorMode,\n\t\thasMultiSelection,\n\t\tisTyping,\n\t\tgetLastMultiSelectedBlockClientId,\n\t} = unlock( select( blockEditorStore ) );\n\n\treturn {\n\t\teditorMode: __unstableGetEditorMode(),\n\t\thasMultiSelection: hasMultiSelection(),\n\t\tisTyping: isTyping(),\n\t\tlastClientId: hasMultiSelection()\n\t\t\t? getLastMultiSelectedBlockClientId()\n\t\t\t: null,\n\t};\n}\n\nfunction SelectedBlockPopover( {\n\tclientId,\n\trootClientId,\n\tisEmptyDefaultBlock,\n\tcapturingClientId,\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n} ) {\n\tconst { editorMode, hasMultiSelection, isTyping, lastClientId } = useSelect(\n\t\tselector,\n\t\t[]\n\t);\n\n\tconst { useShouldContextualToolbarShow } = unlock( privateApis );\n\tconst isInsertionPointVisible = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetBlockInsertionPoint,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tif ( ! isBlockInsertionPointVisible() ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\t\tconst order = getBlockOrder( insertionPoint.rootClientId );\n\t\t\treturn order[ insertionPoint.index ] === clientId;\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst isToolbarForced = useRef( false );\n\tconst { shouldShowContextualToolbar, canFocusHiddenToolbar } =\n\t\tuseShouldContextualToolbarShow( clientId );\n\n\tconst { stopTyping } = useDispatch( blockEditorStore );\n\n\tconst showEmptyBlockSideInserter =\n\t\t! isTyping && editorMode === 'edit' && isEmptyDefaultBlock;\n\tconst shouldShowBreadcrumb =\n\t\t! hasMultiSelection &&\n\t\t( editorMode === 'navigation' || editorMode === 'zoom-out' );\n\n\tuseShortcut(\n\t\t'core/block-editor/focus-toolbar',\n\t\t() => {\n\t\t\tisToolbarForced.current = true;\n\t\t\tstopTyping( true );\n\t\t},\n\t\t{\n\t\t\tisDisabled: ! canFocusHiddenToolbar,\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tisToolbarForced.current = false;\n\t} );\n\n\t// Stores the active toolbar item index so the block toolbar can return focus\n\t// to it when re-mounting.\n\tconst initialToolbarItemIndexRef = useRef();\n\n\tconst popoverProps = useBlockToolbarPopoverProps( {\n\t\tcontentElement: __unstableContentRef?.current,\n\t\tclientId,\n\t} );\n\n\tif ( showEmptyBlockSideInserter ) {\n\t\treturn (\n\t\t\t<BlockPopover\n\t\t\t\tclientId={ capturingClientId || clientId }\n\t\t\t\t__unstableCoverTarget\n\t\t\t\tbottomClientId={ lastClientId }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-block-list__block-side-inserter-popover',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-insertion-point-visible': isInsertionPointVisible,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\tresize={ false }\n\t\t\t\tshift={ false }\n\t\t\t\t{ ...popoverProps }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-block-list__empty-block-inserter\">\n\t\t\t\t\t<Inserter\n\t\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t__experimentalIsQuick\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</BlockPopover>\n\t\t);\n\t}\n\n\tif ( shouldShowBreadcrumb || shouldShowContextualToolbar ) {\n\t\treturn (\n\t\t\t<BlockPopover\n\t\t\t\tclientId={ capturingClientId || clientId }\n\t\t\t\tbottomClientId={ lastClientId }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-block-list__block-popover',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-insertion-point-visible': isInsertionPointVisible,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\tresize={ false }\n\t\t\t\t{ ...popoverProps }\n\t\t\t>\n\t\t\t\t{ shouldShowContextualToolbar && (\n\t\t\t\t\t<BlockContextualToolbar\n\t\t\t\t\t\t// If the toolbar is being shown because of being forced\n\t\t\t\t\t\t// it should focus the toolbar right after the mount.\n\t\t\t\t\t\tfocusOnMount={ isToolbarForced.current }\n\t\t\t\t\t\t__experimentalInitialIndex={\n\t\t\t\t\t\t\tinitialToolbarItemIndexRef.current\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__experimentalOnIndexChange={ ( index ) => {\n\t\t\t\t\t\t\tinitialToolbarItemIndexRef.current = index;\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t// Resets the index whenever the active block changes so\n\t\t\t\t\t\t// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\t\t\t\t\tkey={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ shouldShowBreadcrumb && (\n\t\t\t\t\t<BlockSelectionButton\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockPopover>\n\t\t);\n\t}\n\n\treturn null;\n}\n\nfunction wrapperSelector( select ) {\n\tconst {\n\t\tgetSelectedBlockClientId,\n\t\tgetFirstMultiSelectedBlockClientId,\n\t\tgetBlockRootClientId,\n\t\tgetBlock,\n\t\tgetBlockParents,\n\t\t__experimentalGetBlockListSettingsForBlocks,\n\t} = select( blockEditorStore );\n\n\tconst clientId =\n\t\tgetSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();\n\n\tif ( ! clientId ) {\n\t\treturn;\n\t}\n\n\tconst { name, attributes = {} } = getBlock( clientId ) || {};\n\tconst blockParentsClientIds = getBlockParents( clientId );\n\n\t// Get Block List Settings for all ancestors of the current Block clientId.\n\tconst parentBlockListSettings = __experimentalGetBlockListSettingsForBlocks(\n\t\tblockParentsClientIds\n\t);\n\n\t// Get the clientId of the topmost parent with the capture toolbars setting.\n\tconst capturingClientId = blockParentsClientIds.find(\n\t\t( parentClientId ) =>\n\t\t\tparentBlockListSettings[ parentClientId ]\n\t\t\t\t?.__experimentalCaptureToolbars\n\t);\n\n\treturn {\n\t\tclientId,\n\t\trootClientId: getBlockRootClientId( clientId ),\n\t\tname,\n\t\tisEmptyDefaultBlock:\n\t\t\tname && isUnmodifiedDefaultBlock( { name, attributes } ),\n\t\tcapturingClientId,\n\t};\n}\n\nexport default function WrappedBlockPopover( {\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n} ) {\n\tconst selected = useSelect( wrapperSelector, [] );\n\n\tif ( ! selected ) {\n\t\treturn null;\n\t}\n\n\tconst {\n\t\tclientId,\n\t\trootClientId,\n\t\tname,\n\t\tisEmptyDefaultBlock,\n\t\tcapturingClientId,\n\t} = selected;\n\n\tif ( ! name ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<SelectedBlockPopover\n\t\t\tclientId={ clientId }\n\t\t\trootClientId={ rootClientId }\n\t\t\tisEmptyDefaultBlock={ isEmptyDefaultBlock }\n\t\t\tcapturingClientId={ capturingClientId }\n\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t/>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/selected-block-popover.js"],"names":["classnames","useRef","useEffect","isUnmodifiedDefaultBlock","useDispatch","useSelect","useShortcut","BlockSelectionButton","BlockContextualToolbar","store","blockEditorStore","BlockPopover","useBlockToolbarPopoverProps","Inserter","useShouldContextualToolbarShow","selector","select","__unstableGetEditorMode","hasMultiSelection","isTyping","getLastMultiSelectedBlockClientId","editorMode","lastClientId","SelectedBlockPopover","clientId","rootClientId","isEmptyDefaultBlock","capturingClientId","__unstablePopoverSlot","__unstableContentRef","isInsertionPointVisible","isBlockInsertionPointVisible","getBlockInsertionPoint","getBlockOrder","insertionPoint","order","index","isToolbarForced","shouldShowContextualToolbar","canFocusHiddenToolbar","stopTyping","showEmptyBlockSideInserter","shouldShowBreadcrumb","current","isDisabled","initialToolbarItemIndexRef","popoverProps","contentElement","wrapperSelector","getSelectedBlockClientId","getFirstMultiSelectedBlockClientId","getBlockRootClientId","getBlock","getBlockParents","__experimentalGetBlockListSettingsForBlocks","name","attributes","blockParentsClientIds","parentBlockListSettings","find","parentClientId","__experimentalCaptureToolbars","WrappedBlockPopover","selected"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useEffect } from '@wordpress/element';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport BlockSelectionButton from './block-selection-button';\nimport BlockContextualToolbar from './block-contextual-toolbar';\nimport { store as blockEditorStore } from '../../store';\nimport BlockPopover from '../block-popover';\nimport useBlockToolbarPopoverProps from './use-block-toolbar-popover-props';\nimport Inserter from '../inserter';\nimport { useShouldContextualToolbarShow } from '../../utils/use-should-contextual-toolbar-show';\n\nfunction selector( select ) {\n\tconst {\n\t\t__unstableGetEditorMode,\n\t\thasMultiSelection,\n\t\tisTyping,\n\t\tgetLastMultiSelectedBlockClientId,\n\t} = select( blockEditorStore );\n\n\treturn {\n\t\teditorMode: __unstableGetEditorMode(),\n\t\thasMultiSelection: hasMultiSelection(),\n\t\tisTyping: isTyping(),\n\t\tlastClientId: hasMultiSelection()\n\t\t\t? getLastMultiSelectedBlockClientId()\n\t\t\t: null,\n\t};\n}\n\nfunction SelectedBlockPopover( {\n\tclientId,\n\trootClientId,\n\tisEmptyDefaultBlock,\n\tcapturingClientId,\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n} ) {\n\tconst { editorMode, hasMultiSelection, isTyping, lastClientId } = useSelect(\n\t\tselector,\n\t\t[]\n\t);\n\n\tconst isInsertionPointVisible = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetBlockInsertionPoint,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tif ( ! isBlockInsertionPointVisible() ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\t\tconst order = getBlockOrder( insertionPoint.rootClientId );\n\t\t\treturn order[ insertionPoint.index ] === clientId;\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst isToolbarForced = useRef( false );\n\tconst { shouldShowContextualToolbar, canFocusHiddenToolbar } =\n\t\tuseShouldContextualToolbarShow();\n\n\tconst { stopTyping } = useDispatch( blockEditorStore );\n\n\tconst showEmptyBlockSideInserter =\n\t\t! isTyping && editorMode === 'edit' && isEmptyDefaultBlock;\n\tconst shouldShowBreadcrumb =\n\t\t! hasMultiSelection &&\n\t\t( editorMode === 'navigation' || editorMode === 'zoom-out' );\n\n\tuseShortcut(\n\t\t'core/block-editor/focus-toolbar',\n\t\t() => {\n\t\t\tisToolbarForced.current = true;\n\t\t\tstopTyping( true );\n\t\t},\n\t\t{\n\t\t\tisDisabled: ! canFocusHiddenToolbar,\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tisToolbarForced.current = false;\n\t} );\n\n\t// Stores the active toolbar item index so the block toolbar can return focus\n\t// to it when re-mounting.\n\tconst initialToolbarItemIndexRef = useRef();\n\n\tconst popoverProps = useBlockToolbarPopoverProps( {\n\t\tcontentElement: __unstableContentRef?.current,\n\t\tclientId,\n\t} );\n\n\tif ( showEmptyBlockSideInserter ) {\n\t\treturn (\n\t\t\t<BlockPopover\n\t\t\t\tclientId={ capturingClientId || clientId }\n\t\t\t\t__unstableCoverTarget\n\t\t\t\tbottomClientId={ lastClientId }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-block-list__block-side-inserter-popover',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-insertion-point-visible': isInsertionPointVisible,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\tresize={ false }\n\t\t\t\tshift={ false }\n\t\t\t\t{ ...popoverProps }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-block-list__empty-block-inserter\">\n\t\t\t\t\t<Inserter\n\t\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t__experimentalIsQuick\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</BlockPopover>\n\t\t);\n\t}\n\n\tif ( shouldShowBreadcrumb || shouldShowContextualToolbar ) {\n\t\treturn (\n\t\t\t<BlockPopover\n\t\t\t\tclientId={ capturingClientId || clientId }\n\t\t\t\tbottomClientId={ lastClientId }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-block-list__block-popover',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-insertion-point-visible': isInsertionPointVisible,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\tresize={ false }\n\t\t\t\t{ ...popoverProps }\n\t\t\t>\n\t\t\t\t{ shouldShowContextualToolbar && (\n\t\t\t\t\t<BlockContextualToolbar\n\t\t\t\t\t\t// If the toolbar is being shown because of being forced\n\t\t\t\t\t\t// it should focus the toolbar right after the mount.\n\t\t\t\t\t\tfocusOnMount={ isToolbarForced.current }\n\t\t\t\t\t\t__experimentalInitialIndex={\n\t\t\t\t\t\t\tinitialToolbarItemIndexRef.current\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__experimentalOnIndexChange={ ( index ) => {\n\t\t\t\t\t\t\tinitialToolbarItemIndexRef.current = index;\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t// Resets the index whenever the active block changes so\n\t\t\t\t\t\t// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\t\t\t\t\tkey={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ shouldShowBreadcrumb && (\n\t\t\t\t\t<BlockSelectionButton\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockPopover>\n\t\t);\n\t}\n\n\treturn null;\n}\n\nfunction wrapperSelector( select ) {\n\tconst {\n\t\tgetSelectedBlockClientId,\n\t\tgetFirstMultiSelectedBlockClientId,\n\t\tgetBlockRootClientId,\n\t\tgetBlock,\n\t\tgetBlockParents,\n\t\t__experimentalGetBlockListSettingsForBlocks,\n\t} = select( blockEditorStore );\n\n\tconst clientId =\n\t\tgetSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();\n\n\tif ( ! clientId ) {\n\t\treturn;\n\t}\n\n\tconst { name, attributes = {} } = getBlock( clientId ) || {};\n\tconst blockParentsClientIds = getBlockParents( clientId );\n\n\t// Get Block List Settings for all ancestors of the current Block clientId.\n\tconst parentBlockListSettings = __experimentalGetBlockListSettingsForBlocks(\n\t\tblockParentsClientIds\n\t);\n\n\t// Get the clientId of the topmost parent with the capture toolbars setting.\n\tconst capturingClientId = blockParentsClientIds.find(\n\t\t( parentClientId ) =>\n\t\t\tparentBlockListSettings[ parentClientId ]\n\t\t\t\t?.__experimentalCaptureToolbars\n\t);\n\n\treturn {\n\t\tclientId,\n\t\trootClientId: getBlockRootClientId( clientId ),\n\t\tname,\n\t\tisEmptyDefaultBlock:\n\t\t\tname && isUnmodifiedDefaultBlock( { name, attributes } ),\n\t\tcapturingClientId,\n\t};\n}\n\nexport default function WrappedBlockPopover( {\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n} ) {\n\tconst selected = useSelect( wrapperSelector, [] );\n\n\tif ( ! selected ) {\n\t\treturn null;\n\t}\n\n\tconst {\n\t\tclientId,\n\t\trootClientId,\n\t\tname,\n\t\tisEmptyDefaultBlock,\n\t\tcapturingClientId,\n\t} = selected;\n\n\tif ( ! name ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<SelectedBlockPopover\n\t\t\tclientId={ clientId }\n\t\t\trootClientId={ rootClientId }\n\t\t\tisEmptyDefaultBlock={ isEmptyDefaultBlock }\n\t\t\tcapturingClientId={ capturingClientId }\n\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t/>\n\t);\n}\n"]}
|
package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js
CHANGED
|
@@ -51,7 +51,7 @@ export default function useMultipleOriginColorsAndGradients() {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
return result;
|
|
54
|
-
}, [defaultColors, themeColors, customColors]);
|
|
54
|
+
}, [defaultColors, themeColors, customColors, shouldDisplayDefaultColors]);
|
|
55
55
|
const customGradients = useSetting('color.gradients.custom');
|
|
56
56
|
const themeGradients = useSetting('color.gradients.theme');
|
|
57
57
|
const defaultGradients = useSetting('color.gradients.default');
|
|
@@ -81,7 +81,8 @@ export default function useMultipleOriginColorsAndGradients() {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
return result;
|
|
84
|
-
}, [customGradients, themeGradients, defaultGradients]);
|
|
84
|
+
}, [customGradients, themeGradients, defaultGradients, shouldDisplayDefaultGradients]);
|
|
85
|
+
colorGradientSettings.hasColorsOrGradients = !!colorGradientSettings.colors.length || !!colorGradientSettings.gradients.length;
|
|
85
86
|
return colorGradientSettings;
|
|
86
87
|
}
|
|
87
88
|
//# sourceMappingURL=use-multiple-origin-colors-and-gradients.js.map
|
package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js"],"names":["useMemo","_x","useSetting","useMultipleOriginColorsAndGradients","colorGradientSettings","disableCustomColors","disableCustomGradients","customColors","themeColors","defaultColors","shouldDisplayDefaultColors","colors","result","length","push","name","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients","gradients"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,mCAAT,GAA+C;AAC7D,QAAMC,qBAAqB,GAAG;AAC7BC,IAAAA,mBAAmB,EAAE,CAAEH,UAAU,CAAE,cAAF,CADJ;AAE7BI,IAAAA,sBAAsB,EAAE,CAAEJ,UAAU,CAAE,sBAAF;AAFP,GAA9B;AAIA,QAAMK,YAAY,GAAGL,UAAU,CAAE,sBAAF,CAA/B;AACA,QAAMM,WAAW,GAAGN,UAAU,CAAE,qBAAF,CAA9B;AACA,QAAMO,aAAa,GAAGP,UAAU,CAAE,uBAAF,CAAhC;AACA,QAAMQ,0BAA0B,GAAGR,UAAU,CAAE,sBAAF,CAA7C;AAEAE,EAAAA,qBAAqB,CAACO,MAAtB,GAA+BX,OAAO,CAAE,MAAM;AAC7C,UAAMY,MAAM,GAAG,EAAf;;AACA,QAAKJ,WAAW,IAAIA,WAAW,CAACK,MAAhC,EAAyC;AACxCD,MAAAA,MAAM,CAACE,IAAP,CAAa;AACZC,QAAAA,IAAI,EAAEd,EAAE,CACP,OADO,EAEP,8CAFO,CADI;AAKZU,QAAAA,MAAM,EAAEH;AALI,OAAb;AAOA;;AACD,QACCE,0BAA0B,IAC1BD,aADA,IAEAA,aAAa,CAACI,MAHf,EAIE;AACDD,MAAAA,MAAM,CAACE,IAAP,CAAa;AACZC,QAAAA,IAAI,EAAEd,EAAE,CACP,SADO,EAEP,8CAFO,CADI;AAKZU,QAAAA,MAAM,EAAEF;AALI,OAAb;AAOA;;AACD,QAAKF,YAAY,IAAIA,YAAY,CAACM,MAAlC,EAA2C;AAC1CD,MAAAA,MAAM,CAACE,IAAP,CAAa;AACZC,QAAAA,IAAI,EAAEd,EAAE,CACP,QADO,EAEP,8CAFO,CADI;AAKZU,QAAAA,MAAM,EAAEJ;AALI,OAAb;AAOA;;AACD,WAAOK,MAAP;AACA,GAlCqC,EAkCnC,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js"],"names":["useMemo","_x","useSetting","useMultipleOriginColorsAndGradients","colorGradientSettings","disableCustomColors","disableCustomGradients","customColors","themeColors","defaultColors","shouldDisplayDefaultColors","colors","result","length","push","name","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients","gradients","hasColorsOrGradients"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\n/**\n * Retrieves color and gradient related settings.\n *\n * The arrays for colors and gradients are made up of color palettes from each\n * origin i.e. \"Core\", \"Theme\", and \"User\".\n *\n * @return {Object} Color and gradient related settings.\n */\nexport default function useMultipleOriginColorsAndGradients() {\n\tconst colorGradientSettings = {\n\t\tdisableCustomColors: ! useSetting( 'color.custom' ),\n\t\tdisableCustomGradients: ! useSetting( 'color.customGradient' ),\n\t};\n\tconst customColors = useSetting( 'color.palette.custom' );\n\tconst themeColors = useSetting( 'color.palette.theme' );\n\tconst defaultColors = useSetting( 'color.palette.default' );\n\tconst shouldDisplayDefaultColors = useSetting( 'color.defaultPalette' );\n\n\tcolorGradientSettings.colors = useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tdefaultColors,\n\t\tthemeColors,\n\t\tcustomColors,\n\t\tshouldDisplayDefaultColors,\n\t] );\n\n\tconst customGradients = useSetting( 'color.gradients.custom' );\n\tconst themeGradients = useSetting( 'color.gradients.theme' );\n\tconst defaultGradients = useSetting( 'color.gradients.default' );\n\tconst shouldDisplayDefaultGradients = useSetting(\n\t\t'color.defaultGradients'\n\t);\n\tcolorGradientSettings.gradients = useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomGradients,\n\t\tthemeGradients,\n\t\tdefaultGradients,\n\t\tshouldDisplayDefaultGradients,\n\t] );\n\n\tcolorGradientSettings.hasColorsOrGradients =\n\t\t!! colorGradientSettings.colors.length ||\n\t\t!! colorGradientSettings.gradients.length;\n\n\treturn colorGradientSettings;\n}\n"]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { createElement } from "@wordpress/element";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* WordPress dependencies
|
|
5
|
+
*/
|
|
6
|
+
import { TextareaControl, Tooltip, __experimentalVStack as VStack } from '@wordpress/components';
|
|
7
|
+
import { useState } from '@wordpress/element';
|
|
8
|
+
import { __ } from '@wordpress/i18n';
|
|
9
|
+
import { Icon, info } from '@wordpress/icons';
|
|
10
|
+
/**
|
|
11
|
+
* Internal dependencies
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { default as transformStyles } from '../../utils/transform-styles';
|
|
15
|
+
export default function AdvancedPanel(_ref) {
|
|
16
|
+
let {
|
|
17
|
+
value,
|
|
18
|
+
onChange,
|
|
19
|
+
inheritedValue = value
|
|
20
|
+
} = _ref;
|
|
21
|
+
// Custom CSS
|
|
22
|
+
const [cssError, setCSSError] = useState(null);
|
|
23
|
+
const customCSS = inheritedValue === null || inheritedValue === void 0 ? void 0 : inheritedValue.css;
|
|
24
|
+
|
|
25
|
+
function handleOnChange(newValue) {
|
|
26
|
+
onChange({ ...value,
|
|
27
|
+
css: newValue
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
if (cssError) {
|
|
31
|
+
const [transformed] = transformStyles([{
|
|
32
|
+
css: value
|
|
33
|
+
}], '.editor-styles-wrapper');
|
|
34
|
+
|
|
35
|
+
if (transformed) {
|
|
36
|
+
setCSSError(null);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function handleOnBlur(event) {
|
|
42
|
+
var _event$target;
|
|
43
|
+
|
|
44
|
+
if (!(event !== null && event !== void 0 && (_event$target = event.target) !== null && _event$target !== void 0 && _event$target.value)) {
|
|
45
|
+
setCSSError(null);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const [transformed] = transformStyles([{
|
|
50
|
+
css: event.target.value
|
|
51
|
+
}], '.editor-styles-wrapper');
|
|
52
|
+
setCSSError(transformed === null ? __('There is an error with your CSS structure.') : null);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return createElement(VStack, {
|
|
56
|
+
spacing: 3
|
|
57
|
+
}, createElement(TextareaControl, {
|
|
58
|
+
label: __('Additional CSS'),
|
|
59
|
+
__nextHasNoMarginBottom: true,
|
|
60
|
+
value: customCSS,
|
|
61
|
+
onChange: newValue => handleOnChange(newValue),
|
|
62
|
+
onBlur: handleOnBlur,
|
|
63
|
+
className: "block-editor-global-styles-advanced-panel__custom-css-input",
|
|
64
|
+
spellCheck: false
|
|
65
|
+
}), cssError && createElement(Tooltip, {
|
|
66
|
+
text: cssError
|
|
67
|
+
}, createElement("div", {
|
|
68
|
+
className: "block-editor-global-styles-advanced-panel__custom-css-validation-wrapper"
|
|
69
|
+
}, createElement(Icon, {
|
|
70
|
+
icon: info,
|
|
71
|
+
className: "block-editor-global-styles-advanced-panel__custom-css-validation-icon"
|
|
72
|
+
}))));
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=advanced-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/advanced-panel.js"],"names":["TextareaControl","Tooltip","__experimentalVStack","VStack","useState","__","Icon","info","default","transformStyles","AdvancedPanel","value","onChange","inheritedValue","cssError","setCSSError","customCSS","css","handleOnChange","newValue","transformed","handleOnBlur","event","target"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,eADD,EAECC,OAFD,EAGCC,oBAAoB,IAAIC,MAHzB,QAIO,uBAJP;AAKA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,kBAA3B;AAEA;AACA;AACA;;AACA,SAASC,OAAO,IAAIC,eAApB,QAA2C,8BAA3C;AAEA,eAAe,SAASC,aAAT,OAIX;AAAA,MAJmC;AACtCC,IAAAA,KADsC;AAEtCC,IAAAA,QAFsC;AAGtCC,IAAAA,cAAc,GAAGF;AAHqB,GAInC;AACH;AACA,QAAM,CAAEG,QAAF,EAAYC,WAAZ,IAA4BX,QAAQ,CAAE,IAAF,CAA1C;AACA,QAAMY,SAAS,GAAGH,cAAH,aAAGA,cAAH,uBAAGA,cAAc,CAAEI,GAAlC;;AACA,WAASC,cAAT,CAAyBC,QAAzB,EAAoC;AACnCP,IAAAA,QAAQ,CAAE,EACT,GAAGD,KADM;AAETM,MAAAA,GAAG,EAAEE;AAFI,KAAF,CAAR;;AAIA,QAAKL,QAAL,EAAgB;AACf,YAAM,CAAEM,WAAF,IAAkBX,eAAe,CACtC,CAAE;AAAEQ,QAAAA,GAAG,EAAEN;AAAP,OAAF,CADsC,EAEtC,wBAFsC,CAAvC;;AAIA,UAAKS,WAAL,EAAmB;AAClBL,QAAAA,WAAW,CAAE,IAAF,CAAX;AACA;AACD;AACD;;AACD,WAASM,YAAT,CAAuBC,KAAvB,EAA+B;AAAA;;AAC9B,QAAK,EAAEA,KAAF,aAAEA,KAAF,gCAAEA,KAAK,CAAEC,MAAT,0CAAE,cAAeZ,KAAjB,CAAL,EAA8B;AAC7BI,MAAAA,WAAW,CAAE,IAAF,CAAX;AACA;AACA;;AAED,UAAM,CAAEK,WAAF,IAAkBX,eAAe,CACtC,CAAE;AAAEQ,MAAAA,GAAG,EAAEK,KAAK,CAACC,MAAN,CAAaZ;AAApB,KAAF,CADsC,EAEtC,wBAFsC,CAAvC;AAKAI,IAAAA,WAAW,CACVK,WAAW,KAAK,IAAhB,GACGf,EAAE,CAAE,4CAAF,CADL,GAEG,IAHO,CAAX;AAKA;;AAED,SACC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAG;AAAlB,KACC,cAAC,eAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,gBAAF,CADX;AAEC,IAAA,uBAAuB,MAFxB;AAGC,IAAA,KAAK,EAAGW,SAHT;AAIC,IAAA,QAAQ,EAAKG,QAAF,IAAgBD,cAAc,CAAEC,QAAF,CAJ1C;AAKC,IAAA,MAAM,EAAGE,YALV;AAMC,IAAA,SAAS,EAAC,6DANX;AAOC,IAAA,UAAU,EAAG;AAPd,IADD,EAUGP,QAAQ,IACT,cAAC,OAAD;AAAS,IAAA,IAAI,EAAGA;AAAhB,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,IAAD;AACC,IAAA,IAAI,EAAGP,IADR;AAEC,IAAA,SAAS,EAAC;AAFX,IADD,CADD,CAXF,CADD;AAuBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tTextareaControl,\n\tTooltip,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, info } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { default as transformStyles } from '../../utils/transform-styles';\n\nexport default function AdvancedPanel( {\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n} ) {\n\t// Custom CSS\n\tconst [ cssError, setCSSError ] = useState( null );\n\tconst customCSS = inheritedValue?.css;\n\tfunction handleOnChange( newValue ) {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\tcss: newValue,\n\t\t} );\n\t\tif ( cssError ) {\n\t\t\tconst [ transformed ] = transformStyles(\n\t\t\t\t[ { css: value } ],\n\t\t\t\t'.editor-styles-wrapper'\n\t\t\t);\n\t\t\tif ( transformed ) {\n\t\t\t\tsetCSSError( null );\n\t\t\t}\n\t\t}\n\t}\n\tfunction handleOnBlur( event ) {\n\t\tif ( ! event?.target?.value ) {\n\t\t\tsetCSSError( null );\n\t\t\treturn;\n\t\t}\n\n\t\tconst [ transformed ] = transformStyles(\n\t\t\t[ { css: event.target.value } ],\n\t\t\t'.editor-styles-wrapper'\n\t\t);\n\n\t\tsetCSSError(\n\t\t\ttransformed === null\n\t\t\t\t? __( 'There is an error with your CSS structure.' )\n\t\t\t\t: null\n\t\t);\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ __( 'Additional CSS' ) }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tvalue={ customCSS }\n\t\t\t\tonChange={ ( newValue ) => handleOnChange( newValue ) }\n\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\tclassName=\"block-editor-global-styles-advanced-panel__custom-css-input\"\n\t\t\t\tspellCheck={ false }\n\t\t\t/>\n\t\t\t{ cssError && (\n\t\t\t\t<Tooltip text={ cssError }>\n\t\t\t\t\t<div className=\"block-editor-global-styles-advanced-panel__custom-css-validation-wrapper\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ info }\n\t\t\t\t\t\t\tclassName=\"block-editor-global-styles-advanced-panel__custom-css-validation-icon\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"]}
|
|
@@ -11,7 +11,7 @@ import classnames from 'classnames';
|
|
|
11
11
|
|
|
12
12
|
import { __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalHStack as HStack, __experimentalZStack as ZStack, __experimentalDropdownContentWrapper as DropdownContentWrapper, TabPanel, ColorIndicator, Flex, FlexItem, Dropdown, Button } from '@wordpress/components';
|
|
13
13
|
import { useCallback } from '@wordpress/element';
|
|
14
|
-
import { __ } from '@wordpress/i18n';
|
|
14
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
15
15
|
/**
|
|
16
16
|
* Internal dependencies
|
|
17
17
|
*/
|
|
@@ -193,7 +193,10 @@ function ColorPanelDropdown(_ref4) {
|
|
|
193
193
|
className: classnames('block-editor-panel-color-gradient-settings__dropdown', {
|
|
194
194
|
'is-open': isOpen
|
|
195
195
|
}),
|
|
196
|
-
'aria-expanded': isOpen
|
|
196
|
+
'aria-expanded': isOpen,
|
|
197
|
+
'aria-label': sprintf(
|
|
198
|
+
/* translators: %s is the type of color property, e.g., "background" */
|
|
199
|
+
__('Color %s styles'), label)
|
|
197
200
|
};
|
|
198
201
|
return createElement(Button, toggleProps, createElement(LabeledColorIndicators, {
|
|
199
202
|
indicators: indicators,
|