@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
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.useEditorWrapperStyles = useEditorWrapperStyles;
|
|
9
|
+
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
|
|
12
|
+
var _element = require("@wordpress/element");
|
|
13
|
+
|
|
14
|
+
var _components = require("@wordpress/components");
|
|
15
|
+
|
|
16
|
+
var _useEditorWrapperStyles = _interopRequireDefault(require("./use-editor-wrapper-styles.scss"));
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* External dependencies
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* WordPress dependencies
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Internal dependencies
|
|
28
|
+
*/
|
|
29
|
+
const ALIGNMENT_MAX_WIDTH = {
|
|
30
|
+
full: '100%',
|
|
31
|
+
wide: 1054,
|
|
32
|
+
wideMedium: 770,
|
|
33
|
+
wideLandscape: 662
|
|
34
|
+
};
|
|
35
|
+
const BLOCK_DEFAULT_MARGIN = 16;
|
|
36
|
+
/**
|
|
37
|
+
* Get the styles for the wide width alignment.
|
|
38
|
+
*
|
|
39
|
+
* @param {Object} [options] The options for the helper.
|
|
40
|
+
* @param {string} options.align The alignment value.
|
|
41
|
+
* @param {boolean} options.isLandscape Whether the screen is in landscape mode.
|
|
42
|
+
* @param {number} options.width The width of the screen.
|
|
43
|
+
* @return {Object} An object containing the styles for the wide width alignment.
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
function getWideWidthStyles() {
|
|
47
|
+
let {
|
|
48
|
+
align,
|
|
49
|
+
isLandscape,
|
|
50
|
+
width
|
|
51
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
52
|
+
|
|
53
|
+
if (align !== _components.WIDE_ALIGNMENTS.alignments.wide) {
|
|
54
|
+
return {};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (isLandscape && width < _components.ALIGNMENT_BREAKPOINTS.large) {
|
|
58
|
+
return {
|
|
59
|
+
maxWidth: ALIGNMENT_MAX_WIDTH.wideLandscape
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (width <= _components.ALIGNMENT_BREAKPOINTS.small) {
|
|
64
|
+
return {
|
|
65
|
+
maxWidth: width
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
if (width >= _components.ALIGNMENT_BREAKPOINTS.medium && width < _components.ALIGNMENT_BREAKPOINTS.wide) {
|
|
70
|
+
return {
|
|
71
|
+
maxWidth: ALIGNMENT_MAX_WIDTH.wideMedium
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return {
|
|
76
|
+
maxWidth: ALIGNMENT_MAX_WIDTH.wide
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get the styles for the full width alignment.
|
|
81
|
+
*
|
|
82
|
+
* @param {Object} [options] The options for the helper.
|
|
83
|
+
* @param {string} options.align The alignment value.
|
|
84
|
+
* @param {string} options.blockName The name of the block.
|
|
85
|
+
* @param {boolean} options.hasParents Whether the block has parents.
|
|
86
|
+
* @param {string} options.parentBlockName The name of the parent block.
|
|
87
|
+
* @return {Object} An object containing the styles for the full width alignment.
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
function getFullWidthStyles() {
|
|
92
|
+
let {
|
|
93
|
+
align,
|
|
94
|
+
blockName,
|
|
95
|
+
hasParents,
|
|
96
|
+
parentBlockName
|
|
97
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
98
|
+
const {
|
|
99
|
+
isContainerRelated,
|
|
100
|
+
isFullWidth
|
|
101
|
+
} = _components.alignmentHelpers;
|
|
102
|
+
const fullWidthStyles = isFullWidth(align) ? {
|
|
103
|
+
maxWidth: ALIGNMENT_MAX_WIDTH.full
|
|
104
|
+
} : {};
|
|
105
|
+
|
|
106
|
+
if (!align && hasParents && !isContainerRelated(parentBlockName) && isContainerRelated(blockName)) {
|
|
107
|
+
fullWidthStyles.paddingHorizontal = BLOCK_DEFAULT_MARGIN;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return fullWidthStyles;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Get the block margin based on various conditions.
|
|
114
|
+
*
|
|
115
|
+
* @param {Object} [options] The options for the helper.
|
|
116
|
+
* @param {string} options.align The alignment value.
|
|
117
|
+
* @param {string} options.blockName The name of the block.
|
|
118
|
+
* @param {number} options.blockWidth The width of the block.
|
|
119
|
+
* @param {boolean} options.hasParents Whether the block has parents.
|
|
120
|
+
* @param {number} options.marginHorizontal Default horizontal margin.
|
|
121
|
+
* @param {string} options.parentBlockAlignment The alignment of the parent block.
|
|
122
|
+
* @param {string} options.parentBlockName The name of the parent block.
|
|
123
|
+
* @param {number} options.parentWidth The width of the parent block.
|
|
124
|
+
* @param {number} options.width The width of the screen.
|
|
125
|
+
* @return {number} The calculated block margin.
|
|
126
|
+
*/
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
function getBlockMargin() {
|
|
130
|
+
let {
|
|
131
|
+
align,
|
|
132
|
+
blockName,
|
|
133
|
+
blockWidth,
|
|
134
|
+
hasParents,
|
|
135
|
+
marginHorizontal,
|
|
136
|
+
parentBlockAlignment,
|
|
137
|
+
parentBlockName,
|
|
138
|
+
parentWidth,
|
|
139
|
+
width
|
|
140
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
141
|
+
const {
|
|
142
|
+
isContainerRelated,
|
|
143
|
+
isWider,
|
|
144
|
+
isWideWidth,
|
|
145
|
+
isFullWidth
|
|
146
|
+
} = _components.alignmentHelpers;
|
|
147
|
+
|
|
148
|
+
if (isFullWidth(align)) {
|
|
149
|
+
if (!hasParents) {
|
|
150
|
+
return 0;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
return marginHorizontal;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
if (isWideWidth(align)) {
|
|
157
|
+
return marginHorizontal;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
if (isFullWidth(parentBlockAlignment) && !isWider(blockWidth, 'medium')) {
|
|
161
|
+
if (isContainerRelated(blockName) || isWider(width, 'mobile')) {
|
|
162
|
+
return marginHorizontal;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
return marginHorizontal * 2;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
if (isContainerRelated(parentBlockName) && !isContainerRelated(blockName)) {
|
|
169
|
+
const isScreenWidthEqual = parentWidth === width;
|
|
170
|
+
|
|
171
|
+
if (isScreenWidthEqual || isWider(width, 'mobile')) {
|
|
172
|
+
return marginHorizontal;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
return marginHorizontal;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Custom hook to get the styles and margin for the editor wrapper.
|
|
180
|
+
*
|
|
181
|
+
* @param {Object} [props] The props for the hook.
|
|
182
|
+
* @param {string} props.align The alignment value.
|
|
183
|
+
* @param {string} props.blockName The name of the block.
|
|
184
|
+
* @param {number} props.blockWidth The width of the block.
|
|
185
|
+
* @param {string} props.contentResizeMode The content resize mode.
|
|
186
|
+
* @param {boolean} props.hasParents Whether the block has parents.
|
|
187
|
+
* @param {number} props.marginHorizontal Default horizontal margin.
|
|
188
|
+
* @param {string} props.parentBlockAlignment The alignment of the parent block.
|
|
189
|
+
* @param {string} props.parentBlockName The name of the parent block.
|
|
190
|
+
* @param {number} props.parentWidth The width of the parent block.
|
|
191
|
+
* @param {boolean} [props.reversed=false] Whether the flex direction should be reversed.
|
|
192
|
+
* @return {[Array, number]} An array containing the wrapper styles and block margin.
|
|
193
|
+
*/
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
function useEditorWrapperStyles() {
|
|
197
|
+
let {
|
|
198
|
+
align,
|
|
199
|
+
blockName,
|
|
200
|
+
blockWidth,
|
|
201
|
+
contentResizeMode,
|
|
202
|
+
hasParents,
|
|
203
|
+
marginHorizontal,
|
|
204
|
+
parentBlockAlignment,
|
|
205
|
+
parentBlockName,
|
|
206
|
+
parentWidth,
|
|
207
|
+
reversed = false
|
|
208
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
209
|
+
const {
|
|
210
|
+
width,
|
|
211
|
+
height
|
|
212
|
+
} = (0, _reactNative.useWindowDimensions)();
|
|
213
|
+
const isLandscape = width >= height;
|
|
214
|
+
const blockMargin = (0, _element.useMemo)(() => getBlockMargin({
|
|
215
|
+
align,
|
|
216
|
+
blockName,
|
|
217
|
+
blockWidth,
|
|
218
|
+
hasParents,
|
|
219
|
+
marginHorizontal,
|
|
220
|
+
parentBlockAlignment,
|
|
221
|
+
parentBlockName,
|
|
222
|
+
parentWidth,
|
|
223
|
+
width
|
|
224
|
+
}), [align, blockName, blockWidth, hasParents, marginHorizontal, parentBlockAlignment, parentBlockName, parentWidth, width]);
|
|
225
|
+
const wrapperStyles = (0, _element.useMemo)(() => {
|
|
226
|
+
let canvasStyles;
|
|
227
|
+
|
|
228
|
+
if (contentResizeMode === 'stretch') {
|
|
229
|
+
// For these cases, no width constraints should be added.
|
|
230
|
+
canvasStyles = {
|
|
231
|
+
flex: 1
|
|
232
|
+
};
|
|
233
|
+
} else if (reversed) {
|
|
234
|
+
canvasStyles = _useEditorWrapperStyles.default['use-editor-wrapper-styles--reversed'];
|
|
235
|
+
} else {
|
|
236
|
+
canvasStyles = _useEditorWrapperStyles.default['use-editor-wrapper-styles'];
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
const alignmentStyles = { ...getWideWidthStyles({
|
|
240
|
+
align,
|
|
241
|
+
isLandscape,
|
|
242
|
+
width
|
|
243
|
+
}),
|
|
244
|
+
...getFullWidthStyles({
|
|
245
|
+
align,
|
|
246
|
+
blockName,
|
|
247
|
+
hasParents,
|
|
248
|
+
parentBlockName
|
|
249
|
+
})
|
|
250
|
+
};
|
|
251
|
+
return [canvasStyles, alignmentStyles];
|
|
252
|
+
}, [align, blockName, hasParents, parentBlockName, isLandscape, width, contentResizeMode, reversed]);
|
|
253
|
+
return [wrapperStyles, blockMargin];
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=use-editor-wrapper-styles.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/hooks/use-editor-wrapper-styles.native.js"],"names":["ALIGNMENT_MAX_WIDTH","full","wide","wideMedium","wideLandscape","BLOCK_DEFAULT_MARGIN","getWideWidthStyles","align","isLandscape","width","WIDE_ALIGNMENTS","alignments","ALIGNMENT_BREAKPOINTS","large","maxWidth","small","medium","getFullWidthStyles","blockName","hasParents","parentBlockName","isContainerRelated","isFullWidth","alignmentHelpers","fullWidthStyles","paddingHorizontal","getBlockMargin","blockWidth","marginHorizontal","parentBlockAlignment","parentWidth","isWider","isWideWidth","isScreenWidthEqual","useEditorWrapperStyles","contentResizeMode","reversed","height","blockMargin","wrapperStyles","canvasStyles","flex","styles","alignmentStyles"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { useWindowDimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tALIGNMENT_BREAKPOINTS,\n\tWIDE_ALIGNMENTS,\n\talignmentHelpers,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './use-editor-wrapper-styles.scss';\n\nconst ALIGNMENT_MAX_WIDTH = {\n\tfull: '100%',\n\twide: 1054,\n\twideMedium: 770,\n\twideLandscape: 662,\n};\n\nconst BLOCK_DEFAULT_MARGIN = 16;\n\n/**\n * Get the styles for the wide width alignment.\n *\n * @param {Object} [options] The options for the helper.\n * @param {string} options.align The alignment value.\n * @param {boolean} options.isLandscape Whether the screen is in landscape mode.\n * @param {number} options.width The width of the screen.\n * @return {Object} An object containing the styles for the wide width alignment.\n */\nfunction getWideWidthStyles( { align, isLandscape, width } = {} ) {\n\tif ( align !== WIDE_ALIGNMENTS.alignments.wide ) {\n\t\treturn {};\n\t}\n\n\tif ( isLandscape && width < ALIGNMENT_BREAKPOINTS.large ) {\n\t\treturn { maxWidth: ALIGNMENT_MAX_WIDTH.wideLandscape };\n\t}\n\n\tif ( width <= ALIGNMENT_BREAKPOINTS.small ) {\n\t\treturn { maxWidth: width };\n\t}\n\n\tif (\n\t\twidth >= ALIGNMENT_BREAKPOINTS.medium &&\n\t\twidth < ALIGNMENT_BREAKPOINTS.wide\n\t) {\n\t\treturn { maxWidth: ALIGNMENT_MAX_WIDTH.wideMedium };\n\t}\n\n\treturn { maxWidth: ALIGNMENT_MAX_WIDTH.wide };\n}\n\n/**\n * Get the styles for the full width alignment.\n *\n * @param {Object} [options] The options for the helper.\n * @param {string} options.align The alignment value.\n * @param {string} options.blockName The name of the block.\n * @param {boolean} options.hasParents Whether the block has parents.\n * @param {string} options.parentBlockName The name of the parent block.\n * @return {Object} An object containing the styles for the full width alignment.\n */\nfunction getFullWidthStyles( {\n\talign,\n\tblockName,\n\thasParents,\n\tparentBlockName,\n} = {} ) {\n\tconst { isContainerRelated, isFullWidth } = alignmentHelpers;\n\tconst fullWidthStyles = isFullWidth( align )\n\t\t? { maxWidth: ALIGNMENT_MAX_WIDTH.full }\n\t\t: {};\n\n\tif (\n\t\t! align &&\n\t\thasParents &&\n\t\t! isContainerRelated( parentBlockName ) &&\n\t\tisContainerRelated( blockName )\n\t) {\n\t\tfullWidthStyles.paddingHorizontal = BLOCK_DEFAULT_MARGIN;\n\t}\n\n\treturn fullWidthStyles;\n}\n\n/**\n * Get the block margin based on various conditions.\n *\n * @param {Object} [options] The options for the helper.\n * @param {string} options.align The alignment value.\n * @param {string} options.blockName The name of the block.\n * @param {number} options.blockWidth The width of the block.\n * @param {boolean} options.hasParents Whether the block has parents.\n * @param {number} options.marginHorizontal Default horizontal margin.\n * @param {string} options.parentBlockAlignment The alignment of the parent block.\n * @param {string} options.parentBlockName The name of the parent block.\n * @param {number} options.parentWidth The width of the parent block.\n * @param {number} options.width The width of the screen.\n * @return {number} The calculated block margin.\n */\nfunction getBlockMargin( {\n\talign,\n\tblockName,\n\tblockWidth,\n\thasParents,\n\tmarginHorizontal,\n\tparentBlockAlignment,\n\tparentBlockName,\n\tparentWidth,\n\twidth,\n} = {} ) {\n\tconst { isContainerRelated, isWider, isWideWidth, isFullWidth } =\n\t\talignmentHelpers;\n\n\tif ( isFullWidth( align ) ) {\n\t\tif ( ! hasParents ) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn marginHorizontal;\n\t}\n\n\tif ( isWideWidth( align ) ) {\n\t\treturn marginHorizontal;\n\t}\n\n\tif (\n\t\tisFullWidth( parentBlockAlignment ) &&\n\t\t! isWider( blockWidth, 'medium' )\n\t) {\n\t\tif ( isContainerRelated( blockName ) || isWider( width, 'mobile' ) ) {\n\t\t\treturn marginHorizontal;\n\t\t}\n\t\treturn marginHorizontal * 2;\n\t}\n\n\tif (\n\t\tisContainerRelated( parentBlockName ) &&\n\t\t! isContainerRelated( blockName )\n\t) {\n\t\tconst isScreenWidthEqual = parentWidth === width;\n\t\tif ( isScreenWidthEqual || isWider( width, 'mobile' ) ) {\n\t\t\treturn marginHorizontal;\n\t\t}\n\t}\n\n\treturn marginHorizontal;\n}\n\n/**\n * Custom hook to get the styles and margin for the editor wrapper.\n *\n * @param {Object} [props] The props for the hook.\n * @param {string} props.align The alignment value.\n * @param {string} props.blockName The name of the block.\n * @param {number} props.blockWidth The width of the block.\n * @param {string} props.contentResizeMode The content resize mode.\n * @param {boolean} props.hasParents Whether the block has parents.\n * @param {number} props.marginHorizontal Default horizontal margin.\n * @param {string} props.parentBlockAlignment The alignment of the parent block.\n * @param {string} props.parentBlockName The name of the parent block.\n * @param {number} props.parentWidth The width of the parent block.\n * @param {boolean} [props.reversed=false] Whether the flex direction should be reversed.\n * @return {[Array, number]} An array containing the wrapper styles and block margin.\n */\nexport function useEditorWrapperStyles( {\n\talign,\n\tblockName,\n\tblockWidth,\n\tcontentResizeMode,\n\thasParents,\n\tmarginHorizontal,\n\tparentBlockAlignment,\n\tparentBlockName,\n\tparentWidth,\n\treversed = false,\n} = {} ) {\n\tconst { width, height } = useWindowDimensions();\n\tconst isLandscape = width >= height;\n\n\tconst blockMargin = useMemo(\n\t\t() =>\n\t\t\tgetBlockMargin( {\n\t\t\t\talign,\n\t\t\t\tblockName,\n\t\t\t\tblockWidth,\n\t\t\t\thasParents,\n\t\t\t\tmarginHorizontal,\n\t\t\t\tparentBlockAlignment,\n\t\t\t\tparentBlockName,\n\t\t\t\tparentWidth,\n\t\t\t\twidth,\n\t\t\t} ),\n\t\t[\n\t\t\talign,\n\t\t\tblockName,\n\t\t\tblockWidth,\n\t\t\thasParents,\n\t\t\tmarginHorizontal,\n\t\t\tparentBlockAlignment,\n\t\t\tparentBlockName,\n\t\t\tparentWidth,\n\t\t\twidth,\n\t\t]\n\t);\n\n\tconst wrapperStyles = useMemo( () => {\n\t\tlet canvasStyles;\n\n\t\tif ( contentResizeMode === 'stretch' ) {\n\t\t\t// For these cases, no width constraints should be added.\n\t\t\tcanvasStyles = { flex: 1 };\n\t\t} else if ( reversed ) {\n\t\t\tcanvasStyles = styles[ 'use-editor-wrapper-styles--reversed' ];\n\t\t} else {\n\t\t\tcanvasStyles = styles[ 'use-editor-wrapper-styles' ];\n\t\t}\n\n\t\tconst alignmentStyles = {\n\t\t\t...getWideWidthStyles( { align, isLandscape, width } ),\n\t\t\t...getFullWidthStyles( {\n\t\t\t\talign,\n\t\t\t\tblockName,\n\t\t\t\thasParents,\n\t\t\t\tparentBlockName,\n\t\t\t} ),\n\t\t};\n\n\t\treturn [ canvasStyles, alignmentStyles ];\n\t}, [\n\t\talign,\n\t\tblockName,\n\t\thasParents,\n\t\tparentBlockName,\n\t\tisLandscape,\n\t\twidth,\n\t\tcontentResizeMode,\n\t\treversed,\n\t] );\n\n\treturn [ wrapperStyles, blockMargin ];\n}\n"]}
|
|
@@ -24,31 +24,35 @@ var _fluidUtils = require("../components/font-sizes/fluid-utils");
|
|
|
24
24
|
/**
|
|
25
25
|
* Internal dependencies
|
|
26
26
|
*/
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
|
|
28
|
+
/*
|
|
29
|
+
* This utility is intended to assist where the serialization of the typography
|
|
30
|
+
* block support is being skipped for a block but the typography related CSS
|
|
31
|
+
* styles still need to be generated so they can be applied to inner elements.
|
|
32
|
+
*/
|
|
30
33
|
|
|
31
34
|
/**
|
|
32
35
|
* Provides the CSS class names and inline styles for a block's typography support
|
|
33
36
|
* attributes.
|
|
34
37
|
*
|
|
35
|
-
* @param {Object} attributes
|
|
36
|
-
* @param {Object|boolean}
|
|
37
|
-
* otherwise an object containing theme fluid typography settings.
|
|
38
|
+
* @param {Object} attributes Block attributes.
|
|
39
|
+
* @param {Object|boolean} settings Merged theme.json settings
|
|
38
40
|
*
|
|
39
41
|
* @return {Object} Typography block support derived CSS classes & styles.
|
|
40
42
|
*/
|
|
41
|
-
function getTypographyClassesAndStyles(attributes,
|
|
42
|
-
var _attributes$style;
|
|
43
|
+
function getTypographyClassesAndStyles(attributes, settings) {
|
|
44
|
+
var _attributes$style, _settings$typography;
|
|
43
45
|
|
|
44
46
|
let typographyStyles = (attributes === null || attributes === void 0 ? void 0 : (_attributes$style = attributes.style) === null || _attributes$style === void 0 ? void 0 : _attributes$style.typography) || {};
|
|
47
|
+
const fluidTypographySettings = settings === null || settings === void 0 ? void 0 : (_settings$typography = settings.typography) === null || _settings$typography === void 0 ? void 0 : _settings$typography.fluid;
|
|
45
48
|
|
|
46
49
|
if (!!fluidTypographySettings && (true === fluidTypographySettings || Object.keys(fluidTypographySettings).length !== 0)) {
|
|
47
|
-
var _attributes$style2, _attributes$style2$ty, _attributes$style3, _attributes$style3$ty;
|
|
50
|
+
var _attributes$style2, _attributes$style2$ty, _settings$layout, _attributes$style3, _attributes$style3$ty;
|
|
48
51
|
|
|
49
52
|
const newFontSize = (0, _fluidUtils.getComputedFluidTypographyValue)({
|
|
50
53
|
fontSize: attributes === null || attributes === void 0 ? void 0 : (_attributes$style2 = attributes.style) === null || _attributes$style2 === void 0 ? void 0 : (_attributes$style2$ty = _attributes$style2.typography) === null || _attributes$style2$ty === void 0 ? void 0 : _attributes$style2$ty.fontSize,
|
|
51
|
-
minimumFontSizeLimit: fluidTypographySettings === null || fluidTypographySettings === void 0 ? void 0 : fluidTypographySettings.minFontSize
|
|
54
|
+
minimumFontSizeLimit: fluidTypographySettings === null || fluidTypographySettings === void 0 ? void 0 : fluidTypographySettings.minFontSize,
|
|
55
|
+
maximumViewPortWidth: settings === null || settings === void 0 ? void 0 : (_settings$layout = settings.layout) === null || _settings$layout === void 0 ? void 0 : _settings$layout.wideSize
|
|
52
56
|
}) || (attributes === null || attributes === void 0 ? void 0 : (_attributes$style3 = attributes.style) === null || _attributes$style3 === void 0 ? void 0 : (_attributes$style3$ty = _attributes$style3.typography) === null || _attributes$style3$ty === void 0 ? void 0 : _attributes$style3$ty.fontSize);
|
|
53
57
|
typographyStyles = { ...typographyStyles,
|
|
54
58
|
fontSize: newFontSize
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/hooks/use-typography-props.js"],"names":["getTypographyClassesAndStyles","attributes","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/hooks/use-typography-props.js"],"names":["getTypographyClassesAndStyles","attributes","settings","typographyStyles","style","typography","fluidTypographySettings","fluid","Object","keys","length","newFontSize","fontSize","minimumFontSizeLimit","minFontSize","maximumViewPortWidth","layout","wideSize","fontFamilyClassName","fontFamily","className"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AACA;;AAXA;AACA;AACA;;AAIA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,6BAAT,CAAwCC,UAAxC,EAAoDC,QAApD,EAA+D;AAAA;;AACrE,MAAIC,gBAAgB,GAAG,CAAAF,UAAU,SAAV,IAAAA,UAAU,WAAV,iCAAAA,UAAU,CAAEG,KAAZ,wEAAmBC,UAAnB,KAAiC,EAAxD;AACA,QAAMC,uBAAuB,GAAGJ,QAAH,aAAGA,QAAH,+CAAGA,QAAQ,CAAEG,UAAb,yDAAG,qBAAsBE,KAAtD;;AAEA,MACC,CAAC,CAAED,uBAAH,KACE,SAASA,uBAAT,IACDE,MAAM,CAACC,IAAP,CAAaH,uBAAb,EAAuCI,MAAvC,KAAkD,CAFnD,CADD,EAIE;AAAA;;AACD,UAAMC,WAAW,GAChB,iDAAiC;AAChCC,MAAAA,QAAQ,EAAEX,UAAF,aAAEA,UAAF,6CAAEA,UAAU,CAAEG,KAAd,gFAAE,mBAAmBC,UAArB,0DAAE,sBAA+BO,QADT;AAEhCC,MAAAA,oBAAoB,EAAEP,uBAAF,aAAEA,uBAAF,uBAAEA,uBAAuB,CAAEQ,WAFf;AAGhCC,MAAAA,oBAAoB,EAAEb,QAAF,aAAEA,QAAF,2CAAEA,QAAQ,CAAEc,MAAZ,qDAAE,iBAAkBC;AAHR,KAAjC,MAIOhB,UAJP,aAIOA,UAJP,6CAIOA,UAAU,CAAEG,KAJnB,gFAIO,mBAAmBC,UAJ1B,0DAIO,sBAA+BO,QAJtC,CADD;AAMAT,IAAAA,gBAAgB,GAAG,EAClB,GAAGA,gBADe;AAElBS,MAAAA,QAAQ,EAAED;AAFQ,KAAnB;AAIA;;AAED,QAAMP,KAAK,GAAG,4BAAiB;AAAEC,IAAAA,UAAU,EAAEF;AAAd,GAAjB,CAAd;AACA,QAAMe,mBAAmB,GAAG,CAAC,EAAEjB,UAAF,aAAEA,UAAF,eAAEA,UAAU,CAAEkB,UAAd,CAAD,GACxB,OAAO,uBAAWlB,UAAU,CAACkB,UAAtB,CAAoC,cADnB,GAEzB,EAFH;AAIA,QAAMC,SAAS,GAAG,yBACjBF,mBADiB,EAEjB,iCAAkBjB,UAAlB,aAAkBA,UAAlB,uBAAkBA,UAAU,CAAEW,QAA9B,CAFiB,CAAlB;AAKA,SAAO;AACNQ,IAAAA,SADM;AAENhB,IAAAA;AAFM,GAAP;AAIA","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport { getInlineStyles } from './style';\nimport { getFontSizeClass } from '../components/font-sizes';\nimport { getComputedFluidTypographyValue } from '../components/font-sizes/fluid-utils';\n\n/*\n * This utility is intended to assist where the serialization of the typography\n * block support is being skipped for a block but the typography related CSS\n * styles still need to be generated so they can be applied to inner elements.\n */\n/**\n * Provides the CSS class names and inline styles for a block's typography support\n * attributes.\n *\n * @param {Object} attributes Block attributes.\n * @param {Object|boolean} settings Merged theme.json settings\n *\n * @return {Object} Typography block support derived CSS classes & styles.\n */\nexport function getTypographyClassesAndStyles( attributes, settings ) {\n\tlet typographyStyles = attributes?.style?.typography || {};\n\tconst fluidTypographySettings = settings?.typography?.fluid;\n\n\tif (\n\t\t!! fluidTypographySettings &&\n\t\t( true === fluidTypographySettings ||\n\t\t\tObject.keys( fluidTypographySettings ).length !== 0 )\n\t) {\n\t\tconst newFontSize =\n\t\t\tgetComputedFluidTypographyValue( {\n\t\t\t\tfontSize: attributes?.style?.typography?.fontSize,\n\t\t\t\tminimumFontSizeLimit: fluidTypographySettings?.minFontSize,\n\t\t\t\tmaximumViewPortWidth: settings?.layout?.wideSize,\n\t\t\t} ) || attributes?.style?.typography?.fontSize;\n\t\ttypographyStyles = {\n\t\t\t...typographyStyles,\n\t\t\tfontSize: newFontSize,\n\t\t};\n\t}\n\n\tconst style = getInlineStyles( { typography: typographyStyles } );\n\tconst fontFamilyClassName = !! attributes?.fontFamily\n\t\t? `has-${ kebabCase( attributes.fontFamily ) }-font-family`\n\t\t: '';\n\n\tconst className = classnames(\n\t\tfontFamilyClassName,\n\t\tgetFontSizeClass( attributes?.fontSize )\n\t);\n\n\treturn {\n\t\tclassName,\n\t\tstyle,\n\t};\n}\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
useEditorWrapperStyles: true
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "useEditorWrapperStyles", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () {
|
|
12
|
+
return _hooks.useEditorWrapperStyles;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
var _index = require("./index.js");
|
|
17
|
+
|
|
18
|
+
Object.keys(_index).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
21
|
+
if (key in exports && exports[key] === _index[key]) return;
|
|
22
|
+
Object.defineProperty(exports, key, {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () {
|
|
25
|
+
return _index[key];
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
var _hooks = require("./hooks");
|
|
31
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/index.native.js"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA","sourcesContent":["/**\n * Internal dependencies\n */\nexport * from './index.js';\n\nexport { useEditorWrapperStyles } from './hooks';\n"]}
|
|
@@ -26,15 +26,14 @@ var _lockUnlock = require("../lock-unlock");
|
|
|
26
26
|
/**
|
|
27
27
|
* Returns true if the contextual block toolbar should show, or false if it should be hidden.
|
|
28
28
|
*
|
|
29
|
-
* @param {string} clientId The client ID of the block.
|
|
30
|
-
*
|
|
31
29
|
* @return {boolean} Whether the block toolbar is hidden.
|
|
32
30
|
*/
|
|
33
|
-
function useShouldContextualToolbarShow(
|
|
31
|
+
function useShouldContextualToolbarShow() {
|
|
34
32
|
const isLargeViewport = (0, _compose.useViewportMatch)('medium');
|
|
35
33
|
const {
|
|
36
34
|
shouldShowContextualToolbar,
|
|
37
|
-
canFocusHiddenToolbar
|
|
35
|
+
canFocusHiddenToolbar,
|
|
36
|
+
fixedToolbarCanBeFocused
|
|
38
37
|
} = (0, _data.useSelect)(select => {
|
|
39
38
|
const {
|
|
40
39
|
__unstableGetEditorMode,
|
|
@@ -43,26 +42,31 @@ function useShouldContextualToolbarShow(clientId) {
|
|
|
43
42
|
isBlockInterfaceHidden,
|
|
44
43
|
getBlock,
|
|
45
44
|
getSettings,
|
|
46
|
-
isNavigationMode
|
|
45
|
+
isNavigationMode,
|
|
46
|
+
getSelectedBlockClientId,
|
|
47
|
+
getFirstMultiSelectedBlockClientId
|
|
47
48
|
} = (0, _lockUnlock.unlock)(select(_store.store));
|
|
48
49
|
const isEditMode = __unstableGetEditorMode() === 'edit';
|
|
49
50
|
const hasFixedToolbar = getSettings().hasFixedToolbar;
|
|
50
51
|
const isDistractionFree = getSettings().isDistractionFree;
|
|
51
|
-
const
|
|
52
|
-
const
|
|
52
|
+
const selectedBlockId = getFirstMultiSelectedBlockClientId() || getSelectedBlockClientId();
|
|
53
|
+
const hasSelectedBlockId = !!selectedBlockId;
|
|
54
|
+
const isEmptyDefaultBlock = (0, _blocks.isUnmodifiedDefaultBlock)(getBlock(selectedBlockId) || {});
|
|
53
55
|
|
|
54
|
-
const _shouldShowContextualToolbar = isEditMode && !hasFixedToolbar && (!isDistractionFree || isNavigationMode()) && isLargeViewport && !isMultiSelecting() && !isTyping() &&
|
|
56
|
+
const _shouldShowContextualToolbar = isEditMode && !hasFixedToolbar && (!isDistractionFree || isNavigationMode()) && isLargeViewport && !isMultiSelecting() && !isTyping() && hasSelectedBlockId && !isEmptyDefaultBlock && !isBlockInterfaceHidden();
|
|
55
57
|
|
|
56
|
-
const _canFocusHiddenToolbar = isEditMode &&
|
|
58
|
+
const _canFocusHiddenToolbar = isEditMode && hasSelectedBlockId && !_shouldShowContextualToolbar && !hasFixedToolbar && !isDistractionFree && !isEmptyDefaultBlock;
|
|
57
59
|
|
|
58
60
|
return {
|
|
59
61
|
shouldShowContextualToolbar: _shouldShowContextualToolbar,
|
|
60
|
-
canFocusHiddenToolbar: _canFocusHiddenToolbar
|
|
62
|
+
canFocusHiddenToolbar: _canFocusHiddenToolbar,
|
|
63
|
+
fixedToolbarCanBeFocused: (hasFixedToolbar || !isLargeViewport) && selectedBlockId
|
|
61
64
|
};
|
|
62
|
-
}, [
|
|
65
|
+
}, [isLargeViewport]);
|
|
63
66
|
return {
|
|
64
67
|
shouldShowContextualToolbar,
|
|
65
|
-
canFocusHiddenToolbar
|
|
68
|
+
canFocusHiddenToolbar,
|
|
69
|
+
fixedToolbarCanBeFocused
|
|
66
70
|
};
|
|
67
71
|
}
|
|
68
72
|
//# sourceMappingURL=use-should-contextual-toolbar-show.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/utils/use-should-contextual-toolbar-show.js"],"names":["useShouldContextualToolbarShow","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/utils/use-should-contextual-toolbar-show.js"],"names":["useShouldContextualToolbarShow","isLargeViewport","shouldShowContextualToolbar","canFocusHiddenToolbar","fixedToolbarCanBeFocused","select","__unstableGetEditorMode","isMultiSelecting","isTyping","isBlockInterfaceHidden","getBlock","getSettings","isNavigationMode","getSelectedBlockClientId","getFirstMultiSelectedBlockClientId","blockEditorStore","isEditMode","hasFixedToolbar","isDistractionFree","selectedBlockId","hasSelectedBlockId","isEmptyDefaultBlock","_shouldShowContextualToolbar","_canFocusHiddenToolbar"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AAKA;;AACA;;AAXA;AACA;AACA;;AAKA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACO,SAASA,8BAAT,GAA0C;AAChD,QAAMC,eAAe,GAAG,+BAAkB,QAAlB,CAAxB;AAEA,QAAM;AACLC,IAAAA,2BADK;AAELC,IAAAA,qBAFK;AAGLC,IAAAA;AAHK,MAIF,qBACDC,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,uBADK;AAELC,MAAAA,gBAFK;AAGLC,MAAAA,QAHK;AAILC,MAAAA,sBAJK;AAKLC,MAAAA,QALK;AAMLC,MAAAA,WANK;AAOLC,MAAAA,gBAPK;AAQLC,MAAAA,wBARK;AASLC,MAAAA;AATK,QAUF,wBAAQT,MAAM,CAAEU,YAAF,CAAd,CAVJ;AAYA,UAAMC,UAAU,GAAGV,uBAAuB,OAAO,MAAjD;AACA,UAAMW,eAAe,GAAGN,WAAW,GAAGM,eAAtC;AACA,UAAMC,iBAAiB,GAAGP,WAAW,GAAGO,iBAAxC;AACA,UAAMC,eAAe,GACpBL,kCAAkC,MAClCD,wBAAwB,EAFzB;AAGA,UAAMO,kBAAkB,GAAG,CAAC,CAAED,eAA9B;AACA,UAAME,mBAAmB,GAAG,sCAC3BX,QAAQ,CAAES,eAAF,CAAR,IAA+B,EADJ,CAA5B;;AAIA,UAAMG,4BAA4B,GACjCN,UAAU,IACV,CAAEC,eADF,KAEE,CAAEC,iBAAF,IAAuBN,gBAAgB,EAFzC,KAGAX,eAHA,IAIA,CAAEM,gBAAgB,EAJlB,IAKA,CAAEC,QAAQ,EALV,IAMAY,kBANA,IAOA,CAAEC,mBAPF,IAQA,CAAEZ,sBAAsB,EATzB;;AAWA,UAAMc,sBAAsB,GAC3BP,UAAU,IACVI,kBADA,IAEA,CAAEE,4BAFF,IAGA,CAAEL,eAHF,IAIA,CAAEC,iBAJF,IAKA,CAAEG,mBANH;;AAQA,WAAO;AACNnB,MAAAA,2BAA2B,EAAEoB,4BADvB;AAENnB,MAAAA,qBAAqB,EAAEoB,sBAFjB;AAGNnB,MAAAA,wBAAwB,EACvB,CAAEa,eAAe,IAAI,CAAEhB,eAAvB,KAA4CkB;AAJvC,KAAP;AAMA,GAlDE,EAmDH,CAAElB,eAAF,CAnDG,CAJJ;AA0DA,SAAO;AACNC,IAAAA,2BADM;AAENC,IAAAA,qBAFM;AAGNC,IAAAA;AAHM,GAAP;AAKA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\n\n/**\n * Returns true if the contextual block toolbar should show, or false if it should be hidden.\n *\n * @return {boolean} Whether the block toolbar is hidden.\n */\nexport function useShouldContextualToolbarShow() {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst {\n\t\tshouldShowContextualToolbar,\n\t\tcanFocusHiddenToolbar,\n\t\tfixedToolbarCanBeFocused,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t\tisMultiSelecting,\n\t\t\t\tisTyping,\n\t\t\t\tisBlockInterfaceHidden,\n\t\t\t\tgetBlock,\n\t\t\t\tgetSettings,\n\t\t\t\tisNavigationMode,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetFirstMultiSelectedBlockClientId,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tconst isEditMode = __unstableGetEditorMode() === 'edit';\n\t\t\tconst hasFixedToolbar = getSettings().hasFixedToolbar;\n\t\t\tconst isDistractionFree = getSettings().isDistractionFree;\n\t\t\tconst selectedBlockId =\n\t\t\t\tgetFirstMultiSelectedBlockClientId() ||\n\t\t\t\tgetSelectedBlockClientId();\n\t\t\tconst hasSelectedBlockId = !! selectedBlockId;\n\t\t\tconst isEmptyDefaultBlock = isUnmodifiedDefaultBlock(\n\t\t\t\tgetBlock( selectedBlockId ) || {}\n\t\t\t);\n\n\t\t\tconst _shouldShowContextualToolbar =\n\t\t\t\tisEditMode &&\n\t\t\t\t! hasFixedToolbar &&\n\t\t\t\t( ! isDistractionFree || isNavigationMode() ) &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\t! isMultiSelecting() &&\n\t\t\t\t! isTyping() &&\n\t\t\t\thasSelectedBlockId &&\n\t\t\t\t! isEmptyDefaultBlock &&\n\t\t\t\t! isBlockInterfaceHidden();\n\n\t\t\tconst _canFocusHiddenToolbar =\n\t\t\t\tisEditMode &&\n\t\t\t\thasSelectedBlockId &&\n\t\t\t\t! _shouldShowContextualToolbar &&\n\t\t\t\t! hasFixedToolbar &&\n\t\t\t\t! isDistractionFree &&\n\t\t\t\t! isEmptyDefaultBlock;\n\n\t\t\treturn {\n\t\t\t\tshouldShowContextualToolbar: _shouldShowContextualToolbar,\n\t\t\t\tcanFocusHiddenToolbar: _canFocusHiddenToolbar,\n\t\t\t\tfixedToolbarCanBeFocused:\n\t\t\t\t\t( hasFixedToolbar || ! isLargeViewport ) && selectedBlockId,\n\t\t\t};\n\t\t},\n\t\t[ isLargeViewport ]\n\t);\n\n\treturn {\n\t\tshouldShowContextualToolbar,\n\t\tcanFocusHiddenToolbar,\n\t\tfixedToolbarCanBeFocused,\n\t};\n}\n"]}
|
|
@@ -6,22 +6,29 @@ import { createElement } from "@wordpress/element";
|
|
|
6
6
|
*/
|
|
7
7
|
import { useContext } from '@wordpress/element';
|
|
8
8
|
import { __experimentalToolbarContext as ToolbarContext, ToolbarGroup, __experimentalUseSlotFills as useSlotFills } from '@wordpress/components';
|
|
9
|
+
import warning from '@wordpress/warning';
|
|
9
10
|
/**
|
|
10
11
|
* Internal dependencies
|
|
11
12
|
*/
|
|
12
13
|
|
|
13
14
|
import groups from './groups';
|
|
14
15
|
export default function BlockControlsSlot(_ref) {
|
|
16
|
+
var _groups$group;
|
|
17
|
+
|
|
15
18
|
let {
|
|
16
19
|
group = 'default',
|
|
17
20
|
...props
|
|
18
21
|
} = _ref;
|
|
19
22
|
const accessibleToolbarState = useContext(ToolbarContext);
|
|
20
|
-
const Slot = groups[group].Slot;
|
|
21
|
-
const fills = useSlotFills(Slot.__unstableName);
|
|
22
|
-
|
|
23
|
+
const Slot = (_groups$group = groups[group]) === null || _groups$group === void 0 ? void 0 : _groups$group.Slot;
|
|
24
|
+
const fills = useSlotFills(Slot === null || Slot === void 0 ? void 0 : Slot.__unstableName);
|
|
25
|
+
|
|
26
|
+
if (!Slot) {
|
|
27
|
+
typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? warning(`Unknown BlockControls group "${group}" provided.`) : void 0;
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
23
30
|
|
|
24
|
-
if (!
|
|
31
|
+
if (!(fills !== null && fills !== void 0 && fills.length)) {
|
|
25
32
|
return null;
|
|
26
33
|
}
|
|
27
34
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-controls/slot.js"],"names":["useContext","__experimentalToolbarContext","ToolbarContext","ToolbarGroup","__experimentalUseSlotFills","useSlotFills","groups","BlockControlsSlot","group","props","accessibleToolbarState","Slot","fills","__unstableName","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-controls/slot.js"],"names":["useContext","__experimentalToolbarContext","ToolbarContext","ToolbarGroup","__experimentalUseSlotFills","useSlotFills","warning","groups","BlockControlsSlot","group","props","accessibleToolbarState","Slot","fills","__unstableName","length"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AACA,SACCC,4BAA4B,IAAIC,cADjC,EAECC,YAFD,EAGCC,0BAA0B,IAAIC,YAH/B,QAIO,uBAJP;AAKA,OAAOC,OAAP,MAAoB,oBAApB;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,eAAe,SAASC,iBAAT,OAA8D;AAAA;;AAAA,MAAlC;AAAEC,IAAAA,KAAK,GAAG,SAAV;AAAqB,OAAGC;AAAxB,GAAkC;AAC5E,QAAMC,sBAAsB,GAAGX,UAAU,CAAEE,cAAF,CAAzC;AACA,QAAMU,IAAI,oBAAGL,MAAM,CAAEE,KAAF,CAAT,kDAAG,cAAiBG,IAA9B;AACA,QAAMC,KAAK,GAAGR,YAAY,CAAEO,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEE,cAAR,CAA1B;;AACA,MAAK,CAAEF,IAAP,EAAc;AACb,6FAAAN,OAAO,CAAG,gCAAgCG,KAAO,aAA1C,CAAP;AACA,WAAO,IAAP;AACA;;AAED,MAAK,EAAEI,KAAF,aAAEA,KAAF,eAAEA,KAAK,CAAEE,MAAT,CAAL,EAAuB;AACtB,WAAO,IAAP;AACA;;AAED,MAAKN,KAAK,KAAK,SAAf,EAA2B;AAC1B,WACC,cAAC,IAAD,eACMC,KADN;AAEC,MAAA,gBAAgB,MAFjB;AAGC,MAAA,SAAS,EAAGC;AAHb,OADD;AAOA;;AAED,SACC,cAAC,YAAD,QACC,cAAC,IAAD,eACMD,KADN;AAEC,IAAA,gBAAgB,MAFjB;AAGC,IAAA,SAAS,EAAGC;AAHb,KADD,CADD;AASA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport {\n\t__experimentalToolbarContext as ToolbarContext,\n\tToolbarGroup,\n\t__experimentalUseSlotFills as useSlotFills,\n} from '@wordpress/components';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport groups from './groups';\n\nexport default function BlockControlsSlot( { group = 'default', ...props } ) {\n\tconst accessibleToolbarState = useContext( ToolbarContext );\n\tconst Slot = groups[ group ]?.Slot;\n\tconst fills = useSlotFills( Slot?.__unstableName );\n\tif ( ! Slot ) {\n\t\twarning( `Unknown BlockControls group \"${ group }\" provided.` );\n\t\treturn null;\n\t}\n\n\tif ( ! fills?.length ) {\n\t\treturn null;\n\t}\n\n\tif ( group === 'default' ) {\n\t\treturn (\n\t\t\t<Slot\n\t\t\t\t{ ...props }\n\t\t\t\tbubblesVirtually\n\t\t\t\tfillProps={ accessibleToolbarState }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<Slot\n\t\t\t\t{ ...props }\n\t\t\t\tbubblesVirtually\n\t\t\t\tfillProps={ accessibleToolbarState }\n\t\t\t/>\n\t\t</ToolbarGroup>\n\t);\n}\n"]}
|
|
@@ -6,18 +6,26 @@ import { createElement } from "@wordpress/element";
|
|
|
6
6
|
*/
|
|
7
7
|
import { useContext } from '@wordpress/element';
|
|
8
8
|
import { __experimentalToolbarContext as ToolbarContext, ToolbarGroup } from '@wordpress/components';
|
|
9
|
+
import warning from '@wordpress/warning';
|
|
9
10
|
/**
|
|
10
11
|
* Internal dependencies
|
|
11
12
|
*/
|
|
12
13
|
|
|
13
14
|
import groups from './groups';
|
|
14
15
|
export default function BlockControlsSlot(_ref) {
|
|
16
|
+
var _groups$group;
|
|
17
|
+
|
|
15
18
|
let {
|
|
16
19
|
group = 'default',
|
|
17
20
|
...props
|
|
18
21
|
} = _ref;
|
|
19
22
|
const accessibleToolbarState = useContext(ToolbarContext);
|
|
20
|
-
const Slot = groups[group].Slot;
|
|
23
|
+
const Slot = (_groups$group = groups[group]) === null || _groups$group === void 0 ? void 0 : _groups$group.Slot;
|
|
24
|
+
|
|
25
|
+
if (!Slot) {
|
|
26
|
+
typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? warning(`Unknown BlockControls group "${group}" provided.`) : void 0;
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
21
29
|
|
|
22
30
|
if (group === 'default') {
|
|
23
31
|
return createElement(Slot, _extends({}, props, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-controls/slot.native.js"],"names":["useContext","__experimentalToolbarContext","ToolbarContext","ToolbarGroup","groups","BlockControlsSlot","group","props","accessibleToolbarState","Slot","fills","length"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AACA,SACCC,4BAA4B,IAAIC,cADjC,EAECC,YAFD,QAGO,uBAHP;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-controls/slot.native.js"],"names":["useContext","__experimentalToolbarContext","ToolbarContext","ToolbarGroup","warning","groups","BlockControlsSlot","group","props","accessibleToolbarState","Slot","fills","length"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AACA,SACCC,4BAA4B,IAAIC,cADjC,EAECC,YAFD,QAGO,uBAHP;AAIA,OAAOC,OAAP,MAAoB,oBAApB;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,eAAe,SAASC,iBAAT,OAA8D;AAAA;;AAAA,MAAlC;AAAEC,IAAAA,KAAK,GAAG,SAAV;AAAqB,OAAGC;AAAxB,GAAkC;AAC5E,QAAMC,sBAAsB,GAAGT,UAAU,CAAEE,cAAF,CAAzC;AACA,QAAMQ,IAAI,oBAAGL,MAAM,CAAEE,KAAF,CAAT,kDAAG,cAAiBG,IAA9B;;AACA,MAAK,CAAEA,IAAP,EAAc;AACb,6FAAAN,OAAO,CAAG,gCAAgCG,KAAO,aAA1C,CAAP;AACA,WAAO,IAAP;AACA;;AAED,MAAKA,KAAK,KAAK,SAAf,EAA2B;AAC1B,WAAO,cAAC,IAAD,eAAWC,KAAX;AAAmB,MAAA,SAAS,EAAGC;AAA/B,OAAP;AACA;;AAED,SACC,cAAC,IAAD,eAAWD,KAAX;AAAmB,IAAA,SAAS,EAAGC;AAA/B,MACKE,KAAF,IAAa;AACd,QAAK,CAAEA,KAAK,CAACC,MAAb,EAAsB;AACrB,aAAO,IAAP;AACA;;AACD,WAAO,cAAC,YAAD,QAAgBD,KAAhB,CAAP;AACA,GANF,CADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport {\n\t__experimentalToolbarContext as ToolbarContext,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport groups from './groups';\n\nexport default function BlockControlsSlot( { group = 'default', ...props } ) {\n\tconst accessibleToolbarState = useContext( ToolbarContext );\n\tconst Slot = groups[ group ]?.Slot;\n\tif ( ! Slot ) {\n\t\twarning( `Unknown BlockControls group \"${ group }\" provided.` );\n\t\treturn null;\n\t}\n\n\tif ( group === 'default' ) {\n\t\treturn <Slot { ...props } fillProps={ accessibleToolbarState } />;\n\t}\n\n\treturn (\n\t\t<Slot { ...props } fillProps={ accessibleToolbarState }>\n\t\t\t{ ( fills ) => {\n\t\t\t\tif ( ! fills.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn <ToolbarGroup>{ fills }</ToolbarGroup>;\n\t\t\t} }\n\t\t</Slot>\n\t);\n}\n"]}
|
|
@@ -74,13 +74,17 @@ const BlockDraggable = _ref => {
|
|
|
74
74
|
__experimentalTransferDataType: "wp-blocks",
|
|
75
75
|
transferData: transferData,
|
|
76
76
|
onDragStart: event => {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
// Defer hiding the dragged source element to the next
|
|
78
|
+
// frame to enable dragging.
|
|
79
|
+
window.requestAnimationFrame(() => {
|
|
80
|
+
startDraggingBlocks(clientIds);
|
|
81
|
+
isDragging.current = true;
|
|
82
|
+
startScrolling(event);
|
|
80
83
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
+
if (onDragStart) {
|
|
85
|
+
onDragStart();
|
|
86
|
+
}
|
|
87
|
+
});
|
|
84
88
|
},
|
|
85
89
|
onDragOver: scrollOnDragOver,
|
|
86
90
|
onDragEnd: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-draggable/index.js"],"names":["getBlockType","Draggable","useSelect","useDispatch","useEffect","useRef","BlockDraggableChip","useScrollWhenDragging","store","blockEditorStore","BlockDraggable","children","clientIds","cloneClassname","onDragStart","onDragEnd","srcRootClientId","isDraggable","icon","select","canMoveBlocks","getBlockRootClientId","getBlockName","rootClientId","blockName","isDragging","startScrolling","scrollOnDragOver","stopScrolling","startDraggingBlocks","stopDraggingBlocks","current","draggable","transferData","type","srcClientIds","event","length","onDraggableStart","onDraggableEnd"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,YAAT,QAA6B,mBAA7B;AACA,SAASC,SAAT,QAA0B,uBAA1B;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,SAAT,EAAoBC,MAApB,QAAkC,oBAAlC;AAEA;AACA;AACA;;AACA,OAAOC,kBAAP,MAA+B,kBAA/B;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;;AAEA,MAAMC,cAAc,GAAG,QAMhB;AAAA,MANkB;AACxBC,IAAAA,QADwB;AAExBC,IAAAA,SAFwB;AAGxBC,IAAAA,cAHwB;AAIxBC,IAAAA,WAJwB;AAKxBC,IAAAA;AALwB,GAMlB;AACN,QAAM;AAAEC,IAAAA,eAAF;AAAmBC,IAAAA,WAAnB;AAAgCC,IAAAA;AAAhC,MAAyChB,SAAS,CACrDiB,MAAF,IAAc;AAAA;;AACb,UAAM;AAAEC,MAAAA,aAAF;AAAiBC,MAAAA,oBAAjB;AAAuCC,MAAAA;AAAvC,QACLH,MAAM,CAAEV,gBAAF,CADP;AAEA,UAAMc,YAAY,GAAGF,oBAAoB,CAAET,SAAS,CAAE,CAAF,CAAX,CAAzC;AACA,UAAMY,SAAS,GAAGF,YAAY,CAAEV,SAAS,CAAE,CAAF,CAAX,CAA9B;AAEA,WAAO;AACNI,MAAAA,eAAe,EAAEO,YADX;AAENN,MAAAA,WAAW,EAAEG,aAAa,CAAER,SAAF,EAAaW,YAAb,CAFpB;AAGNL,MAAAA,IAAI,mBAAElB,YAAY,CAAEwB,SAAF,CAAd,kDAAE,cAA2BN;AAH3B,KAAP;AAKA,GAZsD,EAavD,CAAEN,SAAF,CAbuD,CAAxD;AAeA,QAAMa,UAAU,GAAGpB,MAAM,CAAE,KAAF,CAAzB;AACA,QAAM,CAAEqB,cAAF,EAAkBC,gBAAlB,EAAoCC,aAApC,IACLrB,qBAAqB,EADtB;AAGA,QAAM;AAAEsB,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MACL3B,WAAW,CAAEM,gBAAF,CADZ,CApBM,CAuBN;;AACAL,EAAAA,SAAS,CAAE,MAAM;AAChB,WAAO,MAAM;AACZ,UAAKqB,UAAU,CAACM,OAAhB,EAA0B;AACzBD,QAAAA,kBAAkB;AAClB;AACD,KAJD;AAKA,GANQ,EAMN,EANM,CAAT;;AAQA,MAAK,CAAEb,WAAP,EAAqB;AACpB,WAAON,QAAQ,CAAE;AAAEqB,MAAAA,SAAS,EAAE;AAAb,KAAF,CAAf;AACA;;AAED,QAAMC,YAAY,GAAG;AACpBC,IAAAA,IAAI,EAAE,OADc;AAEpBC,IAAAA,YAAY,EAAEvB,SAFM;AAGpBI,IAAAA;AAHoB,GAArB;AAMA,SACC,cAAC,SAAD;AACC,IAAA,cAAc,EAAGH,cADlB;AAEC,IAAA,8BAA8B,EAAC,WAFhC;AAGC,IAAA,YAAY,EAAGoB,YAHhB;AAIC,IAAA,WAAW,EAAKG,KAAF,IAAa;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-draggable/index.js"],"names":["getBlockType","Draggable","useSelect","useDispatch","useEffect","useRef","BlockDraggableChip","useScrollWhenDragging","store","blockEditorStore","BlockDraggable","children","clientIds","cloneClassname","onDragStart","onDragEnd","srcRootClientId","isDraggable","icon","select","canMoveBlocks","getBlockRootClientId","getBlockName","rootClientId","blockName","isDragging","startScrolling","scrollOnDragOver","stopScrolling","startDraggingBlocks","stopDraggingBlocks","current","draggable","transferData","type","srcClientIds","event","window","requestAnimationFrame","length","onDraggableStart","onDraggableEnd"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\nimport { Draggable } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggableChip from './draggable-chip';\nimport useScrollWhenDragging from './use-scroll-when-dragging';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockDraggable = ( {\n\tchildren,\n\tclientIds,\n\tcloneClassname,\n\tonDragStart,\n\tonDragEnd,\n} ) => {\n\tconst { srcRootClientId, isDraggable, icon } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canMoveBlocks, getBlockRootClientId, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\tconst blockName = getBlockName( clientIds[ 0 ] );\n\n\t\t\treturn {\n\t\t\t\tsrcRootClientId: rootClientId,\n\t\t\t\tisDraggable: canMoveBlocks( clientIds, rootClientId ),\n\t\t\t\ticon: getBlockType( blockName )?.icon,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst isDragging = useRef( false );\n\tconst [ startScrolling, scrollOnDragOver, stopScrolling ] =\n\t\tuseScrollWhenDragging();\n\n\tconst { startDraggingBlocks, stopDraggingBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// Stop dragging blocks if the block draggable is unmounted.\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif ( isDragging.current ) {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tif ( ! isDraggable ) {\n\t\treturn children( { draggable: false } );\n\t}\n\n\tconst transferData = {\n\t\ttype: 'block',\n\t\tsrcClientIds: clientIds,\n\t\tsrcRootClientId,\n\t};\n\n\treturn (\n\t\t<Draggable\n\t\t\tcloneClassname={ cloneClassname }\n\t\t\t__experimentalTransferDataType=\"wp-blocks\"\n\t\t\ttransferData={ transferData }\n\t\t\tonDragStart={ ( event ) => {\n\t\t\t\t// Defer hiding the dragged source element to the next\n\t\t\t\t// frame to enable dragging.\n\t\t\t\twindow.requestAnimationFrame( () => {\n\t\t\t\t\tstartDraggingBlocks( clientIds );\n\t\t\t\t\tisDragging.current = true;\n\n\t\t\t\t\tstartScrolling( event );\n\n\t\t\t\t\tif ( onDragStart ) {\n\t\t\t\t\t\tonDragStart();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tonDragOver={ scrollOnDragOver }\n\t\t\tonDragEnd={ () => {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t\tisDragging.current = false;\n\n\t\t\t\tstopScrolling();\n\n\t\t\t\tif ( onDragEnd ) {\n\t\t\t\t\tonDragEnd();\n\t\t\t\t}\n\t\t\t} }\n\t\t\t__experimentalDragComponent={\n\t\t\t\t<BlockDraggableChip count={ clientIds.length } icon={ icon } />\n\t\t\t}\n\t\t>\n\t\t\t{ ( { onDraggableStart, onDraggableEnd } ) => {\n\t\t\t\treturn children( {\n\t\t\t\t\tdraggable: true,\n\t\t\t\t\tonDragStart: onDraggableStart,\n\t\t\t\t\tonDragEnd: onDraggableEnd,\n\t\t\t\t} );\n\t\t\t} }\n\t\t</Draggable>\n\t);\n};\n\nexport default BlockDraggable;\n"]}
|