@wordpress/block-library 8.28.3 → 8.28.5
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/build/block/deprecated.js +71 -11
- package/build/block/deprecated.js.map +1 -1
- package/build/block/edit.js +49 -24
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.js +1 -1
- package/build/button/edit.js.map +1 -1
- package/build/buttons/transforms.js +16 -2
- package/build/buttons/transforms.js.map +1 -1
- package/build/code/transforms.js +17 -6
- package/build/code/transforms.js.map +1 -1
- package/build/cover/edit/block-controls.js +14 -3
- package/build/cover/edit/block-controls.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/heading/transforms.js +17 -4
- package/build/heading/transforms.js.map +1 -1
- package/build/image/edit.js +8 -4
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +22 -8
- package/build/image/image.js.map +1 -1
- package/build/list-item/edit.js +1 -3
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/hooks/index.js +0 -7
- package/build/list-item/hooks/index.js.map +1 -1
- package/build/list-item/index.js +4 -1
- package/build/list-item/index.js.map +1 -1
- package/build/post-featured-image/edit.js +8 -11
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-title/edit.js +2 -2
- package/build/post-title/edit.js.map +1 -1
- package/build/site-logo/edit.js +7 -2
- package/build/site-logo/edit.js.map +1 -1
- package/build/utils/caption.js +15 -5
- package/build/utils/caption.js.map +1 -1
- package/build/utils/get-transformed-metadata.js +57 -0
- package/build/utils/get-transformed-metadata.js.map +1 -0
- package/build-module/block/deprecated.js +71 -11
- package/build-module/block/deprecated.js.map +1 -1
- package/build-module/block/edit.js +49 -24
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.js +2 -2
- package/build-module/button/edit.js.map +1 -1
- package/build-module/buttons/transforms.js +16 -2
- package/build-module/buttons/transforms.js.map +1 -1
- package/build-module/code/transforms.js +17 -6
- package/build-module/code/transforms.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +15 -4
- package/build-module/cover/edit/block-controls.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/heading/transforms.js +17 -4
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/image/edit.js +9 -5
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +23 -9
- package/build-module/image/image.js.map +1 -1
- package/build-module/list-item/edit.js +2 -4
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/hooks/index.js +0 -1
- package/build-module/list-item/hooks/index.js.map +1 -1
- package/build-module/list-item/index.js +4 -1
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/post-featured-image/edit.js +9 -12
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-title/edit.js +2 -2
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/site-logo/edit.js +7 -2
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/utils/caption.js +13 -3
- package/build-module/utils/caption.js.map +1 -1
- package/build-module/utils/get-transformed-metadata.js +51 -0
- package/build-module/utils/get-transformed-metadata.js.map +1 -0
- package/build-style/common-rtl.css +1 -0
- package/build-style/common.css +1 -0
- package/build-style/cover/style-rtl.css +2 -1
- package/build-style/cover/style.css +2 -1
- package/build-style/search/style-rtl.css +2 -0
- package/build-style/search/style.css +2 -0
- package/build-style/style-rtl.css +4 -1
- package/build-style/style.css +4 -1
- package/package.json +13 -13
- package/src/block/deprecated.js +76 -11
- package/src/block/edit.js +64 -19
- package/src/block/index.php +21 -12
- package/src/button/edit.js +2 -1
- package/src/buttons/transforms.js +14 -4
- package/src/code/transforms.js +20 -5
- package/src/cover/edit/block-controls.js +16 -2
- package/src/cover/edit/inspector-controls.js +5 -1
- package/src/cover/style.scss +3 -2
- package/src/footnotes/index.php +1 -1
- package/src/heading/transforms.js +27 -8
- package/src/image/edit.js +12 -4
- package/src/image/image.js +32 -20
- package/src/list-item/edit.js +1 -2
- package/src/list-item/hooks/index.js +0 -1
- package/src/list-item/index.js +3 -0
- package/src/navigation/index.php +8 -4
- package/src/post-featured-image/edit.js +9 -11
- package/src/post-title/edit.js +49 -43
- package/src/search/index.php +1 -1
- package/src/search/style.scss +2 -0
- package/src/site-logo/edit.js +10 -5
- package/src/utils/caption.js +10 -1
- package/src/utils/get-transformed-metadata.js +65 -0
- package/build/list-item/hooks/use-copy.js +0 -39
- package/build/list-item/hooks/use-copy.js.map +0 -1
- package/build-module/list-item/hooks/use-copy.js +0 -32
- package/build-module/list-item/hooks/use-copy.js.map +0 -1
- package/src/list-item/hooks/use-copy.js +0 -38
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { createBlock } from '@wordpress/blocks';
|
|
5
5
|
import { create, toHTMLString } from '@wordpress/rich-text';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Internal dependencies
|
|
9
|
+
*/
|
|
10
|
+
import { getTransformedMetadata } from '../utils/get-transformed-metadata';
|
|
6
11
|
const transforms = {
|
|
7
12
|
from: [{
|
|
8
13
|
type: 'enter',
|
|
@@ -12,15 +17,18 @@ const transforms = {
|
|
|
12
17
|
type: 'block',
|
|
13
18
|
blocks: ['core/paragraph'],
|
|
14
19
|
transform: ({
|
|
15
|
-
content
|
|
20
|
+
content,
|
|
21
|
+
metadata
|
|
16
22
|
}) => createBlock('core/code', {
|
|
17
|
-
content
|
|
23
|
+
content,
|
|
24
|
+
metadata: getTransformedMetadata(metadata, 'core/code')
|
|
18
25
|
})
|
|
19
26
|
}, {
|
|
20
27
|
type: 'block',
|
|
21
28
|
blocks: ['core/html'],
|
|
22
29
|
transform: ({
|
|
23
|
-
content: text
|
|
30
|
+
content: text,
|
|
31
|
+
metadata
|
|
24
32
|
}) => {
|
|
25
33
|
return createBlock('core/code', {
|
|
26
34
|
// The HTML is plain text (with plain line breaks), so
|
|
@@ -29,7 +37,8 @@ const transforms = {
|
|
|
29
37
|
value: create({
|
|
30
38
|
text
|
|
31
39
|
})
|
|
32
|
-
})
|
|
40
|
+
}),
|
|
41
|
+
metadata: getTransformedMetadata(metadata, 'core/code')
|
|
33
42
|
});
|
|
34
43
|
}
|
|
35
44
|
}, {
|
|
@@ -51,9 +60,11 @@ const transforms = {
|
|
|
51
60
|
type: 'block',
|
|
52
61
|
blocks: ['core/paragraph'],
|
|
53
62
|
transform: ({
|
|
54
|
-
content
|
|
63
|
+
content,
|
|
64
|
+
metadata
|
|
55
65
|
}) => createBlock('core/paragraph', {
|
|
56
|
-
content
|
|
66
|
+
content,
|
|
67
|
+
metadata: getTransformedMetadata(metadata, 'core/paragraph')
|
|
57
68
|
})
|
|
58
69
|
}]
|
|
59
70
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBlock","create","toHTMLString","transforms","from","type","regExp","transform","blocks","content","text","value","isMatch","node","nodeName","children","length","firstChild","schema","pre","code","to"],"sources":["@wordpress/block-library/src/code/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { create, toHTMLString } from '@wordpress/rich-text';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'enter',\n\t\t\tregExp: /^```$/,\n\t\t\ttransform: () => createBlock( 'core/code' ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( { content } ) =>\n\t\t\t\tcreateBlock( 'core/code', {
|
|
1
|
+
{"version":3,"names":["createBlock","create","toHTMLString","getTransformedMetadata","transforms","from","type","regExp","transform","blocks","content","metadata","text","value","isMatch","node","nodeName","children","length","firstChild","schema","pre","code","to"],"sources":["@wordpress/block-library/src/code/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { create, toHTMLString } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { getTransformedMetadata } from '../utils/get-transformed-metadata';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'enter',\n\t\t\tregExp: /^```$/,\n\t\t\ttransform: () => createBlock( 'core/code' ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( { content, metadata } ) =>\n\t\t\t\tcreateBlock( 'core/code', {\n\t\t\t\t\tcontent,\n\t\t\t\t\tmetadata: getTransformedMetadata( metadata, 'core/code' ),\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/html' ],\n\t\t\ttransform: ( { content: text, metadata } ) => {\n\t\t\t\treturn createBlock( 'core/code', {\n\t\t\t\t\t// The HTML is plain text (with plain line breaks), so\n\t\t\t\t\t// convert it to rich text.\n\t\t\t\t\tcontent: toHTMLString( { value: create( { text } ) } ),\n\t\t\t\t\tmetadata: getTransformedMetadata( metadata, 'core/code' ),\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.nodeName === 'PRE' &&\n\t\t\t\tnode.children.length === 1 &&\n\t\t\t\tnode.firstChild.nodeName === 'CODE',\n\t\t\tschema: {\n\t\t\t\tpre: {\n\t\t\t\t\tchildren: {\n\t\t\t\t\t\tcode: {\n\t\t\t\t\t\t\tchildren: {\n\t\t\t\t\t\t\t\t'#text': {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( { content, metadata } ) =>\n\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\tcontent,\n\t\t\t\t\tmetadata: getTransformedMetadata(\n\t\t\t\t\t\tmetadata,\n\t\t\t\t\t\t'core/paragraph'\n\t\t\t\t\t),\n\t\t\t\t} ),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,MAAM,EAAEC,YAAY,QAAQ,sBAAsB;;AAE3D;AACA;AACA;AACA,SAASC,sBAAsB,QAAQ,mCAAmC;AAE1E,MAAMC,UAAU,GAAG;EAClBC,IAAI,EAAE,CACL;IACCC,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE,OAAO;IACfC,SAAS,EAAEA,CAAA,KAAMR,WAAW,CAAE,WAAY;EAC3C,CAAC,EACD;IACCM,IAAI,EAAE,OAAO;IACbG,MAAM,EAAE,CAAE,gBAAgB,CAAE;IAC5BD,SAAS,EAAEA,CAAE;MAAEE,OAAO;MAAEC;IAAS,CAAC,KACjCX,WAAW,CAAE,WAAW,EAAE;MACzBU,OAAO;MACPC,QAAQ,EAAER,sBAAsB,CAAEQ,QAAQ,EAAE,WAAY;IACzD,CAAE;EACJ,CAAC,EACD;IACCL,IAAI,EAAE,OAAO;IACbG,MAAM,EAAE,CAAE,WAAW,CAAE;IACvBD,SAAS,EAAEA,CAAE;MAAEE,OAAO,EAAEE,IAAI;MAAED;IAAS,CAAC,KAAM;MAC7C,OAAOX,WAAW,CAAE,WAAW,EAAE;QAChC;QACA;QACAU,OAAO,EAAER,YAAY,CAAE;UAAEW,KAAK,EAAEZ,MAAM,CAAE;YAAEW;UAAK,CAAE;QAAE,CAAE,CAAC;QACtDD,QAAQ,EAAER,sBAAsB,CAAEQ,QAAQ,EAAE,WAAY;MACzD,CAAE,CAAC;IACJ;EACD,CAAC,EACD;IACCL,IAAI,EAAE,KAAK;IACXQ,OAAO,EAAIC,IAAI,IACdA,IAAI,CAACC,QAAQ,KAAK,KAAK,IACvBD,IAAI,CAACE,QAAQ,CAACC,MAAM,KAAK,CAAC,IAC1BH,IAAI,CAACI,UAAU,CAACH,QAAQ,KAAK,MAAM;IACpCI,MAAM,EAAE;MACPC,GAAG,EAAE;QACJJ,QAAQ,EAAE;UACTK,IAAI,EAAE;YACLL,QAAQ,EAAE;cACT,OAAO,EAAE,CAAC;YACX;UACD;QACD;MACD;IACD;EACD,CAAC,CACD;EACDM,EAAE,EAAE,CACH;IACCjB,IAAI,EAAE,OAAO;IACbG,MAAM,EAAE,CAAE,gBAAgB,CAAE;IAC5BD,SAAS,EAAEA,CAAE;MAAEE,OAAO;MAAEC;IAAS,CAAC,KACjCX,WAAW,CAAE,gBAAgB,EAAE;MAC9BU,OAAO;MACPC,QAAQ,EAAER,sBAAsB,CAC/BQ,QAAQ,EACR,gBACD;IACD,CAAE;EACJ,CAAC;AAEH,CAAC;AAED,eAAeP,UAAU"}
|
|
@@ -3,13 +3,17 @@ import { createElement, Fragment } from "react";
|
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
5
|
import { useState } from '@wordpress/element';
|
|
6
|
-
import { BlockControls, MediaReplaceFlow, __experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl, __experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl } from '@wordpress/block-editor';
|
|
6
|
+
import { BlockControls, MediaReplaceFlow, __experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl, __experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
7
7
|
import { __ } from '@wordpress/i18n';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Internal dependencies
|
|
11
11
|
*/
|
|
12
12
|
import { ALLOWED_MEDIA_TYPES } from '../shared';
|
|
13
|
+
import { unlock } from '../../lock-unlock';
|
|
14
|
+
const {
|
|
15
|
+
cleanEmptyObject
|
|
16
|
+
} = unlock(blockEditorPrivateApis);
|
|
13
17
|
export default function CoverBlockControls({
|
|
14
18
|
attributes,
|
|
15
19
|
setAttributes,
|
|
@@ -30,7 +34,7 @@ export default function CoverBlockControls({
|
|
|
30
34
|
} = currentSettings;
|
|
31
35
|
const [prevMinHeightValue, setPrevMinHeightValue] = useState(minHeight);
|
|
32
36
|
const [prevMinHeightUnit, setPrevMinHeightUnit] = useState(minHeightUnit);
|
|
33
|
-
const isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100;
|
|
37
|
+
const isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100 && !attributes?.style?.dimensions?.aspectRatio;
|
|
34
38
|
const toggleMinFullHeight = () => {
|
|
35
39
|
if (isMinFullHeight) {
|
|
36
40
|
// If there aren't previous values, take the default ones.
|
|
@@ -50,10 +54,17 @@ export default function CoverBlockControls({
|
|
|
50
54
|
setPrevMinHeightValue(minHeight);
|
|
51
55
|
setPrevMinHeightUnit(minHeightUnit);
|
|
52
56
|
|
|
53
|
-
// Set full height.
|
|
57
|
+
// Set full height, and clear any aspect ratio value.
|
|
54
58
|
return setAttributes({
|
|
55
59
|
minHeight: 100,
|
|
56
|
-
minHeightUnit: 'vh'
|
|
60
|
+
minHeightUnit: 'vh',
|
|
61
|
+
style: cleanEmptyObject({
|
|
62
|
+
...attributes?.style,
|
|
63
|
+
dimensions: {
|
|
64
|
+
...attributes?.style?.dimensions,
|
|
65
|
+
aspectRatio: undefined // Reset aspect ratio when minHeight is set.
|
|
66
|
+
}
|
|
67
|
+
})
|
|
57
68
|
});
|
|
58
69
|
};
|
|
59
70
|
return createElement(Fragment, null, createElement(BlockControls, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","BlockControls","MediaReplaceFlow","__experimentalBlockAlignmentMatrixControl","BlockAlignmentMatrixControl","__experimentalBlockFullHeightAligmentControl","FullHeightAlignmentControl","__","ALLOWED_MEDIA_TYPES","CoverBlockControls","attributes","setAttributes","onSelectMedia","currentSettings","toggleUseFeaturedImage","contentPosition","id","useFeaturedImage","minHeight","minHeightUnit","hasInnerBlocks","url","prevMinHeightValue","setPrevMinHeightValue","prevMinHeightUnit","setPrevMinHeightUnit","isMinFullHeight","toggleMinFullHeight","undefined","createElement","Fragment","group","label","value","onChange","nextPosition","isDisabled","isActive","onToggle","mediaId","mediaURL","allowedTypes","accept","onSelect","onToggleFeaturedImage","name"],"sources":["@wordpress/block-library/src/cover/edit/block-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\nimport {\n\tBlockControls,\n\tMediaReplaceFlow,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES } from '../shared';\n\nexport default function CoverBlockControls( {\n\tattributes,\n\tsetAttributes,\n\tonSelectMedia,\n\tcurrentSettings,\n\ttoggleUseFeaturedImage,\n} ) {\n\tconst { contentPosition, id, useFeaturedImage, minHeight, minHeightUnit } =\n\t\tattributes;\n\tconst { hasInnerBlocks, url } = currentSettings;\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] =\n\t\tuseState( minHeightUnit );\n\tconst isMinFullHeight
|
|
1
|
+
{"version":3,"names":["useState","BlockControls","MediaReplaceFlow","__experimentalBlockAlignmentMatrixControl","BlockAlignmentMatrixControl","__experimentalBlockFullHeightAligmentControl","FullHeightAlignmentControl","privateApis","blockEditorPrivateApis","__","ALLOWED_MEDIA_TYPES","unlock","cleanEmptyObject","CoverBlockControls","attributes","setAttributes","onSelectMedia","currentSettings","toggleUseFeaturedImage","contentPosition","id","useFeaturedImage","minHeight","minHeightUnit","hasInnerBlocks","url","prevMinHeightValue","setPrevMinHeightValue","prevMinHeightUnit","setPrevMinHeightUnit","isMinFullHeight","style","dimensions","aspectRatio","toggleMinFullHeight","undefined","createElement","Fragment","group","label","value","onChange","nextPosition","isDisabled","isActive","onToggle","mediaId","mediaURL","allowedTypes","accept","onSelect","onToggleFeaturedImage","name"],"sources":["@wordpress/block-library/src/cover/edit/block-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\nimport {\n\tBlockControls,\n\tMediaReplaceFlow,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES } from '../shared';\nimport { unlock } from '../../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nexport default function CoverBlockControls( {\n\tattributes,\n\tsetAttributes,\n\tonSelectMedia,\n\tcurrentSettings,\n\ttoggleUseFeaturedImage,\n} ) {\n\tconst { contentPosition, id, useFeaturedImage, minHeight, minHeightUnit } =\n\t\tattributes;\n\tconst { hasInnerBlocks, url } = currentSettings;\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] =\n\t\tuseState( minHeightUnit );\n\tconst isMinFullHeight =\n\t\tminHeightUnit === 'vh' &&\n\t\tminHeight === 100 &&\n\t\t! attributes?.style?.dimensions?.aspectRatio;\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height, and clear any aspect ratio value.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...attributes?.style,\n\t\t\t\tdimensions: {\n\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t},\n\t\t\t} ),\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\t\tname={ ! url ? __( 'Add Media' ) : __( 'Replace' ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -217,7 +217,7 @@ export default function CoverInspectorControls({
|
|
|
217
217
|
isShownByDefault: true,
|
|
218
218
|
panelId: clientId
|
|
219
219
|
}, createElement(CoverHeightInput, {
|
|
220
|
-
value: minHeight,
|
|
220
|
+
value: attributes?.style?.dimensions?.aspectRatio ? '' : minHeight,
|
|
221
221
|
unit: minHeightUnit,
|
|
222
222
|
onChange: newMinHeight => setAttributes({
|
|
223
223
|
minHeight: newMinHeight,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","TextareaControl","ToggleControl","SelectControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useInstanceId","InspectorControls","useSettings","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","privateApis","blockEditorPrivateApis","__","COVER_MIN_HEIGHT","mediaPosition","unlock","cleanEmptyObject","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","inputId","isPx","availableUnits","units","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","parsedQuantity","join","min","createElement","label","id","isResetValueOnUnitChange","__unstableInputWidth","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","updateDimRatio","onClearMedia","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","overlayColor","gradientValue","setGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","colorGradientSettings","htmlElementMessages","header","main","section","article","aside","footer","Fragment","title","__nextHasNoMarginBottom","checked","__next40pxDefaultSize","onDragStart","onDrag","newFocalPoint","newAlt","help","href","variant","size","className","onClick","hasColorsOrGradients","group","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","hasValue","onDeselect","newDimRatio","max","step","required","newMinHeight","dimensions","aspectRatio","nextUnit","options"],"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\nimport { unlock } from '../../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tonClearMedia,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only.'\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ onClearMedia }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: undefined,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeight: newMinHeight,\n\t\t\t\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t\t\t\t...attributes?.style,\n\t\t\t\t\t\t\t\t\tdimensions: {\n\t\t\t\t\t\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\t\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useMemo","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","TextareaControl","ToggleControl","SelectControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useInstanceId","InspectorControls","useSettings","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","privateApis","blockEditorPrivateApis","__","COVER_MIN_HEIGHT","mediaPosition","unlock","cleanEmptyObject","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","inputId","isPx","availableUnits","units","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","parsedQuantity","join","min","createElement","label","id","isResetValueOnUnitChange","__unstableInputWidth","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","updateDimRatio","onClearMedia","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","overlayColor","gradientValue","setGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","colorGradientSettings","htmlElementMessages","header","main","section","article","aside","footer","Fragment","title","__nextHasNoMarginBottom","checked","__next40pxDefaultSize","onDragStart","onDrag","newFocalPoint","newAlt","help","href","variant","size","className","onClick","hasColorsOrGradients","group","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","hasValue","onDeselect","newDimRatio","max","step","required","dimensions","aspectRatio","newMinHeight","nextUnit","options"],"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\nimport { unlock } from '../../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tonClearMedia,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only.'\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ onClearMedia }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: undefined,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tattributes?.style?.dimensions?.aspectRatio\n\t\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t\t: minHeight\n\t\t\t\t\t\t}\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeight: newMinHeight,\n\t\t\t\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t\t\t\t...attributes?.style,\n\t\t\t\t\t\t\t\t\tdimensions: {\n\t\t\t\t\t\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\t\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { createBlock, getBlockAttributes } from '@wordpress/blocks';
|
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { getLevelFromHeadingNodeName } from './shared';
|
|
10
|
+
import { getTransformedMetadata } from '../utils/get-transformed-metadata';
|
|
10
11
|
const transforms = {
|
|
11
12
|
from: [{
|
|
12
13
|
type: 'block',
|
|
@@ -15,11 +16,17 @@ const transforms = {
|
|
|
15
16
|
transform: attributes => attributes.map(({
|
|
16
17
|
content,
|
|
17
18
|
anchor,
|
|
18
|
-
align: textAlign
|
|
19
|
+
align: textAlign,
|
|
20
|
+
metadata
|
|
19
21
|
}) => createBlock('core/heading', {
|
|
20
22
|
content,
|
|
21
23
|
anchor,
|
|
22
|
-
textAlign
|
|
24
|
+
textAlign,
|
|
25
|
+
metadata: getTransformedMetadata(metadata, 'core/heading', ({
|
|
26
|
+
content: contentBinding
|
|
27
|
+
}) => ({
|
|
28
|
+
content: contentBinding
|
|
29
|
+
}))
|
|
23
30
|
}))
|
|
24
31
|
}, {
|
|
25
32
|
type: 'raw',
|
|
@@ -74,10 +81,16 @@ const transforms = {
|
|
|
74
81
|
blocks: ['core/paragraph'],
|
|
75
82
|
transform: attributes => attributes.map(({
|
|
76
83
|
content,
|
|
77
|
-
textAlign: align
|
|
84
|
+
textAlign: align,
|
|
85
|
+
metadata
|
|
78
86
|
}) => createBlock('core/paragraph', {
|
|
79
87
|
content,
|
|
80
|
-
align
|
|
88
|
+
align,
|
|
89
|
+
metadata: getTransformedMetadata(metadata, 'core/paragraph', ({
|
|
90
|
+
content: contentBinding
|
|
91
|
+
}) => ({
|
|
92
|
+
content: contentBinding
|
|
93
|
+
}))
|
|
81
94
|
}))
|
|
82
95
|
}]
|
|
83
96
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBlock","getBlockAttributes","getLevelFromHeadingNodeName","transforms","from","type","isMultiBlock","blocks","transform","attributes","map","content","anchor","align","textAlign","selector","schema","phrasingContentSchema","isPaste","children","h1","h2","h3","h4","h5","h6","node","outerHTML","style","level","nodeName","prefix","Array","join","regExp","RegExp","to"],"sources":["@wordpress/block-library/src/heading/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getLevelFromHeadingNodeName } from './shared';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map(
|
|
1
|
+
{"version":3,"names":["createBlock","getBlockAttributes","getLevelFromHeadingNodeName","getTransformedMetadata","transforms","from","type","isMultiBlock","blocks","transform","attributes","map","content","anchor","align","textAlign","metadata","contentBinding","selector","schema","phrasingContentSchema","isPaste","children","h1","h2","h3","h4","h5","h6","node","outerHTML","style","level","nodeName","prefix","Array","join","regExp","RegExp","to"],"sources":["@wordpress/block-library/src/heading/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getLevelFromHeadingNodeName } from './shared';\nimport { getTransformedMetadata } from '../utils/get-transformed-metadata';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map(\n\t\t\t\t\t( { content, anchor, align: textAlign, metadata } ) =>\n\t\t\t\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\ttextAlign,\n\t\t\t\t\t\t\tmetadata: getTransformedMetadata(\n\t\t\t\t\t\t\t\tmetadata,\n\t\t\t\t\t\t\t\t'core/heading',\n\t\t\t\t\t\t\t\t( { content: contentBinding } ) => ( {\n\t\t\t\t\t\t\t\t\tcontent: contentBinding,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t} )\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\t\tschema: ( { phrasingContentSchema, isPaste } ) => {\n\t\t\t\tconst schema = {\n\t\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\t\tattributes: isPaste ? [] : [ 'style', 'id' ],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\th1: schema,\n\t\t\t\t\th2: schema,\n\t\t\t\t\th3: schema,\n\t\t\t\t\th4: schema,\n\t\t\t\t\th5: schema,\n\t\t\t\t\th6: schema,\n\t\t\t\t};\n\t\t\t},\n\t\t\ttransform( node ) {\n\t\t\t\tconst attributes = getBlockAttributes(\n\t\t\t\t\t'core/heading',\n\t\t\t\t\tnode.outerHTML\n\t\t\t\t);\n\t\t\t\tconst { textAlign } = node.style || {};\n\n\t\t\t\tattributes.level = getLevelFromHeadingNodeName( node.nodeName );\n\n\t\t\t\tif (\n\t\t\t\t\ttextAlign === 'left' ||\n\t\t\t\t\ttextAlign === 'center' ||\n\t\t\t\t\ttextAlign === 'right'\n\t\t\t\t) {\n\t\t\t\t\tattributes.align = textAlign;\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/heading', attributes );\n\t\t\t},\n\t\t},\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix: Array( level + 1 ).join( '#' ),\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( 'core/heading', {\n\t\t\t\t\tlevel,\n\t\t\t\t\tcontent,\n\t\t\t\t} );\n\t\t\t},\n\t\t} ) ),\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'enter',\n\t\t\tregExp: new RegExp( `^/(h|H)${ level }$` ),\n\t\t\ttransform: () => createBlock( 'core/heading', { level } ),\n\t\t} ) ),\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( { content, textAlign: align, metadata } ) =>\n\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tmetadata: getTransformedMetadata(\n\t\t\t\t\t\t\tmetadata,\n\t\t\t\t\t\t\t'core/paragraph',\n\t\t\t\t\t\t\t( { content: contentBinding } ) => ( {\n\t\t\t\t\t\t\t\tcontent: contentBinding,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t),\n\t\t\t\t\t} )\n\t\t\t\t),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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"}
|
|
@@ -8,11 +8,12 @@ import classnames from 'classnames';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
import { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';
|
|
11
|
+
import { store as blocksStore } from '@wordpress/blocks';
|
|
11
12
|
import { Placeholder } from '@wordpress/components';
|
|
12
13
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
13
14
|
import { BlockIcon, MediaPlaceholder, useBlockProps, store as blockEditorStore, __experimentalUseBorderProps as useBorderProps, __experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles, useBlockEditingMode } from '@wordpress/block-editor';
|
|
14
15
|
import { useEffect, useRef, useState } from '@wordpress/element';
|
|
15
|
-
import { __ } from '@wordpress/i18n';
|
|
16
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
16
17
|
import { image as icon, plugins as pluginsIcon } from '@wordpress/icons';
|
|
17
18
|
import { store as noticesStore } from '@wordpress/notices';
|
|
18
19
|
|
|
@@ -296,14 +297,17 @@ export function ImageEdit({
|
|
|
296
297
|
|
|
297
298
|
// Much of this description is duplicated from MediaPlaceholder.
|
|
298
299
|
const {
|
|
299
|
-
lockUrlControls = false
|
|
300
|
+
lockUrlControls = false,
|
|
301
|
+
lockUrlControlsMessage
|
|
300
302
|
} = useSelect(select => {
|
|
301
303
|
if (!isSingleSelected) {
|
|
302
304
|
return {};
|
|
303
305
|
}
|
|
304
|
-
const blockBindingsSource = unlock(select(
|
|
306
|
+
const blockBindingsSource = unlock(select(blocksStore)).getBlockBindingsSource(metadata?.bindings?.url?.source);
|
|
305
307
|
return {
|
|
306
|
-
lockUrlControls: !!metadata?.bindings?.url && (!blockBindingsSource || blockBindingsSource?.lockAttributesEditing)
|
|
308
|
+
lockUrlControls: !!metadata?.bindings?.url && (!blockBindingsSource || blockBindingsSource?.lockAttributesEditing),
|
|
309
|
+
lockUrlControlsMessage: blockBindingsSource?.label ? sprintf( /* translators: %s: Label of the bindings source. */
|
|
310
|
+
__('Connected to %s'), blockBindingsSource.label) : __('Connected to dynamic data')
|
|
307
311
|
};
|
|
308
312
|
}, [isSingleSelected]);
|
|
309
313
|
const placeholder = content => {
|
|
@@ -325,7 +329,7 @@ export function ImageEdit({
|
|
|
325
329
|
}
|
|
326
330
|
}, lockUrlControls ? createElement("span", {
|
|
327
331
|
className: 'block-bindings-media-placeholder-message'
|
|
328
|
-
},
|
|
332
|
+
}, lockUrlControlsMessage) : content);
|
|
329
333
|
};
|
|
330
334
|
return createElement("figure", {
|
|
331
335
|
...blockProps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","getBlobByURL","isBlobURL","revokeBlobURL","Placeholder","useDispatch","useSelect","BlockIcon","MediaPlaceholder","useBlockProps","store","blockEditorStore","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","useEffect","useRef","useState","__","image","icon","plugins","pluginsIcon","noticesStore","unlock","Image","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","pickRelevantMediaFiles","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","isTemporaryImage","id","isExternalImage","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","isSingleSelected","className","insertBlocksAfter","onReplace","context","clientId","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","altRef","current","captionRef","__unstableMarkNextChangeAsNotPersistent","undefined","ref","getSettings","blockEditingMode","createErrorNotice","onUploadError","message","type","src","onSelectImage","media","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","href","onSelectURL","newURL","isTemp","file","mediaUpload","filesList","onFileChange","img","allowedTypes","onError","isExternal","mediaPreview","createElement","borderProps","shadowProps","classes","style","keys","length","blockProps","lockUrlControls","select","blockBindingsSource","getBlockBindingsSource","bindings","source","lockAttributesEditing","placeholder","content","withIllustration","label","instructions","objectFit","containerRef","onSelect","accept","value","disableMediaButtons"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport Image from './image';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.media_details?.sizes?.[ size ]?.source_url ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily\n * while the image is being uploaded and will not have an id yet allocated.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the URL a Blob URL\n */\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated the specified image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} size\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasSize( image, size ) {\n\treturn (\n\t\t'url' in ( image?.sizes?.[ size ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ size ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected: isSingleSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t\tscale,\n\t\talign,\n\t\tmetadata,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ align ] );\n\n\tconst ref = useRef();\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t} );\n\t\tsetTemporaryURL( undefined );\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetTemporaryURL();\n\n\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t// Try to use the previous selected image size if its available\n\t\t// otherwise try the default image size or fallback to \"full\"\n\t\tlet newSize = 'full';\n\t\tif ( sizeSlug && hasSize( media, sizeSlug ) ) {\n\t\t\tnewSize = sizeSlug;\n\t\t} else if ( hasSize( media, imageDefaultSize ) ) {\n\t\t\tnewSize = imageDefaultSize;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, newSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\tsizeSlug: newSize,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Resolution\"\n\t\t\t// option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: getSettings().imageDefaultSize,\n\t\t\t} );\n\t\t}\n\t}\n\n\tlet isTemp = isTemporaryImage( id, url );\n\n\t// Upload a temporary image on mount.\n\tuseEffect( () => {\n\t\tif ( ! isTemp ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( url );\n\n\t\tif ( file ) {\n\t\t\tconst { mediaUpload } = getSettings();\n\t\t\tif ( ! mediaUpload ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList: [ file ],\n\t\t\t\tonFileChange: ( [ img ] ) => {\n\t\t\t\t\tonSelectImage( img );\n\t\t\t\t},\n\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\tonError: ( message ) => {\n\t\t\t\t\tisTemp = false;\n\t\t\t\t\tonUploadError( message );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\t// If an image is temporary, revoke the Blob url when it is uploaded (and is\n\t// no longer temporary).\n\tuseEffect( () => {\n\t\tif ( isTemp ) {\n\t\t\tsetTemporaryURL( url );\n\t\t\treturn;\n\t\t}\n\t\trevokeBlobURL( temporaryURL );\n\t}, [ isTemp, url ] );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName={ 'edit-image-preview' }\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst { lockUrlControls = false } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t).getBlockBindingsSource( metadata?.bindings?.url?.source );\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t( ! blockBindingsSource ||\n\t\t\t\t\t\tblockBindingsSource?.lockAttributesEditing ),\n\t\t\t};\n\t\t},\n\t\t[ isSingleSelected ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSingleSelected,\n\t\t\t\t} ) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\ticon={ lockUrlControls ? pluginsIcon : icon }\n\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tstyle={ {\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! ( width && height ) && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\twidth: height && aspectRatio ? '100%' : width,\n\t\t\t\t\theight: width && aspectRatio ? '100%' : height,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ lockUrlControls ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ 'block-bindings-media-placeholder-message' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Connected to a custom field' ) }\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\tcontent\n\t\t\t\t) }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<figure { ...blockProps }>\n\t\t\t<Image\n\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSingleSelected={ isSingleSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tcontext={ context }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t/>\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvalue={ { id, src } }\n\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t/>\n\t\t</figure>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","getBlobByURL","isBlobURL","revokeBlobURL","store","blocksStore","Placeholder","useDispatch","useSelect","BlockIcon","MediaPlaceholder","useBlockProps","blockEditorStore","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","useEffect","useRef","useState","__","sprintf","image","icon","plugins","pluginsIcon","noticesStore","unlock","Image","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","pickRelevantMediaFiles","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","isTemporaryImage","id","isExternalImage","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","isSingleSelected","className","insertBlocksAfter","onReplace","context","clientId","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","altRef","current","captionRef","__unstableMarkNextChangeAsNotPersistent","undefined","ref","getSettings","blockEditingMode","createErrorNotice","onUploadError","message","type","src","onSelectImage","media","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","href","onSelectURL","newURL","isTemp","file","mediaUpload","filesList","onFileChange","img","allowedTypes","onError","isExternal","mediaPreview","createElement","borderProps","shadowProps","classes","style","keys","length","blockProps","lockUrlControls","lockUrlControlsMessage","select","blockBindingsSource","getBlockBindingsSource","bindings","source","lockAttributesEditing","label","placeholder","content","withIllustration","instructions","objectFit","containerRef","onSelect","accept","value","disableMediaButtons"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport Image from './image';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.media_details?.sizes?.[ size ]?.source_url ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily\n * while the image is being uploaded and will not have an id yet allocated.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the URL a Blob URL\n */\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated the specified image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} size\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasSize( image, size ) {\n\treturn (\n\t\t'url' in ( image?.sizes?.[ size ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ size ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected: isSingleSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t\tscale,\n\t\talign,\n\t\tmetadata,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ align ] );\n\n\tconst ref = useRef();\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t} );\n\t\tsetTemporaryURL( undefined );\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetTemporaryURL();\n\n\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t// Try to use the previous selected image size if its available\n\t\t// otherwise try the default image size or fallback to \"full\"\n\t\tlet newSize = 'full';\n\t\tif ( sizeSlug && hasSize( media, sizeSlug ) ) {\n\t\t\tnewSize = sizeSlug;\n\t\t} else if ( hasSize( media, imageDefaultSize ) ) {\n\t\t\tnewSize = imageDefaultSize;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, newSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\tsizeSlug: newSize,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Resolution\"\n\t\t\t// option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: getSettings().imageDefaultSize,\n\t\t\t} );\n\t\t}\n\t}\n\n\tlet isTemp = isTemporaryImage( id, url );\n\n\t// Upload a temporary image on mount.\n\tuseEffect( () => {\n\t\tif ( ! isTemp ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( url );\n\n\t\tif ( file ) {\n\t\t\tconst { mediaUpload } = getSettings();\n\t\t\tif ( ! mediaUpload ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList: [ file ],\n\t\t\t\tonFileChange: ( [ img ] ) => {\n\t\t\t\t\tonSelectImage( img );\n\t\t\t\t},\n\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\tonError: ( message ) => {\n\t\t\t\t\tisTemp = false;\n\t\t\t\t\tonUploadError( message );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\t// If an image is temporary, revoke the Blob url when it is uploaded (and is\n\t// no longer temporary).\n\tuseEffect( () => {\n\t\tif ( isTemp ) {\n\t\t\tsetTemporaryURL( url );\n\t\t\treturn;\n\t\t}\n\t\trevokeBlobURL( temporaryURL );\n\t}, [ isTemp, url ] );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName={ 'edit-image-preview' }\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst { lockUrlControls = false, lockUrlControlsMessage } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = unlock(\n\t\t\t\tselect( blocksStore )\n\t\t\t).getBlockBindingsSource( metadata?.bindings?.url?.source );\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t( ! blockBindingsSource ||\n\t\t\t\t\t\tblockBindingsSource?.lockAttributesEditing ),\n\t\t\t\tlockUrlControlsMessage: blockBindingsSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\tblockBindingsSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t};\n\t\t},\n\t\t[ isSingleSelected ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSingleSelected,\n\t\t\t\t} ) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\ticon={ lockUrlControls ? pluginsIcon : icon }\n\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tstyle={ {\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! ( width && height ) && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\twidth: height && aspectRatio ? '100%' : width,\n\t\t\t\t\theight: width && aspectRatio ? '100%' : height,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ lockUrlControls ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ 'block-bindings-media-placeholder-message' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ lockUrlControlsMessage }\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\tcontent\n\t\t\t\t) }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<figure { ...blockProps }>\n\t\t\t<Image\n\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSingleSelected={ isSingleSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tcontext={ context }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t/>\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvalue={ { id, src } }\n\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t/>\n\t\t</figure>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":"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"}
|