/*! For license information please see wp-media.js.LICENSE.txt */
!function(){"use strict";var e={react:function(e){e.exports=window.React},"@elementor/query":function(e){e.exports=window.elementorV2.query},"@elementor/utils":function(e){e.exports=window.elementorV2.utils}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};!function(){n.r(r),n.d(r,{useWpMediaAttachment:function(){return l},useWpMediaFrame:function(){return f}});var e=n("@elementor/query"),t=n("@elementor/utils"),o=n("react"),i=(0,t.createError)({code:"wp_media_not_available",message:"`wp.media` is not available, make sure the `media-models` handle is set in the dependencies array"}),u=window,a=()=>{if(!u.wp?.media)throw new i;return u.wp.media};function c(e){const{filesizeInBytes:t,filesizeHumanReadable:n,author:r,authorName:o,...i}=e;return{...i,filesize:{inBytes:t,humanReadable:n},author:{id:parseInt(r),name:o}}}function l(t){return(0,e.useQuery)({queryKey:["wp-attachment",t],queryFn:s,enabled:!!t})}async function s({queryKey:[,e]}){if(!e)return null;const t=a().attachment(e),n=t.toJSON();if("url"in n)return c(n);try{return c(await t.fetch())}catch{return null}}function f(e){const t=(0,o.useRef)();return(0,o.useEffect)((()=>()=>{d(t.current)}),[]),{open:(n={})=>{d(t.current),t.current=function({onSelect:e,multiple:t,types:n,selected:r,title:o,mode:i="browse"}){const u=a()({title:o,multiple:t,library:{type:n}}).on("open",(()=>{!function(e,t="browse"){e.content.mode(t)}(u,i),function(e,t){const n=("number"==typeof t?[t]:t)?.filter((e=>!!e)).map((e=>a().attachment(e)));e.state().get("selection").set(n||[])}(u,r)})).on("close",(()=>d(u))).on("insert select",(()=>function(e,t,n){const r=e.state().get("selection").toJSON().map(c);n(t?r:r[0])}(u,t,e)));return u}({...e,...n}),t.current?.open()}}}function d(e){e?.detach(),e?.remove()}}(),(window.elementorV2=window.elementorV2||{}).wpMedia=r}();