{
  "version": 3,
  "sources": ["../../src/hooks/media-upload.js"],
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { addFilter } from '@wordpress/hooks';\nimport deprecated from '@wordpress/deprecated';\nimport {\n\tMediaUpload,\n\tprivateApis as mediaUtilsPrivateApis,\n} from '@wordpress/media-utils';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { MediaUploadModal: MediaUploadModalComponent } = unlock(\n\tmediaUtilsPrivateApis\n);\n\n/**\n * Class component wrapper for MediaUploadModal to maintain compatibility\n * with the stable MediaUpload component API (render prop pattern).\n */\nclass MediaUploadModalWrapper extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t};\n\t\tthis.openModal = this.openModal.bind( this );\n\t\tthis.closeModal = this.closeModal.bind( this );\n\t}\n\n\topenModal() {\n\t\tthis.setState( { isOpen: true } );\n\t}\n\n\tcloseModal() {\n\t\tthis.setState( { isOpen: false } );\n\t\tthis.props.onClose?.();\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tallowedTypes,\n\t\t\tmultiple,\n\t\t\tvalue,\n\t\t\tonSelect,\n\t\t\ttitle,\n\t\t\tmodalClass,\n\t\t\trender,\n\t\t} = this.props;\n\t\tconst { isOpen } = this.state;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ render( { open: this.openModal } ) }\n\t\t\t\t<MediaUploadModalComponent\n\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonSelect={ ( media ) => {\n\t\t\t\t\t\tonSelect( media );\n\t\t\t\t\t\tthis.closeModal();\n\t\t\t\t\t} }\n\t\t\t\t\tonClose={ this.closeModal }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\tmodalClass={ modalClass }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nif ( window.__experimentalDataViewsMediaModal ) {\n\t// Use the wrapper component for editor.MediaUpload when the experimental flag is enabled\n\taddFilter(\n\t\t'editor.MediaUpload',\n\t\t'core/editor/components/media-upload',\n\t\t() => {\n\t\t\tdeprecated( 'Extending MediaUpload as a class component', {\n\t\t\t\tsince: '7.0',\n\t\t\t\tversion: '7.2',\n\t\t\t\thint: 'MediaUpload will become a function component in WordPress 7.2 Please update any custom implementations to use function components instead.',\n\t\t\t} );\n\t\t\treturn MediaUploadModalWrapper;\n\t\t}\n\t);\n} else {\n\taddFilter(\n\t\t'editor.MediaUpload',\n\t\t'core/editor/components/media-upload',\n\t\t() => {\n\t\t\treturn MediaUpload;\n\t\t}\n\t);\n}\n"],
  "mappings": ";AAGA,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,OAAO,gBAAgB;AACvB;AAAA,EACC;AAAA,EACA,eAAe;AAAA,OACT;AAKP,SAAS,cAAc;AA0CpB,mBAEC,KAFD;AAxCH,IAAM,EAAE,kBAAkB,0BAA0B,IAAI;AAAA,EACvD;AACD;AAMA,IAAM,0BAAN,cAAsC,UAAU;AAAA,EAC/C,YAAa,OAAQ;AACpB,UAAO,KAAM;AACb,SAAK,QAAQ;AAAA,MACZ,QAAQ;AAAA,IACT;AACA,SAAK,YAAY,KAAK,UAAU,KAAM,IAAK;AAC3C,SAAK,aAAa,KAAK,WAAW,KAAM,IAAK;AAAA,EAC9C;AAAA,EAEA,YAAY;AACX,SAAK,SAAU,EAAE,QAAQ,KAAK,CAAE;AAAA,EACjC;AAAA,EAEA,aAAa;AACZ,SAAK,SAAU,EAAE,QAAQ,MAAM,CAAE;AACjC,SAAK,MAAM,UAAU;AAAA,EACtB;AAAA,EAEA,SAAS;AACR,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI,KAAK;AACT,UAAM,EAAE,OAAO,IAAI,KAAK;AAExB,WACC,iCACG;AAAA,aAAQ,EAAE,MAAM,KAAK,UAAU,CAAE;AAAA,MACnC;AAAA,QAAC;AAAA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAW,CAAE,UAAW;AACvB,qBAAU,KAAM;AAChB,iBAAK,WAAW;AAAA,UACjB;AAAA,UACA,SAAU,KAAK;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACD;AAAA,OACD;AAAA,EAEF;AACD;AAEA,IAAK,OAAO,mCAAoC;AAE/C;AAAA,IACC;AAAA,IACA;AAAA,IACA,MAAM;AACL,iBAAY,8CAA8C;AAAA,QACzD,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MACP,CAAE;AACF,aAAO;AAAA,IACR;AAAA,EACD;AACD,OAAO;AACN;AAAA,IACC;AAAA,IACA;AAAA,IACA,MAAM;AACL,aAAO;AAAA,IACR;AAAA,EACD;AACD;",
  "names": []
}
