@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.
Files changed (110) hide show
  1. package/build/block/deprecated.js +71 -11
  2. package/build/block/deprecated.js.map +1 -1
  3. package/build/block/edit.js +49 -24
  4. package/build/block/edit.js.map +1 -1
  5. package/build/button/edit.js +1 -1
  6. package/build/button/edit.js.map +1 -1
  7. package/build/buttons/transforms.js +16 -2
  8. package/build/buttons/transforms.js.map +1 -1
  9. package/build/code/transforms.js +17 -6
  10. package/build/code/transforms.js.map +1 -1
  11. package/build/cover/edit/block-controls.js +14 -3
  12. package/build/cover/edit/block-controls.js.map +1 -1
  13. package/build/cover/edit/inspector-controls.js +1 -1
  14. package/build/cover/edit/inspector-controls.js.map +1 -1
  15. package/build/heading/transforms.js +17 -4
  16. package/build/heading/transforms.js.map +1 -1
  17. package/build/image/edit.js +8 -4
  18. package/build/image/edit.js.map +1 -1
  19. package/build/image/image.js +22 -8
  20. package/build/image/image.js.map +1 -1
  21. package/build/list-item/edit.js +1 -3
  22. package/build/list-item/edit.js.map +1 -1
  23. package/build/list-item/hooks/index.js +0 -7
  24. package/build/list-item/hooks/index.js.map +1 -1
  25. package/build/list-item/index.js +4 -1
  26. package/build/list-item/index.js.map +1 -1
  27. package/build/post-featured-image/edit.js +8 -11
  28. package/build/post-featured-image/edit.js.map +1 -1
  29. package/build/post-title/edit.js +2 -2
  30. package/build/post-title/edit.js.map +1 -1
  31. package/build/site-logo/edit.js +7 -2
  32. package/build/site-logo/edit.js.map +1 -1
  33. package/build/utils/caption.js +15 -5
  34. package/build/utils/caption.js.map +1 -1
  35. package/build/utils/get-transformed-metadata.js +57 -0
  36. package/build/utils/get-transformed-metadata.js.map +1 -0
  37. package/build-module/block/deprecated.js +71 -11
  38. package/build-module/block/deprecated.js.map +1 -1
  39. package/build-module/block/edit.js +49 -24
  40. package/build-module/block/edit.js.map +1 -1
  41. package/build-module/button/edit.js +2 -2
  42. package/build-module/button/edit.js.map +1 -1
  43. package/build-module/buttons/transforms.js +16 -2
  44. package/build-module/buttons/transforms.js.map +1 -1
  45. package/build-module/code/transforms.js +17 -6
  46. package/build-module/code/transforms.js.map +1 -1
  47. package/build-module/cover/edit/block-controls.js +15 -4
  48. package/build-module/cover/edit/block-controls.js.map +1 -1
  49. package/build-module/cover/edit/inspector-controls.js +1 -1
  50. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  51. package/build-module/heading/transforms.js +17 -4
  52. package/build-module/heading/transforms.js.map +1 -1
  53. package/build-module/image/edit.js +9 -5
  54. package/build-module/image/edit.js.map +1 -1
  55. package/build-module/image/image.js +23 -9
  56. package/build-module/image/image.js.map +1 -1
  57. package/build-module/list-item/edit.js +2 -4
  58. package/build-module/list-item/edit.js.map +1 -1
  59. package/build-module/list-item/hooks/index.js +0 -1
  60. package/build-module/list-item/hooks/index.js.map +1 -1
  61. package/build-module/list-item/index.js +4 -1
  62. package/build-module/list-item/index.js.map +1 -1
  63. package/build-module/post-featured-image/edit.js +9 -12
  64. package/build-module/post-featured-image/edit.js.map +1 -1
  65. package/build-module/post-title/edit.js +2 -2
  66. package/build-module/post-title/edit.js.map +1 -1
  67. package/build-module/site-logo/edit.js +7 -2
  68. package/build-module/site-logo/edit.js.map +1 -1
  69. package/build-module/utils/caption.js +13 -3
  70. package/build-module/utils/caption.js.map +1 -1
  71. package/build-module/utils/get-transformed-metadata.js +51 -0
  72. package/build-module/utils/get-transformed-metadata.js.map +1 -0
  73. package/build-style/common-rtl.css +1 -0
  74. package/build-style/common.css +1 -0
  75. package/build-style/cover/style-rtl.css +2 -1
  76. package/build-style/cover/style.css +2 -1
  77. package/build-style/search/style-rtl.css +2 -0
  78. package/build-style/search/style.css +2 -0
  79. package/build-style/style-rtl.css +4 -1
  80. package/build-style/style.css +4 -1
  81. package/package.json +13 -13
  82. package/src/block/deprecated.js +76 -11
  83. package/src/block/edit.js +64 -19
  84. package/src/block/index.php +21 -12
  85. package/src/button/edit.js +2 -1
  86. package/src/buttons/transforms.js +14 -4
  87. package/src/code/transforms.js +20 -5
  88. package/src/cover/edit/block-controls.js +16 -2
  89. package/src/cover/edit/inspector-controls.js +5 -1
  90. package/src/cover/style.scss +3 -2
  91. package/src/footnotes/index.php +1 -1
  92. package/src/heading/transforms.js +27 -8
  93. package/src/image/edit.js +12 -4
  94. package/src/image/image.js +32 -20
  95. package/src/list-item/edit.js +1 -2
  96. package/src/list-item/hooks/index.js +0 -1
  97. package/src/list-item/index.js +3 -0
  98. package/src/navigation/index.php +8 -4
  99. package/src/post-featured-image/edit.js +9 -11
  100. package/src/post-title/edit.js +49 -43
  101. package/src/search/index.php +1 -1
  102. package/src/search/style.scss +2 -0
  103. package/src/site-logo/edit.js +10 -5
  104. package/src/utils/caption.js +10 -1
  105. package/src/utils/get-transformed-metadata.js +65 -0
  106. package/build/list-item/hooks/use-copy.js +0 -39
  107. package/build/list-item/hooks/use-copy.js.map +0 -1
  108. package/build-module/list-item/hooks/use-copy.js +0 -32
  109. package/build-module/list-item/hooks/use-copy.js.map +0 -1
  110. package/src/list-item/hooks/use-copy.js +0 -38
@@ -6,10 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _blocks = require("@wordpress/blocks");
8
8
  var _richText = require("@wordpress/rich-text");
9
+ var _getTransformedMetadata = require("../utils/get-transformed-metadata");
9
10
  /**
10
11
  * WordPress dependencies
11
12
  */
12
13
 
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+
13
18
  const transforms = {
14
19
  from: [{
15
20
  type: 'enter',
@@ -19,15 +24,18 @@ const transforms = {
19
24
  type: 'block',
20
25
  blocks: ['core/paragraph'],
21
26
  transform: ({
22
- content
27
+ content,
28
+ metadata
23
29
  }) => (0, _blocks.createBlock)('core/code', {
24
- content
30
+ content,
31
+ metadata: (0, _getTransformedMetadata.getTransformedMetadata)(metadata, 'core/code')
25
32
  })
26
33
  }, {
27
34
  type: 'block',
28
35
  blocks: ['core/html'],
29
36
  transform: ({
30
- content: text
37
+ content: text,
38
+ metadata
31
39
  }) => {
32
40
  return (0, _blocks.createBlock)('core/code', {
33
41
  // The HTML is plain text (with plain line breaks), so
@@ -36,7 +44,8 @@ const transforms = {
36
44
  value: (0, _richText.create)({
37
45
  text
38
46
  })
39
- })
47
+ }),
48
+ metadata: (0, _getTransformedMetadata.getTransformedMetadata)(metadata, 'core/code')
40
49
  });
41
50
  }
42
51
  }, {
@@ -58,9 +67,11 @@ const transforms = {
58
67
  type: 'block',
59
68
  blocks: ['core/paragraph'],
60
69
  transform: ({
61
- content
70
+ content,
71
+ metadata
62
72
  }) => (0, _blocks.createBlock)('core/paragraph', {
63
- content
73
+ content,
74
+ metadata: (0, _getTransformedMetadata.getTransformedMetadata)(metadata, 'core/paragraph')
64
75
  })
65
76
  }]
66
77
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_richText","transforms","from","type","regExp","transform","createBlock","blocks","content","text","toHTMLString","value","create","isMatch","node","nodeName","children","length","firstChild","schema","pre","code","to","_default","exports","default"],"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', { content } ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/html' ],\n\t\t\ttransform: ( { content: text } ) => {\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} );\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 } ) =>\n\t\t\t\tcreateBlock( 'core/paragraph', { content } ),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,MAAME,UAAU,GAAG;EAClBC,IAAI,EAAE,CACL;IACCC,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE,OAAO;IACfC,SAAS,EAAEA,CAAA,KAAM,IAAAC,mBAAW,EAAE,WAAY;EAC3C,CAAC,EACD;IACCH,IAAI,EAAE,OAAO;IACbI,MAAM,EAAE,CAAE,gBAAgB,CAAE;IAC5BF,SAAS,EAAEA,CAAE;MAAEG;IAAQ,CAAC,KACvB,IAAAF,mBAAW,EAAE,WAAW,EAAE;MAAEE;IAAQ,CAAE;EACxC,CAAC,EACD;IACCL,IAAI,EAAE,OAAO;IACbI,MAAM,EAAE,CAAE,WAAW,CAAE;IACvBF,SAAS,EAAEA,CAAE;MAAEG,OAAO,EAAEC;IAAK,CAAC,KAAM;MACnC,OAAO,IAAAH,mBAAW,EAAE,WAAW,EAAE;QAChC;QACA;QACAE,OAAO,EAAE,IAAAE,sBAAY,EAAE;UAAEC,KAAK,EAAE,IAAAC,gBAAM,EAAE;YAAEH;UAAK,CAAE;QAAE,CAAE;MACtD,CAAE,CAAC;IACJ;EACD,CAAC,EACD;IACCN,IAAI,EAAE,KAAK;IACXU,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;IACCnB,IAAI,EAAE,OAAO;IACbI,MAAM,EAAE,CAAE,gBAAgB,CAAE;IAC5BF,SAAS,EAAEA,CAAE;MAAEG;IAAQ,CAAC,KACvB,IAAAF,mBAAW,EAAE,gBAAgB,EAAE;MAAEE;IAAQ,CAAE;EAC7C,CAAC;AAEH,CAAC;AAAC,IAAAe,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaxB,UAAU"}
1
+ {"version":3,"names":["_blocks","require","_richText","_getTransformedMetadata","transforms","from","type","regExp","transform","createBlock","blocks","content","metadata","getTransformedMetadata","text","toHTMLString","value","create","isMatch","node","nodeName","children","length","firstChild","schema","pre","code","to","_default","exports","default"],"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":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,uBAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA,MAAMG,UAAU,GAAG;EAClBC,IAAI,EAAE,CACL;IACCC,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE,OAAO;IACfC,SAAS,EAAEA,CAAA,KAAM,IAAAC,mBAAW,EAAE,WAAY;EAC3C,CAAC,EACD;IACCH,IAAI,EAAE,OAAO;IACbI,MAAM,EAAE,CAAE,gBAAgB,CAAE;IAC5BF,SAAS,EAAEA,CAAE;MAAEG,OAAO;MAAEC;IAAS,CAAC,KACjC,IAAAH,mBAAW,EAAE,WAAW,EAAE;MACzBE,OAAO;MACPC,QAAQ,EAAE,IAAAC,8CAAsB,EAAED,QAAQ,EAAE,WAAY;IACzD,CAAE;EACJ,CAAC,EACD;IACCN,IAAI,EAAE,OAAO;IACbI,MAAM,EAAE,CAAE,WAAW,CAAE;IACvBF,SAAS,EAAEA,CAAE;MAAEG,OAAO,EAAEG,IAAI;MAAEF;IAAS,CAAC,KAAM;MAC7C,OAAO,IAAAH,mBAAW,EAAE,WAAW,EAAE;QAChC;QACA;QACAE,OAAO,EAAE,IAAAI,sBAAY,EAAE;UAAEC,KAAK,EAAE,IAAAC,gBAAM,EAAE;YAAEH;UAAK,CAAE;QAAE,CAAE,CAAC;QACtDF,QAAQ,EAAE,IAAAC,8CAAsB,EAAED,QAAQ,EAAE,WAAY;MACzD,CAAE,CAAC;IACJ;EACD,CAAC,EACD;IACCN,IAAI,EAAE,KAAK;IACXY,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;IACCrB,IAAI,EAAE,OAAO;IACbI,MAAM,EAAE,CAAE,gBAAgB,CAAE;IAC5BF,SAAS,EAAEA,CAAE;MAAEG,OAAO;MAAEC;IAAS,CAAC,KACjC,IAAAH,mBAAW,EAAE,gBAAgB,EAAE;MAC9BE,OAAO;MACPC,QAAQ,EAAE,IAAAC,8CAAsB,EAC/BD,QAAQ,EACR,gBACD;IACD,CAAE;EACJ,CAAC;AAEH,CAAC;AAAC,IAAAgB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa1B,UAAU"}
@@ -9,6 +9,7 @@ var _element = require("@wordpress/element");
9
9
  var _blockEditor = require("@wordpress/block-editor");
10
10
  var _i18n = require("@wordpress/i18n");
11
11
  var _shared = require("../shared");
12
+ var _lockUnlock = require("../../lock-unlock");
12
13
  /**
13
14
  * WordPress dependencies
14
15
  */
@@ -17,6 +18,9 @@ var _shared = require("../shared");
17
18
  * Internal dependencies
18
19
  */
19
20
 
21
+ const {
22
+ cleanEmptyObject
23
+ } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
20
24
  function CoverBlockControls({
21
25
  attributes,
22
26
  setAttributes,
@@ -37,7 +41,7 @@ function CoverBlockControls({
37
41
  } = currentSettings;
38
42
  const [prevMinHeightValue, setPrevMinHeightValue] = (0, _element.useState)(minHeight);
39
43
  const [prevMinHeightUnit, setPrevMinHeightUnit] = (0, _element.useState)(minHeightUnit);
40
- const isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100;
44
+ const isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100 && !attributes?.style?.dimensions?.aspectRatio;
41
45
  const toggleMinFullHeight = () => {
42
46
  if (isMinFullHeight) {
43
47
  // If there aren't previous values, take the default ones.
@@ -57,10 +61,17 @@ function CoverBlockControls({
57
61
  setPrevMinHeightValue(minHeight);
58
62
  setPrevMinHeightUnit(minHeightUnit);
59
63
 
60
- // Set full height.
64
+ // Set full height, and clear any aspect ratio value.
61
65
  return setAttributes({
62
66
  minHeight: 100,
63
- minHeightUnit: 'vh'
67
+ minHeightUnit: 'vh',
68
+ style: cleanEmptyObject({
69
+ ...attributes?.style,
70
+ dimensions: {
71
+ ...attributes?.style?.dimensions,
72
+ aspectRatio: undefined // Reset aspect ratio when minHeight is set.
73
+ }
74
+ })
64
75
  });
65
76
  };
66
77
  return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_blockEditor.BlockControls, {
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_blockEditor","_i18n","_shared","CoverBlockControls","attributes","setAttributes","onSelectMedia","currentSettings","toggleUseFeaturedImage","contentPosition","id","useFeaturedImage","minHeight","minHeightUnit","hasInnerBlocks","url","prevMinHeightValue","setPrevMinHeightValue","useState","prevMinHeightUnit","setPrevMinHeightUnit","isMinFullHeight","toggleMinFullHeight","undefined","_react","createElement","Fragment","BlockControls","group","__experimentalBlockAlignmentMatrixControl","label","__","value","onChange","nextPosition","isDisabled","__experimentalBlockFullHeightAligmentControl","isActive","onToggle","MediaReplaceFlow","mediaId","mediaURL","allowedTypes","ALLOWED_MEDIA_TYPES","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 = minHeightUnit === 'vh' && minHeight === 100;\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.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\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":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAMA,IAAAE,KAAA,GAAAF,OAAA;AAKA,IAAAG,OAAA,GAAAH,OAAA;AAhBA;AACA;AACA;;AAWA;AACA;AACA;;AAGe,SAASI,kBAAkBA,CAAE;EAC3CC,UAAU;EACVC,aAAa;EACbC,aAAa;EACbC,eAAe;EACfC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,eAAe;IAAEC,EAAE;IAAEC,gBAAgB;IAAEC,SAAS;IAAEC;EAAc,CAAC,GACxET,UAAU;EACX,MAAM;IAAEU,cAAc;IAAEC;EAAI,CAAC,GAAGR,eAAe;EAE/C,MAAM,CAAES,kBAAkB,EAAEC,qBAAqB,CAAE,GAAG,IAAAC,iBAAQ,EAAEN,SAAU,CAAC;EAC3E,MAAM,CAAEO,iBAAiB,EAAEC,oBAAoB,CAAE,GAChD,IAAAF,iBAAQ,EAAEL,aAAc,CAAC;EAC1B,MAAMQ,eAAe,GAAGR,aAAa,KAAK,IAAI,IAAID,SAAS,KAAK,GAAG;EACnE,MAAMU,mBAAmB,GAAGA,CAAA,KAAM;IACjC,IAAKD,eAAe,EAAG;MACtB;MACA,IAAKF,iBAAiB,KAAK,IAAI,IAAIH,kBAAkB,KAAK,GAAG,EAAG;QAC/D,OAAOX,aAAa,CAAE;UACrBO,SAAS,EAAEW,SAAS;UACpBV,aAAa,EAAEU;QAChB,CAAE,CAAC;MACJ;;MAEA;MACA,OAAOlB,aAAa,CAAE;QACrBO,SAAS,EAAEI,kBAAkB;QAC7BH,aAAa,EAAEM;MAChB,CAAE,CAAC;IACJ;IAEAF,qBAAqB,CAAEL,SAAU,CAAC;IAClCQ,oBAAoB,CAAEP,aAAc,CAAC;;IAErC;IACA,OAAOR,aAAa,CAAE;MACrBO,SAAS,EAAE,GAAG;MACdC,aAAa,EAAE;IAChB,CAAE,CAAC;EACJ,CAAC;EAED,OACC,IAAAW,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACzB,YAAA,CAAA2B,aAAa;IAACC,KAAK,EAAC;EAAO,GAC3B,IAAAJ,MAAA,CAAAC,aAAA,EAACzB,YAAA,CAAA6B,yCAA2B;IAC3BC,KAAK,EAAG,IAAAC,QAAE,EAAE,yBAA0B,CAAG;IACzCC,KAAK,EAAGvB,eAAiB;IACzBwB,QAAQ,EAAKC,YAAY,IACxB7B,aAAa,CAAE;MACdI,eAAe,EAAEyB;IAClB,CAAE,CACF;IACDC,UAAU,EAAG,CAAErB;EAAgB,CAC/B,CAAC,EACF,IAAAU,MAAA,CAAAC,aAAA,EAACzB,YAAA,CAAAoC,4CAA0B;IAC1BC,QAAQ,EAAGhB,eAAiB;IAC5BiB,QAAQ,EAAGhB,mBAAqB;IAChCa,UAAU,EAAG,CAAErB;EAAgB,CAC/B,CACa,CAAC,EAChB,IAAAU,MAAA,CAAAC,aAAA,EAACzB,YAAA,CAAA2B,aAAa;IAACC,KAAK,EAAC;EAAO,GAC3B,IAAAJ,MAAA,CAAAC,aAAA,EAACzB,YAAA,CAAAuC,gBAAgB;IAChBC,OAAO,EAAG9B,EAAI;IACd+B,QAAQ,EAAG1B,GAAK;IAChB2B,YAAY,EAAGC,2BAAqB;IACpCC,MAAM,EAAC,iBAAiB;IACxBC,QAAQ,EAAGvC,aAAe;IAC1BwC,qBAAqB,EAAGtC,sBAAwB;IAChDG,gBAAgB,EAAGA,gBAAkB;IACrCoC,IAAI,EAAG,CAAEhC,GAAG,GAAG,IAAAgB,QAAE,EAAE,WAAY,CAAC,GAAG,IAAAA,QAAE,EAAE,SAAU;EAAG,CACpD,CACa,CACd,CAAC;AAEL"}
1
+ {"version":3,"names":["_element","require","_blockEditor","_i18n","_shared","_lockUnlock","cleanEmptyObject","unlock","blockEditorPrivateApis","CoverBlockControls","attributes","setAttributes","onSelectMedia","currentSettings","toggleUseFeaturedImage","contentPosition","id","useFeaturedImage","minHeight","minHeightUnit","hasInnerBlocks","url","prevMinHeightValue","setPrevMinHeightValue","useState","prevMinHeightUnit","setPrevMinHeightUnit","isMinFullHeight","style","dimensions","aspectRatio","toggleMinFullHeight","undefined","_react","createElement","Fragment","BlockControls","group","__experimentalBlockAlignmentMatrixControl","label","__","value","onChange","nextPosition","isDisabled","__experimentalBlockFullHeightAligmentControl","isActive","onToggle","MediaReplaceFlow","mediaId","mediaURL","allowedTypes","ALLOWED_MEDIA_TYPES","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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"}
@@ -224,7 +224,7 @@ function CoverInspectorControls({
224
224
  isShownByDefault: true,
225
225
  panelId: clientId
226
226
  }, (0, _react.createElement)(CoverHeightInput, {
227
- value: minHeight,
227
+ value: attributes?.style?.dimensions?.aspectRatio ? '' : minHeight,
228
228
  unit: minHeightUnit,
229
229
  onChange: newMinHeight => setAttributes({
230
230
  minHeight: newMinHeight,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_components","_compose","_blockEditor","_i18n","_shared","_lockUnlock","cleanEmptyObject","unlock","blockEditorPrivateApis","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","useInstanceId","UnitControl","inputId","isPx","availableUnits","useSettings","units","useCustomUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","useMemo","parsedQuantity","parseQuantityAndUnitFromRawValue","join","min","COVER_MIN_HEIGHT","_react","createElement","__experimentalUnitControl","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","__experimentalUseGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","mediaPosition","colorGradientSettings","useMultipleOriginColorsAndGradients","htmlElementMessages","header","main","section","article","aside","footer","Fragment","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","checked","FocalPointPicker","__next40pxDefaultSize","onDragStart","onDrag","newFocalPoint","TextareaControl","newAlt","help","ExternalLink","href","PanelRow","Button","variant","size","className","onClick","hasColorsOrGradients","group","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","__experimentalToolsPanelItem","hasValue","onDeselect","RangeControl","newDimRatio","max","step","required","newMinHeight","dimensions","aspectRatio","nextUnit","SelectControl","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":["_element","require","_components","_compose","_blockEditor","_i18n","_shared","_lockUnlock","cleanEmptyObject","unlock","blockEditorPrivateApis","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","useInstanceId","UnitControl","inputId","isPx","availableUnits","useSettings","units","useCustomUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","useMemo","parsedQuantity","parseQuantityAndUnitFromRawValue","join","min","COVER_MIN_HEIGHT","_react","createElement","__experimentalUnitControl","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","__experimentalUseGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","mediaPosition","colorGradientSettings","useMultipleOriginColorsAndGradients","htmlElementMessages","header","main","section","article","aside","footer","Fragment","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","checked","FocalPointPicker","__next40pxDefaultSize","onDragStart","onDrag","newFocalPoint","TextareaControl","newAlt","help","ExternalLink","href","PanelRow","Button","variant","size","className","onClick","hasColorsOrGradients","group","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","__experimentalToolsPanelItem","hasValue","onDeselect","RangeControl","newDimRatio","max","step","required","dimensions","aspectRatio","newMinHeight","nextUnit","SelectControl","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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"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _blocks = require("@wordpress/blocks");
8
8
  var _shared = require("./shared");
9
+ var _getTransformedMetadata = require("../utils/get-transformed-metadata");
9
10
  /**
10
11
  * WordPress dependencies
11
12
  */
@@ -22,11 +23,17 @@ const transforms = {
22
23
  transform: attributes => attributes.map(({
23
24
  content,
24
25
  anchor,
25
- align: textAlign
26
+ align: textAlign,
27
+ metadata
26
28
  }) => (0, _blocks.createBlock)('core/heading', {
27
29
  content,
28
30
  anchor,
29
- textAlign
31
+ textAlign,
32
+ metadata: (0, _getTransformedMetadata.getTransformedMetadata)(metadata, 'core/heading', ({
33
+ content: contentBinding
34
+ }) => ({
35
+ content: contentBinding
36
+ }))
30
37
  }))
31
38
  }, {
32
39
  type: 'raw',
@@ -81,10 +88,16 @@ const transforms = {
81
88
  blocks: ['core/paragraph'],
82
89
  transform: attributes => attributes.map(({
83
90
  content,
84
- textAlign: align
91
+ textAlign: align,
92
+ metadata
85
93
  }) => (0, _blocks.createBlock)('core/paragraph', {
86
94
  content,
87
- align
95
+ align,
96
+ metadata: (0, _getTransformedMetadata.getTransformedMetadata)(metadata, 'core/paragraph', ({
97
+ content: contentBinding
98
+ }) => ({
99
+ content: contentBinding
100
+ }))
88
101
  }))
89
102
  }]
90
103
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_shared","transforms","from","type","isMultiBlock","blocks","transform","attributes","map","content","anchor","align","textAlign","createBlock","selector","schema","phrasingContentSchema","isPaste","children","h1","h2","h3","h4","h5","h6","node","getBlockAttributes","outerHTML","style","level","getLevelFromHeadingNodeName","nodeName","prefix","Array","join","regExp","RegExp","to","_default","exports","default"],"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( ( { content, anchor, align: textAlign } ) =>\n\t\t\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\ttextAlign,\n\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 } ) =>\n\t\t\t\t\tcreateBlock( 'core/paragraph', { content, align } )\n\t\t\t\t),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_blocks","require","_shared","_getTransformedMetadata","transforms","from","type","isMultiBlock","blocks","transform","attributes","map","content","anchor","align","textAlign","metadata","createBlock","getTransformedMetadata","contentBinding","selector","schema","phrasingContentSchema","isPaste","children","h1","h2","h3","h4","h5","h6","node","getBlockAttributes","outerHTML","style","level","getLevelFromHeadingNodeName","nodeName","prefix","Array","join","regExp","RegExp","to","_default","exports","default"],"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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"}
@@ -9,6 +9,7 @@ exports.pickRelevantMediaFiles = exports.isExternalImage = exports.default = voi
9
9
  var _react = require("react");
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
11
  var _blob = require("@wordpress/blob");
12
+ var _blocks = require("@wordpress/blocks");
12
13
  var _components = require("@wordpress/components");
13
14
  var _data = require("@wordpress/data");
14
15
  var _blockEditor = require("@wordpress/block-editor");
@@ -307,14 +308,17 @@ function ImageEdit({
307
308
 
308
309
  // Much of this description is duplicated from MediaPlaceholder.
309
310
  const {
310
- lockUrlControls = false
311
+ lockUrlControls = false,
312
+ lockUrlControlsMessage
311
313
  } = (0, _data.useSelect)(select => {
312
314
  if (!isSingleSelected) {
313
315
  return {};
314
316
  }
315
- const blockBindingsSource = (0, _lockUnlock.unlock)(select(_blockEditor.store)).getBlockBindingsSource(metadata?.bindings?.url?.source);
317
+ const blockBindingsSource = (0, _lockUnlock.unlock)(select(_blocks.store)).getBlockBindingsSource(metadata?.bindings?.url?.source);
316
318
  return {
317
- lockUrlControls: !!metadata?.bindings?.url && (!blockBindingsSource || blockBindingsSource?.lockAttributesEditing)
319
+ lockUrlControls: !!metadata?.bindings?.url && (!blockBindingsSource || blockBindingsSource?.lockAttributesEditing),
320
+ lockUrlControlsMessage: blockBindingsSource?.label ? (0, _i18n.sprintf)( /* translators: %s: Label of the bindings source. */
321
+ (0, _i18n.__)('Connected to %s'), blockBindingsSource.label) : (0, _i18n.__)('Connected to dynamic data')
318
322
  };
319
323
  }, [isSingleSelected]);
320
324
  const placeholder = content => {
@@ -336,7 +340,7 @@ function ImageEdit({
336
340
  }
337
341
  }, lockUrlControls ? (0, _react.createElement)("span", {
338
342
  className: 'block-bindings-media-placeholder-message'
339
- }, (0, _i18n.__)('Connected to a custom field')) : content);
343
+ }, lockUrlControlsMessage) : content);
340
344
  };
341
345
  return (0, _react.createElement)("figure", {
342
346
  ...blockProps
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_components","_data","_blockEditor","_element","_i18n","_icons","_notices","_lockUnlock","_image","_constants","pickRelevantMediaFiles","image","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","exports","isTemporaryImage","id","isBlobURL","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","useState","altRef","useRef","useEffect","current","captionRef","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","undefined","ref","getSettings","useSelect","blockEditingMode","useBlockEditingMode","createErrorNotice","noticesStore","onUploadError","message","type","src","onSelectImage","media","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","isTemp","file","getBlobByURL","mediaUpload","filesList","onFileChange","img","allowedTypes","ALLOWED_MEDIA_TYPES","onError","revokeBlobURL","isExternal","mediaPreview","_react","createElement","__","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","classes","classnames","style","keys","length","blockProps","useBlockProps","lockUrlControls","select","blockBindingsSource","unlock","getBlockBindingsSource","bindings","source","lockAttributesEditing","placeholder","content","Placeholder","withIllustration","icon","pluginsIcon","label","instructions","objectFit","default","containerRef","MediaPlaceholder","BlockIcon","onSelect","accept","value","disableMediaButtons","_default"],"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","_interopRequireDefault","require","_blob","_blocks","_components","_data","_blockEditor","_element","_i18n","_icons","_notices","_lockUnlock","_image","_constants","pickRelevantMediaFiles","image","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","exports","isTemporaryImage","id","isBlobURL","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","useState","altRef","useRef","useEffect","current","captionRef","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","undefined","ref","getSettings","useSelect","blockEditingMode","useBlockEditingMode","createErrorNotice","noticesStore","onUploadError","message","type","src","onSelectImage","media","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","isTemp","file","getBlobByURL","mediaUpload","filesList","onFileChange","img","allowedTypes","ALLOWED_MEDIA_TYPES","onError","revokeBlobURL","isExternal","mediaPreview","_react","createElement","__","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","classes","classnames","style","keys","length","blockProps","useBlockProps","lockUrlControls","lockUrlControlsMessage","select","blockBindingsSource","unlock","blocksStore","getBlockBindingsSource","bindings","source","lockAttributesEditing","label","sprintf","placeholder","content","Placeholder","withIllustration","icon","pluginsIcon","instructions","objectFit","default","containerRef","MediaPlaceholder","BlockIcon","onSelect","accept","value","disableMediaButtons","_default"],"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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"}