@wordpress/block-editor 10.3.0 → 10.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/build/components/alignment-control/ui.js +1 -1
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/constants.js +1 -1
- package/build/components/block-alignment-control/constants.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +1 -1
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-compare/index.js +1 -3
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-edit/index.js +4 -2
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-list/block.js +3 -1
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-popover/inbetween.js +2 -1
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +2 -1
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/index.js +2 -4
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +2 -8
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-switcher/index.js +2 -8
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/preview-block-popover.js +1 -1
- package/build/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +12 -2
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +1 -1
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/all-input-control.js +2 -1
- package/build/components/border-radius-control/all-input-control.js.map +1 -1
- package/build/components/border-radius-control/index.js +2 -1
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +2 -1
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/duotone-control/index.js +1 -1
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +1 -1
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/iframe/index.js +1 -1
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/constants.js +1 -1
- package/build/components/image-editor/constants.js.map +1 -1
- package/build/components/inner-blocks/index.js +6 -2
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js +2 -7
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/search-items.js +23 -2
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/line-height-control/index.js +2 -1
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +2 -1
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/media-replace-flow/index.js +1 -1
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.js +1 -1
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +1 -1
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +1 -1
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/spacing-sizes-control/all-input-control.js +6 -2
- package/build/components/spacing-sizes-control/all-input-control.js.map +1 -1
- package/build/components/spacing-sizes-control/axial-input-controls.js +6 -2
- package/build/components/spacing-sizes-control/axial-input-controls.js.map +1 -1
- package/build/components/spacing-sizes-control/index.js +6 -2
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls.js +6 -2
- package/build/components/spacing-sizes-control/input-controls.js.map +1 -1
- package/build/components/spacing-sizes-control/spacing-input-control.js +12 -5
- package/build/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
- package/build/components/url-input/index.js +1 -1
- package/build/components/url-input/index.js.map +1 -1
- package/build/hooks/border.js +1 -0
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/dimensions.js +32 -4
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/font-size.js +1 -0
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/layout.js +4 -3
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/margin.js +22 -16
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +18 -11
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/utils.js +7 -6
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/constrained.js +0 -1
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/flex.js +1 -1
- package/build/layouts/flex.js.map +1 -1
- package/build/store/actions.js +4 -0
- package/build/store/actions.js.map +1 -1
- package/build/store/array.js +1 -7
- package/build/store/array.js.map +1 -1
- package/build/store/selectors.js +46 -29
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +1 -1
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/constants.js +1 -1
- package/build-module/components/block-alignment-control/constants.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-compare/index.js +2 -3
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-edit/index.js +4 -2
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-list/block.js +3 -1
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +2 -1
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +2 -1
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/index.js +2 -3
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +2 -7
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-switcher/index.js +2 -7
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +12 -2
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/all-input-control.js +2 -1
- package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +2 -1
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +2 -1
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/duotone-control/index.js +1 -1
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +2 -2
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/iframe/index.js +1 -1
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/constants.js +1 -1
- package/build-module/components/image-editor/constants.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +6 -2
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js +2 -6
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/search-items.js +23 -3
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/line-height-control/index.js +2 -1
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +2 -1
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +1 -1
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +1 -1
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/spacing-sizes-control/all-input-control.js +6 -2
- package/build-module/components/spacing-sizes-control/all-input-control.js.map +1 -1
- package/build-module/components/spacing-sizes-control/axial-input-controls.js +6 -2
- package/build-module/components/spacing-sizes-control/axial-input-controls.js.map +1 -1
- package/build-module/components/spacing-sizes-control/index.js +6 -2
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls.js +6 -2
- package/build-module/components/spacing-sizes-control/input-controls.js.map +1 -1
- package/build-module/components/spacing-sizes-control/spacing-input-control.js +12 -5
- package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
- package/build-module/components/url-input/index.js +1 -1
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/hooks/border.js +1 -0
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/dimensions.js +32 -4
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/font-size.js +1 -0
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/layout.js +5 -4
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/margin.js +23 -17
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +19 -12
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/utils.js +7 -7
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/constrained.js +0 -1
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/flex.js +1 -1
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/store/actions.js +4 -0
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/array.js +1 -6
- package/build-module/store/array.js.map +1 -1
- package/build-module/store/selectors.js +47 -30
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +49 -62
- package/build-style/style.css +45 -58
- package/package.json +29 -28
- package/src/components/alignment-control/ui.js +1 -1
- package/src/components/block-alignment-control/constants.js +1 -1
- package/src/components/block-alignment-matrix-control/index.js +1 -1
- package/src/components/block-breadcrumb/test/__snapshots__/index.js.snap +13 -11
- package/src/components/block-breadcrumb/test/index.js +1 -1
- package/src/components/block-compare/index.js +3 -2
- package/src/components/block-edit/index.js +2 -1
- package/src/components/block-list/block.js +2 -0
- package/src/components/block-list/style.scss +1 -1
- package/src/components/block-mover/stories/index.js +1 -1
- package/src/components/block-mover/style.scss +35 -0
- package/src/components/block-popover/inbetween.js +1 -0
- package/src/components/block-popover/index.js +1 -0
- package/src/components/block-popover/style.scss +0 -4
- package/src/components/block-preview/index.js +8 -3
- package/src/components/block-settings-menu/block-settings-dropdown.js +4 -7
- package/src/components/block-switcher/index.js +2 -7
- package/src/components/block-switcher/preview-block-popover.js +1 -1
- package/src/components/block-tools/insertion-point.js +10 -1
- package/src/components/block-variation-picker/README.md +1 -1
- package/src/components/block-vertical-alignment-control/ui.js +1 -1
- package/src/components/border-radius-control/all-input-control.js +1 -0
- package/src/components/border-radius-control/index.js +1 -0
- package/src/components/border-radius-control/input-controls.js +1 -0
- package/src/components/border-radius-control/style.scss +15 -24
- package/src/components/color-palette/test/__snapshots__/control.js.snap +85 -83
- package/src/components/color-palette/test/control.js +1 -1
- package/src/components/duotone-control/index.js +1 -1
- package/src/components/font-sizes/with-font-sizes.js +2 -3
- package/src/components/iframe/index.js +1 -1
- package/src/components/image-editor/constants.js +1 -1
- package/src/components/inner-blocks/index.js +5 -1
- package/src/components/inner-blocks/test/index.js +4 -0
- package/src/components/inserter/hooks/use-insertion-point.js +3 -11
- package/src/components/inserter/search-items.js +23 -3
- package/src/components/inserter/test/search-items.js +6 -0
- package/src/components/inserter-list-item/style.scss +2 -0
- package/src/components/letter-spacing-control/README.md +55 -0
- package/src/components/line-height-control/index.js +1 -0
- package/src/components/link-control/README.md +3 -3
- package/src/components/list-view/drop-indicator.js +1 -0
- package/src/components/list-view/style.scss +1 -36
- package/src/components/media-replace-flow/index.js +1 -1
- package/src/components/media-replace-flow/test/index.js +69 -51
- package/src/components/rich-text/format-toolbar/index.js +1 -1
- package/src/components/rich-text/format-toolbar-container.js +1 -1
- package/src/components/rich-text/use-paste-handler.js +1 -1
- package/src/components/spacing-sizes-control/all-input-control.js +4 -0
- package/src/components/spacing-sizes-control/axial-input-controls.js +4 -0
- package/src/components/spacing-sizes-control/index.js +4 -0
- package/src/components/spacing-sizes-control/input-controls.js +4 -0
- package/src/components/spacing-sizes-control/spacing-input-control.js +10 -1
- package/src/components/spacing-sizes-control/style.scss +1 -0
- package/src/components/url-input/index.js +1 -1
- package/src/hooks/border.js +1 -0
- package/src/hooks/dimensions.js +32 -5
- package/src/hooks/font-size.js +1 -0
- package/src/hooks/layout.js +7 -9
- package/src/hooks/margin.js +19 -14
- package/src/hooks/padding.js +19 -16
- package/src/hooks/test/align.js +96 -72
- package/src/hooks/utils.js +5 -6
- package/src/layouts/constrained.js +0 -1
- package/src/layouts/flex.js +1 -1
- package/src/store/actions.js +4 -0
- package/src/store/array.js +1 -6
- package/src/store/selectors.js +28 -21
- package/src/store/test/selectors.js +1 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { castArray } from 'lodash';
|
|
5
4
|
import classnames from 'classnames';
|
|
6
5
|
|
|
7
6
|
/**
|
|
@@ -36,7 +35,10 @@ export function BlockPreview( {
|
|
|
36
35
|
() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),
|
|
37
36
|
[ originalSettings ]
|
|
38
37
|
);
|
|
39
|
-
const renderedBlocks = useMemo(
|
|
38
|
+
const renderedBlocks = useMemo(
|
|
39
|
+
() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),
|
|
40
|
+
[ blocks ]
|
|
41
|
+
);
|
|
40
42
|
if ( ! blocks || blocks.length === 0 ) {
|
|
41
43
|
return null;
|
|
42
44
|
}
|
|
@@ -99,7 +101,10 @@ export function useBlockPreview( {
|
|
|
99
101
|
);
|
|
100
102
|
const disabledRef = useDisabled();
|
|
101
103
|
const ref = useMergeRefs( [ props.ref, disabledRef ] );
|
|
102
|
-
const renderedBlocks = useMemo(
|
|
104
|
+
const renderedBlocks = useMemo(
|
|
105
|
+
() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),
|
|
106
|
+
[ blocks ]
|
|
107
|
+
);
|
|
103
108
|
|
|
104
109
|
const children = (
|
|
105
110
|
<BlockEditorProvider value={ renderedBlocks } settings={ settings }>
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { castArray } from 'lodash';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* WordPress dependencies
|
|
8
3
|
*/
|
|
@@ -41,7 +36,7 @@ const noop = () => {};
|
|
|
41
36
|
const POPOVER_PROPS = {
|
|
42
37
|
className: 'block-editor-block-settings-menu__popover',
|
|
43
38
|
position: 'bottom right',
|
|
44
|
-
|
|
39
|
+
variant: 'toolbar',
|
|
45
40
|
};
|
|
46
41
|
|
|
47
42
|
function CopyMenuItem( { blocks, onCopy } ) {
|
|
@@ -58,7 +53,9 @@ export function BlockSettingsDropdown( {
|
|
|
58
53
|
__unstableDisplayLocation,
|
|
59
54
|
...props
|
|
60
55
|
} ) {
|
|
61
|
-
const blockClientIds =
|
|
56
|
+
const blockClientIds = Array.isArray( clientIds )
|
|
57
|
+
? clientIds
|
|
58
|
+
: [ clientIds ];
|
|
62
59
|
const count = blockClientIds.length;
|
|
63
60
|
const firstBlockClientId = blockClientIds[ 0 ];
|
|
64
61
|
const {
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { castArray } from 'lodash';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* WordPress dependencies
|
|
8
3
|
*/
|
|
@@ -52,7 +47,7 @@ export const BlockSwitcherDropdownMenu = ( { clientIds, blocks } ) => {
|
|
|
52
47
|
const { getBlockStyles, getBlockType } = select( blocksStore );
|
|
53
48
|
const { canRemoveBlocks } = select( blockEditorStore );
|
|
54
49
|
const rootClientId = getBlockRootClientId(
|
|
55
|
-
|
|
50
|
+
Array.isArray( clientIds ) ? clientIds[ 0 ] : clientIds
|
|
56
51
|
);
|
|
57
52
|
const [ { name: firstBlockName } ] = blocks;
|
|
58
53
|
const _isSingleBlockSelected = blocks.length === 1;
|
|
@@ -163,7 +158,7 @@ export const BlockSwitcherDropdownMenu = ( { clientIds, blocks } ) => {
|
|
|
163
158
|
label={ blockSwitcherLabel }
|
|
164
159
|
popoverProps={ {
|
|
165
160
|
position: 'bottom right',
|
|
166
|
-
|
|
161
|
+
variant: 'toolbar',
|
|
167
162
|
className: 'block-editor-block-switcher__popover',
|
|
168
163
|
} }
|
|
169
164
|
icon={
|
|
@@ -15,7 +15,7 @@ export default function PreviewBlockPopover( { blocks } ) {
|
|
|
15
15
|
<div className="block-editor-block-switcher__popover__preview__container">
|
|
16
16
|
<Popover
|
|
17
17
|
className="block-editor-block-switcher__preview__popover"
|
|
18
|
-
|
|
18
|
+
placement="bottom-start"
|
|
19
19
|
focusOnMount={ false }
|
|
20
20
|
>
|
|
21
21
|
<div className="block-editor-block-switcher__preview">
|
|
@@ -25,7 +25,7 @@ function InbetweenInsertionPointPopover( {
|
|
|
25
25
|
__unstablePopoverSlot,
|
|
26
26
|
__unstableContentRef,
|
|
27
27
|
} ) {
|
|
28
|
-
const { selectBlock } = useDispatch( blockEditorStore );
|
|
28
|
+
const { selectBlock, hideInsertionPoint } = useDispatch( blockEditorStore );
|
|
29
29
|
const openRef = useContext( InsertionPointOpenRef );
|
|
30
30
|
const ref = useRef();
|
|
31
31
|
const {
|
|
@@ -89,6 +89,14 @@ function InbetweenInsertionPointPopover( {
|
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
+
function maybeHideInserterPoint( event ) {
|
|
93
|
+
// Only hide the inserter if it's triggered on the wrapper,
|
|
94
|
+
// and the inserter is not open.
|
|
95
|
+
if ( event.target === ref.current && ! openRef.current ) {
|
|
96
|
+
hideInsertionPoint();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
92
100
|
function onFocus( event ) {
|
|
93
101
|
// Only handle click on the wrapper specifically, and not an event
|
|
94
102
|
// bubbled from the inserter itself.
|
|
@@ -200,6 +208,7 @@ function InbetweenInsertionPointPopover( {
|
|
|
200
208
|
className={ classnames( className, {
|
|
201
209
|
'is-with-inserter': isInserterShown,
|
|
202
210
|
} ) }
|
|
211
|
+
onHoverEnd={ maybeHideInserterPoint }
|
|
203
212
|
>
|
|
204
213
|
<motion.div
|
|
205
214
|
variants={ lineVariants }
|
|
@@ -68,7 +68,7 @@ The different variations of the block.
|
|
|
68
68
|
|
|
69
69
|
- Type: `Function`
|
|
70
70
|
|
|
71
|
-
Callback called when a block variation is selected. It
|
|
71
|
+
Callback called when a block variation is selected. It receives the selected variation as a parameter.
|
|
72
72
|
|
|
73
73
|
#### `icon`
|
|
74
74
|
|
|
@@ -10,24 +10,21 @@
|
|
|
10
10
|
justify-content: space-between;
|
|
11
11
|
align-items: flex-start;
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
width:
|
|
13
|
+
.components-border-radius-control__unit-control {
|
|
14
|
+
width: calc((100% - #{$grid-unit-20}) / 2);
|
|
15
15
|
margin-bottom: 0;
|
|
16
|
-
margin-right:
|
|
16
|
+
margin-right: $grid-unit-20;
|
|
17
17
|
flex-shrink: 0;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
.components-
|
|
20
|
+
.components-border-radius-control__range-control {
|
|
21
21
|
flex: 1;
|
|
22
|
-
margin-
|
|
23
|
-
|
|
24
|
-
.components-base-control__field {
|
|
25
|
-
margin-bottom: 0;
|
|
26
|
-
height: 30px;
|
|
27
|
-
}
|
|
22
|
+
margin-right: $grid-unit-15;
|
|
28
23
|
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
> div {
|
|
25
|
+
height: 40px;
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: center;
|
|
31
28
|
}
|
|
32
29
|
}
|
|
33
30
|
|
|
@@ -37,22 +34,16 @@
|
|
|
37
34
|
}
|
|
38
35
|
|
|
39
36
|
.components-border-radius-control__input-controls-wrapper {
|
|
40
|
-
display:
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
.components-border-radius-control__tooltip-wrapper {
|
|
45
|
-
width: calc(50% - #{ $grid-unit-10 });
|
|
46
|
-
margin-bottom: $grid-unit-10;
|
|
47
|
-
margin-right: $grid-unit-10;
|
|
48
|
-
}
|
|
37
|
+
display: grid;
|
|
38
|
+
gap: $grid-unit-20;
|
|
39
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
40
|
+
margin-right: $grid-unit-15;
|
|
49
41
|
}
|
|
50
42
|
|
|
51
|
-
.component-border-radius-control__linked-button
|
|
43
|
+
.component-border-radius-control__linked-button {
|
|
52
44
|
display: flex;
|
|
53
45
|
justify-content: center;
|
|
54
|
-
margin-
|
|
55
|
-
margin-top: 3px;
|
|
46
|
+
margin-top: $grid-unit-10;
|
|
56
47
|
|
|
57
48
|
svg {
|
|
58
49
|
margin-right: 0;
|
|
@@ -117,114 +117,116 @@ exports[`ColorPaletteControl matches the snapshot 1`] = `
|
|
|
117
117
|
min-width: 0;
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
<div
|
|
121
|
-
class="components-base-control block-editor-color-gradient-control emotion-0 emotion-1"
|
|
122
|
-
>
|
|
120
|
+
<div>
|
|
123
121
|
<div
|
|
124
|
-
class="components-base-
|
|
122
|
+
class="components-base-control block-editor-color-gradient-control emotion-0 emotion-1"
|
|
125
123
|
>
|
|
126
|
-
<
|
|
127
|
-
class="
|
|
124
|
+
<div
|
|
125
|
+
class="components-base-control__field emotion-2 emotion-3"
|
|
128
126
|
>
|
|
129
|
-
<
|
|
130
|
-
class="
|
|
131
|
-
data-wp-c16t="true"
|
|
132
|
-
data-wp-component="VStack"
|
|
127
|
+
<fieldset
|
|
128
|
+
class="block-editor-color-gradient-control__fieldset"
|
|
133
129
|
>
|
|
134
|
-
<legend>
|
|
135
|
-
<div
|
|
136
|
-
class="block-editor-color-gradient-control__color-indicator"
|
|
137
|
-
>
|
|
138
|
-
<span
|
|
139
|
-
class="components-base-control__label emotion-6 emotion-7"
|
|
140
|
-
>
|
|
141
|
-
Test Color
|
|
142
|
-
</span>
|
|
143
|
-
</div>
|
|
144
|
-
</legend>
|
|
145
130
|
<div
|
|
146
|
-
class="
|
|
131
|
+
class="components-flex components-h-stack components-v-stack emotion-4 emotion-5"
|
|
132
|
+
data-wp-c16t="true"
|
|
133
|
+
data-wp-component="VStack"
|
|
147
134
|
>
|
|
135
|
+
<legend>
|
|
136
|
+
<div
|
|
137
|
+
class="block-editor-color-gradient-control__color-indicator"
|
|
138
|
+
>
|
|
139
|
+
<span
|
|
140
|
+
class="components-base-control__label emotion-6 emotion-7"
|
|
141
|
+
>
|
|
142
|
+
Test Color
|
|
143
|
+
</span>
|
|
144
|
+
</div>
|
|
145
|
+
</legend>
|
|
148
146
|
<div
|
|
149
|
-
class="
|
|
150
|
-
data-wp-c16t="true"
|
|
151
|
-
data-wp-component="VStack"
|
|
147
|
+
class="block-editor-color-gradient-control__panel"
|
|
152
148
|
>
|
|
153
149
|
<div
|
|
154
|
-
class="components-
|
|
155
|
-
|
|
150
|
+
class="components-flex components-h-stack components-v-stack emotion-8 emotion-5"
|
|
151
|
+
data-wp-c16t="true"
|
|
152
|
+
data-wp-component="VStack"
|
|
156
153
|
>
|
|
157
|
-
<
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
aria-label="Custom color picker. The currently selected color is called \\"red\\" and has a value of \\"f00\\"."
|
|
161
|
-
class="components-flex components-color-palette__custom-color emotion-10 emotion-5"
|
|
162
|
-
data-wp-c16t="true"
|
|
163
|
-
data-wp-component="Flex"
|
|
164
|
-
style="background: rgb(255, 0, 0); color: rgb(0, 0, 0);"
|
|
154
|
+
<div
|
|
155
|
+
class="components-dropdown"
|
|
156
|
+
tabindex="-1"
|
|
165
157
|
>
|
|
166
|
-
<
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
red
|
|
172
|
-
</span>
|
|
173
|
-
<span
|
|
174
|
-
class="components-flex-item components-color-palette__custom-color-value emotion-15 emotion-5"
|
|
158
|
+
<button
|
|
159
|
+
aria-expanded="false"
|
|
160
|
+
aria-haspopup="true"
|
|
161
|
+
aria-label="Custom color picker. The currently selected color is called \\"red\\" and has a value of \\"f00\\"."
|
|
162
|
+
class="components-flex components-color-palette__custom-color emotion-10 emotion-5"
|
|
175
163
|
data-wp-c16t="true"
|
|
176
|
-
data-wp-component="
|
|
164
|
+
data-wp-component="Flex"
|
|
165
|
+
style="background: rgb(255, 0, 0); color: rgb(0, 0, 0);"
|
|
177
166
|
>
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
167
|
+
<span
|
|
168
|
+
class="components-truncate components-flex-item components-color-palette__custom-color-name emotion-5 emotion-13 emotion-5"
|
|
169
|
+
data-wp-c16t="true"
|
|
170
|
+
data-wp-component="FlexItem"
|
|
171
|
+
>
|
|
172
|
+
red
|
|
173
|
+
</span>
|
|
174
|
+
<span
|
|
175
|
+
class="components-flex-item components-color-palette__custom-color-value emotion-15 emotion-5"
|
|
176
|
+
data-wp-c16t="true"
|
|
177
|
+
data-wp-component="FlexItem"
|
|
178
|
+
>
|
|
179
|
+
f00
|
|
180
|
+
</span>
|
|
181
|
+
</button>
|
|
182
|
+
</div>
|
|
185
183
|
<div
|
|
186
|
-
class="components-circular-option-
|
|
184
|
+
class="components-circular-option-picker"
|
|
187
185
|
>
|
|
188
186
|
<div
|
|
189
|
-
class="components-circular-option-
|
|
187
|
+
class="components-circular-option-picker__swatches"
|
|
190
188
|
>
|
|
191
|
-
<
|
|
192
|
-
|
|
193
|
-
aria-pressed="true"
|
|
194
|
-
class="components-button components-circular-option-picker__option is-pressed"
|
|
195
|
-
style="background-color: rgb(255, 0, 0); color: rgb(255, 0, 0);"
|
|
196
|
-
type="button"
|
|
197
|
-
/>
|
|
198
|
-
<svg
|
|
199
|
-
aria-hidden="true"
|
|
200
|
-
fill="#000"
|
|
201
|
-
focusable="false"
|
|
202
|
-
height="24"
|
|
203
|
-
viewBox="0 0 24 24"
|
|
204
|
-
width="24"
|
|
205
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
189
|
+
<div
|
|
190
|
+
class="components-circular-option-picker__option-wrapper"
|
|
206
191
|
>
|
|
207
|
-
<
|
|
208
|
-
|
|
192
|
+
<button
|
|
193
|
+
aria-label="Color: red"
|
|
194
|
+
aria-pressed="true"
|
|
195
|
+
class="components-button components-circular-option-picker__option is-pressed"
|
|
196
|
+
style="background-color: rgb(255, 0, 0); color: rgb(255, 0, 0);"
|
|
197
|
+
type="button"
|
|
209
198
|
/>
|
|
210
|
-
|
|
199
|
+
<svg
|
|
200
|
+
aria-hidden="true"
|
|
201
|
+
fill="#000"
|
|
202
|
+
focusable="false"
|
|
203
|
+
height="24"
|
|
204
|
+
viewBox="0 0 24 24"
|
|
205
|
+
width="24"
|
|
206
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
207
|
+
>
|
|
208
|
+
<path
|
|
209
|
+
d="M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z"
|
|
210
|
+
/>
|
|
211
|
+
</svg>
|
|
212
|
+
</div>
|
|
211
213
|
</div>
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
class="components-circular-option-picker__custom-clear-wrapper"
|
|
215
|
-
>
|
|
216
|
-
<button
|
|
217
|
-
class="components-button components-circular-option-picker__clear is-tertiary"
|
|
218
|
-
type="button"
|
|
214
|
+
<div
|
|
215
|
+
class="components-circular-option-picker__custom-clear-wrapper"
|
|
219
216
|
>
|
|
220
|
-
|
|
221
|
-
|
|
217
|
+
<button
|
|
218
|
+
class="components-button components-circular-option-picker__clear is-tertiary"
|
|
219
|
+
type="button"
|
|
220
|
+
>
|
|
221
|
+
Clear
|
|
222
|
+
</button>
|
|
223
|
+
</div>
|
|
222
224
|
</div>
|
|
223
225
|
</div>
|
|
224
226
|
</div>
|
|
225
227
|
</div>
|
|
226
|
-
</
|
|
227
|
-
</
|
|
228
|
+
</fieldset>
|
|
229
|
+
</div>
|
|
228
230
|
</div>
|
|
229
231
|
</div>
|
|
230
232
|
`;
|
|
@@ -36,7 +36,7 @@ function DuotoneControl( {
|
|
|
36
36
|
popoverProps={ {
|
|
37
37
|
className: 'block-editor-duotone-control__popover',
|
|
38
38
|
headerTitle: __( 'Duotone' ),
|
|
39
|
-
|
|
39
|
+
variant: 'toolbar',
|
|
40
40
|
} }
|
|
41
41
|
renderToggle={ ( { isOpen, onToggle } ) => {
|
|
42
42
|
const openOnArrowDown = ( event ) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { find, pickBy, reduce
|
|
4
|
+
import { find, pickBy, reduce } from 'lodash';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
@@ -152,8 +152,7 @@ export default ( ...fontSizeNames ) => {
|
|
|
152
152
|
};
|
|
153
153
|
|
|
154
154
|
if (
|
|
155
|
-
! some(
|
|
156
|
-
fontSizeAttributeNames,
|
|
155
|
+
! Object.values( fontSizeAttributeNames ).some(
|
|
157
156
|
didAttributesChange
|
|
158
157
|
)
|
|
159
158
|
) {
|
|
@@ -282,7 +282,7 @@ function Iframe(
|
|
|
282
282
|
|
|
283
283
|
head = (
|
|
284
284
|
<>
|
|
285
|
-
<style>{ 'body{margin:0}' }</style>
|
|
285
|
+
<style>{ 'html{height:auto!important;}body{margin:0}' }</style>
|
|
286
286
|
{ styles.map(
|
|
287
287
|
( { tagName, href, id, rel, media, textContent } ) => {
|
|
288
288
|
const TagName = tagName.toLowerCase();
|
|
@@ -150,7 +150,9 @@ const ForwardedInnerBlocks = forwardRef( ( props, ref ) => {
|
|
|
150
150
|
* @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md
|
|
151
151
|
*/
|
|
152
152
|
export function useInnerBlocksProps( props = {}, options = {} ) {
|
|
153
|
-
const {
|
|
153
|
+
const { __unstableDisableLayoutClassNames } = options;
|
|
154
|
+
const { clientId, __unstableLayoutClassNames: layoutClassNames = '' } =
|
|
155
|
+
useBlockEditContext();
|
|
154
156
|
const isSmallScreen = useViewportMatch( 'medium', '<' );
|
|
155
157
|
const { __experimentalCaptureToolbars, hasOverlay } = useSelect(
|
|
156
158
|
( select ) => {
|
|
@@ -200,12 +202,14 @@ export function useInnerBlocksProps( props = {}, options = {} ) {
|
|
|
200
202
|
innerBlocksProps.value && innerBlocksProps.onChange
|
|
201
203
|
? ControlledInnerBlocks
|
|
202
204
|
: UncontrolledInnerBlocks;
|
|
205
|
+
|
|
203
206
|
return {
|
|
204
207
|
...props,
|
|
205
208
|
ref,
|
|
206
209
|
className: classnames(
|
|
207
210
|
props.className,
|
|
208
211
|
'block-editor-block-list__layout',
|
|
212
|
+
__unstableDisableLayoutClassNames ? '' : layoutClassNames,
|
|
209
213
|
{
|
|
210
214
|
'has-overlay': hasOverlay,
|
|
211
215
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/* eslint-disable testing-library/render-result-naming-convention */
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* WordPress dependencies
|
|
3
5
|
*/
|
|
@@ -102,3 +104,5 @@ describe( 'InnerBlocks', () => {
|
|
|
102
104
|
expect( serialize( block ) ).toMatchSnapshot();
|
|
103
105
|
} );
|
|
104
106
|
} );
|
|
107
|
+
|
|
108
|
+
/* eslint-enable testing-library/render-result-naming-convention */
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { castArray } from 'lodash';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* WordPress dependencies
|
|
8
3
|
*/
|
|
@@ -118,14 +113,11 @@ function useInsertionPoint( {
|
|
|
118
113
|
meta
|
|
119
114
|
);
|
|
120
115
|
}
|
|
116
|
+
const blockLength = Array.isArray( blocks ) ? blocks.length : 1;
|
|
121
117
|
const message = sprintf(
|
|
122
118
|
// translators: %d: the name of the block that has been added
|
|
123
|
-
_n(
|
|
124
|
-
|
|
125
|
-
'%d blocks added.',
|
|
126
|
-
castArray( blocks ).length
|
|
127
|
-
),
|
|
128
|
-
castArray( blocks ).length
|
|
119
|
+
_n( '%d block added.', '%d blocks added.', blockLength ),
|
|
120
|
+
blockLength
|
|
129
121
|
);
|
|
130
122
|
speak( message );
|
|
131
123
|
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import removeAccents from 'remove-accents';
|
|
5
|
-
import { find
|
|
5
|
+
import { find } from 'lodash';
|
|
6
|
+
import { noCase } from 'change-case';
|
|
6
7
|
|
|
7
8
|
// Default search helpers.
|
|
8
9
|
const defaultGetName = ( item ) => item.name || '';
|
|
@@ -12,6 +13,25 @@ const defaultGetKeywords = ( item ) => item.keywords || [];
|
|
|
12
13
|
const defaultGetCategory = ( item ) => item.category;
|
|
13
14
|
const defaultGetCollection = () => null;
|
|
14
15
|
|
|
16
|
+
/**
|
|
17
|
+
* Extracts words from an input string.
|
|
18
|
+
*
|
|
19
|
+
* @param {string} input The input string.
|
|
20
|
+
*
|
|
21
|
+
* @return {Array} Words, extracted from the input string.
|
|
22
|
+
*/
|
|
23
|
+
function extractWords( input = '' ) {
|
|
24
|
+
return noCase( input, {
|
|
25
|
+
splitRegexp: [
|
|
26
|
+
/([\p{Ll}\p{Lo}\p{N}])([\p{Lu}\p{Lt}])/gu, // One lowercase or digit, followed by one uppercase.
|
|
27
|
+
/([\p{Lu}\p{Lt}])([\p{Lu}\p{Lt}][\p{Ll}\p{Lo}])/gu, // One uppercase followed by one uppercase and one lowercase.
|
|
28
|
+
],
|
|
29
|
+
stripRegexp: /(\p{C}|\p{P}|\p{S})+/giu, // Anything that's not a punctuation, symbol or control/format character.
|
|
30
|
+
} )
|
|
31
|
+
.split( ' ' )
|
|
32
|
+
.filter( Boolean );
|
|
33
|
+
}
|
|
34
|
+
|
|
15
35
|
/**
|
|
16
36
|
* Sanitizes the search input string.
|
|
17
37
|
*
|
|
@@ -43,7 +63,7 @@ function normalizeSearchInput( input = '' ) {
|
|
|
43
63
|
* @return {string[]} The normalized list of search terms.
|
|
44
64
|
*/
|
|
45
65
|
export const getNormalizedSearchTerms = ( input = '' ) => {
|
|
46
|
-
return
|
|
66
|
+
return extractWords( normalizeSearchInput( input ) );
|
|
47
67
|
};
|
|
48
68
|
|
|
49
69
|
const removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {
|
|
@@ -150,7 +170,7 @@ export function getItemSearchRank( item, searchTerm, config = {} ) {
|
|
|
150
170
|
category,
|
|
151
171
|
collection,
|
|
152
172
|
].join( ' ' );
|
|
153
|
-
const normalizedSearchTerms =
|
|
173
|
+
const normalizedSearchTerms = extractWords( normalizedSearchInput );
|
|
154
174
|
const unmatchedTerms = removeMatchingTerms(
|
|
155
175
|
normalizedSearchTerms,
|
|
156
176
|
terms
|
|
@@ -45,6 +45,12 @@ describe( 'getNormalizedSearchTerms', () => {
|
|
|
45
45
|
|
|
46
46
|
it( 'should support non-latin letters', () => {
|
|
47
47
|
expect( getNormalizedSearchTerms( 'მედია' ) ).toEqual( [ 'მედია' ] );
|
|
48
|
+
expect(
|
|
49
|
+
getNormalizedSearchTerms( '师父领进门,修行在个人。' )
|
|
50
|
+
).toEqual( [ '师父领进门', '修行在个人' ] );
|
|
51
|
+
expect(
|
|
52
|
+
getNormalizedSearchTerms( 'Бързата работа – срам за майстора.' )
|
|
53
|
+
).toEqual( [ 'бързата', 'работа', 'срам', 'за', 'майстора' ] );
|
|
48
54
|
} );
|
|
49
55
|
} );
|
|
50
56
|
|