@wordpress/block-library 9.29.0 → 9.29.1-next.e256d081a.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/build/audio/edit.js +3 -1
  2. package/build/audio/edit.js.map +1 -1
  3. package/build/form/deprecated.js +97 -0
  4. package/build/form/deprecated.js.map +1 -0
  5. package/build/form/index.js +2 -1
  6. package/build/form/index.js.map +1 -1
  7. package/build/form/save.js +0 -1
  8. package/build/form/save.js.map +1 -1
  9. package/build/gallery/edit.js +9 -3
  10. package/build/gallery/edit.js.map +1 -1
  11. package/build/image/edit.js +0 -5
  12. package/build/image/edit.js.map +1 -1
  13. package/build/image/image.js +1 -1
  14. package/build/image/image.js.map +1 -1
  15. package/build/query/edit/index.js.map +1 -1
  16. package/build/query/edit/query-content.js +7 -6
  17. package/build/query/edit/query-content.js.map +1 -1
  18. package/build/query/edit/query-placeholder.js +30 -9
  19. package/build/query/edit/query-placeholder.js.map +1 -1
  20. package/build/query/edit/query-toolbar.js +4 -2
  21. package/build/query/edit/query-toolbar.js.map +1 -1
  22. package/build/template-part/edit/placeholder.js +2 -1
  23. package/build/template-part/edit/placeholder.js.map +1 -1
  24. package/build/video/edit.js +3 -1
  25. package/build/video/edit.js.map +1 -1
  26. package/build-module/audio/edit.js +4 -2
  27. package/build-module/audio/edit.js.map +1 -1
  28. package/build-module/form/deprecated.js +90 -0
  29. package/build-module/form/deprecated.js.map +1 -0
  30. package/build-module/form/index.js +2 -1
  31. package/build-module/form/index.js.map +1 -1
  32. package/build-module/form/save.js +0 -1
  33. package/build-module/form/save.js.map +1 -1
  34. package/build-module/gallery/edit.js +9 -3
  35. package/build-module/gallery/edit.js.map +1 -1
  36. package/build-module/image/edit.js +0 -5
  37. package/build-module/image/edit.js.map +1 -1
  38. package/build-module/image/image.js +1 -1
  39. package/build-module/image/image.js.map +1 -1
  40. package/build-module/query/edit/index.js.map +1 -1
  41. package/build-module/query/edit/query-content.js +8 -7
  42. package/build-module/query/edit/query-content.js.map +1 -1
  43. package/build-module/query/edit/query-placeholder.js +30 -10
  44. package/build-module/query/edit/query-placeholder.js.map +1 -1
  45. package/build-module/query/edit/query-toolbar.js +4 -2
  46. package/build-module/query/edit/query-toolbar.js.map +1 -1
  47. package/build-module/template-part/edit/placeholder.js +2 -1
  48. package/build-module/template-part/edit/placeholder.js.map +1 -1
  49. package/build-module/video/edit.js +4 -2
  50. package/build-module/video/edit.js.map +1 -1
  51. package/build-style/editor-rtl.css +4 -0
  52. package/build-style/editor.css +4 -0
  53. package/build-style/query/editor-rtl.css +4 -0
  54. package/build-style/query/editor.css +4 -0
  55. package/package.json +35 -35
  56. package/src/audio/edit.js +6 -1
  57. package/src/form/block.json +0 -1
  58. package/src/form/deprecated.js +96 -0
  59. package/src/form/index.js +2 -0
  60. package/src/form/save.js +0 -1
  61. package/src/gallery/edit.js +9 -3
  62. package/src/image/edit.js +0 -6
  63. package/src/image/image.js +2 -1
  64. package/src/query/edit/index.js +1 -0
  65. package/src/query/edit/query-content.js +8 -4
  66. package/src/query/edit/query-placeholder.js +47 -17
  67. package/src/query/edit/query-toolbar.js +10 -2
  68. package/src/query/editor.scss +6 -1
  69. package/src/template-part/edit/placeholder.js +2 -1
  70. package/src/video/edit.js +6 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["InnerBlocks","useBlockProps","getTypographyClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","__experimentalGetSpacingClassesAndStyles","getSpacingClassesAndStyles","jsx","_jsx","v1","supports","attributes","submissionMethod","type","default","method","action","email","anchor","source","attribute","selector","backgroundColor","textColor","gradient","style","fontFamily","fontSize","save","colorProps","typographyProps","spacingProps","blockProps","id","className","encType","children","Content"],"sources":["@wordpress/block-library/src/form/deprecated.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tuseBlockProps,\n\tgetTypographyClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n} from '@wordpress/block-editor';\n\nconst v1 = {\n\t// The block supports here are deliberately empty despite this\n\t// deprecated version of the block having adopted block supports.\n\t// The attributes added by these supports have been manually\n\t// added to this deprecated version's attributes definition so\n\t// that the data isn't lost on migration. All this is so that the\n\t// automatic application of block support classes doesn't occur\n\t// as this version of the block had a bug that overrode those\n\t// classes. If those block support classes are applied during the\n\t// deprecation process, this deprecation doesn't match and won't\n\t// run.\n\t// @see https://github.com/WordPress/gutenberg/pull/55755\n\tsupports: {},\n\tattributes: {\n\t\tsubmissionMethod: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'email',\n\t\t},\n\t\tmethod: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'post',\n\t\t},\n\t\taction: {\n\t\t\ttype: 'string',\n\t\t},\n\t\temail: {\n\t\t\ttype: 'string',\n\t\t},\n\t\t// The following attributes have been added to match the block\n\t\t// supports at the time of the deprecation. See above for details.\n\t\tanchor: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tattribute: 'id',\n\t\t\tselector: '*',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tstyle: {\n\t\t\ttype: 'object',\n\t\t},\n\t\tfontFamily: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tfontSize: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { submissionMethod } = attributes;\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst typographyProps = getTypographyClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst blockProps = useBlockProps.save( {\n\t\t\t// In this deprecated version, the block support is deliberately empty.\n\t\t\t// As a result, the useBlockProps.save() does not output style or id attributes,\n\t\t\t// so we apply them explicitly here.\n\t\t\tstyle: {\n\t\t\t\t...colorProps.style,\n\t\t\t\t...typographyProps.style,\n\t\t\t\t...spacingProps.style,\n\t\t\t},\n\t\t\tid: attributes.anchor,\n\t\t} );\n\n\t\treturn (\n\t\t\t<form\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName=\"wp-block-form\"\n\t\t\t\tencType={ submissionMethod === 'email' ? 'text/plain' : null }\n\t\t\t>\n\t\t\t\t<InnerBlocks.Content />\n\t\t\t</form>\n\t\t);\n\t},\n};\n\nexport default [ v1 ];\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,WAAW,EACXC,aAAa,EACbC,6BAA6B,EAC7BC,sCAAsC,IAAIC,wBAAwB,EAClEC,wCAAwC,IAAIC,0BAA0B,QAChE,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEjC,MAAMC,EAAE,GAAG;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAC,QAAQ,EAAE,CAAC,CAAC;EACZC,UAAU,EAAE;IACXC,gBAAgB,EAAE;MACjBC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE;IACV,CAAC;IACDC,MAAM,EAAE;MACPF,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE;IACV,CAAC;IACDE,MAAM,EAAE;MACPH,IAAI,EAAE;IACP,CAAC;IACDI,KAAK,EAAE;MACNJ,IAAI,EAAE;IACP,CAAC;IACD;IACA;IACAK,MAAM,EAAE;MACPL,IAAI,EAAE,QAAQ;MACdM,MAAM,EAAE,WAAW;MACnBC,SAAS,EAAE,IAAI;MACfC,QAAQ,EAAE;IACX,CAAC;IACDC,eAAe,EAAE;MAChBT,IAAI,EAAE;IACP,CAAC;IACDU,SAAS,EAAE;MACVV,IAAI,EAAE;IACP,CAAC;IACDW,QAAQ,EAAE;MACTX,IAAI,EAAE;IACP,CAAC;IACDY,KAAK,EAAE;MACNZ,IAAI,EAAE;IACP,CAAC;IACDa,UAAU,EAAE;MACXb,IAAI,EAAE;IACP,CAAC;IACDc,QAAQ,EAAE;MACTd,IAAI,EAAE;IACP;EACD,CAAC;EACDe,IAAIA,CAAE;IAAEjB;EAAW,CAAC,EAAG;IACtB,MAAM;MAAEC;IAAiB,CAAC,GAAGD,UAAU;IACvC,MAAMkB,UAAU,GAAGzB,wBAAwB,CAAEO,UAAW,CAAC;IACzD,MAAMmB,eAAe,GAAG5B,6BAA6B,CAAES,UAAW,CAAC;IACnE,MAAMoB,YAAY,GAAGzB,0BAA0B,CAAEK,UAAW,CAAC;IAC7D,MAAMqB,UAAU,GAAG/B,aAAa,CAAC2B,IAAI,CAAE;MACtC;MACA;MACA;MACAH,KAAK,EAAE;QACN,GAAGI,UAAU,CAACJ,KAAK;QACnB,GAAGK,eAAe,CAACL,KAAK;QACxB,GAAGM,YAAY,CAACN;MACjB,CAAC;MACDQ,EAAE,EAAEtB,UAAU,CAACO;IAChB,CAAE,CAAC;IAEH,oBACCV,IAAA;MAAA,GACMwB,UAAU;MACfE,SAAS,EAAC,eAAe;MACzBC,OAAO,EAAGvB,gBAAgB,KAAK,OAAO,GAAG,YAAY,GAAG,IAAM;MAAAwB,QAAA,eAE9D5B,IAAA,CAACR,WAAW,CAACqC,OAAO,IAAE;IAAC,CAClB,CAAC;EAET;AACD,CAAC;AAED,eAAe,CAAE5B,EAAE,CAAE","ignoreList":[]}
@@ -33,7 +33,6 @@ const metadata = {
33
33
  },
34
34
  supports: {
35
35
  anchor: true,
36
- className: false,
37
36
  color: {
38
37
  gradients: true,
39
38
  link: true,
@@ -64,6 +63,7 @@ const metadata = {
64
63
  };
65
64
  import save from './save';
66
65
  import variations from './variations';
66
+ import deprecated from './deprecated';
67
67
 
68
68
  /**
69
69
  * WordPress dependencies
@@ -76,6 +76,7 @@ export { metadata, name };
76
76
  export const settings = {
77
77
  edit,
78
78
  save,
79
+ deprecated,
79
80
  variations,
80
81
  example: {}
81
82
  };
@@ -1 +1 @@
1
- {"version":3,"names":["initBlock","edit","metadata","$schema","apiVersion","__experimental","name","title","category","allowedBlocks","description","keywords","textdomain","icon","attributes","submissionMethod","type","method","action","email","supports","anchor","className","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalTextDecoration","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","save","variations","addFilter","settings","example","init","DISALLOWED_PARENTS","canInsert","blockType","rootClientId","getBlock","getBlockParentsByBlockName","disallowedParentType","hasDisallowedParent","length"],"sources":["@wordpress/block-library/src/form/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport variations from './variations';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\tedit,\n\tsave,\n\tvariations,\n\texample: {},\n};\n\nexport const init = () => {\n\t// Prevent adding forms inside forms.\n\tconst DISALLOWED_PARENTS = [ 'core/form' ];\n\taddFilter(\n\t\t'blockEditor.__unstableCanInsertBlockType',\n\t\t'core/block-library/preventInsertingFormIntoAnotherForm',\n\t\t(\n\t\t\tcanInsert,\n\t\t\tblockType,\n\t\t\trootClientId,\n\t\t\t{ getBlock, getBlockParentsByBlockName }\n\t\t) => {\n\t\t\tif ( blockType.name !== 'core/form' ) {\n\t\t\t\treturn canInsert;\n\t\t\t}\n\n\t\t\tfor ( const disallowedParentType of DISALLOWED_PARENTS ) {\n\t\t\t\tconst hasDisallowedParent =\n\t\t\t\t\tgetBlock( rootClientId )?.name === disallowedParentType ||\n\t\t\t\t\tgetBlockParentsByBlockName(\n\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\tdisallowedParentType\n\t\t\t\t\t).length;\n\t\t\t\tif ( hasDisallowedParent ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t);\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,cAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,aAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,UAAA;IAAAC,gBAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,MAAA;MAAAD,IAAA;MAAA;IAAA;IAAAE,MAAA;MAAAF,IAAA;IAAA;IAAAG,KAAA;MAAAH,IAAA;IAAA;EAAA;EAAAI,QAAA;IAAAC,MAAA;IAAAC,SAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAH,IAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,4BAAA;MAAAC,uBAAA;MAAAC,wBAAA;MAAAC,2BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;EAAA;AAAA;AAE1B,OAAOQ,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;;AAErC;AACA;AACA;AACA,SAASC,SAAS,QAAQ,kBAAkB;AAE5C,MAAM;EAAErC;AAAK,CAAC,GAAGJ,QAAQ;AAEzB,SAASA,QAAQ,EAAEI,IAAI;AAEvB,OAAO,MAAMsC,QAAQ,GAAG;EACvB3C,IAAI;EACJwC,IAAI;EACJC,UAAU;EACVG,OAAO,EAAE,CAAC;AACX,CAAC;AAED,OAAO,MAAMC,IAAI,GAAGA,CAAA,KAAM;EACzB;EACA,MAAMC,kBAAkB,GAAG,CAAE,WAAW,CAAE;EAC1CJ,SAAS,CACR,0CAA0C,EAC1C,wDAAwD,EACxD,CACCK,SAAS,EACTC,SAAS,EACTC,YAAY,EACZ;IAAEC,QAAQ;IAAEC;EAA2B,CAAC,KACpC;IACJ,IAAKH,SAAS,CAAC3C,IAAI,KAAK,WAAW,EAAG;MACrC,OAAO0C,SAAS;IACjB;IAEA,KAAM,MAAMK,oBAAoB,IAAIN,kBAAkB,EAAG;MACxD,MAAMO,mBAAmB,GACxBH,QAAQ,CAAED,YAAa,CAAC,EAAE5C,IAAI,KAAK+C,oBAAoB,IACvDD,0BAA0B,CACzBF,YAAY,EACZG,oBACD,CAAC,CAACE,MAAM;MACT,IAAKD,mBAAmB,EAAG;QAC1B,OAAO,KAAK;MACb;IACD;IACA,OAAO,IAAI;EACZ,CACD,CAAC;EAED,OAAOtD,SAAS,CAAE;IAAEM,IAAI;IAAEJ,QAAQ;IAAE0C;EAAS,CAAE,CAAC;AACjD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["initBlock","edit","metadata","$schema","apiVersion","__experimental","name","title","category","allowedBlocks","description","keywords","textdomain","icon","attributes","submissionMethod","type","method","action","email","supports","anchor","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalTextDecoration","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","save","variations","deprecated","addFilter","settings","example","init","DISALLOWED_PARENTS","canInsert","blockType","rootClientId","getBlock","getBlockParentsByBlockName","disallowedParentType","hasDisallowedParent","length"],"sources":["@wordpress/block-library/src/form/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport variations from './variations';\nimport deprecated from './deprecated';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\tedit,\n\tsave,\n\tdeprecated,\n\tvariations,\n\texample: {},\n};\n\nexport const init = () => {\n\t// Prevent adding forms inside forms.\n\tconst DISALLOWED_PARENTS = [ 'core/form' ];\n\taddFilter(\n\t\t'blockEditor.__unstableCanInsertBlockType',\n\t\t'core/block-library/preventInsertingFormIntoAnotherForm',\n\t\t(\n\t\t\tcanInsert,\n\t\t\tblockType,\n\t\t\trootClientId,\n\t\t\t{ getBlock, getBlockParentsByBlockName }\n\t\t) => {\n\t\t\tif ( blockType.name !== 'core/form' ) {\n\t\t\t\treturn canInsert;\n\t\t\t}\n\n\t\t\tfor ( const disallowedParentType of DISALLOWED_PARENTS ) {\n\t\t\t\tconst hasDisallowedParent =\n\t\t\t\t\tgetBlock( rootClientId )?.name === disallowedParentType ||\n\t\t\t\t\tgetBlockParentsByBlockName(\n\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\tdisallowedParentType\n\t\t\t\t\t).length;\n\t\t\t\tif ( hasDisallowedParent ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t);\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,cAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,aAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,UAAA;IAAAC,gBAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,MAAA;MAAAD,IAAA;MAAA;IAAA;IAAAE,MAAA;MAAAF,IAAA;IAAA;IAAAG,KAAA;MAAAH,IAAA;IAAA;EAAA;EAAAI,QAAA;IAAAC,MAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAH,IAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,4BAAA;MAAAC,uBAAA;MAAAC,wBAAA;MAAAC,2BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;EAAA;AAAA;AAE1B,OAAOQ,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,UAAU,MAAM,cAAc;;AAErC;AACA;AACA;AACA,SAASC,SAAS,QAAQ,kBAAkB;AAE5C,MAAM;EAAErC;AAAK,CAAC,GAAGJ,QAAQ;AAEzB,SAASA,QAAQ,EAAEI,IAAI;AAEvB,OAAO,MAAMsC,QAAQ,GAAG;EACvB3C,IAAI;EACJuC,IAAI;EACJE,UAAU;EACVD,UAAU;EACVI,OAAO,EAAE,CAAC;AACX,CAAC;AAED,OAAO,MAAMC,IAAI,GAAGA,CAAA,KAAM;EACzB;EACA,MAAMC,kBAAkB,GAAG,CAAE,WAAW,CAAE;EAC1CJ,SAAS,CACR,0CAA0C,EAC1C,wDAAwD,EACxD,CACCK,SAAS,EACTC,SAAS,EACTC,YAAY,EACZ;IAAEC,QAAQ;IAAEC;EAA2B,CAAC,KACpC;IACJ,IAAKH,SAAS,CAAC3C,IAAI,KAAK,WAAW,EAAG;MACrC,OAAO0C,SAAS;IACjB;IAEA,KAAM,MAAMK,oBAAoB,IAAIN,kBAAkB,EAAG;MACxD,MAAMO,mBAAmB,GACxBH,QAAQ,CAAED,YAAa,CAAC,EAAE5C,IAAI,KAAK+C,oBAAoB,IACvDD,0BAA0B,CACzBF,YAAY,EACZG,oBACD,CAAC,CAACE,MAAM;MACT,IAAKD,mBAAmB,EAAG;QAC1B,OAAO,KAAK;MACb;IACD;IACA,OAAO,IAAI;EACZ,CACD,CAAC;EAED,OAAOtD,SAAS,CAAE;IAAEM,IAAI;IAAEJ,QAAQ;IAAE0C;EAAS,CAAE,CAAC;AACjD,CAAC","ignoreList":[]}
@@ -12,7 +12,6 @@ export default function save({
12
12
  } = attributes;
13
13
  return /*#__PURE__*/_jsx("form", {
14
14
  ...blockProps,
15
- className: "wp-block-form",
16
15
  encType: submissionMethod === 'email' ? 'text/plain' : null,
17
16
  children: /*#__PURE__*/_jsx(InnerBlocks.Content, {})
18
17
  });
@@ -1 +1 @@
1
- {"version":3,"names":["InnerBlocks","useBlockProps","jsx","_jsx","save","attributes","blockProps","submissionMethod","className","encType","children","Content"],"sources":["@wordpress/block-library/src/form/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks, useBlockProps } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst blockProps = useBlockProps.save();\n\tconst { submissionMethod } = attributes;\n\n\treturn (\n\t\t<form\n\t\t\t{ ...blockProps }\n\t\t\tclassName=\"wp-block-form\"\n\t\t\tencType={ submissionMethod === 'email' ? 'text/plain' : null }\n\t\t>\n\t\t\t<InnerBlocks.Content />\n\t\t</form>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,aAAa,QAAQ,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErE,eAAe,SAASC,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAMC,UAAU,GAAGL,aAAa,CAACG,IAAI,CAAC,CAAC;EACvC,MAAM;IAAEG;EAAiB,CAAC,GAAGF,UAAU;EAEvC,oBACCF,IAAA;IAAA,GACMG,UAAU;IACfE,SAAS,EAAC,eAAe;IACzBC,OAAO,EAAGF,gBAAgB,KAAK,OAAO,GAAG,YAAY,GAAG,IAAM;IAAAG,QAAA,eAE9DP,IAAA,CAACH,WAAW,CAACW,OAAO,IAAE;EAAC,CAClB,CAAC;AAET","ignoreList":[]}
1
+ {"version":3,"names":["InnerBlocks","useBlockProps","jsx","_jsx","save","attributes","blockProps","submissionMethod","encType","children","Content"],"sources":["@wordpress/block-library/src/form/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks, useBlockProps } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst blockProps = useBlockProps.save();\n\tconst { submissionMethod } = attributes;\n\n\treturn (\n\t\t<form\n\t\t\t{ ...blockProps }\n\t\t\tencType={ submissionMethod === 'email' ? 'text/plain' : null }\n\t\t>\n\t\t\t<InnerBlocks.Content />\n\t\t</form>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,aAAa,QAAQ,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErE,eAAe,SAASC,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAMC,UAAU,GAAGL,aAAa,CAACG,IAAI,CAAC,CAAC;EACvC,MAAM;IAAEG;EAAiB,CAAC,GAAGF,UAAU;EAEvC,oBACCF,IAAA;IAAA,GACMG,UAAU;IACfE,OAAO,EAAGD,gBAAgB,KAAK,OAAO,GAAG,YAAY,GAAG,IAAM;IAAAE,QAAA,eAE9DN,IAAA,CAACH,WAAW,CAACU,OAAO,IAAE;EAAC,CAClB,CAAC;AAET","ignoreList":[]}
@@ -255,7 +255,9 @@ export default function GalleryEdit(props) {
255
255
  }) => id === block.attributes.id) : null;
256
256
  changedAttributes[block.clientId] = getHrefAndDestination(image, value, false, block.attributes, lightboxSetting);
257
257
  });
258
- updateBlockAttributes(blocks, changedAttributes, true);
258
+ updateBlockAttributes(blocks, changedAttributes, {
259
+ uniqueByBlock: true
260
+ });
259
261
  const linkToText = [...linkOptions].find(linkType => linkType.value === value);
260
262
  createSuccessNotice(sprintf(/* translators: %s: image size settings */
261
263
  __('All gallery image links updated to: %s'), linkToText.noticeText), {
@@ -289,7 +291,9 @@ export default function GalleryEdit(props) {
289
291
  blocks.push(block.clientId);
290
292
  changedAttributes[block.clientId] = getUpdatedLinkTargetSettings(newLinkTarget, block.attributes);
291
293
  });
292
- updateBlockAttributes(blocks, changedAttributes, true);
294
+ updateBlockAttributes(blocks, changedAttributes, {
295
+ uniqueByBlock: true
296
+ });
293
297
  const noticeText = openInNewTab ? __('All gallery images updated to open in new tab') : __('All gallery images updated to not open in new tab');
294
298
  createSuccessNotice(noticeText, {
295
299
  id: 'gallery-attributes-openInNewTab',
@@ -310,7 +314,9 @@ export default function GalleryEdit(props) {
310
314
  }) => id === block.attributes.id) : null;
311
315
  changedAttributes[block.clientId] = getImageSizeAttributes(image, newSizeSlug);
312
316
  });
313
- updateBlockAttributes(blocks, changedAttributes, true);
317
+ updateBlockAttributes(blocks, changedAttributes, {
318
+ uniqueByBlock: true
319
+ });
314
320
  const imageSize = imageSizeOptions.find(size => size.value === newSizeSlug);
315
321
  createSuccessNotice(sprintf(/* translators: %s: image size settings */
316
322
  __('All gallery image sizes updated to: %s'), (_imageSize$label = imageSize?.label) !== null && _imageSize$label !== void 0 ? _imageSize$label : newSizeSlug), {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","SelectControl","ToggleControl","RangeControl","MenuGroup","MenuItem","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","ToolbarDropdownMenu","PanelBody","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","useInnerBlocksProps","BlockControls","MediaReplaceFlow","useSettings","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","View","createBlock","createBlobURL","noticesStore","link","linkIcon","customLink","image","imageIcon","linkOff","fullscreen","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","useToolsPanelDropdownMenuProps","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","LINK_DESTINATION_LIGHTBOX","DEFAULT_MEDIA_SIZE_SLUG","useImageSizes","useGetNewImages","useGetMedia","GapStyles","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MAX_COLUMNS","LINK_OPTIONS","icon","label","value","noticeText","infoText","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","DEFAULT_BLOCK","name","EMPTY_ARRAY","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","lightboxSetting","linkOptions","allowEditing","filter","option","columns","imageCrop","randomOrder","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","createSuccessNotice","createErrorNotice","getBlock","getSettings","innerBlockImages","blockWasJustInserted","multiGallerySelection","select","_getBlock$innerBlocks","getBlockName","getMultiSelectedBlockClientIds","_getSettings","_getBlock","wasBlockJustInserted","multiSelectedClientIds","innerBlocks","length","every","_clientId","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","imageAttributes","find","newClassName","newLinkTarget","rel","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","blob","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","processedImages","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","toggleRandomOrder","toggleOpenInNewTab","openInNewTab","updateImagesSize","newSizeSlug","_imageSize$label","imageSize","size","window","wp","media","view","settings","defaultProps","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","handleUpload","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","dropdownMenuProps","children","hasLinkTo","isWeb","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","onChange","min","max","Math","required","__next40pxDefaultSize","help","options","hideCancelButton","checked","group","onClose","linkItem","isOptionSelected","iconPosition","onClick","role","info","mediaIds","blockGap","style","spacing"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToolbarDropdownMenu,\n\tPanelBody,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tlink as linkIcon,\n\tcustomLink,\n\timage as imageIcon,\n\tlinkOff,\n\tfullscreen,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_LIGHTBOX,\n\tDEFAULT_MEDIA_SIZE_SLUG,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst LINK_OPTIONS = [\n\t{\n\t\ticon: customLink,\n\t\tlabel: __( 'Link images to attachment pages' ),\n\t\tvalue: LINK_DESTINATION_ATTACHMENT,\n\t\tnoticeText: __( 'Attachment Pages' ),\n\t},\n\t{\n\t\ticon: imageIcon,\n\t\tlabel: __( 'Link images to media files' ),\n\t\tvalue: LINK_DESTINATION_MEDIA,\n\t\tnoticeText: __( 'Media Files' ),\n\t},\n\t{\n\t\ticon: fullscreen,\n\t\tlabel: __( 'Enlarge on click' ),\n\t\tvalue: LINK_DESTINATION_LIGHTBOX,\n\t\tnoticeText: __( 'Lightbox effect' ),\n\t\tinfoText: __( 'Scale images with a lightbox effect' ),\n\t},\n\t{\n\t\ticon: linkOff,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tnoticeText: __( 'None' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag and drop images, upload, or choose from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nexport default function GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst [ lightboxSetting ] = useSettings( 'blocks.core/image.lightbox' );\n\n\tconst linkOptions = ! lightboxSetting?.allowEditing\n\t\t? LINK_OPTIONS.filter(\n\t\t\t\t( option ) => option.value !== LINK_DESTINATION_LIGHTBOX\n\t\t )\n\t\t: LINK_OPTIONS;\n\n\tconst { columns, imageCrop, randomOrder, linkTarget, linkTo, sizeSlug } =\n\t\tattributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst {\n\t\tgetBlock,\n\t\tgetSettings,\n\t\tinnerBlockImages,\n\t\tblockWasJustInserted,\n\t\tmultiGallerySelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\twasBlockJustInserted,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tinnerBlockImages:\n\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\tblockWasJustInserted: wasBlockJustInserted(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'inserter_menu'\n\t\t\t\t),\n\t\t\t\tmultiGallerySelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.blob\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tblob: file.blob || createBlobURL( file ),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\tblob: image.blob,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue,\n\t\t\t\tfalse,\n\t\t\t\tblock.attributes,\n\t\t\t\tlightboxSetting\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.noticeText\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize?.label ?? newSizeSlug\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && blockWasJustInserted,\n\t\t\tonFocus,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ Platform.isWeb && (\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcolumns: undefined,\n\t\t\t\t\t\t\t\timageCrop: true,\n\t\t\t\t\t\t\t\trandomOrder: false,\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\tif ( sizeSlug !== DEFAULT_MEDIA_SIZE_SLUG ) {\n\t\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( linkTarget ) {\n\t\t\t\t\t\t\t\ttoggleOpenInNewTab( false );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\t!! columns && columns !== images.length\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetColumnsNumber( 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\t\t<RangeControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t\t\t: defaultColumnsNumber(\n\t\t\t\t\t\t\t\t\t\t\t\t\timages.length\n\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\t\tmax={ Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_COLUMNS,\n\t\t\t\t\t\t\t\t\t\timages.length\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\tsizeSlug !== DEFAULT_MEDIA_SIZE_SLUG\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\thasValue={ () => ! imageCrop }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { imageCrop: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\thasValue={ () => !! randomOrder }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { randomOrder: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\thasValue={ () => !! linkTarget }\n\t\t\t\t\t\t\t\tonDeselect={ () => toggleOpenInNewTab( false ) }\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={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t) }\n\t\t\t\t{ Platform.isNative && (\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ Platform.isWeb ? (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t{ linkOptions.map( ( linkItem ) => {\n\t\t\t\t\t\t\t\t\tconst isOptionSelected =\n\t\t\t\t\t\t\t\t\t\tlinkTo === linkItem.value;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tkey={ linkItem.value }\n\t\t\t\t\t\t\t\t\t\t\tisSelected={ isOptionSelected }\n\t\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t'is-active':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisOptionSelected,\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ linkItem.icon }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetLinkTo( linkItem.value );\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\t\tinfo={ linkItem.infoText }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ linkItem.label }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\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</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t</BlockControls>\n\t\t\t) : null }\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! multiGallerySelection && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","SelectControl","ToggleControl","RangeControl","MenuGroup","MenuItem","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","ToolbarDropdownMenu","PanelBody","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","useInnerBlocksProps","BlockControls","MediaReplaceFlow","useSettings","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","View","createBlock","createBlobURL","noticesStore","link","linkIcon","customLink","image","imageIcon","linkOff","fullscreen","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","useToolsPanelDropdownMenuProps","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","LINK_DESTINATION_LIGHTBOX","DEFAULT_MEDIA_SIZE_SLUG","useImageSizes","useGetNewImages","useGetMedia","GapStyles","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MAX_COLUMNS","LINK_OPTIONS","icon","label","value","noticeText","infoText","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","DEFAULT_BLOCK","name","EMPTY_ARRAY","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","lightboxSetting","linkOptions","allowEditing","filter","option","columns","imageCrop","randomOrder","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","createSuccessNotice","createErrorNotice","getBlock","getSettings","innerBlockImages","blockWasJustInserted","multiGallerySelection","select","_getBlock$innerBlocks","getBlockName","getMultiSelectedBlockClientIds","_getSettings","_getBlock","wasBlockJustInserted","multiSelectedClientIds","innerBlocks","length","every","_clientId","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","imageAttributes","find","newClassName","newLinkTarget","rel","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","blob","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","processedImages","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","uniqueByBlock","linkToText","linkType","setColumnsNumber","toggleImageCrop","toggleRandomOrder","toggleOpenInNewTab","openInNewTab","updateImagesSize","newSizeSlug","_imageSize$label","imageSize","size","window","wp","media","view","settings","defaultProps","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","handleUpload","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","dropdownMenuProps","children","hasLinkTo","isWeb","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","onChange","min","max","Math","required","__next40pxDefaultSize","help","options","hideCancelButton","checked","group","onClose","linkItem","isOptionSelected","iconPosition","onClick","role","info","mediaIds","blockGap","style","spacing"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToolbarDropdownMenu,\n\tPanelBody,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tlink as linkIcon,\n\tcustomLink,\n\timage as imageIcon,\n\tlinkOff,\n\tfullscreen,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_LIGHTBOX,\n\tDEFAULT_MEDIA_SIZE_SLUG,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst LINK_OPTIONS = [\n\t{\n\t\ticon: customLink,\n\t\tlabel: __( 'Link images to attachment pages' ),\n\t\tvalue: LINK_DESTINATION_ATTACHMENT,\n\t\tnoticeText: __( 'Attachment Pages' ),\n\t},\n\t{\n\t\ticon: imageIcon,\n\t\tlabel: __( 'Link images to media files' ),\n\t\tvalue: LINK_DESTINATION_MEDIA,\n\t\tnoticeText: __( 'Media Files' ),\n\t},\n\t{\n\t\ticon: fullscreen,\n\t\tlabel: __( 'Enlarge on click' ),\n\t\tvalue: LINK_DESTINATION_LIGHTBOX,\n\t\tnoticeText: __( 'Lightbox effect' ),\n\t\tinfoText: __( 'Scale images with a lightbox effect' ),\n\t},\n\t{\n\t\ticon: linkOff,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tnoticeText: __( 'None' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag and drop images, upload, or choose from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nexport default function GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst [ lightboxSetting ] = useSettings( 'blocks.core/image.lightbox' );\n\n\tconst linkOptions = ! lightboxSetting?.allowEditing\n\t\t? LINK_OPTIONS.filter(\n\t\t\t\t( option ) => option.value !== LINK_DESTINATION_LIGHTBOX\n\t\t )\n\t\t: LINK_OPTIONS;\n\n\tconst { columns, imageCrop, randomOrder, linkTarget, linkTo, sizeSlug } =\n\t\tattributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst {\n\t\tgetBlock,\n\t\tgetSettings,\n\t\tinnerBlockImages,\n\t\tblockWasJustInserted,\n\t\tmultiGallerySelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\twasBlockJustInserted,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tinnerBlockImages:\n\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\tblockWasJustInserted: wasBlockJustInserted(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'inserter_menu'\n\t\t\t\t),\n\t\t\t\tmultiGallerySelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.blob\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tblob: file.blob || createBlobURL( file ),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\tblob: image.blob,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue,\n\t\t\t\tfalse,\n\t\t\t\tblock.attributes,\n\t\t\t\tlightboxSetting\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.noticeText\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize?.label ?? newSizeSlug\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && blockWasJustInserted,\n\t\t\tonFocus,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ Platform.isWeb && (\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcolumns: undefined,\n\t\t\t\t\t\t\t\timageCrop: true,\n\t\t\t\t\t\t\t\trandomOrder: false,\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\tif ( sizeSlug !== DEFAULT_MEDIA_SIZE_SLUG ) {\n\t\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( linkTarget ) {\n\t\t\t\t\t\t\t\ttoggleOpenInNewTab( false );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\t!! columns && columns !== images.length\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetColumnsNumber( 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\t\t<RangeControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t\t\t: defaultColumnsNumber(\n\t\t\t\t\t\t\t\t\t\t\t\t\timages.length\n\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\t\tmax={ Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_COLUMNS,\n\t\t\t\t\t\t\t\t\t\timages.length\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\tsizeSlug !== DEFAULT_MEDIA_SIZE_SLUG\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\thasValue={ () => ! imageCrop }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { imageCrop: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\thasValue={ () => !! randomOrder }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { randomOrder: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\thasValue={ () => !! linkTarget }\n\t\t\t\t\t\t\t\tonDeselect={ () => toggleOpenInNewTab( false ) }\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={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t) }\n\t\t\t\t{ Platform.isNative && (\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ Platform.isWeb ? (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t{ linkOptions.map( ( linkItem ) => {\n\t\t\t\t\t\t\t\t\tconst isOptionSelected =\n\t\t\t\t\t\t\t\t\t\tlinkTo === linkItem.value;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tkey={ linkItem.value }\n\t\t\t\t\t\t\t\t\t\t\tisSelected={ isOptionSelected }\n\t\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t'is-active':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisOptionSelected,\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ linkItem.icon }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetLinkTo( linkItem.value );\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\t\tinfo={ linkItem.infoText }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ linkItem.label }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\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</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t</BlockControls>\n\t\t\t) : null }\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! multiGallerySelection && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -73,7 +73,6 @@ export function ImageEdit({
73
73
  }) {
74
74
  const {
75
75
  url = '',
76
- alt,
77
76
  caption,
78
77
  id,
79
78
  width,
@@ -96,10 +95,6 @@ export function ImageEdit({
96
95
  width: placeholderWidth
97
96
  }] = useResizeObserver();
98
97
  const isSmallContainer = placeholderWidth && placeholderWidth < 160;
99
- const altRef = useRef();
100
- useEffect(() => {
101
- altRef.current = alt;
102
- }, [alt]);
103
98
  const captionRef = useRef();
104
99
  useEffect(() => {
105
100
  captionRef.current = caption;
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","isBlobURL","createBlobURL","createBlock","getBlockBindingsSource","Placeholder","useDispatch","useSelect","BlockIcon","useBlockProps","MediaPlaceholder","store","blockEditorStore","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","useEffect","useRef","useState","__","sprintf","image","icon","plugins","pluginsIcon","noticesStore","useResizeObserver","useUploadMediaFromBlobURL","Image","isValidFileType","useMaxWidthObserver","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","DEFAULT_MEDIA_SIZE_SLUG","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","pickRelevantMediaFiles","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","isExternalImage","id","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","isSingleSelected","className","insertBlocksAfter","onReplace","context","clientId","__unstableParentLayout","parentLayout","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","blob","containerRef","layoutType","type","default","isMaxWidthContainerWidth","maxWidthObserver","maxContentWidth","placeholderResizeListener","placeholderWidth","isSmallContainer","altRef","current","captionRef","__unstableMarkNextChangeAsNotPersistent","replaceBlock","undefined","getSettings","getBlockRootClientId","getBlockName","canInsertBlockType","blockEditingMode","createErrorNotice","onUploadError","message","src","onSelectImagesList","images","win","ownerDocument","defaultView","every","file","File","files","rootClientId","some","imageBlocks","map","galleryBlock","onSelectImage","media","Array","isArray","title","imageDefaultSize","newSize","mediaAttributes","replace","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","href","onSelectURL","newURL","allowedTypes","onChange","onError","isExternal","mediaPreview","borderProps","shadowProps","classes","style","keys","length","blockProps","ref","lockUrlControls","lockUrlControlsMessage","select","blockBindingsSource","bindings","source","canUserEditValue","args","label","placeholder","content","withIllustration","instructions","objectFit","children","parentLayoutType","onSelect","accept","handleUpload","value","disableMediaButtons"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL, createBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockBindingsSource } from '@wordpress/blocks';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tuseBlockProps,\n\tMediaPlaceholder,\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';\nimport { useResizeObserver } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport Image from './image';\nimport { isValidFileType } from './utils';\nimport { useMaxWidthObserver } from './use-max-width-observer';\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\tDEFAULT_MEDIA_SIZE_SLUG,\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 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\t__unstableParentLayout: parentLayout,\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\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tconst containerRef = useRef();\n\t// Only observe the max width from the parent container when the parent layout is not flex nor grid.\n\t// This won't work for them because the container width changes with the image.\n\t// TODO: Find a way to observe the container width for flex and grid layouts.\n\tconst layoutType = parentLayout?.type || parentLayout?.default?.type;\n\tconst isMaxWidthContainerWidth =\n\t\t! layoutType || ( layoutType !== 'flex' && layoutType !== 'grid' );\n\tconst [ maxWidthObserver, maxContentWidth ] = useMaxWidthObserver();\n\n\tconst [ placeholderResizeListener, { width: placeholderWidth } ] =\n\t\tuseResizeObserver();\n\n\tconst isSmallContainer = placeholderWidth && placeholderWidth < 160;\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, replaceBlock } =\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}, [ __unstableMarkNextChangeAsNotPersistent, align, setAttributes ] );\n\n\tconst {\n\t\tgetSettings,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tcanInsertBlockType,\n\t} = 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\tblob: undefined,\n\t\t} );\n\t}\n\n\tfunction onSelectImagesList( images ) {\n\t\tconst win = containerRef.current?.ownerDocument.defaultView;\n\n\t\tif ( images.every( ( file ) => file instanceof win.File ) ) {\n\t\t\t/** @type {File[]} */\n\t\t\tconst files = images;\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\tif ( files.some( ( file ) => ! isValidFileType( file ) ) ) {\n\t\t\t\t// Copied from the same notice in the gallery block.\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t\t),\n\t\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst imageBlocks = files\n\t\t\t\t.filter( ( file ) => isValidFileType( file ) )\n\t\t\t\t.map( ( file ) =>\n\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\tif ( getBlockName( rootClientId ) === 'core/gallery' ) {\n\t\t\t\treplaceBlock( clientId, imageBlocks );\n\t\t\t} else if ( canInsertBlockType( 'core/gallery', rootClientId ) ) {\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{},\n\t\t\t\t\timageBlocks\n\t\t\t\t);\n\n\t\t\t\treplaceBlock( clientId, galleryBlock );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( Array.isArray( media ) ) {\n\t\t\tonSelectImagesList( media );\n\t\t\treturn;\n\t\t}\n\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\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\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\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 = DEFAULT_MEDIA_SIZE_SLUG;\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// Normalize newline characters in caption to <br />\n\t\t// to preserve line breaks in both editor and frontend.\n\t\tif (\n\t\t\ttypeof mediaAttributes.caption === 'string' &&\n\t\t\tmediaAttributes.caption.includes( '\\n' )\n\t\t) {\n\t\t\tmediaAttributes.caption = mediaAttributes.caption.replace(\n\t\t\t\t/\\n/g,\n\t\t\t\t'<br>'\n\t\t\t);\n\t\t}\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}\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\tblob: undefined,\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\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\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectImage,\n\t\tonError: onUploadError,\n\t} );\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 = clsx( 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: containerRef,\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 = getBlockBindingsSource(\n\t\t\t\tmetadata?.bindings?.url?.source\n\t\t\t);\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?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\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[ context, isSingleSelected, metadata?.bindings?.url ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx( '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\ticon={\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t( lockUrlControls ? pluginsIcon : icon )\n\t\t\t\t}\n\t\t\t\twithIllustration={ ! isSingleSelected || isSmallContainer }\n\t\t\t\tlabel={ ! isSmallContainer && __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Drag and drop an image, upload, or choose from your library.'\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! isSmallContainer &&\n\t\t\t\t\tlockUrlControlsMessage }\n\n\t\t\t\t{ ! lockUrlControls && ! isSmallContainer && content }\n\t\t\t\t{ placeholderResizeListener }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t<Image\n\t\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSingleSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\t\tcontext={ context }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t\tparentLayoutType={ layoutType }\n\t\t\t\t\tmaxContentWidth={ maxContentWidth }\n\t\t\t\t/>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\thandleUpload={ ( files ) => files.length === 1 }\n\t\t\t\t\tvalue={ { id, src } }\n\t\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t\t{\n\t\t\t\t// The listener cannot be placed as the first element as it will break the in-between inserter.\n\t\t\t\t// See https://github.com/WordPress/gutenberg/blob/71134165868298fc15e22896d0c28b41b3755ff7/packages/block-editor/src/components/block-list/use-in-between-inserter.js#L120\n\t\t\t\tisSingleSelected && isMaxWidthContainerWidth && maxWidthObserver\n\t\t\t}\n\t\t</>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","isBlobURL","createBlobURL","createBlock","getBlockBindingsSource","Placeholder","useDispatch","useSelect","BlockIcon","useBlockProps","MediaPlaceholder","store","blockEditorStore","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","useEffect","useRef","useState","__","sprintf","image","icon","plugins","pluginsIcon","noticesStore","useResizeObserver","useUploadMediaFromBlobURL","Image","isValidFileType","useMaxWidthObserver","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","DEFAULT_MEDIA_SIZE_SLUG","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","pickRelevantMediaFiles","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","isExternalImage","id","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","isSingleSelected","className","insertBlocksAfter","onReplace","context","clientId","__unstableParentLayout","parentLayout","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","blob","containerRef","layoutType","type","default","isMaxWidthContainerWidth","maxWidthObserver","maxContentWidth","placeholderResizeListener","placeholderWidth","isSmallContainer","captionRef","current","__unstableMarkNextChangeAsNotPersistent","replaceBlock","undefined","getSettings","getBlockRootClientId","getBlockName","canInsertBlockType","blockEditingMode","createErrorNotice","onUploadError","message","src","onSelectImagesList","images","win","ownerDocument","defaultView","every","file","File","files","rootClientId","some","imageBlocks","map","galleryBlock","onSelectImage","media","Array","isArray","alt","title","imageDefaultSize","newSize","mediaAttributes","replace","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","href","onSelectURL","newURL","allowedTypes","onChange","onError","isExternal","mediaPreview","borderProps","shadowProps","classes","style","keys","length","blockProps","ref","lockUrlControls","lockUrlControlsMessage","select","blockBindingsSource","bindings","source","canUserEditValue","args","label","placeholder","content","withIllustration","instructions","objectFit","children","parentLayoutType","onSelect","accept","handleUpload","value","disableMediaButtons"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL, createBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockBindingsSource } from '@wordpress/blocks';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tuseBlockProps,\n\tMediaPlaceholder,\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';\nimport { useResizeObserver } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport Image from './image';\nimport { isValidFileType } from './utils';\nimport { useMaxWidthObserver } from './use-max-width-observer';\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\tDEFAULT_MEDIA_SIZE_SLUG,\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 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\t__unstableParentLayout: parentLayout,\n} ) {\n\tconst {\n\t\turl = '',\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\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tconst containerRef = useRef();\n\t// Only observe the max width from the parent container when the parent layout is not flex nor grid.\n\t// This won't work for them because the container width changes with the image.\n\t// TODO: Find a way to observe the container width for flex and grid layouts.\n\tconst layoutType = parentLayout?.type || parentLayout?.default?.type;\n\tconst isMaxWidthContainerWidth =\n\t\t! layoutType || ( layoutType !== 'flex' && layoutType !== 'grid' );\n\tconst [ maxWidthObserver, maxContentWidth ] = useMaxWidthObserver();\n\n\tconst [ placeholderResizeListener, { width: placeholderWidth } ] =\n\t\tuseResizeObserver();\n\n\tconst isSmallContainer = placeholderWidth && placeholderWidth < 160;\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent, replaceBlock } =\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}, [ __unstableMarkNextChangeAsNotPersistent, align, setAttributes ] );\n\n\tconst {\n\t\tgetSettings,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tcanInsertBlockType,\n\t} = 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\tblob: undefined,\n\t\t} );\n\t}\n\n\tfunction onSelectImagesList( images ) {\n\t\tconst win = containerRef.current?.ownerDocument.defaultView;\n\n\t\tif ( images.every( ( file ) => file instanceof win.File ) ) {\n\t\t\t/** @type {File[]} */\n\t\t\tconst files = images;\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\tif ( files.some( ( file ) => ! isValidFileType( file ) ) ) {\n\t\t\t\t// Copied from the same notice in the gallery block.\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t\t),\n\t\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst imageBlocks = files\n\t\t\t\t.filter( ( file ) => isValidFileType( file ) )\n\t\t\t\t.map( ( file ) =>\n\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\tif ( getBlockName( rootClientId ) === 'core/gallery' ) {\n\t\t\t\treplaceBlock( clientId, imageBlocks );\n\t\t\t} else if ( canInsertBlockType( 'core/gallery', rootClientId ) ) {\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{},\n\t\t\t\t\timageBlocks\n\t\t\t\t);\n\n\t\t\t\treplaceBlock( clientId, galleryBlock );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( Array.isArray( media ) ) {\n\t\t\tonSelectImagesList( media );\n\t\t\treturn;\n\t\t}\n\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\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\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\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 = DEFAULT_MEDIA_SIZE_SLUG;\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// Normalize newline characters in caption to <br />\n\t\t// to preserve line breaks in both editor and frontend.\n\t\tif (\n\t\t\ttypeof mediaAttributes.caption === 'string' &&\n\t\t\tmediaAttributes.caption.includes( '\\n' )\n\t\t) {\n\t\t\tmediaAttributes.caption = mediaAttributes.caption.replace(\n\t\t\t\t/\\n/g,\n\t\t\t\t'<br>'\n\t\t\t);\n\t\t}\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}\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\tblob: undefined,\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\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\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectImage,\n\t\tonError: onUploadError,\n\t} );\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 = clsx( 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: containerRef,\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 = getBlockBindingsSource(\n\t\t\t\tmetadata?.bindings?.url?.source\n\t\t\t);\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?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\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[ context, isSingleSelected, metadata?.bindings?.url ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx( '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\ticon={\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t( lockUrlControls ? pluginsIcon : icon )\n\t\t\t\t}\n\t\t\t\twithIllustration={ ! isSingleSelected || isSmallContainer }\n\t\t\t\tlabel={ ! isSmallContainer && __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Drag and drop an image, upload, or choose from your library.'\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! isSmallContainer &&\n\t\t\t\t\tlockUrlControlsMessage }\n\n\t\t\t\t{ ! lockUrlControls && ! isSmallContainer && content }\n\t\t\t\t{ placeholderResizeListener }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t<Image\n\t\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSingleSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\t\tcontext={ context }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t\tparentLayoutType={ layoutType }\n\t\t\t\t\tmaxContentWidth={ maxContentWidth }\n\t\t\t\t/>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\thandleUpload={ ( files ) => files.length === 1 }\n\t\t\t\t\tvalue={ { id, src } }\n\t\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t\t{\n\t\t\t\t// The listener cannot be placed as the first element as it will break the in-between inserter.\n\t\t\t\t// See https://github.com/WordPress/gutenberg/blob/71134165868298fc15e22896d0c28b41b3755ff7/packages/block-editor/src/components/block-list/use-in-between-inserter.js#L120\n\t\t\t\tisSingleSelected && isMaxWidthContainerWidth && maxWidthObserver\n\t\t\t}\n\t\t</>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -571,7 +571,7 @@ export default function Image({
571
571
  };
572
572
  }, [arePatternOverridesEnabled, context, isSingleSelected, metadata?.bindings]);
573
573
  const showUrlInput = isSingleSelected && !isEditingImage && !lockHrefControls && !lockUrlControls;
574
- const showCoverControls = isSingleSelected && canInsertCover;
574
+ const showCoverControls = isSingleSelected && canInsertCover && !isContentOnlyMode;
575
575
  const showBlockControls = showUrlInput || allowCrop || showCoverControls;
576
576
  const mediaReplaceFlow = isSingleSelected && !isEditingImage && !lockUrlControls &&
577
577
  /*#__PURE__*/