Files
appco_dist/.output/public/_nuxt/C4aRbWEC.js
T
2026-02-01 17:38:39 +03:30

2 lines
15 KiB
JavaScript

import{d as Y,r as T,k as y,$ as te,y as j,z as Z,C as $,D as A,F as N,J as q,G as re,T as ne,A as H,E as K,B as V,S as ie}from"./D9_UoUeZ.js";import{B as G}from"./D72ALlip.js";import{_ as ae}from"./SmRI6xj_.js";import{m as se,f as oe}from"./BfhD3MmZ.js";import{_ as ce}from"./DlAUqK2U.js";const le={class:"cropper-wrapper"},de=Y({__name:"PictureEditor",props:{src:{},aspectRatio:{default:1},initialSize:{},round:{type:Boolean,default:!1},movable:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},outputSize:{},quality:{default:.92},mime:{default:"image/jpeg"}},emits:["onCropped"],setup(a,{expose:e,emit:t}){const r=a,n=t,i=T(null);function s(d){if(!d)return!1;const m=d.toLowerCase();return m.startsWith("http://")||m.startsWith("https://")}const o=y(()=>{const d=r.src??"";if(!s(d))return d;const m=d.includes("?")?"&":"?";return`${d}${m}cb=${Date.now()}`}),c=y(()=>r.round?se:void 0),p=y(()=>{if(r.initialSize!=null)return typeof r.initialSize=="number"?{width:r.initialSize,height:r.initialSize}:r.initialSize}),g=T(0);te(()=>[r.aspectRatio,r.round],()=>{g.value++});function l(){if(r.outputSize!=null)return typeof r.outputSize=="number"?{width:r.outputSize,height:r.outputSize}:r.outputSize}function u(){const d=i.value;if(!d)return;const m=l()??void 0,f=d.getResult({size:m,mime:r.mime,quality:r.quality});f?.canvas&&n("onCropped",f.canvas.toDataURL(r.mime,r.quality))}function P(d,m){g.value++}return e({crop:u,setStencilSize:P}),(d,m)=>{const f=ae;return j(),Z("div",le,[$(f,null,{default:A(()=>[(j(),N(q(oe),{key:g.value,ref_key:"cropperRef",ref:i,class:"cropper",src:o.value,"stencil-component":c.value,"stencil-props":{aspectRatio:d.aspectRatio??void 0,movable:d.movable,resizable:d.resizable},"stencil-size":p.value,"image-restriction":"stencil"},null,8,["src","stencil-component","stencil-props","stencil-size"]))]),_:1})])}}}),ue=Object.assign(de,{__name:"PictureEditor"}),pe={key:0,class:"fixed inset-0 z-1000 backdrop-blur-md bg-black/80 p-2"},me={class:"w-full"},fe={class:"p-2 absolute bottom-0 right-0 left-0 grid gap-2 gap-2"},he=Y({__name:"CropperModal",props:{visible:{type:Boolean},img:{},mode:{},fixedMovable:{type:Boolean},resizable:{type:Boolean},aspectRatio:{},initialSize:{},round:{type:Boolean},outputSize:{},mime:{},quality:{}},emits:["update:visible","cropped"],setup(a,{emit:e}){const t=a,r=e,n=re(),i=T(null),s=y({get:()=>t.visible,set:E=>r("update:visible",E)}),o=y(()=>t.aspectRatio??null),c=y(()=>t.mode==="fixed"?t.initialSize??340:void 0),p=y(()=>t.round??!1),g=y(()=>t.outputSize??400),l=y(()=>t.mime??"image/jpeg"),u=y(()=>t.quality??.92),P=y(()=>typeof t.resizable=="boolean"?t.resizable:(t.mode??"free")!=="fixed"),d=y(()=>(t.mode??"free")==="fixed"?t.fixedMovable:!0);function m(E){r("cropped",E),s.value=!1}function f(){i.value?.crop()}return(E,U)=>(j(),N(ne,{name:"fade"},{default:A(()=>[s.value&&E.img?(j(),Z("div",pe,[H("div",me,[$(ue,{ref_key:"cropper",ref:i,class:"h-90vh absolute top-0 right-0 left-0 w-full",src:E.img,initialSize:c.value,round:p.value,resizable:P.value,movable:d.value,aspectRatio:o.value,outputSize:g.value,mime:l.value,quality:u.value,onOnCropped:m},null,8,["src","initialSize","round","resizable","movable","aspectRatio","outputSize","mime","quality"])]),H("div",fe,[$(G,{block:"",onClick:f,type:"primary"},{default:A(()=>[K(V(q(n).useString("submit")),1)]),_:1}),$(G,{block:"",danger:"",onClick:U[0]||(U[0]=z=>s.value=!1)},{default:A(()=>[K(V(q(n).useString("close")),1)]),_:1})])])):ie("",!0)]),_:1}))}}),Re=Object.assign(ce(he,[["__scopeId","data-v-c7054885"]]),{__name:"CropperModal"});var k;(function(a){a.Unimplemented="UNIMPLEMENTED",a.Unavailable="UNAVAILABLE"})(k||(k={}));class S extends Error{constructor(e,t,r){super(e),this.message=e,this.code=t,this.data=r}}const be=a=>{var e,t;return a?.androidBridge?"android":!((t=(e=a?.webkit)===null||e===void 0?void 0:e.messageHandlers)===null||t===void 0)&&t.bridge?"ios":"web"},ge=a=>{const e=a.CapacitorCustomPlatform||null,t=a.Capacitor||{},r=t.Plugins=t.Plugins||{},n=()=>e!==null?e.name:be(a),i=()=>n()!=="web",s=l=>{const u=p.get(l);return!!(u?.platforms.has(n())||o(l))},o=l=>{var u;return(u=t.PluginHeaders)===null||u===void 0?void 0:u.find(P=>P.name===l)},c=l=>a.console.error(l),p=new Map,g=(l,u={})=>{const P=p.get(l);if(P)return console.warn(`Capacitor plugin "${l}" already registered. Cannot register plugins twice.`),P.proxy;const d=n(),m=o(l);let f;const E=async()=>(!f&&d in u?f=typeof u[d]=="function"?f=await u[d]():f=u[d]:e!==null&&!f&&"web"in u&&(f=typeof u.web=="function"?f=await u.web():f=u.web),f),U=(h,b)=>{var w,C;if(m){const L=m?.methods.find(v=>b===v.name);if(L)return L.rtype==="promise"?v=>t.nativePromise(l,b.toString(),v):(v,R)=>t.nativeCallback(l,b.toString(),v,R);if(h)return(w=h[b])===null||w===void 0?void 0:w.bind(h)}else{if(h)return(C=h[b])===null||C===void 0?void 0:C.bind(h);throw new S(`"${l}" plugin is not implemented on ${d}`,k.Unimplemented)}},z=h=>{let b;const w=(...C)=>{const L=E().then(v=>{const R=U(v,h);if(R){const O=R(...C);return b=O?.remove,O}else throw new S(`"${l}.${h}()" is not implemented on ${d}`,k.Unimplemented)});return h==="addListener"&&(L.remove=async()=>b()),L};return w.toString=()=>`${h.toString()}() { [capacitor code] }`,Object.defineProperty(w,"name",{value:h,writable:!1,configurable:!1}),w},M=z("addListener"),W=z("removeListener"),ee=(h,b)=>{const w=M({eventName:h},b),C=async()=>{const v=await w;W({eventName:h,callbackId:v},b)},L=new Promise(v=>w.then(()=>v({remove:C})));return L.remove=async()=>{console.warn("Using addListener() without 'await' is deprecated."),await C()},L},B=new Proxy({},{get(h,b){switch(b){case"$$typeof":return;case"toJSON":return()=>({});case"addListener":return m?ee:M;case"removeListener":return W;default:return z(b)}}});return r[l]=B,p.set(l,{name:l,proxy:B,platforms:new Set([...Object.keys(u),...m?[d]:[]])}),B};return t.convertFileSrc||(t.convertFileSrc=l=>l),t.getPlatform=n,t.handleError=c,t.isNativePlatform=i,t.isPluginAvailable=s,t.registerPlugin=g,t.Exception=S,t.DEBUG=!!t.DEBUG,t.isLoggingEnabled=!!t.isLoggingEnabled,t},ye=a=>a.Capacitor=ge(a),F=ye(typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),I=F.registerPlugin;class D{constructor(){this.listeners={},this.retainedEventArguments={},this.windowListeners={}}addListener(e,t){let r=!1;this.listeners[e]||(this.listeners[e]=[],r=!0),this.listeners[e].push(t);const i=this.windowListeners[e];i&&!i.registered&&this.addWindowListener(i),r&&this.sendRetainedArgumentsForEvent(e);const s=async()=>this.removeListener(e,t);return Promise.resolve({remove:s})}async removeAllListeners(){this.listeners={};for(const e in this.windowListeners)this.removeWindowListener(this.windowListeners[e]);this.windowListeners={}}notifyListeners(e,t,r){const n=this.listeners[e];if(!n){if(r){let i=this.retainedEventArguments[e];i||(i=[]),i.push(t),this.retainedEventArguments[e]=i}return}n.forEach(i=>i(t))}hasListeners(e){var t;return!!(!((t=this.listeners[e])===null||t===void 0)&&t.length)}registerWindowListener(e,t){this.windowListeners[t]={registered:!1,windowEventName:e,pluginEventName:t,handler:r=>{this.notifyListeners(t,r)}}}unimplemented(e="not implemented"){return new F.Exception(e,k.Unimplemented)}unavailable(e="not available"){return new F.Exception(e,k.Unavailable)}async removeListener(e,t){const r=this.listeners[e];if(!r)return;const n=r.indexOf(t);this.listeners[e].splice(n,1),this.listeners[e].length||this.removeWindowListener(this.windowListeners[e])}addWindowListener(e){window.addEventListener(e.windowEventName,e.handler),e.registered=!0}removeWindowListener(e){e&&(window.removeEventListener(e.windowEventName,e.handler),e.registered=!1)}sendRetainedArgumentsForEvent(e){const t=this.retainedEventArguments[e];t&&(delete this.retainedEventArguments[e],t.forEach(r=>{this.notifyListeners(e,r)}))}}const J=a=>encodeURIComponent(a).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape),Q=a=>a.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent);class ve extends D{async getCookies(){const e=document.cookie,t={};return e.split(";").forEach(r=>{if(r.length<=0)return;let[n,i]=r.replace(/=/,"CAP_COOKIE").split("CAP_COOKIE");n=Q(n).trim(),i=Q(i).trim(),t[n]=i}),t}async setCookie(e){try{const t=J(e.key),r=J(e.value),n=`; expires=${(e.expires||"").replace("expires=","")}`,i=(e.path||"/").replace("path=",""),s=e.url!=null&&e.url.length>0?`domain=${e.url}`:"";document.cookie=`${t}=${r||""}${n}; path=${i}; ${s};`}catch(t){return Promise.reject(t)}}async deleteCookie(e){try{document.cookie=`${e.key}=; Max-Age=0`}catch(t){return Promise.reject(t)}}async clearCookies(){try{const e=document.cookie.split(";")||[];for(const t of e)document.cookie=t.replace(/^ +/,"").replace(/=.*/,`=;expires=${new Date().toUTCString()};path=/`)}catch(e){return Promise.reject(e)}}async clearAllCookies(){try{await this.clearCookies()}catch(e){return Promise.reject(e)}}}I("CapacitorCookies",{web:()=>new ve});const we=async a=>new Promise((e,t)=>{const r=new FileReader;r.onload=()=>{const n=r.result;e(n.indexOf(",")>=0?n.split(",")[1]:n)},r.onerror=n=>t(n),r.readAsDataURL(a)}),Pe=(a={})=>{const e=Object.keys(a);return Object.keys(a).map(n=>n.toLocaleLowerCase()).reduce((n,i,s)=>(n[i]=a[e[s]],n),{})},Ee=(a,e=!0)=>a?Object.entries(a).reduce((r,n)=>{const[i,s]=n;let o,c;return Array.isArray(s)?(c="",s.forEach(p=>{o=e?encodeURIComponent(p):p,c+=`${i}=${o}&`}),c.slice(0,-1)):(o=e?encodeURIComponent(s):s,c=`${i}=${o}`),`${r}&${c}`},"").substr(1):null,Ce=(a,e={})=>{const t=Object.assign({method:a.method||"GET",headers:a.headers},e),n=Pe(a.headers)["content-type"]||"";if(typeof a.data=="string")t.body=a.data;else if(n.includes("application/x-www-form-urlencoded")){const i=new URLSearchParams;for(const[s,o]of Object.entries(a.data||{}))i.set(s,o);t.body=i.toString()}else if(n.includes("multipart/form-data")||a.data instanceof FormData){const i=new FormData;if(a.data instanceof FormData)a.data.forEach((o,c)=>{i.append(c,o)});else for(const o of Object.keys(a.data))i.append(o,a.data[o]);t.body=i;const s=new Headers(t.headers);s.delete("content-type"),t.headers=s}else(n.includes("application/json")||typeof a.data=="object")&&(t.body=JSON.stringify(a.data));return t};class Le extends D{async request(e){const t=Ce(e,e.webFetchExtra),r=Ee(e.params,e.shouldEncodeUrlParams),n=r?`${e.url}?${r}`:e.url,i=await fetch(n,t),s=i.headers.get("content-type")||"";let{responseType:o="text"}=i.ok?e:{};s.includes("application/json")&&(o="json");let c,p;switch(o){case"arraybuffer":case"blob":p=await i.blob(),c=await we(p);break;case"json":c=await i.json();break;default:c=await i.text()}const g={};return i.headers.forEach((l,u)=>{g[u]=l}),{data:c,headers:g,status:i.status,url:i.url}}async get(e){return this.request(Object.assign(Object.assign({},e),{method:"GET"}))}async post(e){return this.request(Object.assign(Object.assign({},e),{method:"POST"}))}async put(e){return this.request(Object.assign(Object.assign({},e),{method:"PUT"}))}async patch(e){return this.request(Object.assign(Object.assign({},e),{method:"PATCH"}))}async delete(e){return this.request(Object.assign(Object.assign({},e),{method:"DELETE"}))}}I("CapacitorHttp",{web:()=>new Le});var _;(function(a){a.Prompt="PROMPT",a.Camera="CAMERA",a.Photos="PHOTOS"})(_||(_={}));var x;(function(a){a.Rear="REAR",a.Front="FRONT"})(x||(x={}));var X;(function(a){a.Uri="uri",a.Base64="base64",a.DataUrl="dataUrl"})(X||(X={}));class _e extends D{async getPhoto(e){return new Promise(async(t,r)=>{if(e.webUseInput||e.source===_.Photos)this.fileInputExperience(e,t,r);else if(e.source===_.Prompt){let n=document.querySelector("pwa-action-sheet");n||(n=document.createElement("pwa-action-sheet"),document.body.appendChild(n)),n.header=e.promptLabelHeader||"Photo",n.cancelable=!1,n.options=[{title:e.promptLabelPhoto||"From Photos"},{title:e.promptLabelPicture||"Take Picture"}],n.addEventListener("onSelection",async i=>{i.detail===0?this.fileInputExperience(e,t,r):this.cameraExperience(e,t,r)})}else this.cameraExperience(e,t,r)})}async pickImages(e){return new Promise(async(t,r)=>{this.multipleFileInputExperience(t,r)})}async cameraExperience(e,t,r){if(customElements.get("pwa-camera-modal")){const n=document.createElement("pwa-camera-modal");n.facingMode=e.direction===x.Front?"user":"environment",document.body.appendChild(n);try{await n.componentOnReady(),n.addEventListener("onPhoto",async i=>{const s=i.detail;s===null?r(new S("User cancelled photos app")):s instanceof Error?r(s):t(await this._getCameraPhoto(s,e)),n.dismiss(),document.body.removeChild(n)}),n.present()}catch{this.fileInputExperience(e,t,r)}}else console.error("Unable to load PWA Element 'pwa-camera-modal'. See the docs: https://capacitorjs.com/docs/web/pwa-elements."),this.fileInputExperience(e,t,r)}fileInputExperience(e,t,r){let n=document.querySelector("#_capacitor-camera-input");const i=()=>{var s;(s=n.parentNode)===null||s===void 0||s.removeChild(n)};n||(n=document.createElement("input"),n.id="_capacitor-camera-input",n.type="file",n.hidden=!0,document.body.appendChild(n),n.addEventListener("change",s=>{const o=n.files[0];let c="jpeg";if(o.type==="image/png"?c="png":o.type==="image/gif"&&(c="gif"),e.resultType==="dataUrl"||e.resultType==="base64"){const p=new FileReader;p.addEventListener("load",()=>{if(e.resultType==="dataUrl")t({dataUrl:p.result,format:c});else if(e.resultType==="base64"){const g=p.result.split(",")[1];t({base64String:g,format:c})}i()}),p.readAsDataURL(o)}else t({webPath:URL.createObjectURL(o),format:c}),i()}),n.addEventListener("cancel",s=>{r(new S("User cancelled photos app")),i()})),n.accept="image/*",n.capture=!0,e.source===_.Photos||e.source===_.Prompt?n.removeAttribute("capture"):e.direction===x.Front?n.capture="user":e.direction===x.Rear&&(n.capture="environment"),n.click()}multipleFileInputExperience(e,t){let r=document.querySelector("#_capacitor-camera-input-multiple");const n=()=>{var i;(i=r.parentNode)===null||i===void 0||i.removeChild(r)};r||(r=document.createElement("input"),r.id="_capacitor-camera-input-multiple",r.type="file",r.hidden=!0,r.multiple=!0,document.body.appendChild(r),r.addEventListener("change",i=>{const s=[];for(let o=0;o<r.files.length;o++){const c=r.files[o];let p="jpeg";c.type==="image/png"?p="png":c.type==="image/gif"&&(p="gif"),s.push({webPath:URL.createObjectURL(c),format:p})}e({photos:s}),n()}),r.addEventListener("cancel",i=>{t(new S("User cancelled photos app")),n()})),r.accept="image/*",r.click()}_getCameraPhoto(e,t){return new Promise((r,n)=>{const i=new FileReader,s=e.type.split("/")[1];t.resultType==="uri"?r({webPath:URL.createObjectURL(e),format:s,saved:!1}):(i.readAsDataURL(e),i.onloadend=()=>{const o=i.result;t.resultType==="dataUrl"?r({dataUrl:o,format:s,saved:!1}):r({base64String:o.split(",")[1],format:s,saved:!1})},i.onerror=o=>{n(o)})})}async checkPermissions(){if(typeof navigator>"u"||!navigator.permissions)throw this.unavailable("Permissions API not available in this browser");try{return{camera:(await window.navigator.permissions.query({name:"camera"})).state,photos:"granted"}}catch{throw this.unavailable("Camera permissions are not available in this browser")}}async requestPermissions(){throw this.unimplemented("Not implemented on web.")}async pickLimitedLibraryPhotos(){throw this.unavailable("Not implemented on web.")}async getLimitedLibraryPhotos(){throw this.unavailable("Not implemented on web.")}}const Oe=I("Camera",{web:()=>new _e});export{F as C,Re as _,Oe as a};