@bluepic/embed 0.4.0-next.191 → 0.4.0-next.193

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.cjs CHANGED
@@ -145,7 +145,7 @@ list should be an Array.`),P.length===0)return new w(0);if(P.length===1)return P
145
145
  `).slice(0,r.maxLines??1/0).map(fe=>fe.slice(0,r.maxLineLength??1/0)).join(`
146
146
  `).slice(0,r.maxLength??1/0));o.watch(l,re=>{Er(re,h.value)||(d.value=re)}),o.watch(d,re=>{if(typeof re=="object"&&re!==null){const se=_8(re,0,r.maxLength);l.value=se}else{const fe=String(re).split(`
147
147
  `);l.value!==h.value&&(l.value=h.value),r.maxLineLength!==1/0&&r.maxLineLength!==null&&(s.value=fe.filter(Ae=>Ae.length>(r.maxLineLength??1/0)).map(Ae=>({index:fe.indexOf(Ae),length:Ae.length}))),r.maxLines!==1/0&&r.maxLines!==null&&(u.value=Math.max(0,String(re).split(`
148
- `).length-(r.maxLines??1/0))),r.maxLength!==1/0&&r.maxLength!==null&&(f.value=String(re).length-r.maxLength)}});const g=o.computed({get(){return pm(y.value)},set(re){r.richtext?d.value=[{text:re,format:{}}]:d.value=re}}),y=o.computed({get(){return kx(l.value)},set(re){r.richtext?d.value=re:d.value=pm(re)}}),w=o.ref(),C=$a("bx-input-count"),S=o.computed(()=>r.state==="error"||c.value),x=o.computed(()=>r.showWordCount?C:void 0),_=o.ref();let z;const A=o.ref(!1);o.watch(A,()=>{A.value?a("focus"):a("blur",z)});function T(re){A.value=!0}function k(re){z=re,A.value=!1}o.watch(_,(re,se)=>{re&&(se&&(se.removeEventListener("focus",T),se.removeEventListener("blur",k)),re.addEventListener("focus",T),re.addEventListener("blur",k))});const M=o.computed(()=>String(Math.max(1,r.maxRows)));function E(){if(r.type!=="textarea")return;const re=_.value;!re||re.tagName!=="TEXTAREA"||(re.style.height="auto",re.style.height=`${re.scrollHeight}px`)}o.watch([_,g,()=>r.type,()=>r.minHeight,()=>r.maxHeight,M],async()=>{await o.nextTick(),E()},{immediate:!0,flush:"post"}),window.addEventListener("blur",k);const $=()=>{var re;r.disabled||r.readonly||(re=_.value)==null||re.focus()},N=re=>{re.key==="Enter"&&a("enter",re)},m=o.ref(""),q=o.computed(()=>{const re=r.richtext?m.value:d.value;return[...new Intl.Segmenter().segment(re)].length}),H=o.computed(()=>r.richtext?m.value.length>0:String(d.value).length>0);function W(re){return re.en}const B=o.ref(),I=o.ref({start:0,length:0}),O=o.computed({get(){var K,P;const re=(K=w.value)==null?void 0:K.richTextInstance;if(!re)return;const fe=re.resolveFeatures(I.value.start,I.value.length).flat(),Ae=G(fe);if(Ae!==void 0)return Ae===null?"multiple":(P=R.value.find(j=>Er(j.value,Ae)))==null?void 0:P.value},set(re){var fe;const se=(fe=w.value)==null?void 0:fe.richTextInstance;se&&re!=="multiple"&&(re===void 0?se.applyFormat(I.value.start,I.value.length,{}):(se.resolveFeatures(I.value.start,I.value.length),se.applyFormat(I.value.start,I.value.length,re)),F.value.closePopover())}});o.watch(B,()=>{B.value&&(I.value=B.value)});const R=o.computed(()=>r.richtext?[{label:W(r.richtext.noStyleLabel),value:void 0},...r.richtext.options.map((re,se)=>({label:re.label,value:re.style}))]:[]),F=o.ref();function G(re){let se=!1,fe;for(const Ae of re)if(!fe)fe=Ae.format;else if(!Er(fe,Ae.format)){se=!0;break}return se?null:fe}function ne(){r.richtext?y.value=[{text:"",format:{}}]:l.value=""}return o.onUnmounted(()=>{s.value=[],u.value=0,f.value=0}),t({inputEelRef:_,setFocus(re){var se,fe;re?(se=_.value)==null||se.focus():(fe=_.value)==null||fe.blur()}}),(re,se)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["bx-input",{readonly:e.readonly,bordered:e.bordered,"is-textarea":e.type==="textarea"}])},[e.richtext?(o.openBlock(),o.createBlock(Ur,{key:0,ref_key:"bxSelectRef",ref:F,class:"select-richtext",modelValue:O.value,"onUpdate:modelValue":se[0]||(se[0]=fe=>O.value=fe),options:R.value,disabled:!I.value||I.value.length===0},{label:o.withCtx(({label:fe})=>[o.createTextVNode(o.toDisplayString(fe??"Multiple"),1)]),_:1},8,["modelValue","options","disabled"])):o.createCommentVNode("",!0),o.createElementVNode("div",{class:o.normalizeClass(["bx-input-wrapper",{focus:A.value&&!e.readonly,round:e.round,ring:e.ring,bordered:e.bordered,["size-"+e.size]:e.size,disabled:e.disabled,readonly:e.readonly,"rich-text":e.richtext,error:c.value,"state-active":e.state==="active","state-success":e.state==="success","state-error":e.state==="error","state-warning":e.state==="warning",ghost:e.ghost}]),style:o.normalizeStyle({"--max-height":e.richtext?"auto":e.maxHeight,"--min-height":e.minHeight,"--textarea-max-lines":M.value}),onClick:$},[i.prefix?(o.openBlock(),o.createElementBlock("div",IX,[o.renderSlot(re.$slots,"prefix",{},void 0,!0)])):o.createCommentVNode("",!0),o.createElementVNode("div",{class:o.normalizeClass(["bx-input__input",{"swiper-no-swiping":A.value,"has-prefix":!!i.prefix}])},[e.richtext?(o.openBlock(),o.createBlock(Lx,{key:0,ref_key:"bxRichTextInstance",ref:w,modelValue:y.value,"onUpdate:modelValue":se[1]||(se[1]=fe=>y.value=fe),selection:B.value,"onUpdate:selection":se[2]||(se[2]=fe=>B.value=fe),"raw-text":m.value,"onUpdate:rawText":se[3]||(se[3]=fe=>m.value=fe),focus:A.value,"onUpdate:focus":se[4]||(se[4]=fe=>A.value=fe),"aria-label":e.ariaLabelledby?void 0:e.ariaLabel,"aria-labelledby":e.ariaLabelledby},null,8,["modelValue","selection","raw-text","focus","aria-label","aria-labelledby"])):(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[e.type==="textarea"?o.withDirectives((o.openBlock(),o.createElementBlock("textarea",{key:0,ref_key:"inputEelRef",ref:_,rows:"1",class:o.normalizeClass({resizeable:e.resizeable}),"onUpdate:modelValue":se[5]||(se[5]=fe=>g.value=fe),placeholder:e.placeholder,onKeydown:N,readonly:e.readonly,title:e.readonly?e.readonlyMessage:void 0,"aria-label":e.ariaLabelledby?void 0:e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-invalid":S.value?"true":void 0,"aria-describedby":x.value},null,42,AX)),[[o.vModelText,g.value]]):o.withDirectives((o.openBlock(),o.createElementBlock("input",{key:1,ref_key:"inputEelRef",ref:_,"onUpdate:modelValue":se[6]||(se[6]=fe=>l.value=fe),readonly:e.readonly,placeholder:e.placeholder,type:e.type,onKeydown:N,title:e.readonly?e.readonlyMessage:void 0,"aria-label":e.ariaLabelledby?void 0:e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-invalid":S.value?"true":void 0,"aria-describedby":x.value},null,40,BX)),[[o.vModelDynamic,l.value]])],64))],2),i.suffix||e.clearable||e.showWordCount||i.loading||e.loading||c.value?(o.openBlock(),o.createElementBlock("div",{key:1,"data-suffix":!!i.suffix,class:"bx-input__suffix"},[i.loading||e.loading?(o.openBlock(),o.createElementBlock("div",LX,[i.loading?o.renderSlot(re.$slots,"loading",{},void 0,!0,0):(o.openBlock(),o.createBlock(zl,{key:1,size:"small"}))])):o.createCommentVNode("",!0),o.renderSlot(re.$slots,"suffix",{},void 0,!0),e.showWordCount?(o.openBlock(),o.createElementBlock("div",{key:1,id:o.unref(C),class:"bx-input__word-count"},[e.maxLength&&e.maxLength!==1/0?(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createTextVNode(o.toDisplayString(q.value)+" / "+o.toDisplayString(e.maxLength),1)],64)):(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createTextVNode(o.toDisplayString(q.value),1)],64))],8,TX)):o.createCommentVNode("",!0),c.value?(o.openBlock(),o.createBlock(E0,{key:2,trigger:"hover","custom-popover-classes":["text-overflow-tooltip"],"allowed-placements":["bottom","top","right"]},{trigger:o.withCtx(()=>[o.createVNode(ct,{circle:"",size:"tiny",secondary:"",state:"error",class:"errors-button","aria-label":"Show input warnings"},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[o.createVNode(o.unref(ox))]),_:1})]),_:1})]),content:o.withCtx(()=>{var fe,Ae,K;return[o.createElementVNode("div",MX,[(fe=p.value)!=null&&fe.overflowingCharacters?(o.openBlock(),o.createElementBlock("div",PX,[o.createElementVNode("span",DX,o.toDisplayString(e.maxLength+f.value)+" / "+o.toDisplayString(e.maxLength),1),se[7]||(se[7]=o.createTextVNode(" characters ",-1))])):o.createCommentVNode("",!0),(Ae=p.value)!=null&&Ae.overlowingLines?(o.openBlock(),o.createElementBlock("div",$X,[o.createElementVNode("span",NX,o.toDisplayString(e.maxLines+u.value)+" / "+o.toDisplayString(e.maxLines),1),se[8]||(se[8]=o.createTextVNode(" lines ",-1))])):o.createCommentVNode("",!0),(K=p.value)!=null&&K.lineOverflows?(o.openBlock(),o.createElementBlock("div",RX,[se[9]||(se[9]=o.createTextVNode(" Lines are too long: ",-1)),o.createElementVNode("ul",null,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(p.value.lineOverflows,({index:P,length:j})=>(o.openBlock(),o.createElementBlock("li",null,[o.createElementVNode("span",jX,"("+o.toDisplayString(P+1)+")",1),o.createElementVNode("span",FX,o.toDisplayString(j)+" / "+o.toDisplayString(e.maxLineLength),1)]))),256))])])):o.createCommentVNode("",!0)])]}),_:1})):o.createCommentVNode("",!0),e.clearable&&H.value?(o.openBlock(),o.createElementBlock("button",{key:3,type:"button",class:"bx-input__clear-btn",onClick:o.withModifiers(ne,["stop"]),title:"Clear","aria-label":"Clear"},[o.createVNode(Je,{size:12},{default:o.withCtx(()=>[o.createVNode(o.unref(jo))]),_:1})])):o.createCommentVNode("",!0)],8,OX)):o.createCommentVNode("",!0)],6)],2))}}),Si=Qe(VX,[["__scopeId","data-v-19f6427a"]]);function iv(e){return new URLSearchParams(Object.fromEntries(Object.entries(e).map(([t,n])=>[t,String(n)]))).toString()}function UX(e){const t=o.ref([]),n=o.ref(0);let r=25;async function a(i,l){l=l??t.value.length??0;const s=await(await fetch(`https://api.pexels.com/v1/search?${iv({page:Math.ceil(l/r),query:i,per_page:r})}`,{headers:{Authorization:e}})).json();if("error"in s)throw new Error(s.error);n.value=s.total_results,t.value=[...t.value.slice(0,l),...s.photos]}return{photos:t,total:n,searchPhotos:a}}const ZX=o.defineComponent({__name:"LazyLoadingItemWrapper",emits:["update:visible"],setup(e,{emit:t}){o.ref();const n=t,r=o.ref(),a=OP(r);return n("update:visible",a.value),o.watch(a,(i,l)=>{!l&&i&&n("update:visible",a.value)}),(i,l)=>(o.openBlock(),o.createElementBlock("div",{class:"item-wrapper",ref_key:"itemWrapperRef",ref:r},[o.renderSlot(i.$slots,"default")],512))}}),qX=o.defineComponent({__name:"LazyLoading",props:{items:{},total:{},fetch:{type:Function},visibleTriggerOffset:{}},setup(e){o.ref();const t=e;t.fetch(0);const n=(r,a)=>{a&&r>=t.items.length-t.visibleTriggerOffset-1&&t.total>t.items.length&&t.fetch()};return(r,a)=>(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.items,(i,l)=>(o.openBlock(),o.createBlock(ZX,{key:l,class:"item-wrapper",item:i,index:l,"onUpdate:visible":d=>n(l,d)},{default:o.withCtx(()=>[o.renderSlot(r.$slots,"item",{item:i,index:l})]),_:2},1032,["item","index","onUpdate:visible"]))),128))}}),HX={class:"bx-empty-icon"},WX={key:1,viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},GX={key:0,class:"bx-empty-description"},XX={key:1,class:"bx-empty-extra"},YX=o.defineComponent({__name:"BxEmpty",props:{description:{default:"No Data"},size:{default:"medium"}},setup(e){const t=o.useSlots();return(n,r)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["bx-empty",{[`size-${e.size}`]:!0}])},[o.createElementVNode("div",HX,[t.icon?o.renderSlot(n.$slots,"icon",{},void 0,!0,0):(o.openBlock(),o.createElementBlock("svg",WX,[...r[0]||(r[0]=[o.createElementVNode("path",{d:"M26 7.5C26 11.0899 23.0899 14 19.5 14C15.9101 14 13 11.0899 13 7.5C13 3.91015 15.9101 1 19.5 1C23.0899 1 26 3.91015 26 7.5ZM14 7.5C14 3.91015 11.0899 1 7.5 1C3.91015 1 1 3.91015 1 7.5C1 11.0899 3.91015 14 7.5 14C11.0899 14 14 11.0899 14 7.5ZM14 19.5C14 15.9101 11.0899 13 7.5 13C3.91015 13 1 15.9101 1 19.5C1 23.0899 3.91015 26 7.5 26C11.0899 26 14 23.0899 14 19.5Z",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round",opacity:"0.4"},null,-1),o.createElementVNode("circle",{cx:"19.5",cy:"19.5",r:"6.5",stroke:"currentColor","stroke-width":"1.5","stroke-dasharray":"3 3",opacity:"0.25"},null,-1)])]))]),e.description||t.description?(o.openBlock(),o.createElementBlock("div",GX,[t.description?o.renderSlot(n.$slots,"description",{},void 0,!0,0):(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createTextVNode(o.toDisplayString(e.description),1)],64))])):o.createCommentVNode("",!0),t.default?(o.openBlock(),o.createElementBlock("div",XX,[o.renderSlot(n.$slots,"default",{},void 0,!0)])):o.createCommentVNode("",!0)],2))}}),d3=Qe(YX,[["__scopeId","data-v-d66bc5e4"]]),KX={class:"image-library-pexels"},JX={class:"search-bar-wrapper"},QX={key:0,class:"photos"},eY=["onClick"],tY=["src"],nY={key:0,class:"loading-wrapper"},rY={key:1,class:"loading-wrapper"},aY=o.defineComponent({__name:"Pexels",props:{apiKey:{},width:{},height:{},uploadContext:{},uploadImageAsset:{type:Function}},emits:["select"],setup(e,{emit:t}){const n=Bl(),r=e,a=t,i=o.ref("city"),{searchPhotos:l,photos:d,total:s}=UX(r.apiKey),u=o.ref(),f=o.ref(!1);async function p(){i.value.length>0&&(f.value=!0,s.value=25,d.value=[],await l(i.value),u.value=i.value,f.value=!1)}async function c(y,w){await l(i.value,y)}const h=o.ref();async function g(y){h.value=y.id;const w=await r.uploadImageAsset({blob:await fetch(n(y.src.original)).then(C=>C.blob()),context:r.uploadContext,width:r.width,height:r.height,key:`pexels-${y.id}`,name:y.id.toString(),onProgress(C){console.log("upload progress",C)}});h.value=void 0,a("select",w.src)}return(y,w)=>(o.openBlock(),o.createElementBlock("div",KX,[o.createElementVNode("header",null,[o.createElementVNode("div",JX,[o.createVNode(Si,{modelValue:i.value,"onUpdate:modelValue":w[0]||(w[0]=C=>i.value=C),round:"",placeholder:"Search...",size:"medium",onEnter:p},null,8,["modelValue"]),o.createVNode(ct,{active:"",onClick:p},{default:o.withCtx(()=>[...w[1]||(w[1]=[o.createTextVNode("Search",-1)])]),_:1})])]),o.createElementVNode("main",null,[u.value?(o.openBlock(),o.createElementBlock("div",QX,[o.createVNode(qX,{items:o.unref(d),total:o.unref(s),fetch:c,"visible-trigger-offset":0},{item:o.withCtx(({item:C})=>[(o.openBlock(),o.createElementBlock("div",{key:C.id,class:"photo-wrapper",onClick:S=>g(C)},[o.createElementVNode("div",{class:o.normalizeClass(["preview",{loading:h.value===C.id}])},[o.createElementVNode("img",{src:o.unref(n)(C.src.tiny)},null,8,tY),h.value===C.id?(o.openBlock(),o.createElementBlock("div",nY,[o.createVNode(zl)])):o.createCommentVNode("",!0)],2)],8,eY))]),_:1},8,["items","total"])])):f.value?(o.openBlock(),o.createElementBlock("div",rY,[o.createVNode(zl)])):(o.openBlock(),o.createBlock(d3,{key:2,description:"Search for images on Pexels"},{icon:o.withCtx(()=>[o.createVNode(o.unref(RH))]),_:1}))])]))}});function oY(e,t,n){return e.map(r=>({src:`https://shared-drive.bluepic.io/image?url=${encodeURIComponent(r["@microsoft.graph.downloadUrl"])}&w=${t}&h=${n}&fit=cover&quality=80&format=png`,key:r.id,width:r.image.width,height:r.image.height,previews:{small:{src:`https://shared-drive.bluepic.io/image?url=${encodeURIComponent(r["@microsoft.graph.downloadUrl"])}&h=200&fit=cover&quality=80&format=png`,width:r.image.width,height:r.image.height},medium:{src:`https://shared-drive.bluepic.io/image?url=${encodeURIComponent(r["@microsoft.graph.downloadUrl"])}&h=400&fit=cover&quality=80&format=png`,width:r.image.width,height:r.image.height}}}))}function iY(e,t,n){return e.map(({thumbnailLink:r,webContentLink:a,sha256Checksum:i,imageMediaMetadata:l})=>({src:`https://shared-drive.bluepic.io/image?url=${encodeURIComponent(a)}&w=${t}&h=${n}&fit=cover&quality=80&format=png`,key:i,width:(l==null?void 0:l.width)??0,height:(l==null?void 0:l.height)??0,previews:{small:{src:`https://shared-drive.bluepic.io/image?url=${encodeURIComponent(r)}&h=200&fit=cover&quality=80&format=png`,width:(l==null?void 0:l.width)??0,height:(l==null?void 0:l.height)??0},medium:{src:`https://shared-drive.bluepic.io/image?url=${encodeURIComponent(r)}&h=400&fit=cover&quality=80&format=png`,width:(l==null?void 0:l.width)??0,height:(l==null?void 0:l.height)??0}}}))}function lY(e,t,n,r){const a=o.ref();return{sharedItems:a,fetchSharedDrive:async()=>{if(e==="onedrive"){const l=`https://shared-drive.bluepic.io/onedrive?${iv({sharing:t})}`,s=await(await fetch(l)).json();a.value=oY(s.children,n,r)}else if(e==="googledrive"){const l=`https://shared-drive.bluepic.io/googledrive?${iv({sharing:t})}`,s=await(await fetch(l)).json();a.value=iY(s.files,n,r)}}}}const sY={class:"image-library-shared-drive"},cY={key:0,class:"photos"},uY=["onClick"],dY={class:"preview"},fY=["src"],mY={key:1,class:"loading-wrapper"},pY=o.defineComponent({__name:"SharedDrive",props:{service:{},sharedUrl:{},width:{},height:{}},emits:["select"],setup(e,{emit:t}){const n=Bl(),r=e,a=t,{fetchSharedDrive:i,sharedItems:l}=lY(r.service,r.sharedUrl,r.width,r.height);i();function d(s){a("select",s.src)}return(s,u)=>(o.openBlock(),o.createElementBlock("div",sY,[o.unref(l)?(o.openBlock(),o.createElementBlock("div",cY,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(l),f=>(o.openBlock(),o.createElementBlock("div",{class:"photo-wrapper",onClick:p=>d(f)},[o.createElementVNode("div",dY,[o.createElementVNode("img",{src:o.unref(n)(f.previews.small.src)},null,8,fY)])],8,uY))),256))])):(o.openBlock(),o.createElementBlock("div",mY,[o.createVNode(zl)]))]))}}),hY=Qe(pY,[["__scopeId","data-v-6b7dadc2"]]),gY={class:"image-library-custom"},vY=o.defineComponent({__name:"Custom",props:{controller:{},label:{},name:{},props:{}},setup(e){const t=e,n=import(t.controller),r=o.ref();return n.then(a=>{r.value=new a.default(t.props)}),(a,i)=>(o.openBlock(),o.createElementBlock("div",gY,"JAJAJA"))}}),bY={class:"image-library-wrapper"},yY={key:0,class:"nav-view-wrapper"},wY={class:"icon-wrapper"},CY={class:"label"},xY={key:1,class:"library-view-wrapper"},SY=o.defineComponent({__name:"ImageLibraryWrapper",props:{options:{},activeKey:{},imageLibraries:{},convertTo:{},quality:{},width:{},height:{},bridge:{},field:{}},emits:["select","update:active-key"],setup(e,{emit:t}){const n=e,r=t,a=o.ref(n.activeKey);o.watch(a,()=>{n.activeKey!==a.value&&r("update:active-key",a.value)}),o.watch(()=>n.activeKey,()=>{n.activeKey!==a.value&&(a.value=n.activeKey)});function i(g){a.value=g}const l=o.computed(()=>{var g;return(g=n.imageLibraries.find(y=>y.type==="pexels"))==null?void 0:g.apiKey}),d=o.computed(()=>n.imageLibraries.find(g=>g.type==="sharedDrive"&&g.service===a.value).sharedUrl),s=o.computed(()=>{var g;return(g=n.imageLibraries.find(y=>y.type===a.value))==null?void 0:g.label}),u=o.computed(()=>{var g;return(g=n.imageLibraries.find(y=>y.type===a.value))==null?void 0:g.name}),f=o.computed(()=>{var g;return(g=n.imageLibraries.find(y=>y.type===a.value))==null?void 0:g.controller}),p=o.computed(()=>{var g;return(g=n.imageLibraries.find(y=>y.type===a.value))==null?void 0:g.props});function c(g){const y=g[0];y&&h(y.src)}function h(g){r("select",g)}return(g,y)=>(o.openBlock(),o.createElementBlock("div",bY,[o.createVNode(o.Transition,{name:"slide-library"},{default:o.withCtx(()=>[a.value===void 0?(o.openBlock(),o.createElementBlock("div",yY,[o.createElementVNode("div",{class:"image-library-source-navigation",style:o.normalizeStyle({"--options-length":e.options.length})},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(n.options,w=>(o.openBlock(),o.createBlock(_0,{key:w.key,bordered:!0,onClick:C=>i(w.key)},{default:o.withCtx(()=>[o.createElementVNode("div",wY,[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(w.icon)))]),o.createElementVNode("div",CY,o.toDisplayString(w.label),1)]),_:2},1032,["onClick"]))),128))],4)])):(o.openBlock(),o.createElementBlock("div",xY,[a.value==="upload"?(o.openBlock(),o.createBlock(MG,{key:0,width:e.width,height:e.height,"convert-to":e.convertTo,quality:e.quality,field:e.field,"handle-upload":e.bridge.handleUpload,onUpload:c},null,8,["width","height","convert-to","quality","field","handle-upload"])):a.value==="pexels"?(o.openBlock(),o.createBlock(aY,{key:1,"api-key":l.value,width:e.width,height:e.height,"upload-image-asset":e.bridge.handleUpload,"upload-context":{field:e.field},onSelect:h},null,8,["api-key","width","height","upload-image-asset","upload-context"])):a.value==="googledrive"||a.value==="onedrive"||a.value==="icloud"||a.value==="dropbox"?(o.openBlock(),o.createBlock(hY,{key:2,service:a.value,"shared-url":d.value,width:e.width,height:e.height,onSelect:h},null,8,["service","shared-url","width","height"])):a.value==="custom"?(o.openBlock(),o.createBlock(vY,{key:3,label:s.value??"Custom Library",name:u.value,controller:f.value,props:p.value},null,8,["label","name","controller","props"])):o.createCommentVNode("",!0)]))]),_:1})]))}}),Mx=Qe(SY,[["__scopeId","data-v-61c69114"]]),kY=o.defineComponent({__name:"BxList",props:{divider:{type:Boolean,default:!0},bordered:{type:Boolean,default:!1},variant:{default:"plain"}},setup(e){return o.useSlots(),(t,n)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["bx-list",{"has-divider":e.divider&&e.variant==="plain",bordered:e.bordered,[`variant-${e.variant}`]:!0}])},[o.renderSlot(t.$slots,"default",{},void 0,!0)],2))}}),Px=Qe(kY,[["__scopeId","data-v-53785398"]]),_Y={class:"bx-list-item__inner"},EY={key:0,class:"bx-list-item__prefix"},zY={class:"bx-list-item__content"},IY={key:1,class:"bx-list-item__suffix"},AY=o.defineComponent({__name:"BxListItem",props:{interactive:{type:Boolean,default:!0}},setup(e){const t=o.useSlots(),n=o.computed(()=>!!t.prefix),r=o.computed(()=>!!t.suffix);return(a,i)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["bx-list-item",{"has-prefix":n.value,"has-suffix":r.value,interactive:e.interactive}])},[o.createElementVNode("div",_Y,[t.prefix?(o.openBlock(),o.createElementBlock("div",EY,[o.renderSlot(a.$slots,"prefix",{},void 0,!0)])):o.createCommentVNode("",!0),o.createElementVNode("div",zY,[o.renderSlot(a.$slots,"default",{},void 0,!0)]),t.suffix?(o.openBlock(),o.createElementBlock("div",IY,[o.renderSlot(a.$slots,"suffix",{},void 0,!0)])):o.createCommentVNode("",!0)])],2))}}),Dx=Qe(AY,[["__scopeId","data-v-1048af22"]]),BY=["aria-label"],OY=["onClick"],LY={class:"icon"},TY={class:"label"},MY={class:"pullup-menu"},PY={class:"icon"},DY=o.defineComponent({__name:"BxDropdown",props:o.mergeModels({options:{},allowedPlacements:{},mobileLayout:{type:Boolean,default:!1},ariaLabel:{default:"Menu"}},{show:{type:Boolean,required:!1,default:!1},showModifiers:{}}),emits:o.mergeModels(["select"],["update:show"]),setup(e,{emit:t}){const n=e,r=t,a=o.useModel(e,"show");function i(S){a.value=!1,r("select",S.value)}const l=o.useSlots(),d=$a("bx-dropdown-menu"),{setSlotRef:s,vNodes:u,slotElements:f}=gp(l.trigger);function p(S){(S.key==="ArrowDown"||S.key==="ArrowUp")&&(S.preventDefault(),a.value||(a.value=!0),w(0))}let c;o.watch(f,(S,x)=>{for(const z of x??[])z instanceof HTMLElement&&z.removeEventListener("keydown",p);c=void 0;const _=S[0];_ instanceof HTMLElement&&(_.setAttribute("aria-haspopup","menu"),_.setAttribute("aria-controls",d),_.setAttribute("aria-expanded",String(a.value)),_.addEventListener("keydown",p),c=_)},{immediate:!0});const h=o.ref(0),g=[];function y(S,x){if(!S){g[x]=void 0;return}const _=S instanceof HTMLElement?S:S.$el;g[x]=_ instanceof HTMLElement?_:void 0}function w(S){if(n.options.length===0)return;const x=(S+n.options.length)%n.options.length;h.value=x,o.nextTick(()=>{var _;return(_=g[x])==null?void 0:_.focus()})}function C(S){const x=n.options.length;if(x!==0)switch(S.key){case"ArrowDown":S.preventDefault(),w(h.value+1);break;case"ArrowUp":S.preventDefault(),w(h.value-1);break;case"Home":S.preventDefault(),w(0);break;case"End":S.preventDefault(),w(x-1);break;case"Enter":case" ":S.preventDefault(),i(n.options[h.value]),c==null||c.focus();break;case"Escape":S.preventDefault(),S.stopPropagation(),a.value=!1,c==null||c.focus();break;case"Tab":a.value=!1;break}}return o.watch(a,S=>{c==null||c.setAttribute("aria-expanded",String(S)),S&&(h.value=0,o.nextTick(()=>{var x;return(x=g[0])==null?void 0:x.focus()}))}),o.onUnmounted(()=>{c&&c.removeEventListener("keydown",p)}),(S,x)=>e.mobileLayout?(o.openBlock(),o.createBlock(Ns,{key:0,show:a.value,"onUpdate:show":x[1]||(x[1]=_=>a.value=_),"disable-background-effect":"","custom-classes":["bx-dropdown-mobile-layout-popup"],closeable:!1},{trigger:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(u),(_,z)=>(o.openBlock(),o.createBlock(o.resolveDynamicComponent(_),{key:z,ref_for:!0,ref:o.unref(s)(z)},null,512))),128))]),content:o.withCtx(()=>[o.createElementVNode("div",{class:o.normalizeClass(["pullup-menu-wrapper",{}])},[o.createElementVNode("div",{class:"pullup-menu",role:"menu","aria-label":e.ariaLabel},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.options,_=>(o.openBlock(),o.createElementBlock("button",{type:"button",role:"menuitem",class:"select-button",onClick:z=>i(_)},[o.createElementVNode("div",LY,[o.createVNode(Je,null,{default:o.withCtx(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(_.icon)))]),_:2},1024)]),o.createElementVNode("div",TY,[l.optionLabel?o.renderSlot(S.$slots,"optionLabel",{option:_},void 0,!0,0):(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createTextVNode(o.toDisplayString(_.label),1)],64))])],8,OY))),256))],8,BY),o.createElementVNode("div",MY,[o.createElementVNode("button",{type:"button",class:"select-button","aria-label":"Close menu",onClick:x[0]||(x[0]=_=>a.value=!1)},[o.createElementVNode("div",PY,[o.createVNode(Je,null,{default:o.withCtx(()=>[o.createVNode(o.unref(jo))]),_:1})]),x[3]||(x[3]=o.createElementVNode("div",{class:"label"},"Close",-1))])])])]),_:3},8,["show"])):(o.openBlock(),o.createBlock(fu,{key:1,show:a.value,"onUpdate:show":x[2]||(x[2]=_=>a.value=_),trigger:"click","allowed-placements":e.allowedPlacements??["bottom","top"],arrow:!0,"custom-styles":{},"custom-classes":["dropdown-popover"],"disable-background-effect":""},{trigger:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(u),(_,z)=>(o.openBlock(),o.createBlock(o.resolveDynamicComponent(_),{key:z,ref_for:!0,ref:o.unref(s)(z)},null,512))),128))]),content:o.withCtx(()=>[o.createVNode(Px,{id:o.unref(d),role:"menu","aria-label":e.ariaLabel,onKeydown:C},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.options,(_,z)=>(o.openBlock(),o.createBlock(Dx,{key:_.value,ref_for:!0,ref:A=>y(A,z),role:"menuitem",tabindex:z===h.value?0:-1,onClick:A=>i(_)},o.createSlots({default:o.withCtx(()=>[l.optionLabel?o.renderSlot(S.$slots,"optionLabel",{option:_},void 0,!0,0):(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createTextVNode(o.toDisplayString(_.label),1)],64))]),_:2},[_.icon?{name:"prefix",fn:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(_.icon)))]),_:2},1024)]),key:"0"}:void 0]),1032,["tabindex","onClick"]))),128))]),_:3},8,["id","aria-label"])]),_:3},8,["show","allowed-placements"]))}}),z0=Qe(DY,[["__scopeId","data-v-74e3b672"]]);function Mc(e){return new Promise(function(t,n){if(typeof e!="string"&&!(e instanceof Blob)){n({err:"no image source"});return}const r=new Image;r.addEventListener("load",a=>{t({width:r.width,height:r.height,ratio:r.height/r.width})}),r.addEventListener("error",()=>n({err:"image corrupted"})),r.src=typeof e=="string"?e:URL.createObjectURL(e)})}function $x({height:e,left:t,top:n,width:r},a,i){const l=1/Math.max((r??0)/a,(e??0)/i),d=[Math.min(1,no(Math.max(1e-6,t??0)/(a-(r??0)),6)),Math.min(1,no(Math.max(1e-6,n??0)/(i-(e??0)),6))],s=[Math.max(-1,Math.min(1,(d[0]-.5)*2)),Math.max(-1,Math.min(1,(d[1]-.5)*2))];return{scale:l,innerPos:s}}function hm(e,t,n,r){const a=e.innerPos[0]/2+.5,i=e.innerPos[1]/2+.5,l=t/n>r?n*r:t,d=t/n>r?n:t/r,s=l/e.scale,u=d/e.scale,f=t-s,p=n-u,c=f*a,h=p*i;return{left:c,top:h,width:s,height:u}}var $Y=Object.defineProperty,NY=(e,t,n)=>t in e?$Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wr=(e,t,n)=>NY(e,typeof t!="symbol"?t+"":t,n);function RY(e){return e*Math.PI/180}function I8(e,t,n){return Math.min(Math.max(e,t),n)}function Kf(e,t,n){const[r,a]=e,[i,l]=t,d=Math.cos(n)*(r-i)-Math.sin(n)*(a-l)+i,s=Math.sin(n)*(r-i)+Math.cos(n)*(a-l)+l;return[d,s]}function jY(e){return e.deltaMode===0}let FY=class extends EventTarget{constructor(t,n,r,a,i,l,d=.1,s=10,u=!1,f=!0){super(),wr(this,"wrapperBounds",{x:0,y:0,width:100,height:100}),wr(this,"canvasBounds",{x:0,y:0,width:100,height:100}),wr(this,"translateSpeed",1),wr(this,"zoomSpeed",1),wr(this,"translateSpeedAppleTrackpad",1),wr(this,"zoomSpeedAppleTrackpad",1),wr(this,"isGestureActive",!1),wr(this,"roElement",null),wr(this,"roCanvas",null),wr(this,"ancestorMotionCleanup",null),wr(this,"gestureStartRotate",0),wr(this,"dragStart",null),wr(this,"dragStartFrozenX",null),wr(this,"dragStartFrozenY",null),wr(this,"touchStarts",null),wr(this,"touchStartTranslateX",0),wr(this,"touchStartTranslateY",0),this.element=t,this.offset=n,this.translateX=r,this.translateY=a,this.scale=i,this.rotate=l,this.minScale=d,this.maxScale=s,this.clampBounds=u,this.rotation=f,this.roElement=new ResizeObserver(()=>{const{x:p,y:c,width:h,height:g}=this.element.getBoundingClientRect();this.wrapperBounds={x:p,y:c,width:h,height:g},this.update()}),this.roCanvas=new ResizeObserver(p=>{const{width:c,height:h}=p[0].contentRect;(c!==this.canvasBounds.width||h!==this.canvasBounds.height)&&(this.canvasBounds={...this.canvasBounds,width:c,height:h},this.isGestureActive||this.update())}),requestAnimationFrame(()=>{this.wrapperBounds=this.element.getBoundingClientRect(),this.canvasBounds=this.canvasElement.getBoundingClientRect(),this.update(),this.dispatchEvent(new Event("init"))}),this.roCanvas.observe(this.canvasElement),this.roElement.observe(this.element),this.installAncestorMotionListeners()}installAncestorMotionListeners(){const t=()=>{const{x:i,y:l,width:d,height:s}=this.element.getBoundingClientRect();i===this.wrapperBounds.x&&l===this.wrapperBounds.y&&d===this.wrapperBounds.width&&s===this.wrapperBounds.height||(this.wrapperBounds={x:i,y:l,width:d,height:s},this.update())},n=i=>!(i instanceof Node)||i===this.element?!1:i.contains(this.element),r=i=>{n(i.target)&&t()},a=["transitionrun","transitionend","transitioncancel","animationend","animationcancel"];for(const i of a)document.addEventListener(i,r,!0);this.ancestorMotionCleanup=()=>{for(const i of a)document.removeEventListener(i,r,!0)}}get canvasElement(){return this.element.querySelector(".canvas")}get wrapperInnerX(){return this.wrapperBounds.x+this.offset.left}get wrapperInnerY(){return this.wrapperBounds.y+this.offset.top}get wrapperInnerWidth(){return this.wrapperBounds.width-this.offset.left-this.offset.right}get wrapperInnerHeight(){return this.wrapperBounds.height-this.offset.top-this.offset.bottom}get wrapperInnerRatio(){return this.wrapperInnerWidth/this.wrapperInnerHeight}get canvasNaturalRatio(){return this.canvasBounds.width/this.canvasBounds.height}get naturalScale(){return this.canvasNaturalRatio>=this.wrapperInnerRatio?this.wrapperInnerWidth/this.canvasBounds.width:this.wrapperInnerHeight/this.canvasBounds.height}setTranslateFromUserGesture(t,n){if(this.clampBounds){const r=this.clampTranslate({translateX:t,translateY:n,scale:this.scale,rotate:this.rotate});this.translateX=r.translateX,this.translateY=r.translateY,this.rotate=0}else this.translateX=t,this.translateY=n}handleGesturestart(t){this.gestureStartRotate=this.rotate}handleGesturechange(t){const{clientX:n,clientY:r}=t,a=t.rotation;if(a===0||!this.rotation)return;const i=this.normalizeClientCoords(n,r);this.rotateCanvas(i[0],i[1],this.gestureStartRotate+RY(a))}handleGestureend(t){}handleMousedown(t){t.preventDefault(),this.dragStart=[t.clientX,t.clientY],this.dragStartFrozenX=this.translateX,this.dragStartFrozenY=this.translateY}handleMouseup(t){t.preventDefault(),this.dragStart=null,this.dragStartFrozenX=null,this.dragStartFrozenY=null}handleMousemove(t){if(t.preventDefault(),this.dragStart&&this.dragStartFrozenX!==null&&this.dragStartFrozenY!==null){const n=t.clientX-this.dragStart[0],r=t.clientY-this.dragStart[1],a=this.dragStartFrozenX- -n,i=this.dragStartFrozenY- -r;this.setTranslateFromUserGesture(a,i),this.update()}}handleWheel(t){let{deltaX:n,deltaY:r,ctrlKey:a}=t;const i=jY(t);i||(Math.abs(r)>=100&&(r=Math.sign(r)*(Math.abs(r)/120)),Math.abs(n)>=100&&(n=Math.sign(n)*(Math.abs(n)/120)));const l=this.scale;if(a){const d=i?.01*this.zoomSpeedAppleTrackpad:.1*this.zoomSpeed,s=1+-r*d;let u=l*s;if(u=I8(u,this.minScale,this.maxScale),(u===this.minScale||u===this.maxScale)&&(u===this.minScale&&s<1||u===this.maxScale&&s>1)){t.preventDefault();return}const f=this.relativeWrapperCoordinatesFromClientCoords(t.clientX,t.clientY),[p,c]=this.calcProjectionTranslate(u,f,this.normalizeMatrixCoordinates(t.clientX,t.clientY));this.setTranslateFromUserGesture(p,c),this.scale=u}else{const d=i?1*this.translateSpeedAppleTrackpad:25*this.translateSpeed;this.setTranslateFromUserGesture(this.translateX-n*d,this.translateY-r*d)}this.update(),t.preventDefault()}freezeTouches(t){return Array.from(t).map(n=>{const r=this.clientCoordsToWrapperCoords(n.clientX,n.clientY);return{client:[n.clientX,n.clientY],canvasRel:this.getCanvasCoordsRel(r[0],r[1])}})}handleTouchstart(t){this.touchStarts=this.freezeTouches(t.touches),this.touchStartTranslateX=this.translateX,this.touchStartTranslateY=this.translateY,this.isGestureActive=!0,t.preventDefault()}handleTouchmove(t){t.preventDefault();const n=Array.from(t.touches).map(r=>this.clientCoordsToWrapperCoords(r.clientX,r.clientY));if(this.touchStarts){if(n.length>=2&&this.touchStarts.length>=2){const r=[this.touchStarts[0].canvasRel[0]*this.canvasBounds.width,this.touchStarts[0].canvasRel[1]*this.canvasBounds.height],a=[this.touchStarts[1].canvasRel[0]*this.canvasBounds.width,this.touchStarts[1].canvasRel[1]*this.canvasBounds.height],i=Math.sqrt(Math.pow(r[0]-a[0],2)+Math.pow(r[1]-a[1],2)),l=Math.sqrt(Math.pow(n[0][0]-n[1][0],2)+Math.pow(n[0][1]-n[1][1],2))/this.naturalScale,d=I8(l/i,this.minScale,this.maxScale),s=[n[0][0]/this.wrapperInnerWidth,n[0][1]/this.wrapperInnerHeight],u=this.touchStarts[0].canvasRel,[f,p]=this.calcProjectionTranslate(d,s,u,0);if(this.rotation){let c=0,h=0,g=0;const y=Math.atan2(a[1]-r[1],a[0]-r[0]);g=Math.atan2(n[1][1]-n[0][1],n[1][0]-n[0][0])-y;const w=(_,z)=>[this.offset.left+this.canvasBounds.width*_*this.naturalScale*d+f,this.offset.top+this.canvasBounds.height*z*this.naturalScale*d+p],C=w(0,0),S=w(this.touchStarts[0].canvasRel[0],this.touchStarts[0].canvasRel[1]),x=Kf(C,S,g);c=x[0]-C[0],h=x[1]-C[1],this.scale=d,this.rotate=g,this.setTranslateFromUserGesture(f+c,p+h)}else this.scale=d,this.setTranslateFromUserGesture(f,p)}else{const r=t.touches[0].clientX-this.touchStarts[0].client[0],a=t.touches[0].clientY-this.touchStarts[0].client[1],i=this.touchStartTranslateX+r,l=this.touchStartTranslateY+a;this.setTranslateFromUserGesture(i,l)}this.update()}}handleTouchend(t){t.touches.length===0?this.touchStarts=null:(this.touchStarts=this.freezeTouches(t.touches),this.touchStartTranslateX=this.translateX,this.touchStartTranslateY=this.translateY),this.isGestureActive=!1}calcProjectionTranslate(t,n,r,a){const i=this.canvasBounds.width*this.naturalScale,l=this.canvasBounds.height*this.naturalScale,d=r[0]*i*t,s=r[1]*l*t,u=Kf([d,s],[0,0],a??this.rotate),f=n[0]*this.wrapperInnerWidth,p=n[1]*this.wrapperInnerHeight,c=f-u[0],h=p-u[1];return[c,h]}applyTransform(t,n,r){const a=this.calcProjectionTranslate(t,n,r,0);this.scale=t,this.setTranslateFromUserGesture(a[0],a[1]),this.update()}composeRelPoint(t,n,r,a,i,l){r=r??this.scale,a=a??this.translateX,i=i??this.translateY,l=l??this.rotate;const d=[this.offset.left,this.offset.top],s=[this.offset.left+this.canvasBounds.width*(r*this.naturalScale)*t,this.offset.top+this.canvasBounds.height*(r*this.naturalScale)*n],u=Kf(s,d,l);return[u[0]+a,u[1]+i]}composePoint(t,n){const r=t/this.canvasBounds.width,a=n/this.canvasBounds.height;return this.composeRelPoint(r,a)}getAnchorOffset(t,n,r,a,i=[.5,.5]){const l=this.calcProjectionTranslate(t,i,i,0),d=[this.offset.left+l[0]+this.canvasBounds.width*(t*this.naturalScale)*i[0],this.offset.top+l[1]+this.canvasBounds.height*(t*this.naturalScale)*i[1]],s=this.composeRelPoint(i[0],i[1],t,n,r,a),u=s[0]-d[0],f=s[1]-d[1];return[u,f]}getCanvasCoordsRel(t,n){const r=[0,0],a=[t-this.translateX,n-this.translateY],i=Kf(a,r,-this.rotate),l=[i[0]/this.renderinScale,i[1]/this.renderinScale];return[l[0]/this.canvasBounds.width,l[1]/this.canvasBounds.height]}clientCoordsToWrapperCoords(t,n){const{x:r,y:a}=this.element.getBoundingClientRect();return[t-r-this.offset.left,n-a-this.offset.top]}relativeWrapperCoordinatesFromClientCoords(t,n){const[r,a]=this.clientCoordsToWrapperCoords(t,n);return[r/this.wrapperInnerWidth,a/this.wrapperInnerHeight]}normalizeMatrixCoordinates(t,n){const r=this.clientCoordsToWrapperCoords(t,n);return this.getCanvasCoordsRel(r[0],r[1])}normalizeClientCoords(t,n){const[r,a]=this.normalizeMatrixCoordinates(t,n);return[r*this.canvasBounds.width,a*this.canvasBounds.height]}rotateCanvas(t,n,r){const a=t/this.canvasBounds.width,i=n/this.canvasBounds.height,l=this.composeRelPoint(a,i,this.scale,0,0,r),d=this.composeRelPoint(a,i);this.setTranslateFromUserGesture(d[0]-l[0],d[1]-l[1]),this.rotate=r,this.update()}get renderinScale(){return this.naturalScale*this.scale}get renderingTranslateX(){return this.offset.left+this.translateX}get renderingTranslateY(){return this.offset.top+this.translateY}get renderingRotate(){return this.rotate}clampTranslate(t,n=[.5,.5]){const r=this.canvasBounds.width*this.naturalScale*t.scale,a=this.canvasBounds.height*this.naturalScale*t.scale,i=r-this.wrapperInnerWidth,l=a-this.wrapperInnerHeight,d=i>0?-i:0,s=Math.min(0,Math.max(t.translateX,d)),u=l>0?-l:0,f=Math.min(0,Math.max(t.translateY,u)),p=-Math.min(0,i)*n[0],c=-Math.min(0,l)*n[1];return{translateX:s+p,translateY:f+c}}update(){this.canvasElement.style.transformOrigin="top left",this.canvasElement.style.transform=`translateX(${this.renderingTranslateX}px) translateY(${this.renderingTranslateY}px) scale(${this.renderinScale}) rotate(${this.renderingRotate}rad)`,this.dispatchEvent(new Event("update"))}destroy(){var t,n,r;(t=this.roElement)==null||t.disconnect(),this.roElement=null,(n=this.roCanvas)==null||n.disconnect(),this.roCanvas=null,(r=this.ancestorMotionCleanup)==null||r.call(this),this.ancestorMotionCleanup=null}};const VY={class:"canvas"},UY={class:"matrix"},ZY=o.defineComponent({__name:"Zoompinch",props:{transform:{default:()=>({translateX:0,translateY:0,scale:1,rotate:0})},offset:{default:()=>({left:0,top:0,right:0,bottom:0})},maxScale:{default:10},minScale:{default:.5},clampBounds:{type:Boolean,default:!1},rotation:{type:Boolean,default:!0},mouse:{type:Boolean,default:!0},wheel:{type:Boolean,default:!0},touch:{type:Boolean,default:!0},gesture:{type:Boolean,default:!0},zoomSpeed:{},translateSpeed:{},zoomSpeedAppleTrackpad:{},translateSpeedAppleTrackpad:{}},emits:["update:transform","init","dragGestureStart","dragGestureEnd"],setup(e,{expose:t,emit:n}){const r=e,a=n,i=o.ref(),l=o.ref(),d=o.ref(!1);window.zoompinchEngine=l;const s=o.ref(()=>{throw new Error("Not initialized yet")}),u=o.ref(0),f=o.ref(0);o.onMounted(()=>{i.value&&(l.value=new FY(i.value,r.offset,r.transform.translateX,r.transform.translateY,r.transform.scale,r.transform.rotate,r.minScale,r.maxScale,r.clampBounds,r.rotation),r.zoomSpeed!==void 0&&(l.value.zoomSpeed=r.zoomSpeed),r.translateSpeed!==void 0&&(l.value.translateSpeed=r.translateSpeed),r.zoomSpeedAppleTrackpad!==void 0&&(l.value.zoomSpeedAppleTrackpad=r.zoomSpeedAppleTrackpad),r.translateSpeedAppleTrackpad!==void 0&&(l.value.translateSpeedAppleTrackpad=r.translateSpeedAppleTrackpad),l.value.addEventListener("init",()=>{a("init")}),l.value.addEventListener("update",()=>{if(!l.value)return;const k={translateX:l.value.translateX,translateY:l.value.translateY,scale:l.value.scale,rotate:l.value.rotate};(k.translateX!==r.transform.translateX||k.translateY!==r.transform.translateY||k.scale!==r.transform.scale||k.rotate!==r.transform.rotate)&&a("update:transform",k),s.value=(M,E)=>l.value.composePoint(M,E),u.value=l.value.canvasBounds.width,f.value=l.value.canvasBounds.height}),l.value.addEventListener("init",()=>{d.value=!0}))}),o.watch(()=>r.transform,()=>{l.value&&(l.value.translateX!==r.transform.translateX||l.value.translateY!==r.transform.translateY||l.value.scale!==r.transform.scale||l.value.rotate!==r.transform.rotate)&&(l.value.translateX=r.transform.translateX,l.value.translateY=r.transform.translateY,l.value.scale=r.transform.scale,l.value.rotate=r.transform.rotate,l.value.update())},{deep:!0}),o.watch(()=>r.offset,k=>{l.value&&(l.value.offset=k,l.value.update())},{deep:!0}),o.watch(()=>r.minScale,k=>{l.value&&(l.value.minScale=k,l.value.update())}),o.watch(()=>r.maxScale,k=>{l.value&&(l.value.maxScale=k,l.value.update())}),o.watch(()=>r.clampBounds,k=>{l.value&&(l.value.clampBounds=k,l.value.setTranslateFromUserGesture(l.value.translateX,l.value.translateY),l.value.update())}),o.watch(()=>r.rotation,k=>{l.value&&(l.value.rotation=k,l.value.update())}),o.watch(()=>r.zoomSpeed,()=>{!l.value||r.zoomSpeed===void 0||(l.value.zoomSpeed=r.zoomSpeed)}),o.watch(()=>r.translateSpeed,()=>{!l.value||r.translateSpeed===void 0||(l.value.translateSpeed=r.translateSpeed)}),o.watch(()=>r.zoomSpeedAppleTrackpad,()=>{!l.value||r.zoomSpeedAppleTrackpad===void 0||(l.value.zoomSpeedAppleTrackpad=r.zoomSpeedAppleTrackpad)}),o.watch(()=>r.translateSpeedAppleTrackpad,()=>{!l.value||r.translateSpeedAppleTrackpad===void 0||(l.value.translateSpeedAppleTrackpad=r.translateSpeedAppleTrackpad)});const p=(k,M,E,$)=>{l.value&&($!==void 0&&(l.value.rotate=$),l.value.applyTransform(k,M,E))},c=k=>{l.value&&r.wheel&&l.value.handleWheel(k)},h=k=>{l.value&&r.gesture&&l.value.handleGesturestart(k)},g=k=>{l.value&&r.gesture&&l.value.handleGesturechange(k)},y=k=>{l.value&&r.gesture&&l.value.handleGestureend(k)},w=k=>{l.value&&r.mouse&&l.value.handleMousedown(k)},C=k=>{l.value&&r.mouse&&l.value.handleMousemove(k)},S=k=>{l.value&&r.mouse&&l.value.handleMouseup(k)},x=k=>{l.value&&r.touch&&l.value.handleTouchstart(k)},_=k=>{l.value&&r.touch&&l.value.handleTouchmove(k)},z=k=>{l.value&&r.touch&&l.value.handleTouchend(k)};window.addEventListener("gesturechange",g),window.addEventListener("gestureend",y),window.addEventListener("mousemove",C),window.addEventListener("mouseup",S),window.addEventListener("touchmove",_),window.addEventListener("touchend",z),o.onUnmounted(()=>{window.removeEventListener("gesturechange",g),window.removeEventListener("gestureend",y),window.removeEventListener("mousemove",C),window.removeEventListener("mouseup",S),window.removeEventListener("touchmove",_),window.removeEventListener("touchend",z)});const A=(k,M)=>{if(!l.value)throw new Error("Zoompinch engine not initialized");return l.value.normalizeClientCoords(k,M)},T=(k,M,E)=>{l.value&&l.value.rotateCanvas(k,M,E)};return o.useSlots(),t({applyTransform:p,composePoint:s,normalizeClientCoords:A,zoompinchEngine:l,canvasWidth:u,canvasHeight:f,rotateCanvas:T}),(k,M)=>(o.openBlock(),o.createElementBlock("div",{ref_key:"zoompinchRef",ref:i,class:"zoompinch",onWheel:c,onGesturestart:h,onMousedown:w,onTouchstart:x},[o.createElementVNode("div",VY,[o.renderSlot(k.$slots,"default",{},void 0,!0)]),o.createElementVNode("div",UY,[d.value&&s.value?o.renderSlot(k.$slots,"matrix",{key:0,composePoint:s.value,normalizeClientCoords:A,canvasWidth:u.value,canvasHeight:f.value},void 0,!0):o.createCommentVNode("",!0)])],544))}}),qY=(e,t)=>{const n=e.__vccOpts||e;for(const[r,a]of t)n[r]=a;return n},Nx=qY(ZY,[["__scopeId","data-v-fbdbcf7c"]]),Rd=new Set;requestAnimationFrame(function e(){Rd.forEach(t=>t()),requestAnimationFrame(e)});function A8(e,t,n){let r;const a=()=>{const l=e instanceof Function?e():e.value,d=r;l!==r&&(r=l,t(l,d))};return Rd.add(a),()=>{Rd.delete(a)}}function lv(e,t){let n=null;const r=this;return()=>{clearTimeout(n);var a=arguments;n=setTimeout(()=>{e.apply(r,a)},t)}}const HY=["x","y","width","height"],WY=["cx","cy","r"],GY=["cx","cy","r"],XY=["cx","cy","r"],YY=["cx","cy","r"],KY=["cx","cy","r"],JY=["cx","cy","r"],QY=["cx","cy","r"],eK=["cx","cy","r"],tK=["cx","cy","r"],nK=["cx","cy","r"],rK=["cx","cy","r"],aK=["cx","cy","r"],oK=["cx","cy","r"],iK=["cx","cy","r"],lK=["cx","cy","r"],sK=["cx","cy","r"],cK=o.defineComponent({__name:"CropSkeleton",props:{x:{},y:{},width:{},height:{},aspectRatio:{},clamp:{}},emits:["update","effectiveHandleChange"],setup(e,{emit:t}){const n=e,r=t,a=o.ref(5),i=o.computed(()=>{const I=Math.min(n.width,n.height);return I>=a.value*8?a.value*4:Math.max(I/2,a.value)}),l=o.computed(()=>({x:n.x,y:n.y})),d=o.computed(()=>({x:n.x+n.width,y:n.y})),s=o.computed(()=>({x:n.x+n.width,y:n.y+n.height})),u=o.computed(()=>({x:n.x,y:n.y+n.height})),f=o.computed(()=>({x:n.x+n.width/2,y:n.y})),p=o.computed(()=>({x:n.x+n.width,y:n.y+n.height/2})),c=o.computed(()=>({x:n.x+n.width/2,y:n.y+n.height})),h=o.computed(()=>({x:n.x,y:n.y+n.height/2})),g=o.computed(()=>n.width>a.value*4&&n.height>a.value*4),y=o.ref(null),w=o.ref(null),C=o.ref(null),S=o.ref(null),x=o.ref(null),_=o.ref(null),z=o.ref(null);o.watch(_,I=>{r("effectiveHandleChange",I)});function A(I,O){console.log("handleThumbMouseDown",I,O),x.value=O,_.value=O,z.value=null,C.value={x:n.x,y:n.y,width:n.width,height:n.height},S.value={x:I.clientX,y:I.clientY},I.preventDefault(),I.stopPropagation()}function T(I,O){console.log("handleThumbTouchstart",I,O);const R=I.touches[0];x.value=O,_.value=O,z.value=null,C.value={x:n.x,y:n.y,width:n.width,height:n.height},S.value={x:R.clientX,y:R.clientY},I.preventDefault(),I.stopPropagation()}const k=()=>{x.value=null,_.value=null,z.value=null,C.value=null,S.value=null,y.value=null,w.value=null},M=()=>{x.value=null,_.value=null,z.value=null,C.value=null,S.value=null,y.value=null,w.value=null},E=I=>{if(y.value){if(!C.value)return;const O=I.clientX-y.value.x,R=I.clientY-y.value.y;w.value={x:C.value.x+O,y:C.value.y+R,width:C.value.width,height:C.value.height}}else x.value&&(z.value={x:I.clientX,y:I.clientY})},$=I=>{const O=I.touches[0];if(y.value){if(!C.value)return;const R=O.clientX-y.value.x,F=O.clientY-y.value.y;w.value={x:C.value.x+R,y:C.value.y+F,width:C.value.width,height:C.value.height}}else x.value&&(z.value={x:O.clientX,y:O.clientY})};function N(I){y.value={x:I.clientX,y:I.clientY},S.value={x:I.clientX,y:I.clientY},C.value={x:n.x,y:n.y,width:n.width,height:n.height},I.preventDefault(),I.stopPropagation()}function m(I){const O=I.touches[0];y.value={x:O.clientX,y:O.clientY},S.value={x:O.clientX,y:O.clientY},C.value={x:n.x,y:n.y,width:n.width,height:n.height},I.preventDefault(),I.stopPropagation()}function q(I){var ne,re;const O=((ne=n.clamp)==null?void 0:ne.x)??-1/0,R=((re=n.clamp)==null?void 0:re.y)??-1/0,F=n.clamp?n.clamp.x+n.clamp.width:1/0,G=n.clamp?n.clamp.y+n.clamp.height:1/0;return{x:Math.min(Math.max(I.x,O),F-I.width),y:Math.min(Math.max(I.y,R),G-I.height),width:I.width,height:I.height}}function H(I){const O=I.shiftKey?10:4;let R=0,F=0;switch(I.key){case"ArrowLeft":R=-O;break;case"ArrowRight":R=O;break;case"ArrowUp":F=-O;break;case"ArrowDown":F=O;break;default:return}I.preventDefault();const G={x:n.x,y:n.y,width:n.width,height:n.height};if(I.shiftKey)if(n.aspectRatio!=null){const re=I.key==="ArrowRight"||I.key==="ArrowDown"?O:-O,{bbox:se}=B("br",G,re,re,n.aspectRatio,n.clamp);r("update",se)}else{const{bbox:ne}=B("br",G,R,F,void 0,n.clamp);r("update",ne)}else r("update",q({...G,x:G.x+R,y:G.y+F}))}function W(I,O,R){const F={tl:"tr",tr:"tl",bl:"br",br:"bl",l:"r",r:"l"},G={tl:"bl",bl:"tl",tr:"br",br:"tr",t:"b",b:"t"};let ne=I;return O&&(ne=F[ne]??ne),R&&(ne=G[ne]??ne),ne}function B(I,O,R,F,G,ne){let re=O.x,se=O.y,fe=O.x+O.width,Ae=O.y+O.height;switch(I){case"tl":re+=R,se+=F;break;case"t":se+=F;break;case"tr":fe+=R,se+=F;break;case"r":fe+=R;break;case"br":fe+=R,Ae+=F;break;case"b":Ae+=F;break;case"bl":re+=R,Ae+=F;break;case"l":re+=R;break}const K=re>fe,P=se>Ae,j=W(I,K,P),U=(ne==null?void 0:ne.x)??-1/0,te=(ne==null?void 0:ne.y)??-1/0,oe=ne?ne.x+ne.width:1/0,le=ne?ne.y+ne.height:1/0;if(G!=null)if(I==="tl"||I==="tr"||I==="bl"||I==="br"){const ze=I==="tl"||I==="bl"?fe:re,ge=I==="tl"||I==="tr"?Ae:se,he=I==="tl"||I==="bl"?re:fe,Ve=I==="tl"||I==="tr"?se:Ae,He=he>=ze,Ne=Ve>=ge;let Ue=Math.max(Math.abs(he-ze),1),de=Math.max(Math.abs(Ve-ge),1);if(Ue/de>G?Ue=de*G:de=Ue/G,ne){const Ee=He?oe-ze:ze-U,qe=Ne?le-ge:ge-te;(Ue>Ee||de>qe)&&(Ee/qe>G?(de=Math.min(de,qe),Ue=de*G):(Ue=Math.min(Ue,Ee),de=Ue/G))}He?(re=ze,fe=ze+Ue):(fe=ze,re=ze-Ue),Ne?(se=ge,Ae=ge+de):(Ae=ge,se=ge-de)}else if(I==="r"||I==="l"){const ge=I==="r"?O.x:O.x+O.width,he=I==="r"?fe:re,Ve=O.y+O.height/2,He=he>=ge;let Ne=Math.max(Math.abs(he-ge),1);if(ne){const de=He?oe-ge:ge-U,Ee=Math.min(Ve-te,le-Ve)*2;Ne=Math.max(Math.min(Ne,de,Ee*G),1)}const Ue=Ne/G;He?(re=ge,fe=ge+Ne):(fe=ge,re=ge-Ne),se=Ve-Ue/2,Ae=Ve+Ue/2}else{const ge=I==="b"?O.y:O.y+O.height,he=I==="b"?Ae:se,Ve=O.x+O.width/2,He=he>=ge;let Ne=Math.max(Math.abs(he-ge),1);if(ne){const de=He?le-ge:ge-te,Ee=Math.min(Ve-U,oe-Ve)*2;Ne=Math.max(Math.min(Ne,de,Ee/G),1)}const Ue=Ne*G;He?(se=ge,Ae=ge+Ne):(Ae=ge,se=ge-Ne),re=Ve-Ue/2,fe=Ve+Ue/2}else{const me=Math.min(re,fe),ze=Math.min(se,Ae),ge=Math.max(re,fe),he=Math.max(se,Ae);re=me,se=ze,fe=ge,Ae=he,ne&&(re=Math.max(re,U),se=Math.max(se,te),fe=Math.min(fe,oe),Ae=Math.min(Ae,le))}return{bbox:{x:re,y:se,width:fe-re,height:Ae-se},effectiveHandle:j}}return A8(w,()=>{var I,O;if(w.value){const R=((I=n.clamp)==null?void 0:I.x)??-1/0,F=((O=n.clamp)==null?void 0:O.y)??-1/0,G=n.clamp?n.clamp.x+n.clamp.width:1/0,ne=n.clamp?n.clamp.y+n.clamp.height:1/0;w.value.x<R&&(w.value.x=R),w.value.y<F&&(w.value.y=F),w.value.x+w.value.width>G&&(w.value.x=G-w.value.width),w.value.y+w.value.height>ne&&(w.value.y=ne-w.value.height),r("update",w.value)}}),A8(z,()=>{if(!x.value||!z.value||!S.value||!C.value)return;const I=z.value.x-S.value.x,O=z.value.y-S.value.y,{bbox:R,effectiveHandle:F}=B(x.value,C.value,I,O,n.aspectRatio,n.clamp);_.value=F,r("update",R)}),window.addEventListener("mouseup",k),window.addEventListener("touchend",M),window.addEventListener("mousemove",E),window.addEventListener("touchmove",$),o.onUnmounted(()=>{window.removeEventListener("mouseup",k),window.removeEventListener("touchend",M),window.removeEventListener("mousemove",E),window.removeEventListener("touchmove",$)}),(I,O)=>(o.openBlock(),o.createElementBlock("g",null,[o.createElementVNode("rect",{x:e.x,y:e.y,width:e.width,height:e.height,class:"skeleton-rect",tabindex:"0",role:"application","aria-roledescription":"Crop area","aria-label":"Crop area. Use arrow keys to move, Shift plus arrow keys to resize.",onMousedown:N,onTouchstart:m,onKeydown:H},null,40,HY),o.createElementVNode("g",{class:o.normalizeClass({inactive:!g.value})},[o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:f.value.x,cy:f.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-t",onMousedown:O[0]||(O[0]=R=>A(R,"t")),onTouchstart:O[1]||(O[1]=R=>T(R,"t"))},null,40,WY),o.createElementVNode("circle",{cx:f.value.x,cy:f.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="t"}])},null,10,GY)]),o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:p.value.x,cy:p.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-r",onMousedown:O[2]||(O[2]=R=>A(R,"r")),onTouchstart:O[3]||(O[3]=R=>T(R,"r"))},null,40,XY),o.createElementVNode("circle",{cx:p.value.x,cy:p.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="r"}])},null,10,YY)]),o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:c.value.x,cy:c.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-b",onMousedown:O[4]||(O[4]=R=>A(R,"b")),onTouchstart:O[5]||(O[5]=R=>T(R,"b"))},null,40,KY),o.createElementVNode("circle",{cx:c.value.x,cy:c.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="b"}])},null,10,JY)]),o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:h.value.x,cy:h.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-l",onMousedown:O[6]||(O[6]=R=>A(R,"l")),onTouchstart:O[7]||(O[7]=R=>T(R,"l"))},null,40,QY),o.createElementVNode("circle",{cx:h.value.x,cy:h.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="l"}])},null,10,eK)])],2),o.createElementVNode("g",null,[o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:l.value.x,cy:l.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-tl",onMousedown:O[8]||(O[8]=R=>A(R,"tl")),onTouchstart:O[9]||(O[9]=R=>T(R,"tl"))},null,40,tK),o.createElementVNode("circle",{cx:l.value.x,cy:l.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="tl"}])},null,10,nK)]),o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:d.value.x,cy:d.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-tr",onMousedown:O[10]||(O[10]=R=>A(R,"tr")),onTouchstart:O[11]||(O[11]=R=>T(R,"tr"))},null,40,rK),o.createElementVNode("circle",{cx:d.value.x,cy:d.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="tr"}])},null,10,aK)]),o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:u.value.x,cy:u.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-bl",onMousedown:O[12]||(O[12]=R=>A(R,"bl")),onTouchstart:O[13]||(O[13]=R=>T(R,"bl"))},null,40,oK),o.createElementVNode("circle",{cx:u.value.x,cy:u.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="bl"}])},null,10,iK)]),o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:s.value.x,cy:s.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-br",onMousedown:O[14]||(O[14]=R=>A(R,"br")),onTouchstart:O[15]||(O[15]=R=>T(R,"br"))},null,40,lK),o.createElementVNode("circle",{cx:s.value.x,cy:s.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="br"}])},null,10,sK)])])]))}}),uK=Qe(cK,[["__scopeId","data-v-ab8c8451"]]);function _c(e,t,n){return Math.min(Math.max(e,t),n)}function dK(e,t){const n=_c(e.x,t.x,t.x+t.width),r=_c(e.y,t.y,t.y+t.height),a=_c(e.x+e.width,t.x,t.x+t.width),i=_c(e.y+e.height,t.y,t.y+t.height);return{x:n,y:r,width:a-n,height:i-r}}function fK(e,t,n){if(n==null)return dK(e,t);let r=e.width,a=e.height;r>t.width&&(r=t.width,a=r/n),a>t.height&&(a=t.height,r=a*n);const i=_c(e.x,t.x,t.x+t.width-r),l=_c(e.y,t.y,t.y+t.height-a);return{x:i,y:l,width:r,height:a}}function mK(e){return new Promise((t,n)=>{if(e.complete&&e.naturalWidth!==0){console.log("[0] getBoundingClientRect",e.getBoundingClientRect()),t();return}const r=()=>{e.naturalWidth*e.naturalHeight>0&&(console.log("[1] getBoundingClientRect",e.getBoundingClientRect()),setTimeout(()=>{console.log("[2] getBoundingClientRect",e.getBoundingClientRect()),t()}),Rd.delete(r))};Rd.add(r),e.addEventListener("error",()=>n(new Error("Failed to load image")),{once:!0})})}const pK={class:"bx-cropper"},hK={xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%",class:"matrix-svg"},gK={key:0,class:"layer loading-layer"},vK={class:"layer"},bK=o.defineComponent({__name:"BxCropper",props:{crop:{},aspectRatio:{},offset:{default:()=>({top:10,right:10,bottom:10,left:10})},mirrorX:{type:Boolean,default:!1},mirrorY:{type:Boolean,default:!1}},emits:["update:crop"],setup(e,{emit:t}){const n=e,r=t;o.useSlots();const a=o.ref(),i=o.ref({translateX:0,translateY:0,scale:1,rotate:0}),l=o.ref(),d=o.ref();function s(w){let{left:C,top:S,width:x,height:_}=w;return n.mirrorX&&a.value&&(C=a.value.canvasWidth-C-x),n.mirrorY&&a.value&&(S=a.value.canvasHeight-S-_),{left:C,top:S,width:x,height:_}}function u(w){if(!a.value)throw new Error("Zoompinch ref not available");const C=s(w),[S,x]=a.value.composePoint(C.left,C.top),[_,z]=a.value.composePoint(C.left+C.width,C.top+C.height),A=_-S,T=z-x;return{x:S,y:x,width:A,height:T}}function f(w){if(!a.value||!a.value.zoompinchEngine)throw new Error("Zoompinch ref or engine not available");const C=w.x+(a.value.zoompinchEngine.wrapperInnerX-n.offset.left),S=w.y+(a.value.zoompinchEngine.wrapperInnerY-n.offset.top),[x,_]=a.value.normalizeClientCoords(C,S),[z,A]=a.value.normalizeClientCoords(C+w.width,S+w.height),T=z-x,k=A-_;return{left:Math.round(x),top:Math.round(_),width:Math.round(T),height:Math.round(k)}}const p=o.ref(!1);async function c(){var S;if(!((S=a.value)!=null&&S.zoompinchEngine))return;const w=Array.from(a.value.zoompinchEngine.canvasElement.children);for(const x of w)x.tagName==="IMG"&&await mK(x);p.value=!0,a.value.applyTransform(1,[.5,.5],[.5,.5]);const C=n.crop??(()=>{const x=a.value.canvasWidth,_=a.value.canvasHeight,z=x/_;if(n.aspectRatio){const A=z>n.aspectRatio?_*n.aspectRatio:x,T=z>n.aspectRatio?_:x/n.aspectRatio;return{left:(x-A)/2,top:(_-T)/2,width:A,height:T}}else return{left:0,top:0,width:x,height:_}})();d.value=C,l.value=u(C)}const h=o.ref(null);window.test=()=>f(l.value);const g=o.computed(()=>{if(i.value,!a.value)throw new Error("Zoompinch ref not available");return u({left:0,top:0,width:a.value.canvasWidth,height:a.value.canvasHeight})});function y(w){l.value=w}return o.watch(i,()=>{!l.value||!a.value||(l.value=fK(l.value,g.value,n.aspectRatio))}),o.watch(l,w=>{if(!w)return;const C=f(w),S=s(C);d.value=S,r("update:crop",S)}),o.watch([()=>n.mirrorX,()=>n.mirrorY],()=>{!p.value||!d.value||!a.value||(l.value=u(d.value))}),(w,C)=>(o.openBlock(),o.createElementBlock("div",pK,[o.createVNode(o.unref(Nx),{ref_key:"zoompinchRef",ref:a,transform:i.value,"onUpdate:transform":C[1]||(C[1]=S=>i.value=S),rotation:!1,"min-scale":1,offset:e.offset,"clamp-bounds":"",onInit:c,class:o.normalizeClass({[`effective-handle-${h.value}`]:h.value!==null})},{default:o.withCtx(()=>[o.renderSlot(w.$slots,"default",{},void 0,!0)]),matrix:o.withCtx(()=>[(o.openBlock(),o.createElementBlock("svg",hK,[l.value?(o.openBlock(),o.createBlock(uK,o.mergeProps({key:0},l.value,{"aspect-ratio":e.aspectRatio,clamp:g.value,onUpdate:y,onEffectiveHandleChange:C[0]||(C[0]=S=>h.value=S)}),null,16,["aspect-ratio","clamp"])):o.createCommentVNode("",!0)])),p.value?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",gK,[o.createVNode(zl)])),o.createElementVNode("div",vK,[o.renderSlot(w.$slots,"layer",{},void 0,!0)])]),_:3},8,["transform","offset","class"])]))}}),Rx=Qe(bK,[["__scopeId","data-v-8d2848fa"]]),yK={class:"bx-image-cropper"},wK=["src"],CK={class:"actions-left"},xK={class:"actions-right"},SK=o.defineComponent({__name:"BxImageCropper",props:o.mergeModels({src:{},aspectRatio:{},offset:{}},{crop:{required:!1},cropModifiers:{},mirrorX:{type:Boolean,required:!1,default:!1},mirrorXModifiers:{},mirrorY:{type:Boolean,required:!1,default:!1},mirrorYModifiers:{}}),emits:o.mergeModels(["cancel","done"],["update:crop","update:mirrorX","update:mirrorY"]),setup(e,{emit:t}){const n=o.useModel(e,"crop"),r=o.useModel(e,"mirrorX"),a=o.useModel(e,"mirrorY"),i=t;function l(){r.value=!r.value}function d(){a.value=!a.value}return(s,u)=>(o.openBlock(),o.createElementBlock("div",yK,[o.createVNode(Rx,{"aspect-ratio":e.aspectRatio,crop:n.value,"onUpdate:crop":u[4]||(u[4]=f=>n.value=f),offset:e.offset,"mirror-x":r.value,"mirror-y":a.value},{layer:o.withCtx(()=>[o.createElementVNode("div",{class:"actions-wrapper",onTouchstart:u[2]||(u[2]=o.withModifiers(()=>{},["stop"])),onTouchend:u[3]||(u[3]=o.withModifiers(()=>{},["stop"]))},[o.createElementVNode("div",CK,[o.createVNode(ct,{onClick:l,class:o.normalizeClass({active:!0}),"aria-label":"Mirror horizontally"},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[...u[5]||(u[5]=[o.createElementVNode("svg",{fill:"none",viewBox:"0 0 24 24","data-fpl-icon-size":"24"},[o.createElementVNode("g",{style:{"transform-origin":"center center",transform:"scale(1.5)"}},[o.createElementVNode("path",{style:{fill:"currentColor","fill-rule":"evenodd"},d:"M12.5 6.5a.5.5 0 0 0-1 0v11a.5.5 0 0 0 1 0zM6 9.104a.75.75 0 0 1 1.28-.53L10 11.292a1 1 0 0 1 0 1.414l-2.72 2.72a.75.75 0 0 1-1.28-.53zm1 .603v4.586L9.293 12zm11-.603a.75.75 0 0 0-1.28-.53L14 11.292a1 1 0 0 0 0 1.414l2.72 2.72a.75.75 0 0 0 1.28-.53zm-1 .603v4.586L14.707 12z","clip-rule":"evenodd"})])],-1)])]),_:1})]),_:1}),o.createVNode(ct,{onClick:d,class:o.normalizeClass({active:!0}),"aria-label":"Mirror vertically"},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[...u[6]||(u[6]=[o.createElementVNode("svg",{fill:"none",viewBox:"0 0 24 24","data-fpl-icon-size":"24"},[o.createElementVNode("g",{style:{"transform-origin":"center center",transform:"scale(1.5)"}},[o.createElementVNode("path",{style:{fill:"currentColor","fill-rule":"evenodd"},d:"M17.5 12.5a.5.5 0 0 0 0-1h-11a.5.5 0 0 0 0 1zM14.896 18a.75.75 0 0 0 .53-1.28L12.708 14a1 1 0 0 0-1.414 0l-2.72 2.72a.75.75 0 0 0 .53 1.28zm-.603-1H9.707L12 14.707zm.603-11a.75.75 0 0 1 .53 1.28L12.708 10a1 1 0 0 1-1.414 0l-2.72-2.72A.75.75 0 0 1 9.103 6zm-.603 1H9.707L12 9.293z","clip-rule":"evenodd"})])],-1)])]),_:1})]),_:1})]),o.createElementVNode("div",xK,[o.createVNode(ct,{secondary:"",onClick:u[0]||(u[0]=f=>i("cancel"))},{default:o.withCtx(()=>[...u[7]||(u[7]=[o.createTextVNode(" Cancel ",-1)])]),_:1}),o.createVNode(ct,{active:"",onClick:u[1]||(u[1]=f=>i("done"))},{default:o.withCtx(()=>[...u[8]||(u[8]=[o.createTextVNode(" Done ",-1)])]),_:1})])],32)]),default:o.withCtx(()=>[o.createElementVNode("img",{src:e.src,class:o.normalizeClass(["image",{"mirror-x":r.value,"mirror-y":a.value}])},null,10,wK)]),_:1},8,["aspect-ratio","crop","offset","mirror-x","mirror-y"])]))}}),jx=Qe(SK,[["__scopeId","data-v-0924dbd3"]]),Fx=.6,Vx=.4,B8=.6,O8=(e,t,n)=>Math.min(n,Math.max(t,e));function Ux(e){const{faces:t,natural:n,aspectRatio:r,cropMode:a,zoom:i=!1}=e;if(a!=="cover"||!Number.isFinite(r)||r<=0||!(n.width>0)||!(n.height>0))return null;const l=t.filter(z=>z.score>=Fx&&z.width>0&&z.height>0);if(l.length===0)return null;const d=Math.min(...l.map(z=>z.x)),s=Math.min(...l.map(z=>z.y)),u=Math.max(...l.map(z=>z.x+z.width)),f=Math.max(...l.map(z=>z.y+z.height)),p=(d+u)/2,c=(s+f)/2,h=n.width/n.height,g=h>r?n.height*r:n.width,y=h>r?n.height:n.width/r;let w=g,C=y;if(i){const z=(u-d)*(1+2*B8),A=(f-s)*(1+2*B8),T=Math.max(z,A*r),k=T/r;w=Math.min(g,T),C=Math.min(y,k)}const S=p-w/2,x=c-C*Vx,_={left:O8(S,0,Math.max(0,n.width-w)),top:O8(x,0,Math.max(0,n.height-C)),width:w,height:C};return _.left===0&&_.top===0&&Math.abs(_.width-n.width)<.5&&Math.abs(_.height-n.height)<.5?null:_}let gm=null;function kK(e){gm=e}function Zx(){return gm!==null}async function _K(e){if(!gm)return[];try{const t=await gm(e);return Array.isArray(t)?t:[]}catch(t){return console.warn("[autoCrop] face detection failed, skipping auto-crop",t),[]}}const EK=640;function zK(e){return new Promise(t=>{const n=new Image;n.crossOrigin="anonymous",n.addEventListener("load",()=>t(n)),n.addEventListener("error",()=>t(null)),n.src=e})}function IK(e){const t=e.naturalWidth||e.width,n=e.naturalHeight||e.height;if(!(t>0)||!(n>0))return null;const r=Math.min(1,EK/Math.max(t,n)),a=document.createElement("canvas");a.width=Math.max(1,Math.round(t*r)),a.height=Math.max(1,Math.round(n*r));const i=a.getContext("2d",{willReadFrequently:!0});if(!i)return null;i.drawImage(e,0,0,a.width,a.height);try{i.getImageData(0,0,1,1)}catch{return null}return{canvas:a,scale:r}}async function qx(e){if(!Zx()||e.cropMode!=="cover")return null;const t=await zK(e.src);if(!t)return null;const n=IK(t);if(!n)return null;const r=await _K(n.canvas);if(r.length===0)return null;const a=1/n.scale,i=r.map(l=>({x:l.x*a,y:l.y*a,width:l.width*a,height:l.height*a,score:l.score}));return Ux({faces:i,natural:e.natural,aspectRatio:e.aspectRatio,cropMode:e.cropMode,zoom:e.zoom})}const AK=["aria-labelledby","aria-label"],BK=["src","alt"],OK={class:"actions"},LK={key:2,class:"padding-input-wrapper"},TK=["id"],MK=o.defineComponent({__name:"ImageEdit",props:o.mergeModels({allowUploadFromDevice:{type:Boolean},width:{},height:{},allowedTypes:{},convertTo:{},quality:{},imageLibraries:{},uploadLabel:{default:"Select image"},editLabel:{},actionsLabel:{default:"More"},maxSize:{default:1/0},bridge:{},mobile:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},field:{},allowCropImage:{type:Boolean},aspectRatio:{},resetCropOnChange:{type:Boolean,default:!0},allowPadding:{type:Boolean,default:!1},autoCrop:{type:Boolean,default:!1},autoCropZoom:{type:Boolean,default:!1},labelId:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=Bl(),n=o.inject(C0),r=e,a=o.useModel(e,"modelValue"),i=o.computed({get:()=>{var N;return(N=a.value)==null?void 0:N.src},set:N=>{!a.value||typeof a.value!="object"?a.value={src:N,innerRotate:0,cropMode:"cover",innerAlign:"center",crop:null,innerPos:[0,0],mirrorX:!1,mirrorY:!1,scale:1}:(a.value.src=N,a.value.crop=null,a.value.innerPos=[0,0],a.value.scale=1,a.value.innerRotate=0,a.value.mirrorX=!1,a.value.mirrorY=!1),(async()=>{const m=await Mc(i.value);if(k.value=m,console.log("newImageInfo",m,r,a.value),r.autoCrop&&a.value.cropMode==="cover"){const q=await qx({src:i.value,natural:m,aspectRatio:r.aspectRatio,cropMode:a.value.cropMode,zoom:!0});if(console.log("autoCrop suggested",q),q&&a.value.src===i.value){l.value=q;return}}r.resetCropOnChange&&(a.value.cropMode==="cover"?(console.log("resetting crop on change with cover mode"),l.value=hm({scale:a.value.scale??1,innerPos:a.value.innerPos??[0,0]},m.width,m.height,r.aspectRatio)):l.value={top:0,left:0,width:m.width,height:m.height})})()}}),l=o.computed({get:()=>a.value.crop?a.value.crop:k.value?hm({scale:a.value.scale??1,innerPos:a.value.innerPos??[0,0]},k.value.width,k.value.height,r.aspectRatio):{top:0,left:0,width:10,height:10},set:async N=>{var H,W;console.log("cropProxy.set()",N);const{scale:m,innerPos:q}=$x(N,k.value.width,k.value.height);a.value={src:a.value.src,scale:m,innerPos:q,innerRotate:a.value.innerRotate,crop:N,cropMode:((H=a.value)==null?void 0:H.cropMode)??"cover",innerAlign:((W=a.value)==null?void 0:W.innerAlign)??"center",mirrorX:a.value.mirrorX,mirrorY:a.value.mirrorY,padding:a.value.padding}}});o.watch(i,N=>{N&&Mc(N).then(m=>{k.value=m}).catch(()=>{})},{immediate:!0});const d=$a("bx-image-padding-label"),s=o.computed(()=>(r.editLabel??r.uploadLabel)||"Image"),u=o.computed(()=>Math.max(1,Math.min(r.width,r.height)/2)),f=o.computed({get(){var m;const N=(((m=a.value)==null?void 0:m.padding)??[0])[0]??0;return Math.round(Math.min(100,N/u.value*100))},set(N){const m=Math.max(0,Math.min(100,N))/100*u.value;a.value={...a.value,padding:[m,m,m,m]}}}),p=o.ref(!1);o.ref(!1);const c=o.computed(()=>r.allowCropImage?1:2),{uploadFiles:h,uploadProgresses:g,uploading:y}=u0(o.toRef(r,"width"),o.toRef(r,"height"),o.toRef(r,"convertTo"),o.toRef(r,"quality"),r.bridge.handleUpload,o.toRef(r,"field"));async function w(){const N=await lp({types:r.allowedTypes,maxSize:r.maxSize,multiple:!0}),m=S0({title:"Uploading images",content:()=>[o.h($s,{value:g.value.reduce((W,B)=>W+B,0)/g.value.length})],closeable:!1,icon:()=>o.h(um),disableBackgroundEffect:!0}),q=await h(N);m.close();const H=q[0];H&&(k.value={width:H.width,height:H.height,ratio:H.width/H.height},z(H.src))}const C=o.computed(()=>[...r.allowUploadFromDevice?[{label:r.uploadLabel,action:w,icon:()=>o.h(ll),key:"upload"}]:[],...r.imageLibraries.map(m=>({label:m.label,icon:()=>{if(m.type==="sharedDrive")switch(m.service){case"googledrive":return o.h("img",{src:"https://upload.wikimedia.org/wikipedia/commons/1/12/Google_Drive_icon_%282020%29.svg"});case"onedrive":return o.h("img",{src:"https://upload.wikimedia.org/wikipedia/commons/e/e7/Microsoft_OneDrive_Icon_%282025_-_present%29.svg"});default:return o.h(ll)}else return m.type==="pexels"?o.h("img",{src:"https://www.drupal.org/files/project-images/pexels_logo_0.png"}):o.h(ll)},key:m.type==="sharedDrive"?m.service:m.type==="custom"?"custom":m.type,lib:m}))]),S=o.ref(),x=o.computed(()=>C.value.slice(c.value===1?c.value:c.value-1).map(N=>({label:N.label,value:N.key,icon:r.mobile?N.icon:()=>o.h(Je,{},N.icon)})));function _(N){N==="upload"?C.value.length>1?(S.value=void 0,p.value=!0):w():(S.value=N,p.value=!0)}function z(N){console.log("handleImageSelection",N),i.value=N,p.value=!1}function A(){if(r.allowUploadFromDevice){w();return}S.value=void 0,p.value=!0}K9(()=>r.field,A);function T(N){r.imageLibraries.length===0&&r.allowUploadFromDevice&&(w(),N.stopImmediatePropagation(),N.stopPropagation(),o.nextTick(()=>{p.value=!1}))}const k=o.ref(),M=o.ref(!1);function E(N){_(N),M.value=!1}function $(){let N=Sr(l.value),m=a.value.mirrorX,q=a.value.mirrorY,H=l.value;Mc(i.value).then(I=>{k.value=I});const W=a.value.cropMode==="cover"?r.aspectRatio:void 0,B=Sx(()=>o.h("div",{class:"cropper-popover-wrapper"},[o.h(jx,{src:wi(i.value,n==null?void 0:n.value),crop:l.value,"onUpdate:crop"(I){I&&(H=I)},mirrorX:a.value.mirrorX,"onUpdate:mirrorX"(I){a.value={...a.value,mirrorX:I}},mirrorY:a.value.mirrorY,"onUpdate:mirrorY"(I){a.value={...a.value,mirrorY:I}},aspectRatio:W,offset:{top:20,right:20,bottom:20,left:20},style:{width:"100%",height:"100%"},onCancel(){setTimeout(()=>{l.value=N,a.value={...a.value,mirrorX:m,mirrorY:q}},50),B.destroy()},onDone(){setTimeout(()=>{l.value=H},50),B.destroy()}})]))}return(N,m)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["image-edit-field",{"has-single-action":x.value.length===0&&!e.allowCropImage,compact:e.compact}])},[o.createVNode(Ns,{closeable:!1,show:p.value,"onUpdate:show":m[3]||(m[3]=q=>p.value=q),type:"layer",trigger:"click",fullscreen:""},{title:o.withCtx(()=>[S.value?(o.openBlock(),o.createBlock(ct,{key:0,circle:"","aria-label":"Back",onClick:m[0]||(m[0]=q=>S.value=void 0)},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[o.createVNode(o.unref(Qb))]),_:1})]),_:1})):o.createCommentVNode("",!0)]),"header-actions":o.withCtx(()=>[o.createVNode(ct,{circle:"","aria-label":"Close",onClick:m[1]||(m[1]=q=>p.value=!1)},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[o.createVNode(o.unref(jo))]),_:1})]),_:1})]),trigger:o.withCtx(()=>[o.createElementVNode("button",{type:"button",class:"image-preview","aria-labelledby":e.labelId,"aria-label":e.labelId?void 0:e.editLabel??e.uploadLabel,onClick:T},[i.value?(o.openBlock(),o.createElementBlock("img",{key:0,src:o.unref(t)(i.value),alt:s.value},null,8,BK)):(o.openBlock(),o.createBlock(Je,{key:1,class:"image-placeholder","aria-hidden":"true"},{default:o.withCtx(()=>[o.createVNode(o.unref(ll))]),_:1}))],8,AK)]),content:o.withCtx(()=>[o.createVNode(Mx,{"active-key":S.value,"onUpdate:activeKey":m[2]||(m[2]=q=>S.value=q),options:C.value,"image-libraries":e.imageLibraries,width:e.width,height:e.height,quality:e.quality,"convert-to":e.convertTo,bridge:e.bridge,field:e.field,onSelect:z},null,8,["active-key","options","image-libraries","width","height","quality","convert-to","bridge","field"])]),_:1},8,["show"]),o.createElementVNode("div",OK,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(C.value.slice(0,C.value.length>c.value?c.value-1:c.value),(q,H)=>(o.openBlock(),o.createBlock(ct,{tertiary:!0,active:H===0,size:e.compact?"small":"medium","aria-label":e.compact?q.label:void 0,onClick:W=>_(q.key)},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(q.icon)))]),_:2},1024)]),default:o.withCtx(()=>[e.compact?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createTextVNode(o.toDisplayString(q.label),1)],64))]),_:2},1032,["active","size","aria-label","onClick"]))),256)),x.value.length>0&&C.value.length>c.value?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(e.mobile?z0:Ur),{key:0,trigger:"manual",options:x.value,onSelect:_,"model-value":void 0,"onUpdate:modelValue":E,"mobile-layout":e.mobile,show:M.value,"onUpdate:show":m[5]||(m[5]=q=>M.value=q)},{trigger:o.withCtx(()=>[c.value===1?(o.openBlock(),o.createBlock(ct,{key:0,tertiary:"",active:"",size:e.compact?"small":"medium","aria-label":e.compact?C.value[0].label:void 0,onClick:m[4]||(m[4]=q=>_(C.value[0].key))},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(C.value[0].icon)))]),_:1})]),default:o.withCtx(()=>[e.compact?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createTextVNode(o.toDisplayString(C.value[0].label),1)],64))]),_:1},8,["size","aria-label"])):(o.openBlock(),o.createBlock(ct,{key:1,size:e.compact?"small":"medium","aria-label":e.compact?e.actionsLabel:void 0},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[o.createVNode(o.unref(ix))]),_:1})]),default:o.withCtx(()=>[e.compact?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createTextVNode(o.toDisplayString(e.actionsLabel),1)],64))]),_:1},8,["size","aria-label"]))]),_:1},40,["options","mobile-layout","show"])):o.createCommentVNode("",!0),r.allowCropImage?(o.openBlock(),o.createBlock(ct,{key:1,tertiary:"",size:e.compact?"small":"medium","aria-label":e.compact?e.editLabel??"Edit Image":void 0,onClick:$},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[o.createVNode(o.unref(r3))]),_:1})]),default:o.withCtx(()=>[e.compact?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createTextVNode(o.toDisplayString(e.editLabel??"Edit Image"),1)],64))]),_:1},8,["size","aria-label"])):o.createCommentVNode("",!0),e.allowPadding&&a.value.cropMode==="contain"?(o.openBlock(),o.createElementBlock("div",LK,[o.createElementVNode("span",{class:"label",id:o.unref(d)},"Padding",8,TK),o.createVNode(Wc,{modelValue:f.value,"onUpdate:modelValue":m[6]||(m[6]=q=>f.value=q),min:0,max:100,step:1,"aria-labelledby":o.unref(d),"aria-valuetext":`${f.value}%`},null,8,["modelValue","aria-labelledby","aria-valuetext"])])):o.createCommentVNode("",!0)])],2))}}),vm=Qe(MK,[["__scopeId","data-v-e4fc5342"]]),PK=["src","alt"],DK={key:0,class:"actions"},ju=2,$K=o.defineComponent({__name:"Image",props:o.mergeModels({layout:{},allowUploadFromDevice:{type:Boolean},width:{},height:{},allowedTypes:{},convertTo:{},quality:{},imageLibraries:{},uploadLabel:{default:"Select image"},actionsLabel:{default:"More"},maxSize:{default:1/0},bridge:{},mobile:{type:Boolean,default:!1},field:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=Bl(),n=o.useModel(e,"modelValue"),r=e,a=o.ref(!1),{uploadFiles:i,uploadProgresses:l,uploading:d}=u0(o.toRef(r,"width"),o.toRef(r,"height"),o.toRef(r,"convertTo"),o.toRef(r,"quality"),r.bridge.handleUpload,o.toRef(r,"field"));async function s(){const w=await lp({types:r.allowedTypes,maxSize:r.maxSize,multiple:!0}),C=S0({title:"Uploading images",content:()=>[o.h($s,{value:l.value.reduce((_,z)=>_+z,0)/l.value.length})],closeable:!1,icon:()=>o.h(um),disableBackgroundEffect:!0}),S=await i(w);C.close();const x=S[0];x&&h(x.src)}const u=o.computed(()=>[...r.allowUploadFromDevice?[{label:r.uploadLabel,action:s,icon:()=>o.h(ll),key:"upload"}]:[],...r.imageLibraries.map(C=>({label:C.label,icon:()=>{if(C.type==="sharedDrive")switch(C.service){case"googledrive":return o.h("img",{src:"https://upload.wikimedia.org/wikipedia/commons/1/12/Google_Drive_icon_%282020%29.svg"});case"onedrive":return o.h("img",{src:"https://upload.wikimedia.org/wikipedia/commons/e/e7/Microsoft_OneDrive_Icon_%282025_-_present%29.svg"});default:return o.h(ll)}else return C.type==="pexels"?o.h("img",{src:"https://www.drupal.org/files/project-images/pexels_logo_0.png"}):o.h(ll)},key:C.type==="sharedDrive"?C.service:C.type==="custom"?"custom":C.type,lib:C}))]),f=o.ref(),p=o.computed(()=>u.value.slice(ju-1).map(w=>({label:w.label,value:w.key,icon:w.icon})));function c(w){w==="upload"?s():(f.value=w,a.value=!0)}function h(w){n.value=w,a.value=!1}function g(){if(r.allowUploadFromDevice){s();return}f.value=void 0,a.value=!0}K9(()=>r.field,g);function y(w){r.imageLibraries.length===0&&r.allowUploadFromDevice&&(s(),w.stopImmediatePropagation(),w.stopPropagation(),o.nextTick(()=>{a.value=!1}))}return(w,C)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["image-field",{["layout-"+e.layout]:!0}])},[o.createVNode(Ns,{show:a.value,"onUpdate:show":C[2]||(C[2]=S=>a.value=S),type:"layer",trigger:"click",fullscreen:""},{title:o.withCtx(()=>[f.value?(o.openBlock(),o.createBlock(ct,{key:0,circle:"",tertiary:"",onClick:C[0]||(C[0]=S=>f.value=void 0)},{icon:o.withCtx(()=>[o.createVNode(Je,{size:"small"},{default:o.withCtx(()=>[o.createVNode(o.unref(Qb))]),_:1})]),_:1})):o.createCommentVNode("",!0),C[3]||(C[3]=o.createElementVNode("h3",null,"Select image",-1))]),trigger:o.withCtx(()=>[o.createElementVNode("div",{class:o.normalizeClass(["image-preview",{"single-button-height":u.value.length<=1}]),onClick:y},[n.value?(o.openBlock(),o.createElementBlock("img",{key:0,src:o.unref(t)(n.value),alt:e.uploadLabel},null,8,PK)):(o.openBlock(),o.createBlock(Je,{key:1,class:"image-placeholder","aria-hidden":"true"},{default:o.withCtx(()=>[o.createVNode(o.unref(ll))]),_:1}))],2)]),content:o.withCtx(()=>[o.createVNode(Mx,{"active-key":f.value,"onUpdate:activeKey":C[1]||(C[1]=S=>f.value=S),options:u.value,"image-libraries":e.imageLibraries,width:e.width,height:e.height,quality:e.quality,"convert-to":e.convertTo,bridge:e.bridge,field:e.field,onSelect:h},null,8,["active-key","options","image-libraries","width","height","quality","convert-to","bridge","field"])]),_:1},8,["show"]),e.layout!=="compact"?(o.openBlock(),o.createElementBlock("div",DK,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(u.value.slice(0,u.value.length>ju?ju-1:ju),S=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(ct,{onClick:x=>c(S.key)},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(S.icon)))]),_:2},1024)]),default:o.withCtx(()=>[o.createTextVNode(" "+o.toDisplayString(S.label),1)]),_:2},1032,["onClick"]),o.createVNode(z0,{trigger:"click",options:p.value,onSelect:c,"mobile-layout":e.mobile,"aria-label":e.actionsLabel},{trigger:o.withCtx(()=>[u.value.length>ju?(o.openBlock(),o.createBlock(ct,{key:0},{icon:o.withCtx(()=>[o.createVNode(Je,{size:"small"},{default:o.withCtx(()=>[o.createVNode(o.unref(ix))]),_:1})]),default:o.withCtx(()=>[o.createTextVNode(" "+o.toDisplayString(e.actionsLabel),1)]),_:1})):o.createCommentVNode("",!0)]),_:1},8,["options","mobile-layout","aria-label"])],64))),256))])):o.createCommentVNode("",!0)],2))}}),Hx=Qe($K,[["__scopeId","data-v-b855661b"]]),NK={key:0,class:"title-wrapper"},RK={key:0,class:"root-index"},jK={key:1,class:"title"},FK={type:"button",class:"help-trigger","aria-label":"More information"},VK=o.defineComponent({__name:"Group",props:{layout:{},isRoot:{type:Boolean,default:!1},index:{default:0},fields:{},card:{type:Boolean},description:{},detailedDescription:{},bridge:{}},setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["group-field",{}])},[o.createVNode(_0,{transculent:!e.card,class:o.normalizeClass({"no-card":e.card===!1}),dividers:!1},{default:o.withCtx(()=>[e.description||e.detailedDescription?(o.openBlock(),o.createElementBlock("div",NK,[e.isRoot?(o.openBlock(),o.createElementBlock("div",RK,o.toDisplayString(e.index),1)):o.createCommentVNode("",!0),e.description?(o.openBlock(),o.createElementBlock("h4",jK,o.toDisplayString(e.description),1)):o.createCommentVNode("",!0),e.detailedDescription?(o.openBlock(),o.createBlock(E0,{key:2,trigger:"hover"},{trigger:o.withCtx(()=>[o.createElementVNode("button",FK,[o.createVNode(Je,{size:16},{default:o.withCtx(()=>[o.createVNode(o.unref(lx))]),_:1})])]),content:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.detailedDescription),1)]),_:1})):o.createCommentVNode("",!0)])):o.createCommentVNode("",!0),o.createVNode(MS,{fields:e.fields,bridge:e.bridge,layout:e.layout,"is-root":!1},null,8,["fields","bridge","layout"])]),_:1},8,["transculent","class"])]))}}),Wx=Qe(VK,[["__scopeId","data-v-6023598b"]]),UK={class:"text-field"},ZK="calc(2*1.2em + 5px * 2)",qK=o.defineComponent({__name:"Text",props:o.mergeModels({maxLength:{},maxLines:{},maxLineLength:{},showWordCount:{type:Boolean},clearable:{type:Boolean},multiline:{type:Boolean},uppercase:{type:Boolean},placeholder:{},richtext:{},bridge:{},maxHeight:{},labelId:{},minWidth:{},maxWidth:{}},{modelValue:{type:[String,Number,Boolean,Array],required:!1,default:"Hello world"},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=o.useModel(e,"modelValue");function n(i){t.value=i}const r=e,a=o.computed(()=>!r.maxHeight||r.maxHeight===ZK?void 0:r.maxHeight);return(i,l)=>(o.openBlock(),o.createElementBlock("div",UK,[o.createVNode(Si,{type:e.multiline?"textarea":"text","model-value":t.value,"onUpdate:modelValue":n,"show-word-count":e.showWordCount,clearable:e.clearable,"max-length":e.maxLength??1/0,"max-line-length":e.maxLineLength??1/0,"max-lines":e.maxLines??1/0,placeholder:e.placeholder||"Text Field...",resizeable:!1,richtext:e.richtext.enabled?e.richtext:void 0,"max-height":a.value,"max-rows":20,"aria-labelledby":e.labelId,ring:"",bordered:""},null,8,["type","model-value","show-word-count","clearable","max-length","max-line-length","max-lines","placeholder","richtext","max-height","aria-labelledby"])]))}}),Gx=Qe(qK,[["__scopeId","data-v-ceacb5b8"]]),HK={class:"field-image-adjust"},WK=o.defineComponent({__name:"ImageAdjust",props:o.mergeModels({minX:{},maxX:{},minY:{},maxY:{},minScale:{},maxScale:{},type:{},aspectRatio:{},bridge:{}},{image:{required:!0},imageModifiers:{},adjust:{required:!0},adjustModifiers:{}}),emits:["update:image","update:adjust"],setup(e){o.inject(C0);const t=o.useModel(e,"image"),n=o.useModel(e,"adjust"),r=e,a=o.ref();return o.watchEffect(async()=>{t.value&&(a.value=await Mc(t.value))}),o.computed(()=>hm(n.value,a.value.width,a.value.height,r.aspectRatio)),(i,l)=>(o.openBlock(),o.createElementBlock("div",HK,[o.createVNode(ct,null,{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[o.createVNode(o.unref(r3))]),_:1})]),default:o.withCtx(()=>[l[0]||(l[0]=o.createTextVNode(" Crop ",-1))]),_:1})]))}}),Xx=Qe(WK,[["__scopeId","data-v-9e4c42cb"]]),GK=["aria-labelledby"],XK=["aria-checked","aria-label","tabindex","onClick"],YK={class:"image-card"},KK={class:"label-image-proxy"},JK=["src"],QK={key:0,class:"label"},eJ=o.defineComponent({__name:"Select",props:o.mergeModels({options:{},layout:{},cardSize:{},showLabels:{type:Boolean},labelId:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=o.useModel(e,"modelValue"),r=Bl(),a=o.computed(()=>t.layout==="grid"||t.layout==="cards");function i(p){n.value=p.value}const l=o.ref([]);function d(p,c){l.value[c]=p}const s=o.computed(()=>{const p=t.options.findIndex(c=>c.value===n.value);return p>=0?p:0});function u(p){var y;const c=t.options.length;if(c===0)return;const h=l.value.findIndex(w=>w===document.activeElement);let g;switch(p.key){case"ArrowRight":case"ArrowDown":g=h<0?0:(h+1)%c;break;case"ArrowLeft":case"ArrowUp":g=h<0?c-1:(h-1+c)%c;break;case"Home":g=0;break;case"End":g=c-1;break;case"Enter":case" ":h>=0&&(p.preventDefault(),i(t.options[h]));return;default:return}p.preventDefault(),(y=l.value[g])==null||y.focus(),i(t.options[g])}const f=o.computed(()=>t.options.map(p=>({label:p.label,value:p.value,icon:p.image?()=>o.h(Je,{},()=>o.h("img",{src:p.image,style:{"object-fit":"cover",width:"24px",height:"24px"}})):void 0})));return(p,c)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["select-field",{"grid-layout":a.value,"horizontal-scroll":e.layout==="cards"}])},[a.value?(o.openBlock(),o.createElementBlock("div",{key:0,class:o.normalizeClass(["select-grid",{["size-"+e.cardSize]:!0,"horizontal-scroll":e.layout==="cards"}]),role:"radiogroup","aria-labelledby":e.labelId,onKeydown:u},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.options,(h,g)=>(o.openBlock(),o.createElementBlock("div",{key:g,ref_for:!0,ref:y=>d(y,g),class:o.normalizeClass(["option-item",{active:h.value===n.value}]),role:"radio","aria-checked":h.value===n.value?"true":"false","aria-label":h.label,tabindex:g===s.value?0:-1,onClick:y=>i(h)},[o.createElementVNode("div",YK,[o.createElementVNode("div",KK,[o.createElementVNode("span",null,o.toDisplayString(h.label),1)]),h.image?(o.openBlock(),o.createElementBlock("img",{key:0,src:o.unref(r)(h.image)},null,8,JK)):o.createCommentVNode("",!0)]),e.showLabels?(o.openBlock(),o.createElementBlock("div",QK,o.toDisplayString(h.label),1)):o.createCommentVNode("",!0)],10,XK))),128))],42,GK)):(o.openBlock(),o.createBlock(Ur,{key:1,modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=h=>n.value=h),options:f.value,"aria-labelledby":e.labelId,bordered:""},null,8,["modelValue","options","aria-labelledby"]))],2))}}),Yx=Qe(eJ,[["__scopeId","data-v-9bc0926e"]]);function Kx(e){const t=o.computed(()=>{const r=o.toValue(e.disabled)??!1,a=o.toValue(e.labelledBy);return{role:e.role,tabindex:r?-1:0,"aria-checked":o.toValue(e.checked)?"true":"false","aria-disabled":r?"true":void 0,"aria-labelledby":a,"aria-label":a?void 0:o.toValue(e.label)}});function n(r){o.toValue(e.disabled)||(r.key===" "||r.key==="Enter")&&(r.preventDefault(),e.toggle())}return{attrs:t,onKeydown:n}}const tJ=o.defineComponent({__name:"BxCheckbox",props:o.mergeModels({label:{},ariaLabel:{},ariaLabelledby:{},size:{default:"medium"},disabled:{type:Boolean,default:!1},secondary:{type:Boolean,default:!1}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=o.useModel(e,"modelValue"),r=()=>{t.disabled||(n.value=!n.value)},{attrs:a,onKeydown:i}=Kx({role:"checkbox",checked:()=>n.value,disabled:()=>t.disabled,label:()=>t.ariaLabel??t.label,labelledBy:()=>t.ariaLabelledby,toggle:r});return(l,d)=>(o.openBlock(),o.createElementBlock("div",o.mergeProps({class:["bx-checkbox",{checked:n.value,disabled:e.disabled,secondary:e.secondary}]},o.unref(a),{onClick:r,onKeydown:d[0]||(d[0]=(...s)=>o.unref(i)&&o.unref(i)(...s))}),[...d[1]||(d[1]=[o.createElementVNode("div",{class:"checkbox-box"},[o.createElementVNode("div",{class:"checkbox-symbol"},[o.createElementVNode("svg",{viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"check-icon","aria-hidden":"true"},[o.createElementVNode("path",{d:"M12.1875 3.75L5.625 11.25L2.8125 8.4375",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})])])],-1)])],16))}}),Is=Qe(tJ,[["__scopeId","data-v-6cd2378e"]]),nJ={class:"label"},rJ=["id"],aJ=o.defineComponent({__name:"Checkbox",props:o.mergeModels({description:{},detailedDescription:{},label:{},mobile:{type:Boolean,default:!1},secondary:{type:Boolean,default:!1},labelId:{}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=$a("bx-checkbox-label"),n=o.useModel(e,"modelValue");return(r,a)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["checkbox-field",{mobile:e.mobile}])},[o.createVNode(Is,{modelValue:n.value,"onUpdate:modelValue":a[0]||(a[0]=i=>n.value=i),size:"medium","aria-labelledby":e.label?o.unref(t):e.labelId},null,8,["modelValue","aria-labelledby"]),e.label?(o.openBlock(),o.createElementBlock("div",{key:0,class:"checkbox-label",onClick:a[1]||(a[1]=i=>n.value=!n.value)},[o.createElementVNode("div",nJ,[o.createElementVNode("span",{id:o.unref(t)},o.toDisplayString(e.label),9,rJ)])])):o.createCommentVNode("",!0)],2))}}),Jx=Qe(aJ,[["__scopeId","data-v-8852852c"]]),oJ=o.defineComponent({__name:"CollectionEntryFields",props:{bridge:{},fields:{},layout:{},data:{}},emits:["update:data"],setup(e,{emit:t}){const n=e,r=t,a=o.ref(n.data);return o.watch(()=>n.data,i=>{i!==a.value&&(a.value=i)}),o.provide("data",a),o.watch(a,()=>{r("update:data",a.value)},{deep:!0}),(i,l)=>(o.openBlock(),o.createBlock(Wx,{bridge:e.bridge,fields:e.fields,card:!1,layout:e.layout},null,8,["bridge","fields","layout"]))}});/**!
148
+ `).length-(r.maxLines??1/0))),r.maxLength!==1/0&&r.maxLength!==null&&(f.value=String(re).length-r.maxLength)}});const g=o.computed({get(){return pm(y.value)},set(re){r.richtext?d.value=[{text:re,format:{}}]:d.value=re}}),y=o.computed({get(){return kx(d.value)},set(re){r.richtext?d.value=re:d.value=pm(re)}}),w=o.ref(),C=$a("bx-input-count"),S=o.computed(()=>r.state==="error"||c.value),x=o.computed(()=>r.showWordCount?C:void 0),_=o.ref();let z;const A=o.ref(!1);o.watch(A,()=>{A.value?a("focus"):a("blur",z)});function T(re){A.value=!0}function k(re){z=re,A.value=!1}o.watch(_,(re,se)=>{re&&(se&&(se.removeEventListener("focus",T),se.removeEventListener("blur",k)),re.addEventListener("focus",T),re.addEventListener("blur",k))});const M=o.computed(()=>String(Math.max(1,r.maxRows)));function E(){if(r.type!=="textarea")return;const re=_.value;!re||re.tagName!=="TEXTAREA"||(re.style.height="auto",re.style.height=`${re.scrollHeight}px`)}o.watch([_,g,()=>r.type,()=>r.minHeight,()=>r.maxHeight,M],async()=>{await o.nextTick(),E()},{immediate:!0,flush:"post"}),window.addEventListener("blur",k);const $=()=>{var re;r.disabled||r.readonly||(re=_.value)==null||re.focus()},N=re=>{re.key==="Enter"&&a("enter",re)},m=o.ref(""),q=o.computed(()=>{const re=r.richtext?m.value:d.value;return[...new Intl.Segmenter().segment(re)].length}),H=o.computed(()=>r.richtext?m.value.length>0:String(d.value).length>0);function W(re){return re.en}const B=o.ref(),I=o.ref({start:0,length:0}),O=o.computed({get(){var K,P;const re=(K=w.value)==null?void 0:K.richTextInstance;if(!re)return;const fe=re.resolveFeatures(I.value.start,I.value.length).flat(),Ae=G(fe);if(Ae!==void 0)return Ae===null?"multiple":(P=R.value.find(j=>Er(j.value,Ae)))==null?void 0:P.value},set(re){var fe;const se=(fe=w.value)==null?void 0:fe.richTextInstance;se&&re!=="multiple"&&(re===void 0?se.applyFormat(I.value.start,I.value.length,{}):(se.resolveFeatures(I.value.start,I.value.length),se.applyFormat(I.value.start,I.value.length,re)),F.value.closePopover())}});o.watch(B,()=>{B.value&&(I.value=B.value)});const R=o.computed(()=>r.richtext?[{label:W(r.richtext.noStyleLabel),value:void 0},...r.richtext.options.map((re,se)=>({label:re.label,value:re.style}))]:[]),F=o.ref();function G(re){let se=!1,fe;for(const Ae of re)if(!fe)fe=Ae.format;else if(!Er(fe,Ae.format)){se=!0;break}return se?null:fe}function ne(){r.richtext?y.value=[{text:"",format:{}}]:l.value=""}return o.onUnmounted(()=>{s.value=[],u.value=0,f.value=0}),t({inputEelRef:_,setFocus(re){var se,fe;re?(se=_.value)==null||se.focus():(fe=_.value)==null||fe.blur()}}),(re,se)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["bx-input",{readonly:e.readonly,bordered:e.bordered,"is-textarea":e.type==="textarea"}])},[e.richtext?(o.openBlock(),o.createBlock(Ur,{key:0,ref_key:"bxSelectRef",ref:F,class:"select-richtext",modelValue:O.value,"onUpdate:modelValue":se[0]||(se[0]=fe=>O.value=fe),options:R.value,disabled:!I.value||I.value.length===0},{label:o.withCtx(({label:fe})=>[o.createTextVNode(o.toDisplayString(fe??"Multiple"),1)]),_:1},8,["modelValue","options","disabled"])):o.createCommentVNode("",!0),o.createElementVNode("div",{class:o.normalizeClass(["bx-input-wrapper",{focus:A.value&&!e.readonly,round:e.round,ring:e.ring,bordered:e.bordered,["size-"+e.size]:e.size,disabled:e.disabled,readonly:e.readonly,"rich-text":e.richtext,error:c.value,"state-active":e.state==="active","state-success":e.state==="success","state-error":e.state==="error","state-warning":e.state==="warning",ghost:e.ghost}]),style:o.normalizeStyle({"--max-height":e.richtext?"auto":e.maxHeight,"--min-height":e.minHeight,"--textarea-max-lines":M.value}),onClick:$},[i.prefix?(o.openBlock(),o.createElementBlock("div",IX,[o.renderSlot(re.$slots,"prefix",{},void 0,!0)])):o.createCommentVNode("",!0),o.createElementVNode("div",{class:o.normalizeClass(["bx-input__input",{"swiper-no-swiping":A.value,"has-prefix":!!i.prefix}])},[e.richtext?(o.openBlock(),o.createBlock(Lx,{key:0,ref_key:"bxRichTextInstance",ref:w,modelValue:y.value,"onUpdate:modelValue":se[1]||(se[1]=fe=>y.value=fe),selection:B.value,"onUpdate:selection":se[2]||(se[2]=fe=>B.value=fe),"raw-text":m.value,"onUpdate:rawText":se[3]||(se[3]=fe=>m.value=fe),focus:A.value,"onUpdate:focus":se[4]||(se[4]=fe=>A.value=fe),"aria-label":e.ariaLabelledby?void 0:e.ariaLabel,"aria-labelledby":e.ariaLabelledby},null,8,["modelValue","selection","raw-text","focus","aria-label","aria-labelledby"])):(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[e.type==="textarea"?o.withDirectives((o.openBlock(),o.createElementBlock("textarea",{key:0,ref_key:"inputEelRef",ref:_,rows:"1",class:o.normalizeClass({resizeable:e.resizeable}),"onUpdate:modelValue":se[5]||(se[5]=fe=>g.value=fe),placeholder:e.placeholder,onKeydown:N,readonly:e.readonly,title:e.readonly?e.readonlyMessage:void 0,"aria-label":e.ariaLabelledby?void 0:e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-invalid":S.value?"true":void 0,"aria-describedby":x.value},null,42,AX)),[[o.vModelText,g.value]]):o.withDirectives((o.openBlock(),o.createElementBlock("input",{key:1,ref_key:"inputEelRef",ref:_,"onUpdate:modelValue":se[6]||(se[6]=fe=>g.value=fe),readonly:e.readonly,placeholder:e.placeholder,type:e.type,onKeydown:N,title:e.readonly?e.readonlyMessage:void 0,"aria-label":e.ariaLabelledby?void 0:e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-invalid":S.value?"true":void 0,"aria-describedby":x.value},null,40,BX)),[[o.vModelDynamic,g.value]])],64))],2),i.suffix||e.clearable||e.showWordCount||i.loading||e.loading||c.value?(o.openBlock(),o.createElementBlock("div",{key:1,"data-suffix":!!i.suffix,class:"bx-input__suffix"},[i.loading||e.loading?(o.openBlock(),o.createElementBlock("div",LX,[i.loading?o.renderSlot(re.$slots,"loading",{},void 0,!0,0):(o.openBlock(),o.createBlock(zl,{key:1,size:"small"}))])):o.createCommentVNode("",!0),o.renderSlot(re.$slots,"suffix",{},void 0,!0),e.showWordCount?(o.openBlock(),o.createElementBlock("div",{key:1,id:o.unref(C),class:"bx-input__word-count"},[e.maxLength&&e.maxLength!==1/0?(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createTextVNode(o.toDisplayString(q.value)+" / "+o.toDisplayString(e.maxLength),1)],64)):(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createTextVNode(o.toDisplayString(q.value),1)],64))],8,TX)):o.createCommentVNode("",!0),c.value?(o.openBlock(),o.createBlock(E0,{key:2,trigger:"hover","custom-popover-classes":["text-overflow-tooltip"],"allowed-placements":["bottom","top","right"]},{trigger:o.withCtx(()=>[o.createVNode(ct,{circle:"",size:"tiny",secondary:"",state:"error",class:"errors-button","aria-label":"Show input warnings"},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[o.createVNode(o.unref(ox))]),_:1})]),_:1})]),content:o.withCtx(()=>{var fe,Ae,K;return[o.createElementVNode("div",MX,[(fe=p.value)!=null&&fe.overflowingCharacters?(o.openBlock(),o.createElementBlock("div",PX,[o.createElementVNode("span",DX,o.toDisplayString(e.maxLength+f.value)+" / "+o.toDisplayString(e.maxLength),1),se[7]||(se[7]=o.createTextVNode(" characters ",-1))])):o.createCommentVNode("",!0),(Ae=p.value)!=null&&Ae.overlowingLines?(o.openBlock(),o.createElementBlock("div",$X,[o.createElementVNode("span",NX,o.toDisplayString(e.maxLines+u.value)+" / "+o.toDisplayString(e.maxLines),1),se[8]||(se[8]=o.createTextVNode(" lines ",-1))])):o.createCommentVNode("",!0),(K=p.value)!=null&&K.lineOverflows?(o.openBlock(),o.createElementBlock("div",RX,[se[9]||(se[9]=o.createTextVNode(" Lines are too long: ",-1)),o.createElementVNode("ul",null,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(p.value.lineOverflows,({index:P,length:j})=>(o.openBlock(),o.createElementBlock("li",null,[o.createElementVNode("span",jX,"("+o.toDisplayString(P+1)+")",1),o.createElementVNode("span",FX,o.toDisplayString(j)+" / "+o.toDisplayString(e.maxLineLength),1)]))),256))])])):o.createCommentVNode("",!0)])]}),_:1})):o.createCommentVNode("",!0),e.clearable&&H.value?(o.openBlock(),o.createElementBlock("button",{key:3,type:"button",class:"bx-input__clear-btn",onClick:o.withModifiers(ne,["stop"]),title:"Clear","aria-label":"Clear"},[o.createVNode(Je,{size:12},{default:o.withCtx(()=>[o.createVNode(o.unref(jo))]),_:1})])):o.createCommentVNode("",!0)],8,OX)):o.createCommentVNode("",!0)],6)],2))}}),Si=Qe(VX,[["__scopeId","data-v-e7f10bcd"]]);function iv(e){return new URLSearchParams(Object.fromEntries(Object.entries(e).map(([t,n])=>[t,String(n)]))).toString()}function UX(e){const t=o.ref([]),n=o.ref(0);let r=25;async function a(i,l){l=l??t.value.length??0;const s=await(await fetch(`https://api.pexels.com/v1/search?${iv({page:Math.ceil(l/r),query:i,per_page:r})}`,{headers:{Authorization:e}})).json();if("error"in s)throw new Error(s.error);n.value=s.total_results,t.value=[...t.value.slice(0,l),...s.photos]}return{photos:t,total:n,searchPhotos:a}}const ZX=o.defineComponent({__name:"LazyLoadingItemWrapper",emits:["update:visible"],setup(e,{emit:t}){o.ref();const n=t,r=o.ref(),a=OP(r);return n("update:visible",a.value),o.watch(a,(i,l)=>{!l&&i&&n("update:visible",a.value)}),(i,l)=>(o.openBlock(),o.createElementBlock("div",{class:"item-wrapper",ref_key:"itemWrapperRef",ref:r},[o.renderSlot(i.$slots,"default")],512))}}),qX=o.defineComponent({__name:"LazyLoading",props:{items:{},total:{},fetch:{type:Function},visibleTriggerOffset:{}},setup(e){o.ref();const t=e;t.fetch(0);const n=(r,a)=>{a&&r>=t.items.length-t.visibleTriggerOffset-1&&t.total>t.items.length&&t.fetch()};return(r,a)=>(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.items,(i,l)=>(o.openBlock(),o.createBlock(ZX,{key:l,class:"item-wrapper",item:i,index:l,"onUpdate:visible":d=>n(l,d)},{default:o.withCtx(()=>[o.renderSlot(r.$slots,"item",{item:i,index:l})]),_:2},1032,["item","index","onUpdate:visible"]))),128))}}),HX={class:"bx-empty-icon"},WX={key:1,viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},GX={key:0,class:"bx-empty-description"},XX={key:1,class:"bx-empty-extra"},YX=o.defineComponent({__name:"BxEmpty",props:{description:{default:"No Data"},size:{default:"medium"}},setup(e){const t=o.useSlots();return(n,r)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["bx-empty",{[`size-${e.size}`]:!0}])},[o.createElementVNode("div",HX,[t.icon?o.renderSlot(n.$slots,"icon",{},void 0,!0,0):(o.openBlock(),o.createElementBlock("svg",WX,[...r[0]||(r[0]=[o.createElementVNode("path",{d:"M26 7.5C26 11.0899 23.0899 14 19.5 14C15.9101 14 13 11.0899 13 7.5C13 3.91015 15.9101 1 19.5 1C23.0899 1 26 3.91015 26 7.5ZM14 7.5C14 3.91015 11.0899 1 7.5 1C3.91015 1 1 3.91015 1 7.5C1 11.0899 3.91015 14 7.5 14C11.0899 14 14 11.0899 14 7.5ZM14 19.5C14 15.9101 11.0899 13 7.5 13C3.91015 13 1 15.9101 1 19.5C1 23.0899 3.91015 26 7.5 26C11.0899 26 14 23.0899 14 19.5Z",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round",opacity:"0.4"},null,-1),o.createElementVNode("circle",{cx:"19.5",cy:"19.5",r:"6.5",stroke:"currentColor","stroke-width":"1.5","stroke-dasharray":"3 3",opacity:"0.25"},null,-1)])]))]),e.description||t.description?(o.openBlock(),o.createElementBlock("div",GX,[t.description?o.renderSlot(n.$slots,"description",{},void 0,!0,0):(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createTextVNode(o.toDisplayString(e.description),1)],64))])):o.createCommentVNode("",!0),t.default?(o.openBlock(),o.createElementBlock("div",XX,[o.renderSlot(n.$slots,"default",{},void 0,!0)])):o.createCommentVNode("",!0)],2))}}),d3=Qe(YX,[["__scopeId","data-v-d66bc5e4"]]),KX={class:"image-library-pexels"},JX={class:"search-bar-wrapper"},QX={key:0,class:"photos"},eY=["onClick"],tY=["src"],nY={key:0,class:"loading-wrapper"},rY={key:1,class:"loading-wrapper"},aY=o.defineComponent({__name:"Pexels",props:{apiKey:{},width:{},height:{},uploadContext:{},uploadImageAsset:{type:Function}},emits:["select"],setup(e,{emit:t}){const n=Bl(),r=e,a=t,i=o.ref("city"),{searchPhotos:l,photos:d,total:s}=UX(r.apiKey),u=o.ref(),f=o.ref(!1);async function p(){i.value.length>0&&(f.value=!0,s.value=25,d.value=[],await l(i.value),u.value=i.value,f.value=!1)}async function c(y,w){await l(i.value,y)}const h=o.ref();async function g(y){h.value=y.id;const w=await r.uploadImageAsset({blob:await fetch(n(y.src.original)).then(C=>C.blob()),context:r.uploadContext,width:r.width,height:r.height,key:`pexels-${y.id}`,name:y.id.toString(),onProgress(C){console.log("upload progress",C)}});h.value=void 0,a("select",w.src)}return(y,w)=>(o.openBlock(),o.createElementBlock("div",KX,[o.createElementVNode("header",null,[o.createElementVNode("div",JX,[o.createVNode(Si,{modelValue:i.value,"onUpdate:modelValue":w[0]||(w[0]=C=>i.value=C),round:"",placeholder:"Search...",size:"medium",onEnter:p},null,8,["modelValue"]),o.createVNode(ct,{active:"",onClick:p},{default:o.withCtx(()=>[...w[1]||(w[1]=[o.createTextVNode("Search",-1)])]),_:1})])]),o.createElementVNode("main",null,[u.value?(o.openBlock(),o.createElementBlock("div",QX,[o.createVNode(qX,{items:o.unref(d),total:o.unref(s),fetch:c,"visible-trigger-offset":0},{item:o.withCtx(({item:C})=>[(o.openBlock(),o.createElementBlock("div",{key:C.id,class:"photo-wrapper",onClick:S=>g(C)},[o.createElementVNode("div",{class:o.normalizeClass(["preview",{loading:h.value===C.id}])},[o.createElementVNode("img",{src:o.unref(n)(C.src.tiny)},null,8,tY),h.value===C.id?(o.openBlock(),o.createElementBlock("div",nY,[o.createVNode(zl)])):o.createCommentVNode("",!0)],2)],8,eY))]),_:1},8,["items","total"])])):f.value?(o.openBlock(),o.createElementBlock("div",rY,[o.createVNode(zl)])):(o.openBlock(),o.createBlock(d3,{key:2,description:"Search for images on Pexels"},{icon:o.withCtx(()=>[o.createVNode(o.unref(RH))]),_:1}))])]))}});function oY(e,t,n){return e.map(r=>({src:`https://shared-drive.bluepic.io/image?url=${encodeURIComponent(r["@microsoft.graph.downloadUrl"])}&w=${t}&h=${n}&fit=cover&quality=80&format=png`,key:r.id,width:r.image.width,height:r.image.height,previews:{small:{src:`https://shared-drive.bluepic.io/image?url=${encodeURIComponent(r["@microsoft.graph.downloadUrl"])}&h=200&fit=cover&quality=80&format=png`,width:r.image.width,height:r.image.height},medium:{src:`https://shared-drive.bluepic.io/image?url=${encodeURIComponent(r["@microsoft.graph.downloadUrl"])}&h=400&fit=cover&quality=80&format=png`,width:r.image.width,height:r.image.height}}}))}function iY(e,t,n){return e.map(({thumbnailLink:r,webContentLink:a,sha256Checksum:i,imageMediaMetadata:l})=>({src:`https://shared-drive.bluepic.io/image?url=${encodeURIComponent(a)}&w=${t}&h=${n}&fit=cover&quality=80&format=png`,key:i,width:(l==null?void 0:l.width)??0,height:(l==null?void 0:l.height)??0,previews:{small:{src:`https://shared-drive.bluepic.io/image?url=${encodeURIComponent(r)}&h=200&fit=cover&quality=80&format=png`,width:(l==null?void 0:l.width)??0,height:(l==null?void 0:l.height)??0},medium:{src:`https://shared-drive.bluepic.io/image?url=${encodeURIComponent(r)}&h=400&fit=cover&quality=80&format=png`,width:(l==null?void 0:l.width)??0,height:(l==null?void 0:l.height)??0}}}))}function lY(e,t,n,r){const a=o.ref();return{sharedItems:a,fetchSharedDrive:async()=>{if(e==="onedrive"){const l=`https://shared-drive.bluepic.io/onedrive?${iv({sharing:t})}`,s=await(await fetch(l)).json();a.value=oY(s.children,n,r)}else if(e==="googledrive"){const l=`https://shared-drive.bluepic.io/googledrive?${iv({sharing:t})}`,s=await(await fetch(l)).json();a.value=iY(s.files,n,r)}}}}const sY={class:"image-library-shared-drive"},cY={key:0,class:"photos"},uY=["onClick"],dY={class:"preview"},fY=["src"],mY={key:1,class:"loading-wrapper"},pY=o.defineComponent({__name:"SharedDrive",props:{service:{},sharedUrl:{},width:{},height:{}},emits:["select"],setup(e,{emit:t}){const n=Bl(),r=e,a=t,{fetchSharedDrive:i,sharedItems:l}=lY(r.service,r.sharedUrl,r.width,r.height);i();function d(s){a("select",s.src)}return(s,u)=>(o.openBlock(),o.createElementBlock("div",sY,[o.unref(l)?(o.openBlock(),o.createElementBlock("div",cY,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(l),f=>(o.openBlock(),o.createElementBlock("div",{class:"photo-wrapper",onClick:p=>d(f)},[o.createElementVNode("div",dY,[o.createElementVNode("img",{src:o.unref(n)(f.previews.small.src)},null,8,fY)])],8,uY))),256))])):(o.openBlock(),o.createElementBlock("div",mY,[o.createVNode(zl)]))]))}}),hY=Qe(pY,[["__scopeId","data-v-6b7dadc2"]]),gY={class:"image-library-custom"},vY=o.defineComponent({__name:"Custom",props:{controller:{},label:{},name:{},props:{}},setup(e){const t=e,n=import(t.controller),r=o.ref();return n.then(a=>{r.value=new a.default(t.props)}),(a,i)=>(o.openBlock(),o.createElementBlock("div",gY,"JAJAJA"))}}),bY={class:"image-library-wrapper"},yY={key:0,class:"nav-view-wrapper"},wY={class:"icon-wrapper"},CY={class:"label"},xY={key:1,class:"library-view-wrapper"},SY=o.defineComponent({__name:"ImageLibraryWrapper",props:{options:{},activeKey:{},imageLibraries:{},convertTo:{},quality:{},width:{},height:{},bridge:{},field:{}},emits:["select","update:active-key"],setup(e,{emit:t}){const n=e,r=t,a=o.ref(n.activeKey);o.watch(a,()=>{n.activeKey!==a.value&&r("update:active-key",a.value)}),o.watch(()=>n.activeKey,()=>{n.activeKey!==a.value&&(a.value=n.activeKey)});function i(g){a.value=g}const l=o.computed(()=>{var g;return(g=n.imageLibraries.find(y=>y.type==="pexels"))==null?void 0:g.apiKey}),d=o.computed(()=>n.imageLibraries.find(g=>g.type==="sharedDrive"&&g.service===a.value).sharedUrl),s=o.computed(()=>{var g;return(g=n.imageLibraries.find(y=>y.type===a.value))==null?void 0:g.label}),u=o.computed(()=>{var g;return(g=n.imageLibraries.find(y=>y.type===a.value))==null?void 0:g.name}),f=o.computed(()=>{var g;return(g=n.imageLibraries.find(y=>y.type===a.value))==null?void 0:g.controller}),p=o.computed(()=>{var g;return(g=n.imageLibraries.find(y=>y.type===a.value))==null?void 0:g.props});function c(g){const y=g[0];y&&h(y.src)}function h(g){r("select",g)}return(g,y)=>(o.openBlock(),o.createElementBlock("div",bY,[o.createVNode(o.Transition,{name:"slide-library"},{default:o.withCtx(()=>[a.value===void 0?(o.openBlock(),o.createElementBlock("div",yY,[o.createElementVNode("div",{class:"image-library-source-navigation",style:o.normalizeStyle({"--options-length":e.options.length})},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(n.options,w=>(o.openBlock(),o.createBlock(_0,{key:w.key,bordered:!0,onClick:C=>i(w.key)},{default:o.withCtx(()=>[o.createElementVNode("div",wY,[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(w.icon)))]),o.createElementVNode("div",CY,o.toDisplayString(w.label),1)]),_:2},1032,["onClick"]))),128))],4)])):(o.openBlock(),o.createElementBlock("div",xY,[a.value==="upload"?(o.openBlock(),o.createBlock(MG,{key:0,width:e.width,height:e.height,"convert-to":e.convertTo,quality:e.quality,field:e.field,"handle-upload":e.bridge.handleUpload,onUpload:c},null,8,["width","height","convert-to","quality","field","handle-upload"])):a.value==="pexels"?(o.openBlock(),o.createBlock(aY,{key:1,"api-key":l.value,width:e.width,height:e.height,"upload-image-asset":e.bridge.handleUpload,"upload-context":{field:e.field},onSelect:h},null,8,["api-key","width","height","upload-image-asset","upload-context"])):a.value==="googledrive"||a.value==="onedrive"||a.value==="icloud"||a.value==="dropbox"?(o.openBlock(),o.createBlock(hY,{key:2,service:a.value,"shared-url":d.value,width:e.width,height:e.height,onSelect:h},null,8,["service","shared-url","width","height"])):a.value==="custom"?(o.openBlock(),o.createBlock(vY,{key:3,label:s.value??"Custom Library",name:u.value,controller:f.value,props:p.value},null,8,["label","name","controller","props"])):o.createCommentVNode("",!0)]))]),_:1})]))}}),Mx=Qe(SY,[["__scopeId","data-v-61c69114"]]),kY=o.defineComponent({__name:"BxList",props:{divider:{type:Boolean,default:!0},bordered:{type:Boolean,default:!1},variant:{default:"plain"}},setup(e){return o.useSlots(),(t,n)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["bx-list",{"has-divider":e.divider&&e.variant==="plain",bordered:e.bordered,[`variant-${e.variant}`]:!0}])},[o.renderSlot(t.$slots,"default",{},void 0,!0)],2))}}),Px=Qe(kY,[["__scopeId","data-v-53785398"]]),_Y={class:"bx-list-item__inner"},EY={key:0,class:"bx-list-item__prefix"},zY={class:"bx-list-item__content"},IY={key:1,class:"bx-list-item__suffix"},AY=o.defineComponent({__name:"BxListItem",props:{interactive:{type:Boolean,default:!0}},setup(e){const t=o.useSlots(),n=o.computed(()=>!!t.prefix),r=o.computed(()=>!!t.suffix);return(a,i)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["bx-list-item",{"has-prefix":n.value,"has-suffix":r.value,interactive:e.interactive}])},[o.createElementVNode("div",_Y,[t.prefix?(o.openBlock(),o.createElementBlock("div",EY,[o.renderSlot(a.$slots,"prefix",{},void 0,!0)])):o.createCommentVNode("",!0),o.createElementVNode("div",zY,[o.renderSlot(a.$slots,"default",{},void 0,!0)]),t.suffix?(o.openBlock(),o.createElementBlock("div",IY,[o.renderSlot(a.$slots,"suffix",{},void 0,!0)])):o.createCommentVNode("",!0)])],2))}}),Dx=Qe(AY,[["__scopeId","data-v-1048af22"]]),BY=["aria-label"],OY=["onClick"],LY={class:"icon"},TY={class:"label"},MY={class:"pullup-menu"},PY={class:"icon"},DY=o.defineComponent({__name:"BxDropdown",props:o.mergeModels({options:{},allowedPlacements:{},mobileLayout:{type:Boolean,default:!1},ariaLabel:{default:"Menu"}},{show:{type:Boolean,required:!1,default:!1},showModifiers:{}}),emits:o.mergeModels(["select"],["update:show"]),setup(e,{emit:t}){const n=e,r=t,a=o.useModel(e,"show");function i(S){a.value=!1,r("select",S.value)}const l=o.useSlots(),d=$a("bx-dropdown-menu"),{setSlotRef:s,vNodes:u,slotElements:f}=gp(l.trigger);function p(S){(S.key==="ArrowDown"||S.key==="ArrowUp")&&(S.preventDefault(),a.value||(a.value=!0),w(0))}let c;o.watch(f,(S,x)=>{for(const z of x??[])z instanceof HTMLElement&&z.removeEventListener("keydown",p);c=void 0;const _=S[0];_ instanceof HTMLElement&&(_.setAttribute("aria-haspopup","menu"),_.setAttribute("aria-controls",d),_.setAttribute("aria-expanded",String(a.value)),_.addEventListener("keydown",p),c=_)},{immediate:!0});const h=o.ref(0),g=[];function y(S,x){if(!S){g[x]=void 0;return}const _=S instanceof HTMLElement?S:S.$el;g[x]=_ instanceof HTMLElement?_:void 0}function w(S){if(n.options.length===0)return;const x=(S+n.options.length)%n.options.length;h.value=x,o.nextTick(()=>{var _;return(_=g[x])==null?void 0:_.focus()})}function C(S){const x=n.options.length;if(x!==0)switch(S.key){case"ArrowDown":S.preventDefault(),w(h.value+1);break;case"ArrowUp":S.preventDefault(),w(h.value-1);break;case"Home":S.preventDefault(),w(0);break;case"End":S.preventDefault(),w(x-1);break;case"Enter":case" ":S.preventDefault(),i(n.options[h.value]),c==null||c.focus();break;case"Escape":S.preventDefault(),S.stopPropagation(),a.value=!1,c==null||c.focus();break;case"Tab":a.value=!1;break}}return o.watch(a,S=>{c==null||c.setAttribute("aria-expanded",String(S)),S&&(h.value=0,o.nextTick(()=>{var x;return(x=g[0])==null?void 0:x.focus()}))}),o.onUnmounted(()=>{c&&c.removeEventListener("keydown",p)}),(S,x)=>e.mobileLayout?(o.openBlock(),o.createBlock(Ns,{key:0,show:a.value,"onUpdate:show":x[1]||(x[1]=_=>a.value=_),"disable-background-effect":"","custom-classes":["bx-dropdown-mobile-layout-popup"],closeable:!1},{trigger:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(u),(_,z)=>(o.openBlock(),o.createBlock(o.resolveDynamicComponent(_),{key:z,ref_for:!0,ref:o.unref(s)(z)},null,512))),128))]),content:o.withCtx(()=>[o.createElementVNode("div",{class:o.normalizeClass(["pullup-menu-wrapper",{}])},[o.createElementVNode("div",{class:"pullup-menu",role:"menu","aria-label":e.ariaLabel},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.options,_=>(o.openBlock(),o.createElementBlock("button",{type:"button",role:"menuitem",class:"select-button",onClick:z=>i(_)},[o.createElementVNode("div",LY,[o.createVNode(Je,null,{default:o.withCtx(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(_.icon)))]),_:2},1024)]),o.createElementVNode("div",TY,[l.optionLabel?o.renderSlot(S.$slots,"optionLabel",{option:_},void 0,!0,0):(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createTextVNode(o.toDisplayString(_.label),1)],64))])],8,OY))),256))],8,BY),o.createElementVNode("div",MY,[o.createElementVNode("button",{type:"button",class:"select-button","aria-label":"Close menu",onClick:x[0]||(x[0]=_=>a.value=!1)},[o.createElementVNode("div",PY,[o.createVNode(Je,null,{default:o.withCtx(()=>[o.createVNode(o.unref(jo))]),_:1})]),x[3]||(x[3]=o.createElementVNode("div",{class:"label"},"Close",-1))])])])]),_:3},8,["show"])):(o.openBlock(),o.createBlock(fu,{key:1,show:a.value,"onUpdate:show":x[2]||(x[2]=_=>a.value=_),trigger:"click","allowed-placements":e.allowedPlacements??["bottom","top"],arrow:!0,"custom-styles":{},"custom-classes":["dropdown-popover"],"disable-background-effect":""},{trigger:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(u),(_,z)=>(o.openBlock(),o.createBlock(o.resolveDynamicComponent(_),{key:z,ref_for:!0,ref:o.unref(s)(z)},null,512))),128))]),content:o.withCtx(()=>[o.createVNode(Px,{id:o.unref(d),role:"menu","aria-label":e.ariaLabel,onKeydown:C},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.options,(_,z)=>(o.openBlock(),o.createBlock(Dx,{key:_.value,ref_for:!0,ref:A=>y(A,z),role:"menuitem",tabindex:z===h.value?0:-1,onClick:A=>i(_)},o.createSlots({default:o.withCtx(()=>[l.optionLabel?o.renderSlot(S.$slots,"optionLabel",{option:_},void 0,!0,0):(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createTextVNode(o.toDisplayString(_.label),1)],64))]),_:2},[_.icon?{name:"prefix",fn:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(_.icon)))]),_:2},1024)]),key:"0"}:void 0]),1032,["tabindex","onClick"]))),128))]),_:3},8,["id","aria-label"])]),_:3},8,["show","allowed-placements"]))}}),z0=Qe(DY,[["__scopeId","data-v-74e3b672"]]);function Mc(e){return new Promise(function(t,n){if(typeof e!="string"&&!(e instanceof Blob)){n({err:"no image source"});return}const r=new Image;r.addEventListener("load",a=>{t({width:r.width,height:r.height,ratio:r.height/r.width})}),r.addEventListener("error",()=>n({err:"image corrupted"})),r.src=typeof e=="string"?e:URL.createObjectURL(e)})}function $x({height:e,left:t,top:n,width:r},a,i){const l=1/Math.max((r??0)/a,(e??0)/i),d=[Math.min(1,no(Math.max(1e-6,t??0)/(a-(r??0)),6)),Math.min(1,no(Math.max(1e-6,n??0)/(i-(e??0)),6))],s=[Math.max(-1,Math.min(1,(d[0]-.5)*2)),Math.max(-1,Math.min(1,(d[1]-.5)*2))];return{scale:l,innerPos:s}}function hm(e,t,n,r){const a=e.innerPos[0]/2+.5,i=e.innerPos[1]/2+.5,l=t/n>r?n*r:t,d=t/n>r?n:t/r,s=l/e.scale,u=d/e.scale,f=t-s,p=n-u,c=f*a,h=p*i;return{left:c,top:h,width:s,height:u}}var $Y=Object.defineProperty,NY=(e,t,n)=>t in e?$Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wr=(e,t,n)=>NY(e,typeof t!="symbol"?t+"":t,n);function RY(e){return e*Math.PI/180}function I8(e,t,n){return Math.min(Math.max(e,t),n)}function Kf(e,t,n){const[r,a]=e,[i,l]=t,d=Math.cos(n)*(r-i)-Math.sin(n)*(a-l)+i,s=Math.sin(n)*(r-i)+Math.cos(n)*(a-l)+l;return[d,s]}function jY(e){return e.deltaMode===0}let FY=class extends EventTarget{constructor(t,n,r,a,i,l,d=.1,s=10,u=!1,f=!0){super(),wr(this,"wrapperBounds",{x:0,y:0,width:100,height:100}),wr(this,"canvasBounds",{x:0,y:0,width:100,height:100}),wr(this,"translateSpeed",1),wr(this,"zoomSpeed",1),wr(this,"translateSpeedAppleTrackpad",1),wr(this,"zoomSpeedAppleTrackpad",1),wr(this,"isGestureActive",!1),wr(this,"roElement",null),wr(this,"roCanvas",null),wr(this,"ancestorMotionCleanup",null),wr(this,"gestureStartRotate",0),wr(this,"dragStart",null),wr(this,"dragStartFrozenX",null),wr(this,"dragStartFrozenY",null),wr(this,"touchStarts",null),wr(this,"touchStartTranslateX",0),wr(this,"touchStartTranslateY",0),this.element=t,this.offset=n,this.translateX=r,this.translateY=a,this.scale=i,this.rotate=l,this.minScale=d,this.maxScale=s,this.clampBounds=u,this.rotation=f,this.roElement=new ResizeObserver(()=>{const{x:p,y:c,width:h,height:g}=this.element.getBoundingClientRect();this.wrapperBounds={x:p,y:c,width:h,height:g},this.update()}),this.roCanvas=new ResizeObserver(p=>{const{width:c,height:h}=p[0].contentRect;(c!==this.canvasBounds.width||h!==this.canvasBounds.height)&&(this.canvasBounds={...this.canvasBounds,width:c,height:h},this.isGestureActive||this.update())}),requestAnimationFrame(()=>{this.wrapperBounds=this.element.getBoundingClientRect(),this.canvasBounds=this.canvasElement.getBoundingClientRect(),this.update(),this.dispatchEvent(new Event("init"))}),this.roCanvas.observe(this.canvasElement),this.roElement.observe(this.element),this.installAncestorMotionListeners()}installAncestorMotionListeners(){const t=()=>{const{x:i,y:l,width:d,height:s}=this.element.getBoundingClientRect();i===this.wrapperBounds.x&&l===this.wrapperBounds.y&&d===this.wrapperBounds.width&&s===this.wrapperBounds.height||(this.wrapperBounds={x:i,y:l,width:d,height:s},this.update())},n=i=>!(i instanceof Node)||i===this.element?!1:i.contains(this.element),r=i=>{n(i.target)&&t()},a=["transitionrun","transitionend","transitioncancel","animationend","animationcancel"];for(const i of a)document.addEventListener(i,r,!0);this.ancestorMotionCleanup=()=>{for(const i of a)document.removeEventListener(i,r,!0)}}get canvasElement(){return this.element.querySelector(".canvas")}get wrapperInnerX(){return this.wrapperBounds.x+this.offset.left}get wrapperInnerY(){return this.wrapperBounds.y+this.offset.top}get wrapperInnerWidth(){return this.wrapperBounds.width-this.offset.left-this.offset.right}get wrapperInnerHeight(){return this.wrapperBounds.height-this.offset.top-this.offset.bottom}get wrapperInnerRatio(){return this.wrapperInnerWidth/this.wrapperInnerHeight}get canvasNaturalRatio(){return this.canvasBounds.width/this.canvasBounds.height}get naturalScale(){return this.canvasNaturalRatio>=this.wrapperInnerRatio?this.wrapperInnerWidth/this.canvasBounds.width:this.wrapperInnerHeight/this.canvasBounds.height}setTranslateFromUserGesture(t,n){if(this.clampBounds){const r=this.clampTranslate({translateX:t,translateY:n,scale:this.scale,rotate:this.rotate});this.translateX=r.translateX,this.translateY=r.translateY,this.rotate=0}else this.translateX=t,this.translateY=n}handleGesturestart(t){this.gestureStartRotate=this.rotate}handleGesturechange(t){const{clientX:n,clientY:r}=t,a=t.rotation;if(a===0||!this.rotation)return;const i=this.normalizeClientCoords(n,r);this.rotateCanvas(i[0],i[1],this.gestureStartRotate+RY(a))}handleGestureend(t){}handleMousedown(t){t.preventDefault(),this.dragStart=[t.clientX,t.clientY],this.dragStartFrozenX=this.translateX,this.dragStartFrozenY=this.translateY}handleMouseup(t){t.preventDefault(),this.dragStart=null,this.dragStartFrozenX=null,this.dragStartFrozenY=null}handleMousemove(t){if(t.preventDefault(),this.dragStart&&this.dragStartFrozenX!==null&&this.dragStartFrozenY!==null){const n=t.clientX-this.dragStart[0],r=t.clientY-this.dragStart[1],a=this.dragStartFrozenX- -n,i=this.dragStartFrozenY- -r;this.setTranslateFromUserGesture(a,i),this.update()}}handleWheel(t){let{deltaX:n,deltaY:r,ctrlKey:a}=t;const i=jY(t);i||(Math.abs(r)>=100&&(r=Math.sign(r)*(Math.abs(r)/120)),Math.abs(n)>=100&&(n=Math.sign(n)*(Math.abs(n)/120)));const l=this.scale;if(a){const d=i?.01*this.zoomSpeedAppleTrackpad:.1*this.zoomSpeed,s=1+-r*d;let u=l*s;if(u=I8(u,this.minScale,this.maxScale),(u===this.minScale||u===this.maxScale)&&(u===this.minScale&&s<1||u===this.maxScale&&s>1)){t.preventDefault();return}const f=this.relativeWrapperCoordinatesFromClientCoords(t.clientX,t.clientY),[p,c]=this.calcProjectionTranslate(u,f,this.normalizeMatrixCoordinates(t.clientX,t.clientY));this.setTranslateFromUserGesture(p,c),this.scale=u}else{const d=i?1*this.translateSpeedAppleTrackpad:25*this.translateSpeed;this.setTranslateFromUserGesture(this.translateX-n*d,this.translateY-r*d)}this.update(),t.preventDefault()}freezeTouches(t){return Array.from(t).map(n=>{const r=this.clientCoordsToWrapperCoords(n.clientX,n.clientY);return{client:[n.clientX,n.clientY],canvasRel:this.getCanvasCoordsRel(r[0],r[1])}})}handleTouchstart(t){this.touchStarts=this.freezeTouches(t.touches),this.touchStartTranslateX=this.translateX,this.touchStartTranslateY=this.translateY,this.isGestureActive=!0,t.preventDefault()}handleTouchmove(t){t.preventDefault();const n=Array.from(t.touches).map(r=>this.clientCoordsToWrapperCoords(r.clientX,r.clientY));if(this.touchStarts){if(n.length>=2&&this.touchStarts.length>=2){const r=[this.touchStarts[0].canvasRel[0]*this.canvasBounds.width,this.touchStarts[0].canvasRel[1]*this.canvasBounds.height],a=[this.touchStarts[1].canvasRel[0]*this.canvasBounds.width,this.touchStarts[1].canvasRel[1]*this.canvasBounds.height],i=Math.sqrt(Math.pow(r[0]-a[0],2)+Math.pow(r[1]-a[1],2)),l=Math.sqrt(Math.pow(n[0][0]-n[1][0],2)+Math.pow(n[0][1]-n[1][1],2))/this.naturalScale,d=I8(l/i,this.minScale,this.maxScale),s=[n[0][0]/this.wrapperInnerWidth,n[0][1]/this.wrapperInnerHeight],u=this.touchStarts[0].canvasRel,[f,p]=this.calcProjectionTranslate(d,s,u,0);if(this.rotation){let c=0,h=0,g=0;const y=Math.atan2(a[1]-r[1],a[0]-r[0]);g=Math.atan2(n[1][1]-n[0][1],n[1][0]-n[0][0])-y;const w=(_,z)=>[this.offset.left+this.canvasBounds.width*_*this.naturalScale*d+f,this.offset.top+this.canvasBounds.height*z*this.naturalScale*d+p],C=w(0,0),S=w(this.touchStarts[0].canvasRel[0],this.touchStarts[0].canvasRel[1]),x=Kf(C,S,g);c=x[0]-C[0],h=x[1]-C[1],this.scale=d,this.rotate=g,this.setTranslateFromUserGesture(f+c,p+h)}else this.scale=d,this.setTranslateFromUserGesture(f,p)}else{const r=t.touches[0].clientX-this.touchStarts[0].client[0],a=t.touches[0].clientY-this.touchStarts[0].client[1],i=this.touchStartTranslateX+r,l=this.touchStartTranslateY+a;this.setTranslateFromUserGesture(i,l)}this.update()}}handleTouchend(t){t.touches.length===0?this.touchStarts=null:(this.touchStarts=this.freezeTouches(t.touches),this.touchStartTranslateX=this.translateX,this.touchStartTranslateY=this.translateY),this.isGestureActive=!1}calcProjectionTranslate(t,n,r,a){const i=this.canvasBounds.width*this.naturalScale,l=this.canvasBounds.height*this.naturalScale,d=r[0]*i*t,s=r[1]*l*t,u=Kf([d,s],[0,0],a??this.rotate),f=n[0]*this.wrapperInnerWidth,p=n[1]*this.wrapperInnerHeight,c=f-u[0],h=p-u[1];return[c,h]}applyTransform(t,n,r){const a=this.calcProjectionTranslate(t,n,r,0);this.scale=t,this.setTranslateFromUserGesture(a[0],a[1]),this.update()}composeRelPoint(t,n,r,a,i,l){r=r??this.scale,a=a??this.translateX,i=i??this.translateY,l=l??this.rotate;const d=[this.offset.left,this.offset.top],s=[this.offset.left+this.canvasBounds.width*(r*this.naturalScale)*t,this.offset.top+this.canvasBounds.height*(r*this.naturalScale)*n],u=Kf(s,d,l);return[u[0]+a,u[1]+i]}composePoint(t,n){const r=t/this.canvasBounds.width,a=n/this.canvasBounds.height;return this.composeRelPoint(r,a)}getAnchorOffset(t,n,r,a,i=[.5,.5]){const l=this.calcProjectionTranslate(t,i,i,0),d=[this.offset.left+l[0]+this.canvasBounds.width*(t*this.naturalScale)*i[0],this.offset.top+l[1]+this.canvasBounds.height*(t*this.naturalScale)*i[1]],s=this.composeRelPoint(i[0],i[1],t,n,r,a),u=s[0]-d[0],f=s[1]-d[1];return[u,f]}getCanvasCoordsRel(t,n){const r=[0,0],a=[t-this.translateX,n-this.translateY],i=Kf(a,r,-this.rotate),l=[i[0]/this.renderinScale,i[1]/this.renderinScale];return[l[0]/this.canvasBounds.width,l[1]/this.canvasBounds.height]}clientCoordsToWrapperCoords(t,n){const{x:r,y:a}=this.element.getBoundingClientRect();return[t-r-this.offset.left,n-a-this.offset.top]}relativeWrapperCoordinatesFromClientCoords(t,n){const[r,a]=this.clientCoordsToWrapperCoords(t,n);return[r/this.wrapperInnerWidth,a/this.wrapperInnerHeight]}normalizeMatrixCoordinates(t,n){const r=this.clientCoordsToWrapperCoords(t,n);return this.getCanvasCoordsRel(r[0],r[1])}normalizeClientCoords(t,n){const[r,a]=this.normalizeMatrixCoordinates(t,n);return[r*this.canvasBounds.width,a*this.canvasBounds.height]}rotateCanvas(t,n,r){const a=t/this.canvasBounds.width,i=n/this.canvasBounds.height,l=this.composeRelPoint(a,i,this.scale,0,0,r),d=this.composeRelPoint(a,i);this.setTranslateFromUserGesture(d[0]-l[0],d[1]-l[1]),this.rotate=r,this.update()}get renderinScale(){return this.naturalScale*this.scale}get renderingTranslateX(){return this.offset.left+this.translateX}get renderingTranslateY(){return this.offset.top+this.translateY}get renderingRotate(){return this.rotate}clampTranslate(t,n=[.5,.5]){const r=this.canvasBounds.width*this.naturalScale*t.scale,a=this.canvasBounds.height*this.naturalScale*t.scale,i=r-this.wrapperInnerWidth,l=a-this.wrapperInnerHeight,d=i>0?-i:0,s=Math.min(0,Math.max(t.translateX,d)),u=l>0?-l:0,f=Math.min(0,Math.max(t.translateY,u)),p=-Math.min(0,i)*n[0],c=-Math.min(0,l)*n[1];return{translateX:s+p,translateY:f+c}}update(){this.canvasElement.style.transformOrigin="top left",this.canvasElement.style.transform=`translateX(${this.renderingTranslateX}px) translateY(${this.renderingTranslateY}px) scale(${this.renderinScale}) rotate(${this.renderingRotate}rad)`,this.dispatchEvent(new Event("update"))}destroy(){var t,n,r;(t=this.roElement)==null||t.disconnect(),this.roElement=null,(n=this.roCanvas)==null||n.disconnect(),this.roCanvas=null,(r=this.ancestorMotionCleanup)==null||r.call(this),this.ancestorMotionCleanup=null}};const VY={class:"canvas"},UY={class:"matrix"},ZY=o.defineComponent({__name:"Zoompinch",props:{transform:{default:()=>({translateX:0,translateY:0,scale:1,rotate:0})},offset:{default:()=>({left:0,top:0,right:0,bottom:0})},maxScale:{default:10},minScale:{default:.5},clampBounds:{type:Boolean,default:!1},rotation:{type:Boolean,default:!0},mouse:{type:Boolean,default:!0},wheel:{type:Boolean,default:!0},touch:{type:Boolean,default:!0},gesture:{type:Boolean,default:!0},zoomSpeed:{},translateSpeed:{},zoomSpeedAppleTrackpad:{},translateSpeedAppleTrackpad:{}},emits:["update:transform","init","dragGestureStart","dragGestureEnd"],setup(e,{expose:t,emit:n}){const r=e,a=n,i=o.ref(),l=o.ref(),d=o.ref(!1);window.zoompinchEngine=l;const s=o.ref(()=>{throw new Error("Not initialized yet")}),u=o.ref(0),f=o.ref(0);o.onMounted(()=>{i.value&&(l.value=new FY(i.value,r.offset,r.transform.translateX,r.transform.translateY,r.transform.scale,r.transform.rotate,r.minScale,r.maxScale,r.clampBounds,r.rotation),r.zoomSpeed!==void 0&&(l.value.zoomSpeed=r.zoomSpeed),r.translateSpeed!==void 0&&(l.value.translateSpeed=r.translateSpeed),r.zoomSpeedAppleTrackpad!==void 0&&(l.value.zoomSpeedAppleTrackpad=r.zoomSpeedAppleTrackpad),r.translateSpeedAppleTrackpad!==void 0&&(l.value.translateSpeedAppleTrackpad=r.translateSpeedAppleTrackpad),l.value.addEventListener("init",()=>{a("init")}),l.value.addEventListener("update",()=>{if(!l.value)return;const k={translateX:l.value.translateX,translateY:l.value.translateY,scale:l.value.scale,rotate:l.value.rotate};(k.translateX!==r.transform.translateX||k.translateY!==r.transform.translateY||k.scale!==r.transform.scale||k.rotate!==r.transform.rotate)&&a("update:transform",k),s.value=(M,E)=>l.value.composePoint(M,E),u.value=l.value.canvasBounds.width,f.value=l.value.canvasBounds.height}),l.value.addEventListener("init",()=>{d.value=!0}))}),o.watch(()=>r.transform,()=>{l.value&&(l.value.translateX!==r.transform.translateX||l.value.translateY!==r.transform.translateY||l.value.scale!==r.transform.scale||l.value.rotate!==r.transform.rotate)&&(l.value.translateX=r.transform.translateX,l.value.translateY=r.transform.translateY,l.value.scale=r.transform.scale,l.value.rotate=r.transform.rotate,l.value.update())},{deep:!0}),o.watch(()=>r.offset,k=>{l.value&&(l.value.offset=k,l.value.update())},{deep:!0}),o.watch(()=>r.minScale,k=>{l.value&&(l.value.minScale=k,l.value.update())}),o.watch(()=>r.maxScale,k=>{l.value&&(l.value.maxScale=k,l.value.update())}),o.watch(()=>r.clampBounds,k=>{l.value&&(l.value.clampBounds=k,l.value.setTranslateFromUserGesture(l.value.translateX,l.value.translateY),l.value.update())}),o.watch(()=>r.rotation,k=>{l.value&&(l.value.rotation=k,l.value.update())}),o.watch(()=>r.zoomSpeed,()=>{!l.value||r.zoomSpeed===void 0||(l.value.zoomSpeed=r.zoomSpeed)}),o.watch(()=>r.translateSpeed,()=>{!l.value||r.translateSpeed===void 0||(l.value.translateSpeed=r.translateSpeed)}),o.watch(()=>r.zoomSpeedAppleTrackpad,()=>{!l.value||r.zoomSpeedAppleTrackpad===void 0||(l.value.zoomSpeedAppleTrackpad=r.zoomSpeedAppleTrackpad)}),o.watch(()=>r.translateSpeedAppleTrackpad,()=>{!l.value||r.translateSpeedAppleTrackpad===void 0||(l.value.translateSpeedAppleTrackpad=r.translateSpeedAppleTrackpad)});const p=(k,M,E,$)=>{l.value&&($!==void 0&&(l.value.rotate=$),l.value.applyTransform(k,M,E))},c=k=>{l.value&&r.wheel&&l.value.handleWheel(k)},h=k=>{l.value&&r.gesture&&l.value.handleGesturestart(k)},g=k=>{l.value&&r.gesture&&l.value.handleGesturechange(k)},y=k=>{l.value&&r.gesture&&l.value.handleGestureend(k)},w=k=>{l.value&&r.mouse&&l.value.handleMousedown(k)},C=k=>{l.value&&r.mouse&&l.value.handleMousemove(k)},S=k=>{l.value&&r.mouse&&l.value.handleMouseup(k)},x=k=>{l.value&&r.touch&&l.value.handleTouchstart(k)},_=k=>{l.value&&r.touch&&l.value.handleTouchmove(k)},z=k=>{l.value&&r.touch&&l.value.handleTouchend(k)};window.addEventListener("gesturechange",g),window.addEventListener("gestureend",y),window.addEventListener("mousemove",C),window.addEventListener("mouseup",S),window.addEventListener("touchmove",_),window.addEventListener("touchend",z),o.onUnmounted(()=>{window.removeEventListener("gesturechange",g),window.removeEventListener("gestureend",y),window.removeEventListener("mousemove",C),window.removeEventListener("mouseup",S),window.removeEventListener("touchmove",_),window.removeEventListener("touchend",z)});const A=(k,M)=>{if(!l.value)throw new Error("Zoompinch engine not initialized");return l.value.normalizeClientCoords(k,M)},T=(k,M,E)=>{l.value&&l.value.rotateCanvas(k,M,E)};return o.useSlots(),t({applyTransform:p,composePoint:s,normalizeClientCoords:A,zoompinchEngine:l,canvasWidth:u,canvasHeight:f,rotateCanvas:T}),(k,M)=>(o.openBlock(),o.createElementBlock("div",{ref_key:"zoompinchRef",ref:i,class:"zoompinch",onWheel:c,onGesturestart:h,onMousedown:w,onTouchstart:x},[o.createElementVNode("div",VY,[o.renderSlot(k.$slots,"default",{},void 0,!0)]),o.createElementVNode("div",UY,[d.value&&s.value?o.renderSlot(k.$slots,"matrix",{key:0,composePoint:s.value,normalizeClientCoords:A,canvasWidth:u.value,canvasHeight:f.value},void 0,!0):o.createCommentVNode("",!0)])],544))}}),qY=(e,t)=>{const n=e.__vccOpts||e;for(const[r,a]of t)n[r]=a;return n},Nx=qY(ZY,[["__scopeId","data-v-fbdbcf7c"]]),Rd=new Set;requestAnimationFrame(function e(){Rd.forEach(t=>t()),requestAnimationFrame(e)});function A8(e,t,n){let r;const a=()=>{const l=e instanceof Function?e():e.value,d=r;l!==r&&(r=l,t(l,d))};return Rd.add(a),()=>{Rd.delete(a)}}function lv(e,t){let n=null;const r=this;return()=>{clearTimeout(n);var a=arguments;n=setTimeout(()=>{e.apply(r,a)},t)}}const HY=["x","y","width","height"],WY=["cx","cy","r"],GY=["cx","cy","r"],XY=["cx","cy","r"],YY=["cx","cy","r"],KY=["cx","cy","r"],JY=["cx","cy","r"],QY=["cx","cy","r"],eK=["cx","cy","r"],tK=["cx","cy","r"],nK=["cx","cy","r"],rK=["cx","cy","r"],aK=["cx","cy","r"],oK=["cx","cy","r"],iK=["cx","cy","r"],lK=["cx","cy","r"],sK=["cx","cy","r"],cK=o.defineComponent({__name:"CropSkeleton",props:{x:{},y:{},width:{},height:{},aspectRatio:{},clamp:{}},emits:["update","effectiveHandleChange"],setup(e,{emit:t}){const n=e,r=t,a=o.ref(5),i=o.computed(()=>{const I=Math.min(n.width,n.height);return I>=a.value*8?a.value*4:Math.max(I/2,a.value)}),l=o.computed(()=>({x:n.x,y:n.y})),d=o.computed(()=>({x:n.x+n.width,y:n.y})),s=o.computed(()=>({x:n.x+n.width,y:n.y+n.height})),u=o.computed(()=>({x:n.x,y:n.y+n.height})),f=o.computed(()=>({x:n.x+n.width/2,y:n.y})),p=o.computed(()=>({x:n.x+n.width,y:n.y+n.height/2})),c=o.computed(()=>({x:n.x+n.width/2,y:n.y+n.height})),h=o.computed(()=>({x:n.x,y:n.y+n.height/2})),g=o.computed(()=>n.width>a.value*4&&n.height>a.value*4),y=o.ref(null),w=o.ref(null),C=o.ref(null),S=o.ref(null),x=o.ref(null),_=o.ref(null),z=o.ref(null);o.watch(_,I=>{r("effectiveHandleChange",I)});function A(I,O){console.log("handleThumbMouseDown",I,O),x.value=O,_.value=O,z.value=null,C.value={x:n.x,y:n.y,width:n.width,height:n.height},S.value={x:I.clientX,y:I.clientY},I.preventDefault(),I.stopPropagation()}function T(I,O){console.log("handleThumbTouchstart",I,O);const R=I.touches[0];x.value=O,_.value=O,z.value=null,C.value={x:n.x,y:n.y,width:n.width,height:n.height},S.value={x:R.clientX,y:R.clientY},I.preventDefault(),I.stopPropagation()}const k=()=>{x.value=null,_.value=null,z.value=null,C.value=null,S.value=null,y.value=null,w.value=null},M=()=>{x.value=null,_.value=null,z.value=null,C.value=null,S.value=null,y.value=null,w.value=null},E=I=>{if(y.value){if(!C.value)return;const O=I.clientX-y.value.x,R=I.clientY-y.value.y;w.value={x:C.value.x+O,y:C.value.y+R,width:C.value.width,height:C.value.height}}else x.value&&(z.value={x:I.clientX,y:I.clientY})},$=I=>{const O=I.touches[0];if(y.value){if(!C.value)return;const R=O.clientX-y.value.x,F=O.clientY-y.value.y;w.value={x:C.value.x+R,y:C.value.y+F,width:C.value.width,height:C.value.height}}else x.value&&(z.value={x:O.clientX,y:O.clientY})};function N(I){y.value={x:I.clientX,y:I.clientY},S.value={x:I.clientX,y:I.clientY},C.value={x:n.x,y:n.y,width:n.width,height:n.height},I.preventDefault(),I.stopPropagation()}function m(I){const O=I.touches[0];y.value={x:O.clientX,y:O.clientY},S.value={x:O.clientX,y:O.clientY},C.value={x:n.x,y:n.y,width:n.width,height:n.height},I.preventDefault(),I.stopPropagation()}function q(I){var ne,re;const O=((ne=n.clamp)==null?void 0:ne.x)??-1/0,R=((re=n.clamp)==null?void 0:re.y)??-1/0,F=n.clamp?n.clamp.x+n.clamp.width:1/0,G=n.clamp?n.clamp.y+n.clamp.height:1/0;return{x:Math.min(Math.max(I.x,O),F-I.width),y:Math.min(Math.max(I.y,R),G-I.height),width:I.width,height:I.height}}function H(I){const O=I.shiftKey?10:4;let R=0,F=0;switch(I.key){case"ArrowLeft":R=-O;break;case"ArrowRight":R=O;break;case"ArrowUp":F=-O;break;case"ArrowDown":F=O;break;default:return}I.preventDefault();const G={x:n.x,y:n.y,width:n.width,height:n.height};if(I.shiftKey)if(n.aspectRatio!=null){const re=I.key==="ArrowRight"||I.key==="ArrowDown"?O:-O,{bbox:se}=B("br",G,re,re,n.aspectRatio,n.clamp);r("update",se)}else{const{bbox:ne}=B("br",G,R,F,void 0,n.clamp);r("update",ne)}else r("update",q({...G,x:G.x+R,y:G.y+F}))}function W(I,O,R){const F={tl:"tr",tr:"tl",bl:"br",br:"bl",l:"r",r:"l"},G={tl:"bl",bl:"tl",tr:"br",br:"tr",t:"b",b:"t"};let ne=I;return O&&(ne=F[ne]??ne),R&&(ne=G[ne]??ne),ne}function B(I,O,R,F,G,ne){let re=O.x,se=O.y,fe=O.x+O.width,Ae=O.y+O.height;switch(I){case"tl":re+=R,se+=F;break;case"t":se+=F;break;case"tr":fe+=R,se+=F;break;case"r":fe+=R;break;case"br":fe+=R,Ae+=F;break;case"b":Ae+=F;break;case"bl":re+=R,Ae+=F;break;case"l":re+=R;break}const K=re>fe,P=se>Ae,j=W(I,K,P),U=(ne==null?void 0:ne.x)??-1/0,te=(ne==null?void 0:ne.y)??-1/0,oe=ne?ne.x+ne.width:1/0,le=ne?ne.y+ne.height:1/0;if(G!=null)if(I==="tl"||I==="tr"||I==="bl"||I==="br"){const ze=I==="tl"||I==="bl"?fe:re,ge=I==="tl"||I==="tr"?Ae:se,he=I==="tl"||I==="bl"?re:fe,Ve=I==="tl"||I==="tr"?se:Ae,He=he>=ze,Ne=Ve>=ge;let Ue=Math.max(Math.abs(he-ze),1),de=Math.max(Math.abs(Ve-ge),1);if(Ue/de>G?Ue=de*G:de=Ue/G,ne){const Ee=He?oe-ze:ze-U,qe=Ne?le-ge:ge-te;(Ue>Ee||de>qe)&&(Ee/qe>G?(de=Math.min(de,qe),Ue=de*G):(Ue=Math.min(Ue,Ee),de=Ue/G))}He?(re=ze,fe=ze+Ue):(fe=ze,re=ze-Ue),Ne?(se=ge,Ae=ge+de):(Ae=ge,se=ge-de)}else if(I==="r"||I==="l"){const ge=I==="r"?O.x:O.x+O.width,he=I==="r"?fe:re,Ve=O.y+O.height/2,He=he>=ge;let Ne=Math.max(Math.abs(he-ge),1);if(ne){const de=He?oe-ge:ge-U,Ee=Math.min(Ve-te,le-Ve)*2;Ne=Math.max(Math.min(Ne,de,Ee*G),1)}const Ue=Ne/G;He?(re=ge,fe=ge+Ne):(fe=ge,re=ge-Ne),se=Ve-Ue/2,Ae=Ve+Ue/2}else{const ge=I==="b"?O.y:O.y+O.height,he=I==="b"?Ae:se,Ve=O.x+O.width/2,He=he>=ge;let Ne=Math.max(Math.abs(he-ge),1);if(ne){const de=He?le-ge:ge-te,Ee=Math.min(Ve-U,oe-Ve)*2;Ne=Math.max(Math.min(Ne,de,Ee/G),1)}const Ue=Ne*G;He?(se=ge,Ae=ge+Ne):(Ae=ge,se=ge-Ne),re=Ve-Ue/2,fe=Ve+Ue/2}else{const me=Math.min(re,fe),ze=Math.min(se,Ae),ge=Math.max(re,fe),he=Math.max(se,Ae);re=me,se=ze,fe=ge,Ae=he,ne&&(re=Math.max(re,U),se=Math.max(se,te),fe=Math.min(fe,oe),Ae=Math.min(Ae,le))}return{bbox:{x:re,y:se,width:fe-re,height:Ae-se},effectiveHandle:j}}return A8(w,()=>{var I,O;if(w.value){const R=((I=n.clamp)==null?void 0:I.x)??-1/0,F=((O=n.clamp)==null?void 0:O.y)??-1/0,G=n.clamp?n.clamp.x+n.clamp.width:1/0,ne=n.clamp?n.clamp.y+n.clamp.height:1/0;w.value.x<R&&(w.value.x=R),w.value.y<F&&(w.value.y=F),w.value.x+w.value.width>G&&(w.value.x=G-w.value.width),w.value.y+w.value.height>ne&&(w.value.y=ne-w.value.height),r("update",w.value)}}),A8(z,()=>{if(!x.value||!z.value||!S.value||!C.value)return;const I=z.value.x-S.value.x,O=z.value.y-S.value.y,{bbox:R,effectiveHandle:F}=B(x.value,C.value,I,O,n.aspectRatio,n.clamp);_.value=F,r("update",R)}),window.addEventListener("mouseup",k),window.addEventListener("touchend",M),window.addEventListener("mousemove",E),window.addEventListener("touchmove",$),o.onUnmounted(()=>{window.removeEventListener("mouseup",k),window.removeEventListener("touchend",M),window.removeEventListener("mousemove",E),window.removeEventListener("touchmove",$)}),(I,O)=>(o.openBlock(),o.createElementBlock("g",null,[o.createElementVNode("rect",{x:e.x,y:e.y,width:e.width,height:e.height,class:"skeleton-rect",tabindex:"0",role:"application","aria-roledescription":"Crop area","aria-label":"Crop area. Use arrow keys to move, Shift plus arrow keys to resize.",onMousedown:N,onTouchstart:m,onKeydown:H},null,40,HY),o.createElementVNode("g",{class:o.normalizeClass({inactive:!g.value})},[o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:f.value.x,cy:f.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-t",onMousedown:O[0]||(O[0]=R=>A(R,"t")),onTouchstart:O[1]||(O[1]=R=>T(R,"t"))},null,40,WY),o.createElementVNode("circle",{cx:f.value.x,cy:f.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="t"}])},null,10,GY)]),o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:p.value.x,cy:p.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-r",onMousedown:O[2]||(O[2]=R=>A(R,"r")),onTouchstart:O[3]||(O[3]=R=>T(R,"r"))},null,40,XY),o.createElementVNode("circle",{cx:p.value.x,cy:p.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="r"}])},null,10,YY)]),o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:c.value.x,cy:c.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-b",onMousedown:O[4]||(O[4]=R=>A(R,"b")),onTouchstart:O[5]||(O[5]=R=>T(R,"b"))},null,40,KY),o.createElementVNode("circle",{cx:c.value.x,cy:c.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="b"}])},null,10,JY)]),o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:h.value.x,cy:h.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-l",onMousedown:O[6]||(O[6]=R=>A(R,"l")),onTouchstart:O[7]||(O[7]=R=>T(R,"l"))},null,40,QY),o.createElementVNode("circle",{cx:h.value.x,cy:h.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="l"}])},null,10,eK)])],2),o.createElementVNode("g",null,[o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:l.value.x,cy:l.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-tl",onMousedown:O[8]||(O[8]=R=>A(R,"tl")),onTouchstart:O[9]||(O[9]=R=>T(R,"tl"))},null,40,tK),o.createElementVNode("circle",{cx:l.value.x,cy:l.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="tl"}])},null,10,nK)]),o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:d.value.x,cy:d.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-tr",onMousedown:O[10]||(O[10]=R=>A(R,"tr")),onTouchstart:O[11]||(O[11]=R=>T(R,"tr"))},null,40,rK),o.createElementVNode("circle",{cx:d.value.x,cy:d.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="tr"}])},null,10,aK)]),o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:u.value.x,cy:u.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-bl",onMousedown:O[12]||(O[12]=R=>A(R,"bl")),onTouchstart:O[13]||(O[13]=R=>T(R,"bl"))},null,40,oK),o.createElementVNode("circle",{cx:u.value.x,cy:u.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="bl"}])},null,10,iK)]),o.createElementVNode("g",null,[o.createElementVNode("circle",{cx:s.value.x,cy:s.value.y,r:i.value,class:"thumb-circle-hitbox thumb-circle-hitbox-br",onMousedown:O[14]||(O[14]=R=>A(R,"br")),onTouchstart:O[15]||(O[15]=R=>T(R,"br"))},null,40,lK),o.createElementVNode("circle",{cx:s.value.x,cy:s.value.y,r:a.value,class:o.normalizeClass(["thumb-circle",{pressing:_.value==="br"}])},null,10,sK)])])]))}}),uK=Qe(cK,[["__scopeId","data-v-ab8c8451"]]);function _c(e,t,n){return Math.min(Math.max(e,t),n)}function dK(e,t){const n=_c(e.x,t.x,t.x+t.width),r=_c(e.y,t.y,t.y+t.height),a=_c(e.x+e.width,t.x,t.x+t.width),i=_c(e.y+e.height,t.y,t.y+t.height);return{x:n,y:r,width:a-n,height:i-r}}function fK(e,t,n){if(n==null)return dK(e,t);let r=e.width,a=e.height;r>t.width&&(r=t.width,a=r/n),a>t.height&&(a=t.height,r=a*n);const i=_c(e.x,t.x,t.x+t.width-r),l=_c(e.y,t.y,t.y+t.height-a);return{x:i,y:l,width:r,height:a}}function mK(e){return new Promise((t,n)=>{if(e.complete&&e.naturalWidth!==0){console.log("[0] getBoundingClientRect",e.getBoundingClientRect()),t();return}const r=()=>{e.naturalWidth*e.naturalHeight>0&&(console.log("[1] getBoundingClientRect",e.getBoundingClientRect()),setTimeout(()=>{console.log("[2] getBoundingClientRect",e.getBoundingClientRect()),t()}),Rd.delete(r))};Rd.add(r),e.addEventListener("error",()=>n(new Error("Failed to load image")),{once:!0})})}const pK={class:"bx-cropper"},hK={xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%",class:"matrix-svg"},gK={key:0,class:"layer loading-layer"},vK={class:"layer"},bK=o.defineComponent({__name:"BxCropper",props:{crop:{},aspectRatio:{},offset:{default:()=>({top:10,right:10,bottom:10,left:10})},mirrorX:{type:Boolean,default:!1},mirrorY:{type:Boolean,default:!1}},emits:["update:crop"],setup(e,{emit:t}){const n=e,r=t;o.useSlots();const a=o.ref(),i=o.ref({translateX:0,translateY:0,scale:1,rotate:0}),l=o.ref(),d=o.ref();function s(w){let{left:C,top:S,width:x,height:_}=w;return n.mirrorX&&a.value&&(C=a.value.canvasWidth-C-x),n.mirrorY&&a.value&&(S=a.value.canvasHeight-S-_),{left:C,top:S,width:x,height:_}}function u(w){if(!a.value)throw new Error("Zoompinch ref not available");const C=s(w),[S,x]=a.value.composePoint(C.left,C.top),[_,z]=a.value.composePoint(C.left+C.width,C.top+C.height),A=_-S,T=z-x;return{x:S,y:x,width:A,height:T}}function f(w){if(!a.value||!a.value.zoompinchEngine)throw new Error("Zoompinch ref or engine not available");const C=w.x+(a.value.zoompinchEngine.wrapperInnerX-n.offset.left),S=w.y+(a.value.zoompinchEngine.wrapperInnerY-n.offset.top),[x,_]=a.value.normalizeClientCoords(C,S),[z,A]=a.value.normalizeClientCoords(C+w.width,S+w.height),T=z-x,k=A-_;return{left:Math.round(x),top:Math.round(_),width:Math.round(T),height:Math.round(k)}}const p=o.ref(!1);async function c(){var S;if(!((S=a.value)!=null&&S.zoompinchEngine))return;const w=Array.from(a.value.zoompinchEngine.canvasElement.children);for(const x of w)x.tagName==="IMG"&&await mK(x);p.value=!0,a.value.applyTransform(1,[.5,.5],[.5,.5]);const C=n.crop??(()=>{const x=a.value.canvasWidth,_=a.value.canvasHeight,z=x/_;if(n.aspectRatio){const A=z>n.aspectRatio?_*n.aspectRatio:x,T=z>n.aspectRatio?_:x/n.aspectRatio;return{left:(x-A)/2,top:(_-T)/2,width:A,height:T}}else return{left:0,top:0,width:x,height:_}})();d.value=C,l.value=u(C)}const h=o.ref(null);window.test=()=>f(l.value);const g=o.computed(()=>{if(i.value,!a.value)throw new Error("Zoompinch ref not available");return u({left:0,top:0,width:a.value.canvasWidth,height:a.value.canvasHeight})});function y(w){l.value=w}return o.watch(i,()=>{!l.value||!a.value||(l.value=fK(l.value,g.value,n.aspectRatio))}),o.watch(l,w=>{if(!w)return;const C=f(w),S=s(C);d.value=S,r("update:crop",S)}),o.watch([()=>n.mirrorX,()=>n.mirrorY],()=>{!p.value||!d.value||!a.value||(l.value=u(d.value))}),(w,C)=>(o.openBlock(),o.createElementBlock("div",pK,[o.createVNode(o.unref(Nx),{ref_key:"zoompinchRef",ref:a,transform:i.value,"onUpdate:transform":C[1]||(C[1]=S=>i.value=S),rotation:!1,"min-scale":1,offset:e.offset,"clamp-bounds":"",onInit:c,class:o.normalizeClass({[`effective-handle-${h.value}`]:h.value!==null})},{default:o.withCtx(()=>[o.renderSlot(w.$slots,"default",{},void 0,!0)]),matrix:o.withCtx(()=>[(o.openBlock(),o.createElementBlock("svg",hK,[l.value?(o.openBlock(),o.createBlock(uK,o.mergeProps({key:0},l.value,{"aspect-ratio":e.aspectRatio,clamp:g.value,onUpdate:y,onEffectiveHandleChange:C[0]||(C[0]=S=>h.value=S)}),null,16,["aspect-ratio","clamp"])):o.createCommentVNode("",!0)])),p.value?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",gK,[o.createVNode(zl)])),o.createElementVNode("div",vK,[o.renderSlot(w.$slots,"layer",{},void 0,!0)])]),_:3},8,["transform","offset","class"])]))}}),Rx=Qe(bK,[["__scopeId","data-v-8d2848fa"]]),yK={class:"bx-image-cropper"},wK=["src"],CK={class:"actions-left"},xK={class:"actions-right"},SK=o.defineComponent({__name:"BxImageCropper",props:o.mergeModels({src:{},aspectRatio:{},offset:{}},{crop:{required:!1},cropModifiers:{},mirrorX:{type:Boolean,required:!1,default:!1},mirrorXModifiers:{},mirrorY:{type:Boolean,required:!1,default:!1},mirrorYModifiers:{}}),emits:o.mergeModels(["cancel","done"],["update:crop","update:mirrorX","update:mirrorY"]),setup(e,{emit:t}){const n=o.useModel(e,"crop"),r=o.useModel(e,"mirrorX"),a=o.useModel(e,"mirrorY"),i=t;function l(){r.value=!r.value}function d(){a.value=!a.value}return(s,u)=>(o.openBlock(),o.createElementBlock("div",yK,[o.createVNode(Rx,{"aspect-ratio":e.aspectRatio,crop:n.value,"onUpdate:crop":u[4]||(u[4]=f=>n.value=f),offset:e.offset,"mirror-x":r.value,"mirror-y":a.value},{layer:o.withCtx(()=>[o.createElementVNode("div",{class:"actions-wrapper",onTouchstart:u[2]||(u[2]=o.withModifiers(()=>{},["stop"])),onTouchend:u[3]||(u[3]=o.withModifiers(()=>{},["stop"]))},[o.createElementVNode("div",CK,[o.createVNode(ct,{onClick:l,class:o.normalizeClass({active:!0}),"aria-label":"Mirror horizontally"},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[...u[5]||(u[5]=[o.createElementVNode("svg",{fill:"none",viewBox:"0 0 24 24","data-fpl-icon-size":"24"},[o.createElementVNode("g",{style:{"transform-origin":"center center",transform:"scale(1.5)"}},[o.createElementVNode("path",{style:{fill:"currentColor","fill-rule":"evenodd"},d:"M12.5 6.5a.5.5 0 0 0-1 0v11a.5.5 0 0 0 1 0zM6 9.104a.75.75 0 0 1 1.28-.53L10 11.292a1 1 0 0 1 0 1.414l-2.72 2.72a.75.75 0 0 1-1.28-.53zm1 .603v4.586L9.293 12zm11-.603a.75.75 0 0 0-1.28-.53L14 11.292a1 1 0 0 0 0 1.414l2.72 2.72a.75.75 0 0 0 1.28-.53zm-1 .603v4.586L14.707 12z","clip-rule":"evenodd"})])],-1)])]),_:1})]),_:1}),o.createVNode(ct,{onClick:d,class:o.normalizeClass({active:!0}),"aria-label":"Mirror vertically"},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[...u[6]||(u[6]=[o.createElementVNode("svg",{fill:"none",viewBox:"0 0 24 24","data-fpl-icon-size":"24"},[o.createElementVNode("g",{style:{"transform-origin":"center center",transform:"scale(1.5)"}},[o.createElementVNode("path",{style:{fill:"currentColor","fill-rule":"evenodd"},d:"M17.5 12.5a.5.5 0 0 0 0-1h-11a.5.5 0 0 0 0 1zM14.896 18a.75.75 0 0 0 .53-1.28L12.708 14a1 1 0 0 0-1.414 0l-2.72 2.72a.75.75 0 0 0 .53 1.28zm-.603-1H9.707L12 14.707zm.603-11a.75.75 0 0 1 .53 1.28L12.708 10a1 1 0 0 1-1.414 0l-2.72-2.72A.75.75 0 0 1 9.103 6zm-.603 1H9.707L12 9.293z","clip-rule":"evenodd"})])],-1)])]),_:1})]),_:1})]),o.createElementVNode("div",xK,[o.createVNode(ct,{secondary:"",onClick:u[0]||(u[0]=f=>i("cancel"))},{default:o.withCtx(()=>[...u[7]||(u[7]=[o.createTextVNode(" Cancel ",-1)])]),_:1}),o.createVNode(ct,{active:"",onClick:u[1]||(u[1]=f=>i("done"))},{default:o.withCtx(()=>[...u[8]||(u[8]=[o.createTextVNode(" Done ",-1)])]),_:1})])],32)]),default:o.withCtx(()=>[o.createElementVNode("img",{src:e.src,class:o.normalizeClass(["image",{"mirror-x":r.value,"mirror-y":a.value}])},null,10,wK)]),_:1},8,["aspect-ratio","crop","offset","mirror-x","mirror-y"])]))}}),jx=Qe(SK,[["__scopeId","data-v-0924dbd3"]]),Fx=.6,Vx=.4,B8=.6,O8=(e,t,n)=>Math.min(n,Math.max(t,e));function Ux(e){const{faces:t,natural:n,aspectRatio:r,cropMode:a,zoom:i=!1}=e;if(a!=="cover"||!Number.isFinite(r)||r<=0||!(n.width>0)||!(n.height>0))return null;const l=t.filter(z=>z.score>=Fx&&z.width>0&&z.height>0);if(l.length===0)return null;const d=Math.min(...l.map(z=>z.x)),s=Math.min(...l.map(z=>z.y)),u=Math.max(...l.map(z=>z.x+z.width)),f=Math.max(...l.map(z=>z.y+z.height)),p=(d+u)/2,c=(s+f)/2,h=n.width/n.height,g=h>r?n.height*r:n.width,y=h>r?n.height:n.width/r;let w=g,C=y;if(i){const z=(u-d)*(1+2*B8),A=(f-s)*(1+2*B8),T=Math.max(z,A*r),k=T/r;w=Math.min(g,T),C=Math.min(y,k)}const S=p-w/2,x=c-C*Vx,_={left:O8(S,0,Math.max(0,n.width-w)),top:O8(x,0,Math.max(0,n.height-C)),width:w,height:C};return _.left===0&&_.top===0&&Math.abs(_.width-n.width)<.5&&Math.abs(_.height-n.height)<.5?null:_}let gm=null;function kK(e){gm=e}function Zx(){return gm!==null}async function _K(e){if(!gm)return[];try{const t=await gm(e);return Array.isArray(t)?t:[]}catch(t){return console.warn("[autoCrop] face detection failed, skipping auto-crop",t),[]}}const EK=640;function zK(e){return new Promise(t=>{const n=new Image;n.crossOrigin="anonymous",n.addEventListener("load",()=>t(n)),n.addEventListener("error",()=>t(null)),n.src=e})}function IK(e){const t=e.naturalWidth||e.width,n=e.naturalHeight||e.height;if(!(t>0)||!(n>0))return null;const r=Math.min(1,EK/Math.max(t,n)),a=document.createElement("canvas");a.width=Math.max(1,Math.round(t*r)),a.height=Math.max(1,Math.round(n*r));const i=a.getContext("2d",{willReadFrequently:!0});if(!i)return null;i.drawImage(e,0,0,a.width,a.height);try{i.getImageData(0,0,1,1)}catch{return null}return{canvas:a,scale:r}}async function qx(e){if(!Zx()||e.cropMode!=="cover")return null;const t=await zK(e.src);if(!t)return null;const n=IK(t);if(!n)return null;const r=await _K(n.canvas);if(r.length===0)return null;const a=1/n.scale,i=r.map(l=>({x:l.x*a,y:l.y*a,width:l.width*a,height:l.height*a,score:l.score}));return Ux({faces:i,natural:e.natural,aspectRatio:e.aspectRatio,cropMode:e.cropMode,zoom:e.zoom})}const AK=["aria-labelledby","aria-label"],BK=["src","alt"],OK={class:"actions"},LK={key:2,class:"padding-input-wrapper"},TK=["id"],MK=o.defineComponent({__name:"ImageEdit",props:o.mergeModels({allowUploadFromDevice:{type:Boolean},width:{},height:{},allowedTypes:{},convertTo:{},quality:{},imageLibraries:{},uploadLabel:{default:"Select image"},editLabel:{},actionsLabel:{default:"More"},maxSize:{default:1/0},bridge:{},mobile:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},field:{},allowCropImage:{type:Boolean},aspectRatio:{},resetCropOnChange:{type:Boolean,default:!0},allowPadding:{type:Boolean,default:!1},autoCrop:{type:Boolean,default:!1},autoCropZoom:{type:Boolean,default:!1},labelId:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=Bl(),n=o.inject(C0),r=e,a=o.useModel(e,"modelValue"),i=o.computed({get:()=>{var N;return(N=a.value)==null?void 0:N.src},set:N=>{!a.value||typeof a.value!="object"?a.value={src:N,innerRotate:0,cropMode:"cover",innerAlign:"center",crop:null,innerPos:[0,0],mirrorX:!1,mirrorY:!1,scale:1}:(a.value.src=N,a.value.crop=null,a.value.innerPos=[0,0],a.value.scale=1,a.value.innerRotate=0,a.value.mirrorX=!1,a.value.mirrorY=!1),(async()=>{const m=await Mc(i.value);if(k.value=m,console.log("newImageInfo",m,r,a.value),r.autoCrop&&a.value.cropMode==="cover"){const q=await qx({src:i.value,natural:m,aspectRatio:r.aspectRatio,cropMode:a.value.cropMode,zoom:!0});if(console.log("autoCrop suggested",q),q&&a.value.src===i.value){l.value=q;return}}r.resetCropOnChange&&(a.value.cropMode==="cover"?(console.log("resetting crop on change with cover mode"),l.value=hm({scale:a.value.scale??1,innerPos:a.value.innerPos??[0,0]},m.width,m.height,r.aspectRatio)):l.value={top:0,left:0,width:m.width,height:m.height})})()}}),l=o.computed({get:()=>a.value.crop?a.value.crop:k.value?hm({scale:a.value.scale??1,innerPos:a.value.innerPos??[0,0]},k.value.width,k.value.height,r.aspectRatio):{top:0,left:0,width:10,height:10},set:async N=>{var H,W;console.log("cropProxy.set()",N);const{scale:m,innerPos:q}=$x(N,k.value.width,k.value.height);a.value={src:a.value.src,scale:m,innerPos:q,innerRotate:a.value.innerRotate,crop:N,cropMode:((H=a.value)==null?void 0:H.cropMode)??"cover",innerAlign:((W=a.value)==null?void 0:W.innerAlign)??"center",mirrorX:a.value.mirrorX,mirrorY:a.value.mirrorY,padding:a.value.padding}}});o.watch(i,N=>{N&&Mc(N).then(m=>{k.value=m}).catch(()=>{})},{immediate:!0});const d=$a("bx-image-padding-label"),s=o.computed(()=>(r.editLabel??r.uploadLabel)||"Image"),u=o.computed(()=>Math.max(1,Math.min(r.width,r.height)/2)),f=o.computed({get(){var m;const N=(((m=a.value)==null?void 0:m.padding)??[0])[0]??0;return Math.round(Math.min(100,N/u.value*100))},set(N){const m=Math.max(0,Math.min(100,N))/100*u.value;a.value={...a.value,padding:[m,m,m,m]}}}),p=o.ref(!1);o.ref(!1);const c=o.computed(()=>r.allowCropImage?1:2),{uploadFiles:h,uploadProgresses:g,uploading:y}=u0(o.toRef(r,"width"),o.toRef(r,"height"),o.toRef(r,"convertTo"),o.toRef(r,"quality"),r.bridge.handleUpload,o.toRef(r,"field"));async function w(){const N=await lp({types:r.allowedTypes,maxSize:r.maxSize,multiple:!0}),m=S0({title:"Uploading images",content:()=>[o.h($s,{value:g.value.reduce((W,B)=>W+B,0)/g.value.length})],closeable:!1,icon:()=>o.h(um),disableBackgroundEffect:!0}),q=await h(N);m.close();const H=q[0];H&&(k.value={width:H.width,height:H.height,ratio:H.width/H.height},z(H.src))}const C=o.computed(()=>[...r.allowUploadFromDevice?[{label:r.uploadLabel,action:w,icon:()=>o.h(ll),key:"upload"}]:[],...r.imageLibraries.map(m=>({label:m.label,icon:()=>{if(m.type==="sharedDrive")switch(m.service){case"googledrive":return o.h("img",{src:"https://upload.wikimedia.org/wikipedia/commons/1/12/Google_Drive_icon_%282020%29.svg"});case"onedrive":return o.h("img",{src:"https://upload.wikimedia.org/wikipedia/commons/e/e7/Microsoft_OneDrive_Icon_%282025_-_present%29.svg"});default:return o.h(ll)}else return m.type==="pexels"?o.h("img",{src:"https://www.drupal.org/files/project-images/pexels_logo_0.png"}):o.h(ll)},key:m.type==="sharedDrive"?m.service:m.type==="custom"?"custom":m.type,lib:m}))]),S=o.ref(),x=o.computed(()=>C.value.slice(c.value===1?c.value:c.value-1).map(N=>({label:N.label,value:N.key,icon:r.mobile?N.icon:()=>o.h(Je,{},N.icon)})));function _(N){N==="upload"?C.value.length>1?(S.value=void 0,p.value=!0):w():(S.value=N,p.value=!0)}function z(N){console.log("handleImageSelection",N),i.value=N,p.value=!1}function A(){if(r.allowUploadFromDevice){w();return}S.value=void 0,p.value=!0}K9(()=>r.field,A);function T(N){r.imageLibraries.length===0&&r.allowUploadFromDevice&&(w(),N.stopImmediatePropagation(),N.stopPropagation(),o.nextTick(()=>{p.value=!1}))}const k=o.ref(),M=o.ref(!1);function E(N){_(N),M.value=!1}function $(){let N=Sr(l.value),m=a.value.mirrorX,q=a.value.mirrorY,H=l.value;Mc(i.value).then(I=>{k.value=I});const W=a.value.cropMode==="cover"?r.aspectRatio:void 0,B=Sx(()=>o.h("div",{class:"cropper-popover-wrapper"},[o.h(jx,{src:wi(i.value,n==null?void 0:n.value),crop:l.value,"onUpdate:crop"(I){I&&(H=I)},mirrorX:a.value.mirrorX,"onUpdate:mirrorX"(I){a.value={...a.value,mirrorX:I}},mirrorY:a.value.mirrorY,"onUpdate:mirrorY"(I){a.value={...a.value,mirrorY:I}},aspectRatio:W,offset:{top:20,right:20,bottom:20,left:20},style:{width:"100%",height:"100%"},onCancel(){setTimeout(()=>{l.value=N,a.value={...a.value,mirrorX:m,mirrorY:q}},50),B.destroy()},onDone(){setTimeout(()=>{l.value=H},50),B.destroy()}})]))}return(N,m)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["image-edit-field",{"has-single-action":x.value.length===0&&!e.allowCropImage,compact:e.compact}])},[o.createVNode(Ns,{closeable:!1,show:p.value,"onUpdate:show":m[3]||(m[3]=q=>p.value=q),type:"layer",trigger:"click",fullscreen:""},{title:o.withCtx(()=>[S.value?(o.openBlock(),o.createBlock(ct,{key:0,circle:"","aria-label":"Back",onClick:m[0]||(m[0]=q=>S.value=void 0)},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[o.createVNode(o.unref(Qb))]),_:1})]),_:1})):o.createCommentVNode("",!0)]),"header-actions":o.withCtx(()=>[o.createVNode(ct,{circle:"","aria-label":"Close",onClick:m[1]||(m[1]=q=>p.value=!1)},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[o.createVNode(o.unref(jo))]),_:1})]),_:1})]),trigger:o.withCtx(()=>[o.createElementVNode("button",{type:"button",class:"image-preview","aria-labelledby":e.labelId,"aria-label":e.labelId?void 0:e.editLabel??e.uploadLabel,onClick:T},[i.value?(o.openBlock(),o.createElementBlock("img",{key:0,src:o.unref(t)(i.value),alt:s.value},null,8,BK)):(o.openBlock(),o.createBlock(Je,{key:1,class:"image-placeholder","aria-hidden":"true"},{default:o.withCtx(()=>[o.createVNode(o.unref(ll))]),_:1}))],8,AK)]),content:o.withCtx(()=>[o.createVNode(Mx,{"active-key":S.value,"onUpdate:activeKey":m[2]||(m[2]=q=>S.value=q),options:C.value,"image-libraries":e.imageLibraries,width:e.width,height:e.height,quality:e.quality,"convert-to":e.convertTo,bridge:e.bridge,field:e.field,onSelect:z},null,8,["active-key","options","image-libraries","width","height","quality","convert-to","bridge","field"])]),_:1},8,["show"]),o.createElementVNode("div",OK,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(C.value.slice(0,C.value.length>c.value?c.value-1:c.value),(q,H)=>(o.openBlock(),o.createBlock(ct,{tertiary:!0,active:H===0,size:e.compact?"small":"medium","aria-label":e.compact?q.label:void 0,onClick:W=>_(q.key)},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(q.icon)))]),_:2},1024)]),default:o.withCtx(()=>[e.compact?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createTextVNode(o.toDisplayString(q.label),1)],64))]),_:2},1032,["active","size","aria-label","onClick"]))),256)),x.value.length>0&&C.value.length>c.value?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(e.mobile?z0:Ur),{key:0,trigger:"manual",options:x.value,onSelect:_,"model-value":void 0,"onUpdate:modelValue":E,"mobile-layout":e.mobile,show:M.value,"onUpdate:show":m[5]||(m[5]=q=>M.value=q)},{trigger:o.withCtx(()=>[c.value===1?(o.openBlock(),o.createBlock(ct,{key:0,tertiary:"",active:"",size:e.compact?"small":"medium","aria-label":e.compact?C.value[0].label:void 0,onClick:m[4]||(m[4]=q=>_(C.value[0].key))},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(C.value[0].icon)))]),_:1})]),default:o.withCtx(()=>[e.compact?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createTextVNode(o.toDisplayString(C.value[0].label),1)],64))]),_:1},8,["size","aria-label"])):(o.openBlock(),o.createBlock(ct,{key:1,size:e.compact?"small":"medium","aria-label":e.compact?e.actionsLabel:void 0},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[o.createVNode(o.unref(ix))]),_:1})]),default:o.withCtx(()=>[e.compact?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createTextVNode(o.toDisplayString(e.actionsLabel),1)],64))]),_:1},8,["size","aria-label"]))]),_:1},40,["options","mobile-layout","show"])):o.createCommentVNode("",!0),r.allowCropImage?(o.openBlock(),o.createBlock(ct,{key:1,tertiary:"",size:e.compact?"small":"medium","aria-label":e.compact?e.editLabel??"Edit Image":void 0,onClick:$},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[o.createVNode(o.unref(r3))]),_:1})]),default:o.withCtx(()=>[e.compact?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createTextVNode(o.toDisplayString(e.editLabel??"Edit Image"),1)],64))]),_:1},8,["size","aria-label"])):o.createCommentVNode("",!0),e.allowPadding&&a.value.cropMode==="contain"?(o.openBlock(),o.createElementBlock("div",LK,[o.createElementVNode("span",{class:"label",id:o.unref(d)},"Padding",8,TK),o.createVNode(Wc,{modelValue:f.value,"onUpdate:modelValue":m[6]||(m[6]=q=>f.value=q),min:0,max:100,step:1,"aria-labelledby":o.unref(d),"aria-valuetext":`${f.value}%`},null,8,["modelValue","aria-labelledby","aria-valuetext"])])):o.createCommentVNode("",!0)])],2))}}),vm=Qe(MK,[["__scopeId","data-v-e4fc5342"]]),PK=["src","alt"],DK={key:0,class:"actions"},ju=2,$K=o.defineComponent({__name:"Image",props:o.mergeModels({layout:{},allowUploadFromDevice:{type:Boolean},width:{},height:{},allowedTypes:{},convertTo:{},quality:{},imageLibraries:{},uploadLabel:{default:"Select image"},actionsLabel:{default:"More"},maxSize:{default:1/0},bridge:{},mobile:{type:Boolean,default:!1},field:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=Bl(),n=o.useModel(e,"modelValue"),r=e,a=o.ref(!1),{uploadFiles:i,uploadProgresses:l,uploading:d}=u0(o.toRef(r,"width"),o.toRef(r,"height"),o.toRef(r,"convertTo"),o.toRef(r,"quality"),r.bridge.handleUpload,o.toRef(r,"field"));async function s(){const w=await lp({types:r.allowedTypes,maxSize:r.maxSize,multiple:!0}),C=S0({title:"Uploading images",content:()=>[o.h($s,{value:l.value.reduce((_,z)=>_+z,0)/l.value.length})],closeable:!1,icon:()=>o.h(um),disableBackgroundEffect:!0}),S=await i(w);C.close();const x=S[0];x&&h(x.src)}const u=o.computed(()=>[...r.allowUploadFromDevice?[{label:r.uploadLabel,action:s,icon:()=>o.h(ll),key:"upload"}]:[],...r.imageLibraries.map(C=>({label:C.label,icon:()=>{if(C.type==="sharedDrive")switch(C.service){case"googledrive":return o.h("img",{src:"https://upload.wikimedia.org/wikipedia/commons/1/12/Google_Drive_icon_%282020%29.svg"});case"onedrive":return o.h("img",{src:"https://upload.wikimedia.org/wikipedia/commons/e/e7/Microsoft_OneDrive_Icon_%282025_-_present%29.svg"});default:return o.h(ll)}else return C.type==="pexels"?o.h("img",{src:"https://www.drupal.org/files/project-images/pexels_logo_0.png"}):o.h(ll)},key:C.type==="sharedDrive"?C.service:C.type==="custom"?"custom":C.type,lib:C}))]),f=o.ref(),p=o.computed(()=>u.value.slice(ju-1).map(w=>({label:w.label,value:w.key,icon:w.icon})));function c(w){w==="upload"?s():(f.value=w,a.value=!0)}function h(w){n.value=w,a.value=!1}function g(){if(r.allowUploadFromDevice){s();return}f.value=void 0,a.value=!0}K9(()=>r.field,g);function y(w){r.imageLibraries.length===0&&r.allowUploadFromDevice&&(s(),w.stopImmediatePropagation(),w.stopPropagation(),o.nextTick(()=>{a.value=!1}))}return(w,C)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["image-field",{["layout-"+e.layout]:!0}])},[o.createVNode(Ns,{show:a.value,"onUpdate:show":C[2]||(C[2]=S=>a.value=S),type:"layer",trigger:"click",fullscreen:""},{title:o.withCtx(()=>[f.value?(o.openBlock(),o.createBlock(ct,{key:0,circle:"",tertiary:"",onClick:C[0]||(C[0]=S=>f.value=void 0)},{icon:o.withCtx(()=>[o.createVNode(Je,{size:"small"},{default:o.withCtx(()=>[o.createVNode(o.unref(Qb))]),_:1})]),_:1})):o.createCommentVNode("",!0),C[3]||(C[3]=o.createElementVNode("h3",null,"Select image",-1))]),trigger:o.withCtx(()=>[o.createElementVNode("div",{class:o.normalizeClass(["image-preview",{"single-button-height":u.value.length<=1}]),onClick:y},[n.value?(o.openBlock(),o.createElementBlock("img",{key:0,src:o.unref(t)(n.value),alt:e.uploadLabel},null,8,PK)):(o.openBlock(),o.createBlock(Je,{key:1,class:"image-placeholder","aria-hidden":"true"},{default:o.withCtx(()=>[o.createVNode(o.unref(ll))]),_:1}))],2)]),content:o.withCtx(()=>[o.createVNode(Mx,{"active-key":f.value,"onUpdate:activeKey":C[1]||(C[1]=S=>f.value=S),options:u.value,"image-libraries":e.imageLibraries,width:e.width,height:e.height,quality:e.quality,"convert-to":e.convertTo,bridge:e.bridge,field:e.field,onSelect:h},null,8,["active-key","options","image-libraries","width","height","quality","convert-to","bridge","field"])]),_:1},8,["show"]),e.layout!=="compact"?(o.openBlock(),o.createElementBlock("div",DK,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(u.value.slice(0,u.value.length>ju?ju-1:ju),S=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(ct,{onClick:x=>c(S.key)},{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(S.icon)))]),_:2},1024)]),default:o.withCtx(()=>[o.createTextVNode(" "+o.toDisplayString(S.label),1)]),_:2},1032,["onClick"]),o.createVNode(z0,{trigger:"click",options:p.value,onSelect:c,"mobile-layout":e.mobile,"aria-label":e.actionsLabel},{trigger:o.withCtx(()=>[u.value.length>ju?(o.openBlock(),o.createBlock(ct,{key:0},{icon:o.withCtx(()=>[o.createVNode(Je,{size:"small"},{default:o.withCtx(()=>[o.createVNode(o.unref(ix))]),_:1})]),default:o.withCtx(()=>[o.createTextVNode(" "+o.toDisplayString(e.actionsLabel),1)]),_:1})):o.createCommentVNode("",!0)]),_:1},8,["options","mobile-layout","aria-label"])],64))),256))])):o.createCommentVNode("",!0)],2))}}),Hx=Qe($K,[["__scopeId","data-v-b855661b"]]),NK={key:0,class:"title-wrapper"},RK={key:0,class:"root-index"},jK={key:1,class:"title"},FK={type:"button",class:"help-trigger","aria-label":"More information"},VK=o.defineComponent({__name:"Group",props:{layout:{},isRoot:{type:Boolean,default:!1},index:{default:0},fields:{},card:{type:Boolean},description:{},detailedDescription:{},bridge:{}},setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["group-field",{}])},[o.createVNode(_0,{transculent:!e.card,class:o.normalizeClass({"no-card":e.card===!1}),dividers:!1},{default:o.withCtx(()=>[e.description||e.detailedDescription?(o.openBlock(),o.createElementBlock("div",NK,[e.isRoot?(o.openBlock(),o.createElementBlock("div",RK,o.toDisplayString(e.index),1)):o.createCommentVNode("",!0),e.description?(o.openBlock(),o.createElementBlock("h4",jK,o.toDisplayString(e.description),1)):o.createCommentVNode("",!0),e.detailedDescription?(o.openBlock(),o.createBlock(E0,{key:2,trigger:"hover"},{trigger:o.withCtx(()=>[o.createElementVNode("button",FK,[o.createVNode(Je,{size:16},{default:o.withCtx(()=>[o.createVNode(o.unref(lx))]),_:1})])]),content:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.detailedDescription),1)]),_:1})):o.createCommentVNode("",!0)])):o.createCommentVNode("",!0),o.createVNode(MS,{fields:e.fields,bridge:e.bridge,layout:e.layout,"is-root":!1},null,8,["fields","bridge","layout"])]),_:1},8,["transculent","class"])]))}}),Wx=Qe(VK,[["__scopeId","data-v-6023598b"]]),UK={class:"text-field"},ZK="calc(2*1.2em + 5px * 2)",qK=o.defineComponent({__name:"Text",props:o.mergeModels({maxLength:{},maxLines:{},maxLineLength:{},showWordCount:{type:Boolean},clearable:{type:Boolean},multiline:{type:Boolean},uppercase:{type:Boolean},placeholder:{},richtext:{},bridge:{},maxHeight:{},labelId:{},minWidth:{},maxWidth:{}},{modelValue:{type:[String,Number,Boolean,Array],required:!1,default:"Hello world"},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=o.useModel(e,"modelValue");function n(i){t.value=i}const r=e,a=o.computed(()=>!r.maxHeight||r.maxHeight===ZK?void 0:r.maxHeight);return(i,l)=>(o.openBlock(),o.createElementBlock("div",UK,[o.createVNode(Si,{type:e.multiline?"textarea":"text","model-value":t.value,"onUpdate:modelValue":n,"show-word-count":e.showWordCount,clearable:e.clearable,"max-length":e.maxLength??1/0,"max-line-length":e.maxLineLength??1/0,"max-lines":e.maxLines??1/0,placeholder:e.placeholder||"Text Field...",resizeable:!1,richtext:e.richtext.enabled?e.richtext:void 0,"max-height":a.value,"max-rows":20,"aria-labelledby":e.labelId,ring:"",bordered:""},null,8,["type","model-value","show-word-count","clearable","max-length","max-line-length","max-lines","placeholder","richtext","max-height","aria-labelledby"])]))}}),Gx=Qe(qK,[["__scopeId","data-v-ceacb5b8"]]),HK={class:"field-image-adjust"},WK=o.defineComponent({__name:"ImageAdjust",props:o.mergeModels({minX:{},maxX:{},minY:{},maxY:{},minScale:{},maxScale:{},type:{},aspectRatio:{},bridge:{}},{image:{required:!0},imageModifiers:{},adjust:{required:!0},adjustModifiers:{}}),emits:["update:image","update:adjust"],setup(e){o.inject(C0);const t=o.useModel(e,"image"),n=o.useModel(e,"adjust"),r=e,a=o.ref();return o.watchEffect(async()=>{t.value&&(a.value=await Mc(t.value))}),o.computed(()=>hm(n.value,a.value.width,a.value.height,r.aspectRatio)),(i,l)=>(o.openBlock(),o.createElementBlock("div",HK,[o.createVNode(ct,null,{icon:o.withCtx(()=>[o.createVNode(Je,null,{default:o.withCtx(()=>[o.createVNode(o.unref(r3))]),_:1})]),default:o.withCtx(()=>[l[0]||(l[0]=o.createTextVNode(" Crop ",-1))]),_:1})]))}}),Xx=Qe(WK,[["__scopeId","data-v-9e4c42cb"]]),GK=["aria-labelledby"],XK=["aria-checked","aria-label","tabindex","onClick"],YK={class:"image-card"},KK={class:"label-image-proxy"},JK=["src"],QK={key:0,class:"label"},eJ=o.defineComponent({__name:"Select",props:o.mergeModels({options:{},layout:{},cardSize:{},showLabels:{type:Boolean},labelId:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=o.useModel(e,"modelValue"),r=Bl(),a=o.computed(()=>t.layout==="grid"||t.layout==="cards");function i(p){n.value=p.value}const l=o.ref([]);function d(p,c){l.value[c]=p}const s=o.computed(()=>{const p=t.options.findIndex(c=>c.value===n.value);return p>=0?p:0});function u(p){var y;const c=t.options.length;if(c===0)return;const h=l.value.findIndex(w=>w===document.activeElement);let g;switch(p.key){case"ArrowRight":case"ArrowDown":g=h<0?0:(h+1)%c;break;case"ArrowLeft":case"ArrowUp":g=h<0?c-1:(h-1+c)%c;break;case"Home":g=0;break;case"End":g=c-1;break;case"Enter":case" ":h>=0&&(p.preventDefault(),i(t.options[h]));return;default:return}p.preventDefault(),(y=l.value[g])==null||y.focus(),i(t.options[g])}const f=o.computed(()=>t.options.map(p=>({label:p.label,value:p.value,icon:p.image?()=>o.h(Je,{},()=>o.h("img",{src:p.image,style:{"object-fit":"cover",width:"24px",height:"24px"}})):void 0})));return(p,c)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["select-field",{"grid-layout":a.value,"horizontal-scroll":e.layout==="cards"}])},[a.value?(o.openBlock(),o.createElementBlock("div",{key:0,class:o.normalizeClass(["select-grid",{["size-"+e.cardSize]:!0,"horizontal-scroll":e.layout==="cards"}]),role:"radiogroup","aria-labelledby":e.labelId,onKeydown:u},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.options,(h,g)=>(o.openBlock(),o.createElementBlock("div",{key:g,ref_for:!0,ref:y=>d(y,g),class:o.normalizeClass(["option-item",{active:h.value===n.value}]),role:"radio","aria-checked":h.value===n.value?"true":"false","aria-label":h.label,tabindex:g===s.value?0:-1,onClick:y=>i(h)},[o.createElementVNode("div",YK,[o.createElementVNode("div",KK,[o.createElementVNode("span",null,o.toDisplayString(h.label),1)]),h.image?(o.openBlock(),o.createElementBlock("img",{key:0,src:o.unref(r)(h.image)},null,8,JK)):o.createCommentVNode("",!0)]),e.showLabels?(o.openBlock(),o.createElementBlock("div",QK,o.toDisplayString(h.label),1)):o.createCommentVNode("",!0)],10,XK))),128))],42,GK)):(o.openBlock(),o.createBlock(Ur,{key:1,modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=h=>n.value=h),options:f.value,"aria-labelledby":e.labelId,bordered:""},null,8,["modelValue","options","aria-labelledby"]))],2))}}),Yx=Qe(eJ,[["__scopeId","data-v-9bc0926e"]]);function Kx(e){const t=o.computed(()=>{const r=o.toValue(e.disabled)??!1,a=o.toValue(e.labelledBy);return{role:e.role,tabindex:r?-1:0,"aria-checked":o.toValue(e.checked)?"true":"false","aria-disabled":r?"true":void 0,"aria-labelledby":a,"aria-label":a?void 0:o.toValue(e.label)}});function n(r){o.toValue(e.disabled)||(r.key===" "||r.key==="Enter")&&(r.preventDefault(),e.toggle())}return{attrs:t,onKeydown:n}}const tJ=o.defineComponent({__name:"BxCheckbox",props:o.mergeModels({label:{},ariaLabel:{},ariaLabelledby:{},size:{default:"medium"},disabled:{type:Boolean,default:!1},secondary:{type:Boolean,default:!1}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=o.useModel(e,"modelValue"),r=()=>{t.disabled||(n.value=!n.value)},{attrs:a,onKeydown:i}=Kx({role:"checkbox",checked:()=>n.value,disabled:()=>t.disabled,label:()=>t.ariaLabel??t.label,labelledBy:()=>t.ariaLabelledby,toggle:r});return(l,d)=>(o.openBlock(),o.createElementBlock("div",o.mergeProps({class:["bx-checkbox",{checked:n.value,disabled:e.disabled,secondary:e.secondary}]},o.unref(a),{onClick:r,onKeydown:d[0]||(d[0]=(...s)=>o.unref(i)&&o.unref(i)(...s))}),[...d[1]||(d[1]=[o.createElementVNode("div",{class:"checkbox-box"},[o.createElementVNode("div",{class:"checkbox-symbol"},[o.createElementVNode("svg",{viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"check-icon","aria-hidden":"true"},[o.createElementVNode("path",{d:"M12.1875 3.75L5.625 11.25L2.8125 8.4375",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})])])],-1)])],16))}}),Is=Qe(tJ,[["__scopeId","data-v-6cd2378e"]]),nJ={class:"label"},rJ=["id"],aJ=o.defineComponent({__name:"Checkbox",props:o.mergeModels({description:{},detailedDescription:{},label:{},mobile:{type:Boolean,default:!1},secondary:{type:Boolean,default:!1},labelId:{}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=$a("bx-checkbox-label"),n=o.useModel(e,"modelValue");return(r,a)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["checkbox-field",{mobile:e.mobile}])},[o.createVNode(Is,{modelValue:n.value,"onUpdate:modelValue":a[0]||(a[0]=i=>n.value=i),size:"medium","aria-labelledby":e.label?o.unref(t):e.labelId},null,8,["modelValue","aria-labelledby"]),e.label?(o.openBlock(),o.createElementBlock("div",{key:0,class:"checkbox-label",onClick:a[1]||(a[1]=i=>n.value=!n.value)},[o.createElementVNode("div",nJ,[o.createElementVNode("span",{id:o.unref(t)},o.toDisplayString(e.label),9,rJ)])])):o.createCommentVNode("",!0)],2))}}),Jx=Qe(aJ,[["__scopeId","data-v-8852852c"]]),oJ=o.defineComponent({__name:"CollectionEntryFields",props:{bridge:{},fields:{},layout:{},data:{}},emits:["update:data"],setup(e,{emit:t}){const n=e,r=t,a=o.ref(n.data);return o.watch(()=>n.data,i=>{i!==a.value&&(a.value=i)}),o.provide("data",a),o.watch(a,()=>{r("update:data",a.value)},{deep:!0}),(i,l)=>(o.openBlock(),o.createBlock(Wx,{bridge:e.bridge,fields:e.fields,card:!1,layout:e.layout},null,8,["bridge","fields","layout"]))}});/**!
149
149
  * Sortable 1.15.7
150
150
  * @author RubaXa <trash@rubaxa.org>
151
151
  * @author owenm <owen23355@gmail.com>
package/dist/main.mjs CHANGED
@@ -35319,7 +35319,7 @@ const qG = dS.exports, WG = ["contenteditable", "data-ghost"], GG = ["data-parag
35319
35319
  }
35320
35320
  }), b = oe({
35321
35321
  get() {
35322
- return zG(o.value);
35322
+ return zG(u.value);
35323
35323
  },
35324
35324
  set(ie) {
35325
35325
  r.richtext ? u.value = ie : u.value = Rv(ie);
@@ -35499,7 +35499,7 @@ const qG = dS.exports, WG = ["contenteditable", "data-ghost"], GG = ["data-parag
35499
35499
  key: 1,
35500
35500
  ref_key: "inputEelRef",
35501
35501
  ref: _,
35502
- "onUpdate:modelValue": pe[6] || (pe[6] = (be) => o.value = be),
35502
+ "onUpdate:modelValue": pe[6] || (pe[6] = (be) => m.value = be),
35503
35503
  readonly: e.readonly,
35504
35504
  placeholder: e.placeholder,
35505
35505
  type: e.type,
@@ -35510,7 +35510,7 @@ const qG = dS.exports, WG = ["contenteditable", "data-ghost"], GG = ["data-parag
35510
35510
  "aria-invalid": C.value ? "true" : void 0,
35511
35511
  "aria-describedby": x.value
35512
35512
  }, null, 40, _X)), [
35513
- [EP, o.value]
35513
+ [EP, m.value]
35514
35514
  ])
35515
35515
  ], 64))
35516
35516
  ], 2),
@@ -35608,7 +35608,7 @@ const qG = dS.exports, WG = ["contenteditable", "data-ghost"], GG = ["data-parag
35608
35608
  ], 6)
35609
35609
  ], 2));
35610
35610
  }
35611
- }), pl = /* @__PURE__ */ ft(DX, [["__scopeId", "data-v-19f6427a"]]);
35611
+ }), pl = /* @__PURE__ */ ft(DX, [["__scopeId", "data-v-e7f10bcd"]]);
35612
35612
  function Zv(e) {
35613
35613
  return new URLSearchParams(Object.fromEntries(Object.entries(e).map(([t, n]) => [t, String(n)]))).toString();
35614
35614
  }