@wordpress/block-library 7.1.1 → 7.2.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 +11 -0
- package/build/avatar/edit.js +205 -0
- package/build/avatar/edit.js.map +1 -0
- package/build/avatar/hooks.js +111 -0
- package/build/avatar/hooks.js.map +1 -0
- package/build/avatar/index.js +83 -0
- package/build/avatar/index.js.map +1 -0
- package/build/avatar/user-control.js +63 -0
- package/build/avatar/user-control.js.map +1 -0
- package/build/column/index.js +2 -1
- package/build/column/index.js.map +1 -1
- package/build/comment-author-avatar/index.js +1 -0
- package/build/comment-author-avatar/index.js.map +1 -1
- package/build/comment-date/edit.js +10 -25
- package/build/comment-date/edit.js.map +1 -1
- package/build/comment-template/edit.js +79 -52
- package/build/comment-template/edit.js.map +1 -1
- package/build/cover/edit.js +23 -33
- package/build/cover/edit.js.map +1 -1
- package/build/embed/variations.js +2 -2
- package/build/embed/variations.js.map +1 -1
- package/build/gallery/edit.js +18 -5
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +1 -1
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/gap-styles.js +29 -0
- package/build/gallery/gap-styles.js.map +1 -0
- package/build/gallery/index.js +17 -1
- package/build/gallery/index.js.map +1 -1
- package/build/group/index.js +3 -1
- package/build/group/index.js.map +1 -1
- package/build/group/variations.js +1 -2
- package/build/group/variations.js.map +1 -1
- package/build/image/image.js +3 -1
- package/build/image/image.js.map +1 -1
- package/build/index.js +8 -2
- package/build/index.js.map +1 -1
- package/build/list/index.js +5 -7
- package/build/list/index.js.map +1 -1
- package/build/list/v2/edit.js +85 -0
- package/build/list/v2/edit.js.map +1 -0
- package/build/list/v2/index.js +33 -0
- package/build/list/v2/index.js.map +1 -0
- package/build/list/v2/save.js +34 -0
- package/build/list/v2/save.js.map +1 -0
- package/build/list/v2/transforms.js +121 -0
- package/build/list/v2/transforms.js.map +1 -0
- package/build/list-item/edit.js +47 -0
- package/build/list-item/edit.js.map +1 -0
- package/build/list-item/index.js +67 -0
- package/build/list-item/index.js.map +1 -0
- package/build/list-item/save.js +23 -0
- package/build/list-item/save.js.map +1 -0
- package/build/media-text/edit.js +3 -1
- package/build/media-text/edit.js.map +1 -1
- package/build/navigation/use-navigation-entities.js +26 -54
- package/build/navigation/use-navigation-entities.js.map +1 -1
- package/build/navigation-link/edit.js +88 -34
- package/build/navigation-link/edit.js.map +1 -1
- package/build/post-date/edit.js +31 -37
- package/build/post-date/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +2 -1
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/pullquote/edit.js +5 -3
- package/build/pullquote/edit.js.map +1 -1
- package/build/query/variations.js +4 -4
- package/build/query/variations.js.map +1 -1
- package/build/query-no-results/edit.js +28 -0
- package/build/query-no-results/edit.js.map +1 -0
- package/build/query-no-results/index.js +54 -0
- package/build/query-no-results/index.js.map +1 -0
- package/build/query-no-results/save.js +18 -0
- package/build/query-no-results/save.js.map +1 -0
- package/build/search/edit.js +2 -3
- package/build/search/edit.js.map +1 -1
- package/build/separator/deprecated.js +83 -0
- package/build/separator/deprecated.js.map +1 -0
- package/build/separator/edit.js +31 -23
- package/build/separator/edit.js.map +1 -1
- package/build/separator/index.js +17 -7
- package/build/separator/index.js.map +1 -1
- package/build/separator/save.js +18 -13
- package/build/separator/save.js.map +1 -1
- package/build/separator/use-deprecated-opacity.js +39 -0
- package/build/separator/use-deprecated-opacity.js.map +1 -0
- package/build/social-links/edit.js +14 -3
- package/build/social-links/edit.js.map +1 -1
- package/build/social-links/index.js +1 -1
- package/build/spacer/controls.js +6 -16
- package/build/spacer/controls.js.map +1 -1
- package/build/spacer/controls.native.js +3 -1
- package/build/spacer/controls.native.js.map +1 -1
- package/build/spacer/edit.js +4 -5
- package/build/spacer/edit.js.map +1 -1
- package/build/table/deprecated.js +1 -1
- package/build/table/deprecated.js.map +1 -1
- package/build/tag-cloud/edit.js +58 -2
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/tag-cloud/index.js +8 -0
- package/build/tag-cloud/index.js.map +1 -1
- package/build-module/avatar/edit.js +190 -0
- package/build-module/avatar/edit.js.map +1 -0
- package/build-module/avatar/hooks.js +99 -0
- package/build-module/avatar/hooks.js.map +1 -0
- package/build-module/avatar/index.js +70 -0
- package/build-module/avatar/index.js.map +1 -0
- package/build-module/avatar/user-control.js +52 -0
- package/build-module/avatar/user-control.js.map +1 -0
- package/build-module/column/index.js +2 -1
- package/build-module/column/index.js.map +1 -1
- package/build-module/comment-author-avatar/index.js +1 -0
- package/build-module/comment-author-avatar/index.js.map +1 -1
- package/build-module/comment-date/edit.js +13 -30
- package/build-module/comment-date/edit.js.map +1 -1
- package/build-module/comment-template/edit.js +79 -52
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/cover/edit.js +23 -34
- package/build-module/cover/edit.js.map +1 -1
- package/build-module/embed/variations.js +2 -2
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/gallery/edit.js +17 -5
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +1 -1
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/gap-styles.js +22 -0
- package/build-module/gallery/gap-styles.js.map +1 -0
- package/build-module/gallery/index.js +17 -1
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/group/index.js +3 -1
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/variations.js +1 -2
- package/build-module/group/variations.js.map +1 -1
- package/build-module/image/image.js +3 -1
- package/build-module/image/image.js.map +1 -1
- package/build-module/index.js +5 -2
- package/build-module/index.js.map +1 -1
- package/build-module/list/index.js +5 -1
- package/build-module/list/index.js.map +1 -1
- package/build-module/list/v2/edit.js +69 -0
- package/build-module/list/v2/edit.js.map +1 -0
- package/build-module/list/v2/index.js +19 -0
- package/build-module/list/v2/index.js.map +1 -0
- package/build-module/list/v2/save.js +23 -0
- package/build-module/list/v2/save.js.map +1 -0
- package/build-module/list/v2/transforms.js +111 -0
- package/build-module/list/v2/transforms.js.map +1 -0
- package/build-module/list-item/edit.js +37 -0
- package/build-module/list-item/edit.js.map +1 -0
- package/build-module/list-item/index.js +53 -0
- package/build-module/list-item/index.js.map +1 -0
- package/build-module/list-item/save.js +15 -0
- package/build-module/list-item/save.js.map +1 -0
- package/build-module/media-text/edit.js +3 -1
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/navigation/use-navigation-entities.js +27 -54
- package/build-module/navigation/use-navigation-entities.js.map +1 -1
- package/build-module/navigation-link/edit.js +88 -33
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/post-date/edit.js +32 -43
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +2 -1
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/pullquote/edit.js +6 -3
- package/build-module/pullquote/edit.js.map +1 -1
- package/build-module/query/variations.js +4 -4
- package/build-module/query/variations.js.map +1 -1
- package/build-module/query-no-results/edit.js +18 -0
- package/build-module/query-no-results/edit.js.map +1 -0
- package/build-module/query-no-results/index.js +40 -0
- package/build-module/query-no-results/index.js.map +1 -0
- package/build-module/query-no-results/save.js +10 -0
- package/build-module/query-no-results/save.js.map +1 -0
- package/build-module/search/edit.js +2 -3
- package/build-module/search/edit.js.map +1 -1
- package/build-module/separator/deprecated.js +70 -0
- package/build-module/separator/deprecated.js.map +1 -0
- package/build-module/separator/edit.js +31 -22
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/separator/index.js +16 -7
- package/build-module/separator/index.js.map +1 -1
- package/build-module/separator/save.js +19 -14
- package/build-module/separator/save.js.map +1 -1
- package/build-module/separator/use-deprecated-opacity.js +30 -0
- package/build-module/separator/use-deprecated-opacity.js.map +1 -0
- package/build-module/social-links/edit.js +15 -4
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/social-links/index.js +1 -1
- package/build-module/spacer/controls.js +8 -19
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/spacer/controls.native.js +2 -1
- package/build-module/spacer/controls.native.js.map +1 -1
- package/build-module/spacer/edit.js +3 -3
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/table/deprecated.js +1 -1
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/tag-cloud/edit.js +60 -4
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/tag-cloud/index.js +8 -0
- package/build-module/tag-cloud/index.js.map +1 -1
- package/build-style/avatar/editor-rtl.css +79 -0
- package/build-style/avatar/editor.css +79 -0
- package/build-style/editor-rtl.css +23 -2
- package/build-style/editor.css +23 -2
- package/build-style/gallery/editor-rtl.css +0 -1
- package/build-style/gallery/editor.css +0 -1
- package/build-style/gallery/style-rtl.css +102 -169
- package/build-style/gallery/style.css +102 -169
- package/build-style/image/style-rtl.css +2 -0
- package/build-style/image/style.css +2 -0
- package/build-style/navigation-link/editor-rtl.css +13 -0
- package/build-style/navigation-link/editor.css +13 -0
- package/build-style/pullquote/style-rtl.css +0 -4
- package/build-style/pullquote/style.css +0 -4
- package/build-style/separator/editor-rtl.css +3 -0
- package/build-style/separator/editor.css +3 -0
- package/build-style/separator/theme-rtl.css +7 -1
- package/build-style/separator/theme.css +7 -1
- package/build-style/site-logo/editor-rtl.css +3 -1
- package/build-style/site-logo/editor.css +3 -1
- package/build-style/style-rtl.css +104 -173
- package/build-style/style.css +104 -173
- package/build-style/theme-rtl.css +7 -1
- package/build-style/theme.css +7 -1
- package/package.json +28 -28
- package/src/avatar/block.json +53 -0
- package/src/avatar/edit.js +222 -0
- package/src/avatar/editor.scss +3 -0
- package/src/avatar/hooks.js +96 -0
- package/src/avatar/index.js +18 -0
- package/src/avatar/index.php +146 -0
- package/src/avatar/user-control.js +56 -0
- package/src/column/block.json +2 -1
- package/src/comment-author-avatar/block.json +1 -0
- package/src/comment-date/edit.js +20 -30
- package/src/comment-template/edit.js +65 -44
- package/src/cover/edit.js +26 -31
- package/src/editor.scss +1 -0
- package/src/embed/variations.js +2 -2
- package/src/gallery/block.json +17 -1
- package/src/gallery/deprecated.scss +2 -2
- package/src/gallery/edit.js +15 -8
- package/src/gallery/editor.scss +0 -1
- package/src/gallery/gallery.js +8 -7
- package/src/gallery/gap-styles.js +21 -0
- package/src/gallery/index.php +42 -1
- package/src/gallery/style.scss +11 -44
- package/src/group/block.json +3 -1
- package/src/group/variations.js +1 -1
- package/src/image/image.js +4 -1
- package/src/image/style.scss +3 -0
- package/src/index.js +6 -1
- package/src/list/index.js +6 -1
- package/src/list/v2/edit.js +77 -0
- package/src/list/v2/index.js +20 -0
- package/src/list/v2/save.js +18 -0
- package/src/list/v2/transforms.js +116 -0
- package/src/list-item/block.json +26 -0
- package/src/list-item/edit.js +47 -0
- package/src/list-item/index.js +27 -0
- package/src/list-item/save.js +13 -0
- package/src/media-text/edit.js +1 -1
- package/src/navigation/index.php +22 -2
- package/src/navigation/use-navigation-entities.js +37 -73
- package/src/navigation-link/edit.js +145 -61
- package/src/navigation-link/editor.scss +11 -0
- package/src/post-date/edit.js +63 -52
- package/src/post-date/index.php +1 -1
- package/src/post-date/test/edit.js +17 -0
- package/src/post-featured-image/edit.js +9 -1
- package/src/post-featured-image/index.php +2 -1
- package/src/pullquote/edit.js +4 -3
- package/src/pullquote/style.scss +0 -5
- package/src/query/variations.js +4 -0
- package/src/query-no-results/block.json +20 -0
- package/src/query-no-results/edit.js +28 -0
- package/src/query-no-results/index.js +20 -0
- package/src/query-no-results/index.php +59 -0
- package/src/query-no-results/save.js +8 -0
- package/src/search/edit.js +1 -2
- package/src/separator/block.json +13 -6
- package/src/separator/deprecated.js +57 -0
- package/src/separator/deprecated.scss +6 -0
- package/src/separator/edit.js +36 -14
- package/src/separator/editor.scss +6 -0
- package/src/separator/index.js +2 -0
- package/src/separator/save.js +22 -14
- package/src/separator/test/edit.js +113 -0
- package/src/separator/theme.scss +7 -1
- package/src/separator/use-deprecated-opacity.js +41 -0
- package/src/site-logo/editor.scss +3 -1
- package/src/social-links/block.json +1 -1
- package/src/social-links/edit.js +15 -5
- package/src/spacer/controls.js +12 -18
- package/src/spacer/controls.native.js +2 -1
- package/src/spacer/edit.js +3 -6
- package/src/table/deprecated.js +5 -1
- package/src/tag-cloud/block.json +8 -0
- package/src/tag-cloud/edit.js +82 -2
- package/src/tag-cloud/index.php +6 -0
- package/build/separator/separator-settings.js +0 -36
- package/build/separator/separator-settings.js.map +0 -1
- package/build-module/separator/separator-settings.js +0 -27
- package/build-module/separator/separator-settings.js.map +0 -1
- package/src/separator/separator-settings.js +0 -24
package/src/social-links/edit.js
CHANGED
|
@@ -7,7 +7,7 @@ import classNames from 'classnames';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { getBlockSupport } from '@wordpress/blocks';
|
|
10
|
-
import { Fragment, useEffect } from '@wordpress/element';
|
|
10
|
+
import { Fragment, useEffect, useRef } from '@wordpress/element';
|
|
11
11
|
import {
|
|
12
12
|
BlockControls,
|
|
13
13
|
useInnerBlocksProps,
|
|
@@ -58,6 +58,7 @@ export function SocialLinksEdit( props ) {
|
|
|
58
58
|
|
|
59
59
|
const {
|
|
60
60
|
iconBackgroundColorValue,
|
|
61
|
+
customIconBackgroundColor,
|
|
61
62
|
iconColorValue,
|
|
62
63
|
openInNewTab,
|
|
63
64
|
showLabels,
|
|
@@ -66,18 +67,27 @@ export function SocialLinksEdit( props ) {
|
|
|
66
67
|
} = attributes;
|
|
67
68
|
const usedLayout = layout || getDefaultBlockLayout( name );
|
|
68
69
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
const logosOnly = attributes.className?.includes( 'is-style-logos-only' );
|
|
71
|
+
|
|
72
|
+
// Remove icon background color when logos only style is selected or
|
|
73
|
+
// restore it when any other style is selected.
|
|
74
|
+
const backgroundBackup = useRef( {} );
|
|
72
75
|
useEffect( () => {
|
|
73
76
|
if ( logosOnly ) {
|
|
77
|
+
backgroundBackup.current = {
|
|
78
|
+
iconBackgroundColor,
|
|
79
|
+
iconBackgroundColorValue,
|
|
80
|
+
customIconBackgroundColor,
|
|
81
|
+
};
|
|
74
82
|
setAttributes( {
|
|
75
83
|
iconBackgroundColor: undefined,
|
|
76
84
|
customIconBackgroundColor: undefined,
|
|
77
85
|
iconBackgroundColorValue: undefined,
|
|
78
86
|
} );
|
|
87
|
+
} else {
|
|
88
|
+
setAttributes( { ...backgroundBackup.current } );
|
|
79
89
|
}
|
|
80
|
-
}, [ logosOnly
|
|
90
|
+
}, [ logosOnly ] );
|
|
81
91
|
|
|
82
92
|
const SocialPlaceholder = (
|
|
83
93
|
<li className="wp-block-social-links__social-placeholder">
|
package/src/spacer/controls.js
CHANGED
|
@@ -8,18 +8,16 @@ import {
|
|
|
8
8
|
PanelBody,
|
|
9
9
|
__experimentalUseCustomUnits as useCustomUnits,
|
|
10
10
|
__experimentalUnitControl as UnitControl,
|
|
11
|
+
__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,
|
|
11
12
|
} from '@wordpress/components';
|
|
12
13
|
import { useInstanceId } from '@wordpress/compose';
|
|
13
|
-
import { useState } from '@wordpress/element';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Internal dependencies
|
|
17
17
|
*/
|
|
18
|
-
import {
|
|
18
|
+
import { MIN_SPACER_SIZE } from './edit';
|
|
19
19
|
|
|
20
20
|
function DimensionInput( { label, onChange, isResizing, value = '' } ) {
|
|
21
|
-
const [ temporaryInput, setTemporaryInput ] = useState( null );
|
|
22
|
-
|
|
23
21
|
const inputId = useInstanceId( UnitControl, 'block-spacer-height-input' );
|
|
24
22
|
|
|
25
23
|
// In most contexts the spacer size cannot meaningfully be set to a
|
|
@@ -41,32 +39,28 @@ function DimensionInput( { label, onChange, isResizing, value = '' } ) {
|
|
|
41
39
|
} );
|
|
42
40
|
|
|
43
41
|
const handleOnChange = ( unprocessedValue ) => {
|
|
44
|
-
setTemporaryInput( null );
|
|
45
42
|
onChange( unprocessedValue );
|
|
46
43
|
};
|
|
47
44
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
45
|
+
// Force the unit to update to `px` when the Spacer is being resized.
|
|
46
|
+
const [ parsedQuantity, parsedUnit ] = parseQuantityAndUnitFromRawValue(
|
|
47
|
+
value
|
|
48
|
+
);
|
|
49
|
+
const computedValue = [
|
|
50
|
+
parsedQuantity,
|
|
51
|
+
isResizing ? 'px' : parsedUnit,
|
|
52
|
+
].join( '' );
|
|
55
53
|
|
|
56
54
|
return (
|
|
57
55
|
<BaseControl label={ label } id={ inputId }>
|
|
58
56
|
<UnitControl
|
|
59
57
|
id={ inputId }
|
|
60
58
|
isResetValueOnUnitChange
|
|
61
|
-
min={
|
|
62
|
-
max={ MAX_SPACER_SIZE }
|
|
63
|
-
onBlur={ handleOnBlur }
|
|
59
|
+
min={ MIN_SPACER_SIZE }
|
|
64
60
|
onChange={ handleOnChange }
|
|
65
61
|
style={ { maxWidth: 80 } }
|
|
66
|
-
value={
|
|
62
|
+
value={ computedValue }
|
|
67
63
|
units={ units }
|
|
68
|
-
// Force the unit to update to `px` when the Spacer is being resized.
|
|
69
|
-
unit={ isResizing ? 'px' : undefined }
|
|
70
64
|
/>
|
|
71
65
|
</BaseControl>
|
|
72
66
|
);
|
|
@@ -14,6 +14,7 @@ import { __ } from '@wordpress/i18n';
|
|
|
14
14
|
/**
|
|
15
15
|
* Internal dependencies
|
|
16
16
|
*/
|
|
17
|
+
import { MIN_SPACER_SIZE } from './edit';
|
|
17
18
|
import styles from './style.scss';
|
|
18
19
|
|
|
19
20
|
const DEFAULT_VALUES = { px: 100, em: 10, rem: 10, vw: 10, vh: 25 };
|
|
@@ -66,7 +67,7 @@ function Controls( { attributes, context, setAttributes } ) {
|
|
|
66
67
|
<PanelBody title={ __( 'Dimensions' ) }>
|
|
67
68
|
<UnitControl
|
|
68
69
|
label={ label }
|
|
69
|
-
min={
|
|
70
|
+
min={ MIN_SPACER_SIZE }
|
|
70
71
|
value={ value }
|
|
71
72
|
onChange={ handleChange }
|
|
72
73
|
onUnitChange={ handleUnitChange }
|
package/src/spacer/edit.js
CHANGED
|
@@ -16,8 +16,7 @@ import { View } from '@wordpress/primitives';
|
|
|
16
16
|
*/
|
|
17
17
|
import SpacerControls from './controls';
|
|
18
18
|
|
|
19
|
-
export const MIN_SPACER_SIZE =
|
|
20
|
-
export const MAX_SPACER_SIZE = 500;
|
|
19
|
+
export const MIN_SPACER_SIZE = 0;
|
|
21
20
|
|
|
22
21
|
const ResizableSpacer = ( {
|
|
23
22
|
orientation,
|
|
@@ -58,10 +57,7 @@ const ResizableSpacer = ( {
|
|
|
58
57
|
}
|
|
59
58
|
} }
|
|
60
59
|
onResizeStop={ ( _event, _direction, elt ) => {
|
|
61
|
-
const nextVal =
|
|
62
|
-
MAX_SPACER_SIZE,
|
|
63
|
-
getCurrentSize( elt )
|
|
64
|
-
);
|
|
60
|
+
const nextVal = getCurrentSize( elt );
|
|
65
61
|
onResizeStop( `${ nextVal }px` );
|
|
66
62
|
setIsResizing( false );
|
|
67
63
|
} }
|
|
@@ -147,6 +143,7 @@ const SpacerEdit = ( {
|
|
|
147
143
|
return (
|
|
148
144
|
<>
|
|
149
145
|
<ResizableSpacer
|
|
146
|
+
minHeight={ MIN_SPACER_SIZE }
|
|
150
147
|
enable={ {
|
|
151
148
|
top: false,
|
|
152
149
|
right: false,
|
package/src/table/deprecated.js
CHANGED
|
@@ -244,7 +244,11 @@ const deprecated = [
|
|
|
244
244
|
);
|
|
245
245
|
},
|
|
246
246
|
isEligible: ( attributes ) => {
|
|
247
|
-
return
|
|
247
|
+
return (
|
|
248
|
+
attributes.backgroundColor &&
|
|
249
|
+
attributes.backgroundColor in oldColors &&
|
|
250
|
+
! attributes.style
|
|
251
|
+
);
|
|
248
252
|
},
|
|
249
253
|
|
|
250
254
|
// This version is the first to introduce the style attribute to the
|
package/src/tag-cloud/block.json
CHANGED
package/src/tag-cloud/edit.js
CHANGED
|
@@ -7,14 +7,23 @@ import { map, filter } from 'lodash';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import {
|
|
10
|
+
Flex,
|
|
11
|
+
FlexItem,
|
|
10
12
|
PanelBody,
|
|
11
13
|
ToggleControl,
|
|
12
14
|
SelectControl,
|
|
13
15
|
RangeControl,
|
|
16
|
+
__experimentalUnitControl as UnitControl,
|
|
17
|
+
__experimentalUseCustomUnits as useCustomUnits,
|
|
18
|
+
__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,
|
|
14
19
|
} from '@wordpress/components';
|
|
15
20
|
import { withSelect } from '@wordpress/data';
|
|
16
21
|
import { __ } from '@wordpress/i18n';
|
|
17
|
-
import {
|
|
22
|
+
import {
|
|
23
|
+
InspectorControls,
|
|
24
|
+
useBlockProps,
|
|
25
|
+
useSetting,
|
|
26
|
+
} from '@wordpress/block-editor';
|
|
18
27
|
import ServerSideRender from '@wordpress/server-side-render';
|
|
19
28
|
import { store as coreStore } from '@wordpress/core-data';
|
|
20
29
|
|
|
@@ -32,8 +41,26 @@ const MIN_TAGS = 1;
|
|
|
32
41
|
*/
|
|
33
42
|
const MAX_TAGS = 100;
|
|
34
43
|
|
|
44
|
+
const MIN_FONT_SIZE = 0.1;
|
|
45
|
+
const MAX_FONT_SIZE = 100;
|
|
46
|
+
|
|
35
47
|
function TagCloudEdit( { attributes, setAttributes, taxonomies } ) {
|
|
36
|
-
const {
|
|
48
|
+
const {
|
|
49
|
+
taxonomy,
|
|
50
|
+
showTagCounts,
|
|
51
|
+
numberOfTags,
|
|
52
|
+
smallestFontSize,
|
|
53
|
+
largestFontSize,
|
|
54
|
+
} = attributes;
|
|
55
|
+
|
|
56
|
+
const units = useCustomUnits( {
|
|
57
|
+
availableUnits: useSetting( 'spacing.units' ) || [
|
|
58
|
+
'%',
|
|
59
|
+
'px',
|
|
60
|
+
'em',
|
|
61
|
+
'rem',
|
|
62
|
+
],
|
|
63
|
+
} );
|
|
37
64
|
|
|
38
65
|
const getTaxonomyOptions = () => {
|
|
39
66
|
const selectOption = {
|
|
@@ -54,6 +81,33 @@ function TagCloudEdit( { attributes, setAttributes, taxonomies } ) {
|
|
|
54
81
|
return [ selectOption, ...taxonomyOptions ];
|
|
55
82
|
};
|
|
56
83
|
|
|
84
|
+
const onFontSizeChange = ( fontSizeLabel, newValue ) => {
|
|
85
|
+
// eslint-disable-next-line @wordpress/no-unused-vars-before-return
|
|
86
|
+
const [ quantity, newUnit ] = parseQuantityAndUnitFromRawValue(
|
|
87
|
+
newValue
|
|
88
|
+
);
|
|
89
|
+
if ( ! Number.isFinite( quantity ) ) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const updateObj = { [ fontSizeLabel ]: newValue };
|
|
93
|
+
// We need to keep in sync the `unit` changes to both `smallestFontSize`
|
|
94
|
+
// and `largestFontSize` attributes.
|
|
95
|
+
Object.entries( {
|
|
96
|
+
smallestFontSize,
|
|
97
|
+
largestFontSize,
|
|
98
|
+
} ).forEach( ( [ attribute, currentValue ] ) => {
|
|
99
|
+
const [
|
|
100
|
+
currentQuantity,
|
|
101
|
+
currentUnit,
|
|
102
|
+
] = parseQuantityAndUnitFromRawValue( currentValue );
|
|
103
|
+
// Only add an update if the other font size attribute has a different unit.
|
|
104
|
+
if ( attribute !== fontSizeLabel && currentUnit !== newUnit ) {
|
|
105
|
+
updateObj[ attribute ] = `${ currentQuantity }${ newUnit }`;
|
|
106
|
+
}
|
|
107
|
+
} );
|
|
108
|
+
setAttributes( updateObj );
|
|
109
|
+
};
|
|
110
|
+
|
|
57
111
|
const inspectorControls = (
|
|
58
112
|
<InspectorControls>
|
|
59
113
|
<PanelBody title={ __( 'Tag Cloud settings' ) }>
|
|
@@ -82,6 +136,32 @@ function TagCloudEdit( { attributes, setAttributes, taxonomies } ) {
|
|
|
82
136
|
max={ MAX_TAGS }
|
|
83
137
|
required
|
|
84
138
|
/>
|
|
139
|
+
<Flex>
|
|
140
|
+
<FlexItem isBlock>
|
|
141
|
+
<UnitControl
|
|
142
|
+
label={ __( 'Smallest size' ) }
|
|
143
|
+
value={ smallestFontSize }
|
|
144
|
+
onChange={ ( value ) => {
|
|
145
|
+
onFontSizeChange( 'smallestFontSize', value );
|
|
146
|
+
} }
|
|
147
|
+
units={ units }
|
|
148
|
+
min={ MIN_FONT_SIZE }
|
|
149
|
+
max={ MAX_FONT_SIZE }
|
|
150
|
+
/>
|
|
151
|
+
</FlexItem>
|
|
152
|
+
<FlexItem isBlock>
|
|
153
|
+
<UnitControl
|
|
154
|
+
label={ __( 'Largest size' ) }
|
|
155
|
+
value={ largestFontSize }
|
|
156
|
+
onChange={ ( value ) => {
|
|
157
|
+
onFontSizeChange( 'largestFontSize', value );
|
|
158
|
+
} }
|
|
159
|
+
units={ units }
|
|
160
|
+
min={ MIN_FONT_SIZE }
|
|
161
|
+
max={ MAX_FONT_SIZE }
|
|
162
|
+
/>
|
|
163
|
+
</FlexItem>
|
|
164
|
+
</Flex>
|
|
85
165
|
</PanelBody>
|
|
86
166
|
</InspectorControls>
|
|
87
167
|
);
|
package/src/tag-cloud/index.php
CHANGED
|
@@ -13,11 +13,17 @@
|
|
|
13
13
|
* @return string Returns the tag cloud for selected taxonomy.
|
|
14
14
|
*/
|
|
15
15
|
function render_block_core_tag_cloud( $attributes ) {
|
|
16
|
+
$smallest_font_size = $attributes['smallestFontSize'];
|
|
17
|
+
$unit = ( preg_match( '/^[0-9.]+(?P<unit>[a-z%]+)$/i', $smallest_font_size, $m ) ? $m['unit'] : 'pt' );
|
|
18
|
+
|
|
16
19
|
$args = array(
|
|
17
20
|
'echo' => false,
|
|
21
|
+
'unit' => $unit,
|
|
18
22
|
'taxonomy' => $attributes['taxonomy'],
|
|
19
23
|
'show_count' => $attributes['showTagCounts'],
|
|
20
24
|
'number' => $attributes['numberOfTags'],
|
|
25
|
+
'smallest' => floatVal( $attributes['smallestFontSize'] ),
|
|
26
|
+
'largest' => floatVal( $attributes['largestFontSize'] ),
|
|
21
27
|
);
|
|
22
28
|
$tag_cloud = wp_tag_cloud( $args );
|
|
23
29
|
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _element = require("@wordpress/element");
|
|
9
|
-
|
|
10
|
-
var _i18n = require("@wordpress/i18n");
|
|
11
|
-
|
|
12
|
-
var _blockEditor = require("@wordpress/block-editor");
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* WordPress dependencies
|
|
16
|
-
*/
|
|
17
|
-
const SeparatorSettings = _ref => {
|
|
18
|
-
let {
|
|
19
|
-
color,
|
|
20
|
-
setColor
|
|
21
|
-
} = _ref;
|
|
22
|
-
return (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_blockEditor.PanelColorSettings, {
|
|
23
|
-
__experimentalHasMultipleOrigins: true,
|
|
24
|
-
__experimentalIsRenderedInSidebar: true,
|
|
25
|
-
title: (0, _i18n.__)('Color'),
|
|
26
|
-
colorSettings: [{
|
|
27
|
-
value: color.color,
|
|
28
|
-
onChange: setColor,
|
|
29
|
-
label: (0, _i18n.__)('Color')
|
|
30
|
-
}]
|
|
31
|
-
}));
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
var _default = SeparatorSettings;
|
|
35
|
-
exports.default = _default;
|
|
36
|
-
//# sourceMappingURL=separator-settings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/separator/separator-settings.js"],"names":["SeparatorSettings","color","setColor","value","onChange","label"],"mappings":";;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,MAAMA,iBAAiB,GAAG;AAAA,MAAE;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAF;AAAA,SACzB,4BAAC,8BAAD,QACC,4BAAC,+BAAD;AACC,IAAA,gCAAgC,MADjC;AAEC,IAAA,iCAAiC,MAFlC;AAGC,IAAA,KAAK,EAAG,cAAI,OAAJ,CAHT;AAIC,IAAA,aAAa,EAAG,CACf;AACCC,MAAAA,KAAK,EAAEF,KAAK,CAACA,KADd;AAECG,MAAAA,QAAQ,EAAEF,QAFX;AAGCG,MAAAA,KAAK,EAAE,cAAI,OAAJ;AAHR,KADe;AAJjB,IADD,CADyB;AAAA,CAA1B;;eAiBeL,iB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, PanelColorSettings } from '@wordpress/block-editor';\n\nconst SeparatorSettings = ( { color, setColor } ) => (\n\t<InspectorControls>\n\t\t<PanelColorSettings\n\t\t\t__experimentalHasMultipleOrigins\n\t\t\t__experimentalIsRenderedInSidebar\n\t\t\ttitle={ __( 'Color' ) }\n\t\t\tcolorSettings={ [\n\t\t\t\t{\n\t\t\t\t\tvalue: color.color,\n\t\t\t\t\tonChange: setColor,\n\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t},\n\t\t\t] }\n\t\t></PanelColorSettings>\n\t</InspectorControls>\n);\n\nexport default SeparatorSettings;\n"]}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { createElement } from "@wordpress/element";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* WordPress dependencies
|
|
5
|
-
*/
|
|
6
|
-
import { __ } from '@wordpress/i18n';
|
|
7
|
-
import { InspectorControls, PanelColorSettings } from '@wordpress/block-editor';
|
|
8
|
-
|
|
9
|
-
const SeparatorSettings = _ref => {
|
|
10
|
-
let {
|
|
11
|
-
color,
|
|
12
|
-
setColor
|
|
13
|
-
} = _ref;
|
|
14
|
-
return createElement(InspectorControls, null, createElement(PanelColorSettings, {
|
|
15
|
-
__experimentalHasMultipleOrigins: true,
|
|
16
|
-
__experimentalIsRenderedInSidebar: true,
|
|
17
|
-
title: __('Color'),
|
|
18
|
-
colorSettings: [{
|
|
19
|
-
value: color.color,
|
|
20
|
-
onChange: setColor,
|
|
21
|
-
label: __('Color')
|
|
22
|
-
}]
|
|
23
|
-
}));
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
export default SeparatorSettings;
|
|
27
|
-
//# sourceMappingURL=separator-settings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/separator/separator-settings.js"],"names":["__","InspectorControls","PanelColorSettings","SeparatorSettings","color","setColor","value","onChange","label"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,iBAAT,EAA4BC,kBAA5B,QAAsD,yBAAtD;;AAEA,MAAMC,iBAAiB,GAAG;AAAA,MAAE;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAF;AAAA,SACzB,cAAC,iBAAD,QACC,cAAC,kBAAD;AACC,IAAA,gCAAgC,MADjC;AAEC,IAAA,iCAAiC,MAFlC;AAGC,IAAA,KAAK,EAAGL,EAAE,CAAE,OAAF,CAHX;AAIC,IAAA,aAAa,EAAG,CACf;AACCM,MAAAA,KAAK,EAAEF,KAAK,CAACA,KADd;AAECG,MAAAA,QAAQ,EAAEF,QAFX;AAGCG,MAAAA,KAAK,EAAER,EAAE,CAAE,OAAF;AAHV,KADe;AAJjB,IADD,CADyB;AAAA,CAA1B;;AAiBA,eAAeG,iBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, PanelColorSettings } from '@wordpress/block-editor';\n\nconst SeparatorSettings = ( { color, setColor } ) => (\n\t<InspectorControls>\n\t\t<PanelColorSettings\n\t\t\t__experimentalHasMultipleOrigins\n\t\t\t__experimentalIsRenderedInSidebar\n\t\t\ttitle={ __( 'Color' ) }\n\t\t\tcolorSettings={ [\n\t\t\t\t{\n\t\t\t\t\tvalue: color.color,\n\t\t\t\t\tonChange: setColor,\n\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t},\n\t\t\t] }\n\t\t></PanelColorSettings>\n\t</InspectorControls>\n);\n\nexport default SeparatorSettings;\n"]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { __ } from '@wordpress/i18n';
|
|
5
|
-
import { InspectorControls, PanelColorSettings } from '@wordpress/block-editor';
|
|
6
|
-
|
|
7
|
-
const SeparatorSettings = ( { color, setColor } ) => (
|
|
8
|
-
<InspectorControls>
|
|
9
|
-
<PanelColorSettings
|
|
10
|
-
__experimentalHasMultipleOrigins
|
|
11
|
-
__experimentalIsRenderedInSidebar
|
|
12
|
-
title={ __( 'Color' ) }
|
|
13
|
-
colorSettings={ [
|
|
14
|
-
{
|
|
15
|
-
value: color.color,
|
|
16
|
-
onChange: setColor,
|
|
17
|
-
label: __( 'Color' ),
|
|
18
|
-
},
|
|
19
|
-
] }
|
|
20
|
-
></PanelColorSettings>
|
|
21
|
-
</InspectorControls>
|
|
22
|
-
);
|
|
23
|
-
|
|
24
|
-
export default SeparatorSettings;
|