@ddict/bubble 1.3.11 → 1.3.12
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/bubble.es.js +685 -681
- package/dist/bubble.umd.js +3 -3
- package/package.json +1 -1
package/dist/bubble.umd.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(function(P,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],n):(P=typeof globalThis<"u"?globalThis:P||self,n(P.Bubble={},P.Vue))})(this,function(P,n){"use strict";const ce=Math.min,H=Math.max,de=Math.round,ue=Math.floor,O=e=>({x:e,y:e}),vt={left:"right",right:"left",bottom:"top",top:"bottom"},Lt={start:"end",end:"start"};function He(e,t,o){return H(e,ce(t,o))}function fe(e,t){return typeof e=="function"?e(t):e}function U(e){return e.split("-")[0]}function me(e){return e.split("-")[1]}function Ue(e){return e==="x"?"y":"x"}function je(e){return e==="y"?"height":"width"}function J(e){return["top","bottom"].includes(U(e))?"y":"x"}function Ze(e){return Ue(J(e))}function St(e,t,o){o===void 0&&(o=!1);const i=me(e),r=Ze(e),a=je(r);let l=r==="x"?i===(o?"end":"start")?"right":"left":i==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(l=he(l)),[l,he(l)]}function Bt(e){const t=he(e);return[ve(e),t,ve(t)]}function ve(e){return e.replace(/start|end/g,t=>Lt[t])}function Tt(e,t,o){const i=["left","right"],r=["right","left"],a=["top","bottom"],l=["bottom","top"];switch(e){case"top":case"bottom":return o?t?r:i:t?i:r;case"left":case"right":return t?a:l;default:return[]}}function At(e,t,o,i){const r=me(e);let a=Tt(U(e),o==="start",i);return r&&(a=a.map(l=>l+"-"+r),t&&(a=a.concat(a.map(ve)))),a}function he(e){return e.replace(/left|right|bottom|top/g,t=>vt[t])}function $t(e){return{top:0,right:0,bottom:0,left:0,...e}}function Rt(e){return typeof e!="number"?$t(e):{top:e,right:e,bottom:e,left:e}}function pe(e){const{x:t,y:o,width:i,height:r}=e;return{width:i,height:r,top:o,left:t,right:t+i,bottom:o+r,x:t,y:o}}function qe(e,t,o){let{reference:i,floating:r}=e;const a=J(t),l=Ze(t),c=je(l),s=U(t),d=a==="y",f=i.x+i.width/2-r.width/2,p=i.y+i.height/2-r.height/2,g=i[c]/2-r[c]/2;let m;switch(s){case"top":m={x:f,y:i.y-r.height};break;case"bottom":m={x:f,y:i.y+i.height};break;case"right":m={x:i.x+i.width,y:p};break;case"left":m={x:i.x-r.width,y:p};break;default:m={x:i.x,y:i.y}}switch(me(t)){case"start":m[l]-=g*(o&&d?-1:1);break;case"end":m[l]+=g*(o&&d?-1:1);break}return m}const Vt=async(e,t,o)=>{const{placement:i="bottom",strategy:r="absolute",middleware:a=[],platform:l}=o,c=a.filter(Boolean),s=await(l.isRTL==null?void 0:l.isRTL(t));let d=await l.getElementRects({reference:e,floating:t,strategy:r}),{x:f,y:p}=qe(d,i,s),g=i,m={},h=0;for(let b=0;b<c.length;b++){const{name:w,fn:x}=c[b],{x:E,y,data:S,reset:v}=await x({x:f,y:p,initialPlacement:i,placement:g,strategy:r,middlewareData:m,rects:d,platform:l,elements:{reference:e,floating:t}});f=E??f,p=y??p,m={...m,[w]:{...m[w],...S}},v&&h<=50&&(h++,typeof v=="object"&&(v.placement&&(g=v.placement),v.rects&&(d=v.rects===!0?await l.getElementRects({reference:e,floating:t,strategy:r}):v.rects),{x:f,y:p}=qe(d,g,s)),b=-1)}return{x:f,y:p,placement:g,strategy:r,middlewareData:m}};async function Xe(e,t){var o;t===void 0&&(t={});const{x:i,y:r,platform:a,rects:l,elements:c,strategy:s}=e,{boundary:d="clippingAncestors",rootBoundary:f="viewport",elementContext:p="floating",altBoundary:g=!1,padding:m=0}=fe(t,e),h=Rt(m),w=c[g?p==="floating"?"reference":"floating":p],x=pe(await a.getClippingRect({element:(o=await(a.isElement==null?void 0:a.isElement(w)))==null||o?w:w.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(c.floating)),boundary:d,rootBoundary:f,strategy:s})),E=p==="floating"?{x:i,y:r,width:l.floating.width,height:l.floating.height}:l.reference,y=await(a.getOffsetParent==null?void 0:a.getOffsetParent(c.floating)),S=await(a.isElement==null?void 0:a.isElement(y))?await(a.getScale==null?void 0:a.getScale(y))||{x:1,y:1}:{x:1,y:1},v=pe(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:E,offsetParent:y,strategy:s}):E);return{top:(x.top-v.top+h.top)/S.y,bottom:(v.bottom-x.bottom+h.bottom)/S.y,left:(x.left-v.left+h.left)/S.x,right:(v.right-x.right+h.right)/S.x}}const Nt=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var o,i;const{placement:r,middlewareData:a,rects:l,initialPlacement:c,platform:s,elements:d}=t,{mainAxis:f=!0,crossAxis:p=!0,fallbackPlacements:g,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:b=!0,...w}=fe(e,t);if((o=a.arrow)!=null&&o.alignmentOffset)return{};const x=U(r),E=J(c),y=U(c)===c,S=await(s.isRTL==null?void 0:s.isRTL(d.floating)),v=g||(y||!b?[he(c)]:Bt(c)),B=h!=="none";!g&&B&&v.push(...At(c,b,h,S));const k=[c,...v],V=await Xe(t,w),_=[];let Y=((i=a.flip)==null?void 0:i.overflows)||[];if(f&&_.push(V[x]),p){const T=St(r,l,S);_.push(V[T[0]],V[T[1]])}if(Y=[...Y,{placement:r,overflows:_}],!_.every(T=>T<=0)){var we,le;const T=(((we=a.flip)==null?void 0:we.index)||0)+1,ye=k[T];if(ye)return{data:{index:T,overflows:Y},reset:{placement:ye}};let K=(le=Y.filter(F=>F.overflows[0]<=0).sort((F,A)=>F.overflows[1]-A.overflows[1])[0])==null?void 0:le.placement;if(!K)switch(m){case"bestFit":{var ae;const F=(ae=Y.filter(A=>{if(B){const $=J(A.placement);return $===E||$==="y"}return!0}).map(A=>[A.placement,A.overflows.filter($=>$>0).reduce(($,G)=>$+G,0)]).sort((A,$)=>A[1]-$[1])[0])==null?void 0:ae[0];F&&(K=F);break}case"initialPlacement":K=c;break}if(r!==K)return{reset:{placement:K}}}return{}}}};async function It(e,t){const{placement:o,platform:i,elements:r}=e,a=await(i.isRTL==null?void 0:i.isRTL(r.floating)),l=U(o),c=me(o),s=J(o)==="y",d=["left","top"].includes(l)?-1:1,f=a&&s?-1:1,p=fe(t,e);let{mainAxis:g,crossAxis:m,alignmentAxis:h}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...p};return c&&typeof h=="number"&&(m=c==="end"?h*-1:h),s?{x:m*f,y:g*d}:{x:g*d,y:m*f}}const Mt=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var o,i;const{x:r,y:a,placement:l,middlewareData:c}=t,s=await It(t,e);return l===((o=c.offset)==null?void 0:o.placement)&&(i=c.arrow)!=null&&i.alignmentOffset?{}:{x:r+s.x,y:a+s.y,data:{...s,placement:l}}}}},_t=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:o,y:i,placement:r}=t,{mainAxis:a=!0,crossAxis:l=!1,limiter:c={fn:w=>{let{x,y:E}=w;return{x,y:E}}},...s}=fe(e,t),d={x:o,y:i},f=await Xe(t,s),p=J(U(r)),g=Ue(p);let m=d[g],h=d[p];if(a){const w=g==="y"?"top":"left",x=g==="y"?"bottom":"right",E=m+f[w],y=m-f[x];m=He(E,m,y)}if(l){const w=p==="y"?"top":"left",x=p==="y"?"bottom":"right",E=h+f[w],y=h-f[x];h=He(E,h,y)}const b=c.fn({...t,[g]:m,[p]:h});return{...b,data:{x:b.x-o,y:b.y-i}}}}};function j(e){return Le(e)?(e.nodeName||"").toLowerCase():"#document"}function R(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function z(e){var t;return(t=(Le(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Le(e){return e instanceof Node||e instanceof R(e).Node}function I(e){return e instanceof Element||e instanceof R(e).Element}function M(e){return e instanceof HTMLElement||e instanceof R(e).HTMLElement}function Ye(e){return typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof R(e).ShadowRoot}function ne(e){const{overflow:t,overflowX:o,overflowY:i,display:r}=N(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+o)&&!["inline","contents"].includes(r)}function Ft(e){return["table","td","th"].includes(j(e))}function ge(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch{return!1}})}function Se(e){const t=Be(),o=N(e);return o.transform!=="none"||o.perspective!=="none"||(o.containerType?o.containerType!=="normal":!1)||!t&&(o.backdropFilter?o.backdropFilter!=="none":!1)||!t&&(o.filter?o.filter!=="none":!1)||["transform","perspective","filter"].some(i=>(o.willChange||"").includes(i))||["paint","layout","strict","content"].some(i=>(o.contain||"").includes(i))}function zt(e){let t=W(e);for(;M(t)&&!Q(t);){if(ge(t))return null;if(Se(t))return t;t=W(t)}return null}function Be(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function Q(e){return["html","body","#document"].includes(j(e))}function N(e){return R(e).getComputedStyle(e)}function Ce(e){return I(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function W(e){if(j(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Ye(e)&&e.host||z(e);return Ye(t)?t.host:t}function Ke(e){const t=W(e);return Q(t)?e.ownerDocument?e.ownerDocument.body:e.body:M(t)&&ne(t)?t:Ke(t)}function oe(e,t,o){var i;t===void 0&&(t=[]),o===void 0&&(o=!0);const r=Ke(e),a=r===((i=e.ownerDocument)==null?void 0:i.body),l=R(r);return a?t.concat(l,l.visualViewport||[],ne(r)?r:[],l.frameElement&&o?oe(l.frameElement):[]):t.concat(r,oe(r,[],o))}function Ge(e){const t=N(e);let o=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const r=M(e),a=r?e.offsetWidth:o,l=r?e.offsetHeight:i,c=de(o)!==a||de(i)!==l;return c&&(o=a,i=l),{width:o,height:i,$:c}}function Te(e){return I(e)?e:e.contextElement}function ee(e){const t=Te(e);if(!M(t))return O(1);const o=t.getBoundingClientRect(),{width:i,height:r,$:a}=Ge(t);let l=(a?de(o.width):o.width)/i,c=(a?de(o.height):o.height)/r;return(!l||!Number.isFinite(l))&&(l=1),(!c||!Number.isFinite(c))&&(c=1),{x:l,y:c}}const Dt=O(0);function Je(e){const t=R(e);return!Be()||!t.visualViewport?Dt:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ot(e,t,o){return t===void 0&&(t=!1),!o||t&&o!==R(e)?!1:t}function Z(e,t,o,i){t===void 0&&(t=!1),o===void 0&&(o=!1);const r=e.getBoundingClientRect(),a=Te(e);let l=O(1);t&&(i?I(i)&&(l=ee(i)):l=ee(e));const c=Ot(a,o,i)?Je(a):O(0);let s=(r.left+c.x)/l.x,d=(r.top+c.y)/l.y,f=r.width/l.x,p=r.height/l.y;if(a){const g=R(a),m=i&&I(i)?R(i):i;let h=g,b=h.frameElement;for(;b&&i&&m!==h;){const w=ee(b),x=b.getBoundingClientRect(),E=N(b),y=x.left+(b.clientLeft+parseFloat(E.paddingLeft))*w.x,S=x.top+(b.clientTop+parseFloat(E.paddingTop))*w.y;s*=w.x,d*=w.y,f*=w.x,p*=w.y,s+=y,d+=S,h=R(b),b=h.frameElement}}return pe({width:f,height:p,x:s,y:d})}function Wt(e){let{elements:t,rect:o,offsetParent:i,strategy:r}=e;const a=r==="fixed",l=z(i),c=t?ge(t.floating):!1;if(i===l||c&&a)return o;let s={scrollLeft:0,scrollTop:0},d=O(1);const f=O(0),p=M(i);if((p||!p&&!a)&&((j(i)!=="body"||ne(l))&&(s=Ce(i)),M(i))){const g=Z(i);d=ee(i),f.x=g.x+i.clientLeft,f.y=g.y+i.clientTop}return{width:o.width*d.x,height:o.height*d.y,x:o.x*d.x-s.scrollLeft*d.x+f.x,y:o.y*d.y-s.scrollTop*d.y+f.y}}function Pt(e){return Array.from(e.getClientRects())}function Qe(e){return Z(z(e)).left+Ce(e).scrollLeft}function Ht(e){const t=z(e),o=Ce(e),i=e.ownerDocument.body,r=H(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),a=H(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight);let l=-o.scrollLeft+Qe(e);const c=-o.scrollTop;return N(i).direction==="rtl"&&(l+=H(t.clientWidth,i.clientWidth)-r),{width:r,height:a,x:l,y:c}}function Ut(e,t){const o=R(e),i=z(e),r=o.visualViewport;let a=i.clientWidth,l=i.clientHeight,c=0,s=0;if(r){a=r.width,l=r.height;const d=Be();(!d||d&&t==="fixed")&&(c=r.offsetLeft,s=r.offsetTop)}return{width:a,height:l,x:c,y:s}}function jt(e,t){const o=Z(e,!0,t==="fixed"),i=o.top+e.clientTop,r=o.left+e.clientLeft,a=M(e)?ee(e):O(1),l=e.clientWidth*a.x,c=e.clientHeight*a.y,s=r*a.x,d=i*a.y;return{width:l,height:c,x:s,y:d}}function et(e,t,o){let i;if(t==="viewport")i=Ut(e,o);else if(t==="document")i=Ht(z(e));else if(I(t))i=jt(t,o);else{const r=Je(e);i={...t,x:t.x-r.x,y:t.y-r.y}}return pe(i)}function tt(e,t){const o=W(e);return o===t||!I(o)||Q(o)?!1:N(o).position==="fixed"||tt(o,t)}function Zt(e,t){const o=t.get(e);if(o)return o;let i=oe(e,[],!1).filter(c=>I(c)&&j(c)!=="body"),r=null;const a=N(e).position==="fixed";let l=a?W(e):e;for(;I(l)&&!Q(l);){const c=N(l),s=Se(l);!s&&c.position==="fixed"&&(r=null),(a?!s&&!r:!s&&c.position==="static"&&!!r&&["absolute","fixed"].includes(r.position)||ne(l)&&!s&&tt(e,l))?i=i.filter(f=>f!==l):r=c,l=W(l)}return t.set(e,i),i}function qt(e){let{element:t,boundary:o,rootBoundary:i,strategy:r}=e;const l=[...o==="clippingAncestors"?ge(t)?[]:Zt(t,this._c):[].concat(o),i],c=l[0],s=l.reduce((d,f)=>{const p=et(t,f,r);return d.top=H(p.top,d.top),d.right=ce(p.right,d.right),d.bottom=ce(p.bottom,d.bottom),d.left=H(p.left,d.left),d},et(t,c,r));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function Xt(e){const{width:t,height:o}=Ge(e);return{width:t,height:o}}function Yt(e,t,o){const i=M(t),r=z(t),a=o==="fixed",l=Z(e,!0,a,t);let c={scrollLeft:0,scrollTop:0};const s=O(0);if(i||!i&&!a)if((j(t)!=="body"||ne(r))&&(c=Ce(t)),i){const p=Z(t,!0,a,t);s.x=p.x+t.clientLeft,s.y=p.y+t.clientTop}else r&&(s.x=Qe(r));const d=l.left+c.scrollLeft-s.x,f=l.top+c.scrollTop-s.y;return{x:d,y:f,width:l.width,height:l.height}}function Ae(e){return N(e).position==="static"}function nt(e,t){return!M(e)||N(e).position==="fixed"?null:t?t(e):e.offsetParent}function ot(e,t){const o=R(e);if(ge(e))return o;if(!M(e)){let r=W(e);for(;r&&!Q(r);){if(I(r)&&!Ae(r))return r;r=W(r)}return o}let i=nt(e,t);for(;i&&Ft(i)&&Ae(i);)i=nt(i,t);return i&&Q(i)&&Ae(i)&&!Se(i)?o:i||zt(e)||o}const Kt=async function(e){const t=this.getOffsetParent||ot,o=this.getDimensions,i=await o(e.floating);return{reference:Yt(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function Gt(e){return N(e).direction==="rtl"}const Jt={convertOffsetParentRelativeRectToViewportRelativeRect:Wt,getDocumentElement:z,getClippingRect:qt,getOffsetParent:ot,getElementRects:Kt,getClientRects:Pt,getDimensions:Xt,getScale:ee,isElement:I,isRTL:Gt};function Qt(e,t){let o=null,i;const r=z(e);function a(){var c;clearTimeout(i),(c=o)==null||c.disconnect(),o=null}function l(c,s){c===void 0&&(c=!1),s===void 0&&(s=1),a();const{left:d,top:f,width:p,height:g}=e.getBoundingClientRect();if(c||t(),!p||!g)return;const m=ue(f),h=ue(r.clientWidth-(d+p)),b=ue(r.clientHeight-(f+g)),w=ue(d),E={rootMargin:-m+"px "+-h+"px "+-b+"px "+-w+"px",threshold:H(0,ce(1,s))||1};let y=!0;function S(v){const B=v[0].intersectionRatio;if(B!==s){if(!y)return l();B?l(!1,B):i=setTimeout(()=>{l(!1,1e-7)},1e3)}y=!1}try{o=new IntersectionObserver(S,{...E,root:r.ownerDocument})}catch{o=new IntersectionObserver(S,E)}o.observe(e)}return l(!0),a}function en(e,t,o,i){i===void 0&&(i={});const{ancestorScroll:r=!0,ancestorResize:a=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:s=!1}=i,d=Te(e),f=r||a?[...d?oe(d):[],...oe(t)]:[];f.forEach(x=>{r&&x.addEventListener("scroll",o,{passive:!0}),a&&x.addEventListener("resize",o)});const p=d&&c?Qt(d,o):null;let g=-1,m=null;l&&(m=new ResizeObserver(x=>{let[E]=x;E&&E.target===d&&m&&(m.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var y;(y=m)==null||y.observe(t)})),o()}),d&&!s&&m.observe(d),m.observe(t));let h,b=s?Z(e):null;s&&w();function w(){const x=Z(e);b&&(x.x!==b.x||x.y!==b.y||x.width!==b.width||x.height!==b.height)&&o(),b=x,h=requestAnimationFrame(w)}return o(),()=>{var x;f.forEach(E=>{r&&E.removeEventListener("scroll",o),a&&E.removeEventListener("resize",o)}),p==null||p(),(x=m)==null||x.disconnect(),m=null,s&&cancelAnimationFrame(h)}}const tn=Mt,nn=_t,on=Nt,rn=(e,t,o)=>{const i=new Map,r={platform:Jt,...o},a={...r.platform,_c:i};return Vt(e,t,{...r,platform:a})};function ln(e){return e!=null&&typeof e=="object"&&"$el"in e}function it(e){if(ln(e)){const t=e.$el;return Le(t)&&j(t)==="#comment"?null:t}return e}function ie(e){return typeof e=="function"?e():n.unref(e)}function rt(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function lt(e,t){const o=rt(e);return Math.round(t*o)/o}function an(e,t,o){o===void 0&&(o={});const i=o.whileElementsMounted,r=n.computed(()=>{var k;return(k=ie(o.open))!=null?k:!0}),a=n.computed(()=>ie(o.middleware)),l=n.computed(()=>{var k;return(k=ie(o.placement))!=null?k:"bottom"}),c=n.computed(()=>{var k;return(k=ie(o.strategy))!=null?k:"absolute"}),s=n.computed(()=>{var k;return(k=ie(o.transform))!=null?k:!0}),d=n.computed(()=>it(e.value)),f=n.computed(()=>it(t.value)),p=n.ref(0),g=n.ref(0),m=n.ref(c.value),h=n.ref(l.value),b=n.shallowRef({}),w=n.ref(!1),x=n.computed(()=>{const k={position:m.value,left:"0",top:"0"};if(!f.value)return k;const V=lt(f.value,p.value),_=lt(f.value,g.value);return s.value?{...k,transform:"translate("+V+"px, "+_+"px)",...rt(f.value)>=1.5&&{willChange:"transform"}}:{position:m.value,left:V+"px",top:_+"px"}});let E;function y(){d.value==null||f.value==null||rn(d.value,f.value,{middleware:a.value,placement:l.value,strategy:c.value}).then(k=>{p.value=k.x,g.value=k.y,m.value=k.strategy,h.value=k.placement,b.value=k.middlewareData,w.value=!0})}function S(){typeof E=="function"&&(E(),E=void 0)}function v(){if(S(),i===void 0){y();return}if(d.value!=null&&f.value!=null){E=i(d.value,f.value,y);return}}function B(){r.value||(w.value=!1)}return n.watch([a,l,c],y,{flush:"sync"}),n.watch([d,f],v,{flush:"sync"}),n.watch(r,B,{flush:"sync"}),n.getCurrentScope()&&n.onScopeDispose(S),{x:n.shallowReadonly(p),y:n.shallowReadonly(g),strategy:n.shallowReadonly(m),placement:n.shallowReadonly(h),middlewareData:n.shallowReadonly(b),isPositioned:n.shallowReadonly(w),floatingStyles:x,update:y}}const sn="data:image/svg+xml,%3csvg%20width='1324'%20height='1326'%20viewBox='0%200%201324%201326'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='141'%20y='78'%20width='1042'%20height='1170'%20fill='white'/%3e%3cpath%20d='M184.533%201.99984C135.867%207.19984%2089.8666%2029.8665%2056.4%2065.1998C29.6%2093.4665%2012.5333%20126.266%203.73329%20166.4L0.666626%20180V663.333V1146.67L3.73329%201160.27C12.5333%201200.4%2029.6%201233.2%2056.4%201261.47C90.4%201297.33%20135.333%201319.33%20185.6%201324.67C203.333%201326.53%201122.53%201326.4%201139.73%201324.53C1188.53%201319.33%201229.07%201299.73%201264.13%201264.8C1294.27%201234.67%201311.47%201202.67%201320.8%201159.33C1323.2%201148.4%201323.33%201130%201323.33%20663.333C1323.33%20196.667%201323.2%20178.266%201320.8%20167.333C1311.47%20124%201294.27%2091.9998%201264.13%2061.8664C1229.07%2026.9331%201188.53%207.33314%201139.73%202.13314C1124.67%200.399809%20200%200.399842%20184.533%201.99984ZM732.933%20151.466C746.8%20152.933%20763.333%20157.6%20774%20163.067C800.267%20176.267%20822.4%20200.4%20833.2%20227.333C841.867%20249.333%20841.467%20233.467%20841.067%20502C840.533%20777.6%20841.733%20750.267%20829.2%20776.133C822.133%20790.933%20810.667%20806.533%20800.267%20815.2C795.2%20819.6%20793.2%20822.267%20792%20827.067C786.133%20848.267%20768.667%20885.867%20755.2%20906.133C724.533%20952%20681.2%20986.133%20624%201009.33C615.6%201012.8%20608.4%201015.87%20608.133%201016.13C607.867%201016.27%20614.533%201023.33%20622.933%201031.6C633.467%201042.13%20639.333%201049.07%20642.133%201054.4C646.933%201063.87%20645.467%201064%20672.667%201050.8C724.933%201025.47%20762.933%20994.8%20794.933%20952C811.467%20929.867%20829.867%20895.333%20839.333%20868.267C841.333%20862.667%20843.467%20858%20844.133%20858C844.667%20858%20845.6%20859.333%20846.133%20860.933C848.267%20868.133%20863.333%20900.8%20870.133%20913.2C898%20963.867%20931.6%201001.2%20975.333%201030.27C989.867%201040%201017.2%201054.4%201031.6%201059.73L1037.2%201061.87L1041.33%201054.67C1048.4%201042.4%201056.67%201032.27%201067.87%201022.4L1078.67%201012.8L1071.6%201010.27C1067.87%201008.8%201060.53%201006%201055.6%201004.13C1040.93%20998.533%201013.73%20984%201000%20974.267C985.733%20964.133%20960.8%20940.667%20948.933%20926.267C935.067%20909.333%20921.467%20887.467%20910%20864C900.133%20844%20887.2%20812.133%20884.667%20801.6L883.733%20798H971.867H1060V769.333V740.667H963.333H866.533L867.333%20736.267C868.4%20729.867%20870.4%20693.067%20871.467%20662.933C872.267%20639.067%20872.533%20636.4%20874.8%20635.2C878.667%20633.2%20881.333%20626.667%20882.267%20617.333L883.067%20608.667H872.133C864.133%20608.667%20861.067%20608.133%20860.533%20606.8C860%20605.467%20881.2%20466%20886.133%20438.267L886.933%20433.867L977.867%20434.4C1066.67%20434.8%201068.93%20434.8%201079.87%20437.733C1124.8%20449.6%201158.67%20482.533%201172.93%20528L1176.67%20540V808V1076L1172.93%201087.73C1158.53%201133.6%201126.13%201164.93%201078.93%201178.4L1068.67%201181.33L812.667%201181.73C638.8%201182%20552.667%201181.73%20544.4%201180.67C488.667%201174.4%20443.2%201132.13%20432.533%201076.93C431.067%201068.93%20430.667%201046.4%20430.667%20956.667V846.133L340.4%20845.6C252.8%20845.2%20249.6%20845.067%20239.067%20842.267C196.533%20831.067%20164.533%20800.133%20151.067%20757.333L147.333%20745.333V499.333V253.333L150.4%20242C159.067%20209.067%20180.4%20181.866%20210.667%20164.933C221.2%20159.066%20240.4%20152.933%20252.667%20151.6C268.533%20149.733%20716.933%20149.6%20732.933%20151.466Z'%20fill='%233B5695'/%3e%3cpath%20d='M256.533%20213.333C232.933%20218.533%20214.133%20237.067%20209.333%20259.733C208.4%20264.533%20208%20337.2%20208.267%20502L208.667%20737.333L211.733%20744.933C218.533%20761.733%20231.733%20774.533%20248.667%20780.933L256.667%20784L490%20784.4C749.2%20784.8%20734.4%20785.333%20750.133%20776C764.267%20767.6%20775.467%20752.4%20778.667%20737.067C779.6%20732.8%20780%20652.133%20779.733%20494L779.333%20257.333L775.067%20248.267C767.2%20231.6%20756.933%20222%20740.133%20215.467L731.333%20212L498%20211.733C306.8%20211.6%20263.2%20211.867%20256.533%20213.333ZM492%20281.2C546.267%20290.267%20590.267%20311.2%20622.533%20343.333C653.867%20374.667%20671.867%20409.867%20680.267%20456.667C684.133%20478.533%20684.133%20516.267%20680.133%20538.533C665.467%20621.067%20606.933%20684.4%20524%20707.467C490%20716.933%20488.4%20716.933%20392.4%20717.6L305.333%20718.133V498V277.867L391.733%20278.4C465.733%20278.8%20480%20279.2%20492%20281.2Z'%20fill='%233B5695'/%3e%3cpath%20d='M384%20462.933V576.133L345.067%20611.467C306.533%20646.267%20306.133%20646.667%20310.667%20647.067C313.2%20647.333%20348.933%20647.333%20390%20646.933C472.667%20646.267%20477.6%20645.867%20503.6%20637.333C527.6%20629.333%20543.333%20620%20560.267%20603.6C590.133%20574.667%20604.4%20536.267%20602.267%20489.733C600.533%20450.267%20588.267%20420%20564%20395.333C546.8%20377.867%20531.6%20368.4%20506.267%20360C482.933%20352.133%20474.533%20351.2%20427.067%20350.4L384%20349.733V462.933Z'%20fill='%233B5695'/%3e%3c/svg%3e",q=(e,t)=>{const o=e.__vccOpts||e;for(const[i,r]of t)o[i]=r;return o},cn={name:"Logo"},dn={src:sn,alt:"DDict Logo",class:"w-6 h-6 cursor-pointer"};function un(e,t,o,i,r,a){return n.openBlock(),n.createElementBlock("img",dn)}const fn=q(cn,[["render",un]]),mn={},hn={class:"w-12 h-12 text-primary",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},pn=[n.createStaticVNode('<circle cx="18" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".67" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="12" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".33" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="6" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin="0" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle>',3)];function gn(e,t){return n.openBlock(),n.createElementBlock("svg",hn,pn)}const Cn=q(mn,[["render",gn]]),bn={class:"rounded-lg bg-base-100 px-4 py-2 border border-base-300 shadow-lg"},wn={class:"flex justify-center"},yn={__name:"Loading",setup(e){return(t,o)=>(n.openBlock(),n.createElementBlock("div",bn,[n.createElementVNode("div",wn,[n.createVNode(Cn)])]))}},xn={name:"Phonetic",props:["phonetic"]},En={class:"p-0 m-0"},kn={class:"text-xs font-md text-base-content/60"};function vn(e,t,o,i,r,a){return n.openBlock(),n.createElementBlock("p",En,[n.createElementVNode("span",kn,"/"+n.toDisplayString(o.phonetic)+"/",1)])}const Ln=q(xn,[["render",vn]]),Sn={class:"flex flex-col gap-2"},Bn={__name:"Sentences",props:{sentences:{type:String,default:""}},setup(e){const t=e,o=n.computed(()=>t.sentences.split(`
|
|
2
|
-
`));return(i,r)=>(n.openBlock(),n.createElementBlock("div",
|
|
3
|
-
`))||[],(a,l)=>(n.openBlock(),n.createElementBlock("li",{key:`${a}-${l}`,innerHTML:a,class:"text-base text-base-content"},null,8,On))),128))])):n.createCommentVNode("",!0)])}}},Pn=["disabled"],Hn=[n.createElementVNode("path",{d:"M2.33325 4.66667H3.51125C3.82693 4.6667 4.13239 4.55473 4.37325 4.35067L6.83392 2.26667C6.99592 2.12953 7.19374 2.04156 7.40407 2.01312C7.61441 1.98468 7.82849 2.01696 8.02109 2.10615C8.21369 2.19534 8.37678 2.33772 8.49114 2.51652C8.60551 2.69532 8.66638 2.90309 8.66659 3.11534V12.8847C8.66649 13.097 8.60565 13.305 8.49125 13.4839C8.37685 13.6628 8.21367 13.8053 8.02094 13.8945C7.82822 13.9837 7.614 14.0159 7.40356 13.9874C7.19312 13.9588 6.99523 13.8707 6.83325 13.7333L4.37325 11.6487C4.13229 11.4449 3.82685 11.3331 3.51125 11.3333H2.33325C2.06804 11.3333 1.81368 11.228 1.62615 11.0404C1.43861 10.8529 1.33325 10.5986 1.33325 10.3333V5.66667C1.33325 5.40145 1.43861 5.1471 1.62615 4.95956C1.81368 4.77203 2.06804 4.66667 2.33325 4.66667ZM11.1779 11.18C11.5969 10.763 11.9294 10.2674 12.1562 9.72156C12.3831 9.17572 12.4999 8.59044 12.4999 7.99934C12.4999 7.40823 12.3831 6.82295 12.1562 6.27711C11.9294 5.73127 11.5969 5.23564 11.1779 4.81867C11.1317 4.77098 11.0765 4.73297 11.0155 4.70686C10.9544 4.68075 10.8888 4.66705 10.8224 4.66657C10.756 4.66609 10.6902 4.67883 10.6288 4.70406C10.5674 4.72929 10.5116 4.76649 10.4647 4.8135C10.4179 4.86051 10.3808 4.91639 10.3558 4.97787C10.3307 5.03935 10.3181 5.10521 10.3188 5.17159C10.3195 5.23798 10.3334 5.30357 10.3597 5.36453C10.3859 5.42549 10.4241 5.48061 10.4719 5.52667C10.7977 5.85079 11.0562 6.23609 11.2326 6.66043C11.409 7.08477 11.4998 7.53979 11.4998 7.99934C11.4998 8.45888 11.409 8.9139 11.2326 9.33824C11.0562 9.76258 10.7977 10.1479 10.4719 10.472C10.4241 10.5181 10.3859 10.5732 10.3597 10.6341C10.3334 10.6951 10.3195 10.7607 10.3188 10.8271C10.3181 10.8935 10.3307 10.9593 10.3558 11.0208C10.3808 11.0823 10.4179 11.1382 10.4647 11.1852C10.5116 11.2322 10.5674 11.2694 10.6288 11.2946C10.6902 11.3198 10.756 11.3326 10.8224 11.3321C10.8888 11.3316 10.9544 11.3179 11.0155 11.2918C11.0765 11.2657 11.1317 11.2277 11.1779 11.18ZM12.7113 13.2127C12.6123 13.2126 12.5157 13.1832 12.4335 13.1281C12.3513 13.0731 12.2873 12.9949 12.2495 12.9035C12.2118 12.8121 12.202 12.7115 12.2214 12.6146C12.2408 12.5176 12.2886 12.4285 12.3586 12.3587C12.9317 11.7866 13.3865 11.1071 13.6967 10.359C14.0069 9.61101 14.1666 8.80915 14.1666 7.99934C14.1666 7.18952 14.0069 6.38766 13.6967 5.63963C13.3865 4.8916 12.9317 4.2121 12.3586 3.64C12.3122 3.59351 12.2754 3.53834 12.2503 3.47764C12.2252 3.41693 12.2124 3.35188 12.2124 3.2862C12.2125 3.22052 12.2255 3.15549 12.2507 3.09483C12.2759 3.03417 12.3128 2.97907 12.3593 2.93267C12.4057 2.88627 12.4609 2.84948 12.5216 2.8244C12.5823 2.79932 12.6474 2.78645 12.7131 2.78651C12.7787 2.78657 12.8438 2.79957 12.9044 2.82476C12.9651 2.84995 13.0202 2.88685 13.0666 2.93334C13.7327 3.59825 14.2612 4.38801 14.6218 5.25741C14.9824 6.12681 15.168 7.05879 15.168 8C15.168 8.94122 14.9824 9.87319 14.6218 10.7426C14.2612 11.612 13.7327 12.4018 13.0666 13.0667C13.02 13.1134 12.9646 13.1504 12.9036 13.1756C12.8426 13.2007 12.7772 13.2129 12.7113 13.2127Z",fill:"currentColor"},null,-1)],Un=["disabled"],jn=[n.createElementVNode("path",{"fill-rule":"evenodd",d:"M4.5 7.5a3 3 0 0 1 3-3h9a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3h-9a3 3 0 0 1-3-3v-9Z","clip-rule":"evenodd",fill:"currentColor"},null,-1)],Zn={__name:"Player",props:{tts:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["loadTTS"],setup(e,{emit:t}){const o=e,i=t,r=n.computed(()=>o.tts),a=n.ref(!1),l=new Audio,c=new(window.AudioContext||window.webkitAudioContext);let s=null;n.watch(r,()=>{if(!r.value){a.value=!1;return}f()},{immediate:!0}),n.onUnmounted(()=>{g(),l.src="",c.close()});function d(){if(r.value){f();return}a.value=!0,i("loadTTS")}async function f(){if(r.value){a.value=!0;try{l.src=r.value,l.playbackRate=.7,await l.play(),l.onended=()=>{a.value=!1}}catch{await p()}}}async function p(){try{const h=await(await fetch(r.value)).arrayBuffer(),b=await c.decodeAudioData(h);s=c.createBufferSource(),s.buffer=b,s.playbackRate.value=.7,s.connect(c.destination),s.start(),s.onended=()=>{a.value=!1,s=null}}catch{a.value=!1}}function g(){s&&(s.stop(),s.disconnect(),s=null),l.pause(),l.currentTime=0,a.value=!1}return(m,h)=>a.value?(n.openBlock(),n.createElementBlock("button",{key:1,class:n.normalizeClass(["btn btn-xs btn-circle",[{"btn-ghost":!e.disabled},{"!bg-transparent !border-none !shadow-none !ring-0":e.disabled}]]),disabled:e.disabled,onClick:g},[(n.openBlock(),n.createElementBlock("svg",{class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},jn,2))],10,Un)):(n.openBlock(),n.createElementBlock("button",{key:0,class:n.normalizeClass(["btn btn-xs btn-circle",[{"btn-ghost":!e.disabled},{"!bg-transparent !border-none !shadow-none !ring-0":e.disabled}]]),disabled:e.disabled,onClick:d},[(n.openBlock(),n.createElementBlock("svg",{class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Hn,2))],10,Pn))}},qn={class:"bg-base-100 tooltip tooltip-top before:!bottom-[100%] before:!bg-base-100 before:!border before:!border-solid before:!border-base-300 before:!shadow-lg before:!rounded-md before:!text-base-content after:!border-transparent","data-tip":"Favorite"},Xn=["disabled"],Yn=[n.createElementVNode("path",{d:"M14.9491 5.89315C14.8278 5.53128 14.5111 5.27252 14.1226 5.21783L10.5264 4.7114L8.91813 1.55315C8.74435 1.21195 8.39257 1 7.99998 1C7.60739 1 7.25557 1.21195 7.08183 1.55315L5.47358 4.7114L1.8774 5.21783C1.48888 5.27252 1.17219 5.53128 1.05086 5.89315C0.929554 6.25501 1.02881 6.64477 1.30993 6.91038L3.91217 9.36871L3.29786 12.8399C3.2315 13.215 3.38755 13.5868 3.7052 13.8105C3.88128 13.9344 4.08938 14 4.30704 14C4.47232 14 4.63705 13.9606 4.78341 13.886L7.99995 12.2471L11.2165 13.886C11.3628 13.9606 11.5276 14 11.6929 14C11.9106 14 12.1187 13.9345 12.2948 13.8105C12.6124 13.5868 12.7685 13.215 12.7021 12.84L12.0878 9.36871L14.6901 6.91035C14.9712 6.64477 15.0704 6.25498 14.9491 5.89315ZM14.0266 6.25082L11.2455 8.87813C11.1335 8.98392 11.0824 9.13637 11.1089 9.28575L11.7654 12.9956C11.7701 13.0226 11.759 13.0493 11.7362 13.0653C11.7202 13.0766 11.7038 13.079 11.6929 13.079C11.6809 13.079 11.6694 13.0762 11.6587 13.0708L8.22108 11.3192C8.15189 11.284 8.07593 11.2663 7.99998 11.2663C7.92402 11.2663 7.84807 11.284 7.77882 11.3193L4.34118 13.0708C4.33052 13.0763 4.31904 13.079 4.30701 13.079C4.29611 13.079 4.27969 13.0767 4.26373 13.0654C4.24092 13.0494 4.22975 13.0226 4.2345 12.9957L4.89104 9.28584C4.91747 9.13646 4.86637 8.98401 4.75439 8.87822L1.97327 6.25091C1.95308 6.23184 1.94595 6.20383 1.95466 6.17786C1.9634 6.15185 1.98612 6.13326 2.01405 6.12933L5.85743 5.58807C6.0122 5.56626 6.14599 5.47208 6.21521 5.33616L7.93404 1.9608C7.94653 1.9363 7.97178 1.92107 7.99998 1.92107C8.02818 1.92107 8.05343 1.9363 8.06591 1.9608L9.78468 5.33607C9.85391 5.47199 9.9877 5.5662 10.1425 5.58799L13.9859 6.12924C14.0138 6.1332 14.0365 6.15176 14.0452 6.17777C14.0539 6.20374 14.0468 6.23175 14.0266 6.25082Z",fill:"currentColor"},null,-1)],Kn=[n.createElementVNode("path",{d:"M7.47207 1.31905C7.57125 1.12371 7.77589 1 8.00001 1C8.22413 1 8.42877 1.12367 8.52795 1.31905L10.3721 4.95175L14.4959 5.53427C14.7177 5.5656 14.9019 5.7166 14.9712 5.9238C15.0404 6.13101 14.9827 6.35843 14.8222 6.51049L11.8382 9.33816L12.5427 13.3309C12.5806 13.5456 12.4897 13.7626 12.3084 13.8906C12.1272 14.0187 11.8868 14.0356 11.6884 13.9342L8.00004 12.0491L4.31158 13.9343C4.11323 14.0356 3.87286 14.0187 3.69157 13.8907C3.51028 13.7627 3.4195 13.5457 3.45736 13.3309L4.1618 9.33819L1.17781 6.51052C1.01735 6.35846 0.959571 6.13101 1.02884 5.92383C1.09807 5.71663 1.28232 5.56563 1.50409 5.53431L5.62787 4.95178L7.47207 1.31905Z",fill:"currentColor"},null,-1)],Gn={__name:"Favorite",props:{isFilled:Boolean,disabled:Boolean},setup(e){return(t,o)=>(n.openBlock(),n.createElementBlock("div",qn,[n.createElementVNode("button",{class:n.normalizeClass(["btn btn-xs btn-circle",[{"btn-ghost":!e.disabled},{"!bg-transparent !border-none !shadow-none !ring-0":e.disabled}]]),disabled:e.disabled},[e.isFilled?(n.openBlock(),n.createElementBlock("svg",{key:1,class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Kn,2)):(n.openBlock(),n.createElementBlock("svg",{key:0,class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Yn,2))],10,Xn)]))}},Jn={},Qn={class:"w-6 h-6 text-primary",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},eo=[n.createStaticVNode('<circle cx="18" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".67" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="12" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".33" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="6" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin="0" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle>',3)];function to(e,t){return n.openBlock(),n.createElementBlock("svg",Qn,eo)}const $e=q(Jn,[["render",to]]),no={class:"bg-base-100 tooltip tooltip-top before:!bottom-[100%] before:!bg-base-100 before:!border before:!border-solid before:!border-base-300 before:!shadow-lg before:!rounded-md before:!text-base-content after:!border-transparent","data-tip":"AI Translate"},oo=["disabled"],io=[n.createElementVNode("path",{d:"M6.8544 3.20309C5.39975 2.89815 4.26277 1.76117 3.95787 0.30649C3.92042 0.12792 3.76292 0 3.58041 0C3.3979 0 3.2404 0.12792 3.20297 0.30652C2.89805 1.76117 1.76107 2.89812 0.306418 3.20302C0.127818 3.24045 -0.00012207 3.39798 -0.00012207 3.58046C-0.00012207 3.76295 0.127798 3.92047 0.306418 3.9579C1.76105 4.26285 2.89798 5.3998 3.2029 6.85448C3.24033 7.03307 3.39783 7.16102 3.58034 7.16102C3.76282 7.16102 3.92035 7.0331 3.95778 6.85448C4.26272 5.39983 5.39973 4.26287 6.85438 3.95799C7.03297 3.92056 7.16092 3.76306 7.16092 3.58056C7.1609 3.39805 7.03297 3.24052 6.8544 3.20309ZM3.58036 5.60938C3.14292 4.73132 2.42956 4.01792 1.55151 3.58049C2.42958 3.14305 3.14297 2.42968 3.58041 1.55161C4.01785 2.4297 4.73122 3.14307 5.60926 3.58053C4.73119 4.01797 4.0178 4.73132 3.58036 5.60938Z",fill:"currentColor"},null,-1),n.createElementVNode("path",{d:"M6.21683 9.574C5.53147 9.4303 4.99578 8.8947 4.85209 8.2093C4.81466 8.0307 4.65716 7.90271 4.47465 7.90271C4.29217 7.90271 4.13464 8.0306 4.09721 8.2092C3.95352 8.8946 3.4178 9.4303 2.73244 9.574C2.55385 9.6114 2.4259 9.7689 2.4259 9.9514C2.4259 10.1339 2.55383 10.2914 2.73244 10.3288C3.41778 10.4725 3.95349 11.0082 4.09716 11.6936C4.13459 11.8722 4.2921 12.0002 4.4746 12.0002C4.65709 12.0002 4.81461 11.8723 4.85204 11.6936C4.99574 11.0082 5.53145 10.4725 6.21683 10.3289C6.39543 10.2914 6.52337 10.1339 6.52337 9.9514C6.52337 9.7689 6.39545 9.6114 6.21683 9.574ZM4.47463 10.6408C4.29163 10.3688 4.05725 10.1345 3.78526 9.9515C4.0573 9.7684 4.29163 9.5341 4.47463 9.2621C4.65765 9.5341 4.892 9.7685 5.164 9.9515C4.892 10.1345 4.65763 10.3688 4.47463 10.6408Z",fill:"currentColor"},null,-1),n.createElementVNode("path",{d:"M11.4271 6.00324C10.5007 5.80904 9.7766 5.08496 9.5825 4.15859C9.545 3.98 9.3875 3.85205 9.205 3.85205C9.0225 3.85205 8.865 3.97995 8.8276 4.15857C8.6334 5.08496 7.90932 5.80902 6.98293 6.0032C6.80434 6.04063 6.67639 6.19815 6.67639 6.38064C6.67639 6.56312 6.80431 6.72062 6.98293 6.75807C7.9093 6.95228 8.6334 7.67633 8.8275 8.6027C8.865 8.7813 9.0225 8.9093 9.205 8.9093C9.3875 8.9093 9.545 8.7814 9.5824 8.6027C9.7766 7.67633 10.5007 6.95228 11.4271 6.75812C11.6057 6.72067 11.7336 6.56317 11.7336 6.38068C11.7336 6.1982 11.6057 6.04067 11.4271 6.00324ZM9.205 7.47681C8.9365 7.02634 8.5593 6.64914 8.1089 6.38066C8.5593 6.11218 8.9365 5.73502 9.205 5.28453C9.4735 5.73502 9.8507 6.11221 10.3012 6.38068C9.8507 6.64916 9.4735 7.02636 9.205 7.47681Z",fill:"currentColor"},null,-1)],ro=[n.createStaticVNode('<path d="M6.8544 3.20309C5.39975 2.89815 4.26277 1.76117 3.95787 0.30649C3.92042 0.12792 3.76292 0 3.58041 0C3.3979 0 3.2404 0.12792 3.20297 0.30652C2.89805 1.76117 1.76107 2.89812 0.306418 3.20302C0.127818 3.24045 -0.00012207 3.39798 -0.00012207 3.58046C-0.00012207 3.76295 0.127798 3.92047 0.306418 3.9579C1.76105 4.26285 2.89798 5.3998 3.2029 6.85448C3.24033 7.03307 3.39783 7.16102 3.58034 7.16102C3.76282 7.16102 3.92035 7.0331 3.95778 6.85448C4.26272 5.39983 5.39973 4.26287 6.85438 3.95799C7.03297 3.92056 7.16092 3.76306 7.16092 3.58056C7.1609 3.39805 7.03297 3.24052 6.8544 3.20309ZM3.58036 5.60938C3.14292 4.73132 2.42956 4.01792 1.55151 3.58049C2.42958 3.14305 3.14297 2.42968 3.58041 1.55161C4.01785 2.4297 4.73122 3.14307 5.60926 3.58053C4.73119 4.01797 4.0178 4.73132 3.58036 5.60938Z" fill="currentColor"></path><path d="M6.21683 9.574C5.53147 9.4303 4.99578 8.8947 4.85209 8.2093C4.81466 8.0307 4.65716 7.90271 4.47465 7.90271C4.29217 7.90271 4.13464 8.0306 4.09721 8.2092C3.95352 8.8946 3.4178 9.4303 2.73244 9.574C2.55385 9.6114 2.4259 9.7689 2.4259 9.9514C2.4259 10.1339 2.55383 10.2914 2.73244 10.3288C3.41778 10.4725 3.95349 11.0082 4.09716 11.6936C4.13459 11.8722 4.2921 12.0002 4.4746 12.0002C4.65709 12.0002 4.81461 11.8723 4.85204 11.6936C4.99574 11.0082 5.53145 10.4725 6.21683 10.3289C6.39543 10.2914 6.52337 10.1339 6.52337 9.9514C6.52337 9.7689 6.39545 9.6114 6.21683 9.574ZM4.47463 10.6408C4.29163 10.3688 4.05725 10.1345 3.78526 9.9515C4.0573 9.7684 4.29163 9.5341 4.47463 9.2621C4.65765 9.5341 4.892 9.7685 5.164 9.9515C4.892 10.1345 4.65763 10.3688 4.47463 10.6408Z" fill="currentColor"></path><path d="M11.4271 6.00324C10.5007 5.80904 9.7766 5.08496 9.5825 4.15859C9.545 3.98 9.3875 3.85205 9.205 3.85205C9.0225 3.85205 8.865 3.97995 8.8276 4.15857C8.6334 5.08496 7.90932 5.80902 6.98293 6.0032C6.80434 6.04063 6.67639 6.19815 6.67639 6.38064C6.67639 6.56312 6.80431 6.72062 6.98293 6.75807C7.9093 6.95228 8.6334 7.67633 8.8275 8.6027C8.865 8.7813 9.0225 8.9093 9.205 8.9093C9.3875 8.9093 9.545 8.7814 9.5824 8.6027C9.7766 7.67633 10.5007 6.95228 11.4271 6.75812C11.6057 6.72067 11.7336 6.56317 11.7336 6.38068C11.7336 6.1982 11.6057 6.04067 11.4271 6.00324ZM9.205 7.47681C8.9365 7.02634 8.5593 6.64914 8.1089 6.38066C8.5593 6.11218 8.9365 5.73502 9.205 5.28453C9.4735 5.73502 9.8507 6.11221 10.3012 6.38068C9.8507 6.64916 9.4735 7.02636 9.205 7.47681Z" fill="currentColor"></path><circle cx="3.5" cy="3.5" r="1.5" fill="currentColor"></circle><ellipse cx="4.5" cy="10" rx="0.5" ry="1" fill="currentColor"></ellipse><circle cx="9" cy="6" r="1" fill="currentColor"></circle>',6)],lo={__name:"AITranslateBtn",props:{isLoading:Boolean,disabled:Boolean,isFilled:Boolean},setup(e){return(t,o)=>(n.openBlock(),n.createElementBlock("div",no,[e.isLoading?(n.openBlock(),n.createBlock($e,{key:0,class:"inset-0 flex items-center justify-center"})):(n.openBlock(),n.createElementBlock("button",{key:1,class:n.normalizeClass(["btn btn-xs btn-circle",[{"btn-ghost":!e.disabled},{"!bg-transparent !border-none !shadow-none !ring-0":e.disabled}]]),disabled:e.disabled},[e.isFilled?(n.openBlock(),n.createElementBlock("svg",{key:1,class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},ro,2)):(n.openBlock(),n.createElementBlock("svg",{key:0,class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},io,2))],10,oo))]))}},ao={class:"bg-base-100 tooltip tooltip-top before:!bottom-[100%] before:!bg-base-100 before:!border before:!border-solid before:!border-base-300 before:!shadow-lg before:!rounded-md before:!text-base-content after:!border-transparent","data-tip":"AI Summarize"},so=["disabled"],co=[n.createElementVNode("path",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 12h1m-3.5-6.5 1-1M12 3V2M5.5 5.5l-1-1M3 12H2m8 10h4m3-10a5 5 0 1 0-7 4.584V19h4v-2.416A5.001 5.001 0 0 0 17 12z"},null,-1)],uo=[n.createElementVNode("path",{fill:"currentColor",d:"M12 7a5 5 0 0 0-2 9.584V19h4v-2.416A5.001 5.001 0 0 0 12 7z"},null,-1),n.createElementVNode("path",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 12h1m-3.5-6.5 1-1M12 3V2M5.5 5.5l-1-1M3 12H2m8 10h4m3-10a5 5 0 1 0-7 4.584V19h4v-2.416A5.001 5.001 0 0 0 17 12z"},null,-1)],fo={__name:"AIExplainBtn",props:{isLoading:Boolean,disabled:Boolean,isFilled:Boolean},setup(e){return(t,o)=>(n.openBlock(),n.createElementBlock("div",ao,[e.isLoading?(n.openBlock(),n.createBlock($e,{key:0})):(n.openBlock(),n.createElementBlock("button",{key:1,class:n.normalizeClass(["btn btn-xs btn-circle",[{"btn-ghost":!e.disabled},{"!bg-transparent !border-none !shadow-none !ring-0":e.disabled}]]),disabled:e.disabled},[e.isFilled?(n.openBlock(),n.createElementBlock("svg",{key:1,class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},uo,2)):(n.openBlock(),n.createElementBlock("svg",{key:0,class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},co,2))],10,so))]))}},mo={},ho={class:"btn btn-xs btn-ghost btn-circle"},po=[n.createElementVNode("svg",{class:"w-4 h-4 text-primary",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[n.createElementVNode("path",{d:"M9.12596 1.63869C9.46935 1.54364 9.83221 1.70329 9.99413 2.02068C10.3672 2.75191 11.1261 3.25 12 3.25C12.8739 3.25 13.6328 2.75191 14.0059 2.02068C14.1678 1.70329 14.5307 1.54364 14.874 1.63869C16.5585 2.10497 18.0759 2.9704 19.3184 4.12574C19.5611 4.35137 19.6269 4.70948 19.4804 5.00666C19.3331 5.30535 19.25 5.6419 19.25 6C19.25 7.24263 20.2574 8.25 21.5 8.25L21.5314 8.24977C21.8629 8.24504 22.1583 8.45859 22.2576 8.77495C22.5777 9.79397 22.75 10.8776 22.75 12C22.75 12.7408 22.6749 13.4649 22.5318 14.1648C22.4548 14.5411 22.1059 14.7985 21.7237 14.7609C21.6504 14.7537 21.5758 14.75 21.5 14.75C20.2574 14.75 19.25 15.7574 19.25 17C19.25 17.5531 19.4486 18.0579 19.7793 18.4498C20.027 18.7434 20.0128 19.1767 19.7465 19.4535C18.4777 20.7719 16.8745 21.7678 15.0721 22.3044C14.6807 22.4209 14.2681 22.2029 14.1437 21.814C13.8535 20.906 13.0024 20.25 12 20.25C10.9976 20.25 10.1465 20.906 9.85629 21.814C9.73195 22.2029 9.31927 22.4209 8.92789 22.3044C7.12545 21.7678 5.52229 20.7719 4.25353 19.4535C3.98716 19.1767 3.97299 18.7434 4.22072 18.4498C4.55139 18.0579 4.75 17.5531 4.75 17C4.75 15.7574 3.74264 14.75 2.5 14.75C2.42423 14.75 2.34963 14.7537 2.27634 14.7609C1.89406 14.7985 1.54519 14.5411 1.46821 14.1648C1.32505 13.4649 1.25 12.7408 1.25 12C1.25 10.8776 1.42227 9.79398 1.74236 8.77494C1.84173 8.45859 2.13705 8.24504 2.4686 8.24977L2.5 8.25C3.74264 8.25 4.75 7.24263 4.75 6C4.75 5.6419 4.66689 5.30535 4.51962 5.00666C4.3731 4.70948 4.43894 4.35137 4.68159 4.12574C5.92411 2.9704 7.44153 2.10497 9.12596 1.63869ZM6.08277 4.88991C6.19152 5.24123 6.25 5.61424 6.25 6C6.25 7.88945 4.85261 9.45253 3.03493 9.71213C2.84898 10.4432 2.75 11.2096 2.75 12C2.75 12.4294 2.77921 12.8516 2.83567 13.2648C4.74948 13.4346 6.25 15.0421 6.25 17C6.25 17.6669 6.0754 18.2941 5.76971 18.8372C6.62645 19.6184 7.63002 20.2404 8.73362 20.657C9.37706 19.5189 10.598 18.75 12 18.75C13.402 18.75 14.6229 19.5189 15.2664 20.657C16.37 20.2404 17.3735 19.6184 18.2303 18.8372C17.9246 18.2941 17.75 17.6669 17.75 17C17.75 15.0421 19.2505 13.4346 21.1643 13.2648C21.2208 12.8516 21.25 12.4294 21.25 12C21.25 11.2096 21.151 10.4432 20.9651 9.71213C19.1474 9.45252 17.75 7.88945 17.75 6C17.75 5.61424 17.8085 5.24123 17.9172 4.88991C17.0618 4.1771 16.0762 3.61614 15.0018 3.24775C14.3184 4.15897 13.2287 4.75 12 4.75C10.7713 4.75 9.68158 4.15897 8.99819 3.24775C7.92382 3.61614 6.93823 4.1771 6.08277 4.88991Z",fill:"currentColor"}),n.createElementVNode("path",{d:"M7.75 12C7.75 9.65278 9.65279 7.75 12 7.75C14.3472 7.75 16.25 9.65278 16.25 12C16.25 14.3472 14.3472 16.25 12 16.25C9.65279 16.25 7.75 14.3472 7.75 12ZM12 9.25C10.4812 9.25 9.25 10.4812 9.25 12C9.25 13.5188 10.4812 14.75 12 14.75C13.5188 14.75 14.75 13.5188 14.75 12C14.75 10.4812 13.5188 9.25 12 9.25Z",fill:"currentColor"})],-1)];function go(e,t){return n.openBlock(),n.createElementBlock("button",ho,po)}const Co=q(mo,[["render",go]]),bo={},wo={class:"btn btn-xs btn-circle btn-ghost"},yo=[n.createElementVNode("svg",{class:"w-4 h-4 text-primary",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[n.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M3.19102 3.19102C3.44571 2.93633 3.85864 2.93633 4.11333 3.19102L12.809 11.8867C13.0637 12.1414 13.0637 12.5543 12.809 12.809C12.5543 13.0637 12.1414 13.0637 11.8867 12.809L3.19102 4.11333C2.93633 3.85864 2.93633 3.44571 3.19102 3.19102Z",fill:"currentColor"}),n.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12.809 3.19102C13.0637 3.44571 13.0637 3.85864 12.809 4.11333L4.11333 12.809C3.85864 13.0637 3.44571 13.0637 3.19102 12.809C2.93633 12.5543 2.93633 12.1414 3.19102 11.8867L11.8867 3.19102C12.1414 2.93633 12.5543 2.93633 12.809 3.19102Z",fill:"currentColor"})],-1)];function xo(e,t){return n.openBlock(),n.createElementBlock("button",wo,yo)}const Eo=q(bo,[["render",xo]]),ko={name:"ThemeSelector",props:{currentTheme:{type:String,default:"lofi"}},data(){return{availableThemes:[{value:"lofi",name:"Lo-Fi",color:"#0f0f23"},{value:"pastel",name:"Pastel",color:"#d1c1d7"},{value:"fantasy",name:"Fantasy",color:"#6e0b75"},{value:"autumn",name:"Autumn",color:"#8c0327"},{value:"retro",name:"Retro",color:"#ef9995"},{value:"synthwave",name:"Synthwave",color:"#e779c1"},{value:"halloween",name:"Halloween",color:"#f28c18"},{value:"dracula",name:"Dracula",color:"#ff79c6"},{value:"coffee",name:"Coffee",color:"#db924b"},{value:"dim",name:"Dim",color:"#9fe88d"},{value:"sunset",name:"Sunset",color:"#ff865b"},{value:"cyberpunk",name:"Cyberpunk",color:"#ff7598"}]}},methods:{handleThemeChange(e){this.$emit("themeChange",e)},handleLabelClick(e){e.stopPropagation(),this.$nextTick(()=>{const t=this.$el.querySelector('[role="button"]');t&&t.blur()})}}},vo={class:"dropdown dropdown-end z-50"},Lo=n.createElementVNode("div",{tabindex:"0",role:"button",class:"btn btn-ghost btn-circle btn-xs"},[n.createElementVNode("svg",{class:"w-4 h-4 text-primary",fill:"currentColor",viewBox:"0 0 20 20"},[n.createElementVNode("path",{d:"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"})])],-1),So={tabindex:"0",class:"dropdown-content menu p-2 shadow bg-base-100 rounded-box w-52 max-h-96 overflow-y-auto z-50 border border-base-300"},Bo=["id","value","checked","onChange"],To=["for"],Ao={class:"flex items-center gap-2"};function $o(e,t,o,i,r,a){return n.openBlock(),n.createElementBlock("div",vo,[Lo,n.createElementVNode("ul",So,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.availableThemes,l=>(n.openBlock(),n.createElementBlock("li",{key:l.value},[n.createElementVNode("input",{type:"radio",id:`theme-${l.value}`,value:l.value,checked:o.currentTheme===l.value,onChange:c=>a.handleThemeChange(l.value),class:"theme-controller sr-only"},null,40,Bo),n.createElementVNode("label",{for:`theme-${l.value}`,class:n.normalizeClass(["cursor-pointer rounded-lg px-2 py-1 hover:bg-base-200",{"bg-primary text-primary-content":o.currentTheme===l.value}]),onClick:t[0]||(t[0]=(...c)=>a.handleLabelClick&&a.handleLabelClick(...c))},[n.createElementVNode("span",Ao,[n.createElementVNode("span",{class:"w-3 h-3 rounded-full",style:n.normalizeStyle({backgroundColor:l.color})},null,4),n.createTextVNode(" "+n.toDisplayString(l.name),1)])],10,To)]))),128))])])}const Ro=q(ko,[["render",$o]]),Vo={class:"flex flex-col"},No={class:"flex min-w-0 gap-1","data-mode-toggle":""},Io=["disabled"],Mo={class:"flex shrink-0 items-center"},_o={key:0,class:"flex items-center gap-1 px-2 pb-1"},at={__name:"Header",props:{tts:String,isServiceUnavailable:Boolean,isFavorite:Boolean,isFavoriteFeatureEnabled:Boolean,isAITranslate:Boolean,isAIExplain:Boolean,isAITranslationLoading:Boolean,isAIExplainLoading:Boolean,isAIExplainVisible:Boolean,isAITranslateVisible:Boolean,theme:{type:String,default:"lofi"},showThemeSelector:{type:Boolean,default:!0},mode:{type:String,default:"translate"},canWrite:{type:Boolean,default:!0}},emits:["favorite","setting","close","loadTTS","aiTranslate","aiExplain","themeChange","dragStart","requestTranslate","requestWrite"],setup(e,{emit:t}){const o=e,i=n.computed(()=>o.mode!=="write"&&!o.isServiceUnavailable),r=t,a=c=>{c.target.closest('button, input, select, textarea, [role="button"]')||(r("dragStart",{type:"mouse",event:c}),c.preventDefault())},l=c=>{c.target.closest('button, input, select, textarea, [role="button"]')||(r("dragStart",{type:"touch",event:c}),c.preventDefault())};return(c,s)=>(n.openBlock(),n.createElementBlock("div",Vo,[n.createElementVNode("div",{class:"flex cursor-grab flex-row items-center justify-between gap-1 p-2 pb-1 active:cursor-grabbing",onMousedown:a,onTouchstart:l},[n.createElementVNode("div",No,[n.createElementVNode("button",{type:"button",class:n.normalizeClass(["btn btn-xs",e.mode==="write"?"btn-ghost":"btn-primary"]),"data-mode":"translate",onClick:s[0]||(s[0]=d=>r("requestTranslate"))}," Translate ",2),n.createElementVNode("button",{type:"button",class:n.normalizeClass(["btn btn-xs",e.mode==="write"?"btn-primary":"btn-ghost"]),disabled:!e.canWrite,"data-mode":"write",onClick:s[1]||(s[1]=d=>r("requestWrite"))}," Write ",10,Io)]),n.createElementVNode("div",Mo,[e.showThemeSelector?(n.openBlock(),n.createBlock(Ro,{key:0,"current-theme":e.theme,onThemeChange:s[2]||(s[2]=d=>r("themeChange",d))},null,8,["current-theme"])):n.createCommentVNode("",!0),n.createVNode(Co,{onClick:s[3]||(s[3]=d=>r("setting"))}),n.createVNode(Eo,{onClick:s[4]||(s[4]=d=>r("close"))})])],32),i.value?(n.openBlock(),n.createElementBlock("div",_o,[n.createVNode(Zn,{disabled:e.isAITranslationLoading||e.isAIExplainLoading,tts:o.tts,onLoadTTS:s[5]||(s[5]=d=>c.$emit("loadTTS"))},null,8,["disabled","tts"]),e.isAITranslateVisible?(n.openBlock(),n.createBlock(lo,{key:0,isLoading:e.isAITranslationLoading,isFilled:e.isAITranslate,onClick:s[6]||(s[6]=d=>r("aiTranslate"))},null,8,["isLoading","isFilled"])):n.createCommentVNode("",!0),e.isAIExplainVisible?(n.openBlock(),n.createBlock(fo,{key:1,isLoading:e.isAIExplainLoading,isFilled:e.isAIExplain,onClick:s[7]||(s[7]=d=>r("aiExplain"))},null,8,["isLoading","isFilled"])):n.createCommentVNode("",!0),o.isFavoriteFeatureEnabled?(n.openBlock(),n.createBlock(Gn,{key:2,isFilled:o.isFavorite,onClick:s[8]||(s[8]=d=>r("favorite")),disabled:e.isAITranslationLoading||e.isAIExplainLoading},null,8,["isFilled","disabled"])):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)]))}},Fo={class:"pointer-events-none absolute inset-0 z-20"},zo=["data-resize","aria-label","onPointerdown"],Do={__name:"ResizeHandle",emits:["resizeStart"],setup(e,{emit:t}){const o=t,i=[{name:"n",class:"inset-x-3 top-0 h-2 cursor-ns-resize"},{name:"s",class:"inset-x-3 bottom-0 h-2 cursor-ns-resize"},{name:"e",class:"inset-y-3 right-0 w-2 cursor-ew-resize"},{name:"w",class:"inset-y-3 left-0 w-2 cursor-ew-resize"},{name:"nw",class:"left-0 top-0 h-3 w-3 cursor-nwse-resize"},{name:"ne",class:"right-0 top-0 h-3 w-3 cursor-nesw-resize"},{name:"sw",class:"bottom-0 left-0 h-3 w-3 cursor-nesw-resize"},{name:"se",class:"bottom-0 right-0 h-3 w-3 cursor-nwse-resize"}],r=(a,l)=>{var c,s;l.pointerType==="mouse"&&l.button!==0||(l.preventDefault(),l.stopPropagation(),(s=(c=l.currentTarget).setPointerCapture)==null||s.call(c,l.pointerId),o("resizeStart",{edge:a,event:l}))};return(a,l)=>(n.openBlock(),n.createElementBlock("div",Fo,[(n.openBlock(),n.createElementBlock(n.Fragment,null,n.renderList(i,c=>n.createElementVNode("div",{key:c.name,"data-resize":c.name,class:n.normalizeClass(["pointer-events-auto absolute touch-none hover:bg-base-content/20",c.class]),"aria-label":`Resize from the ${c.name} border`,onPointerdown:s=>r(c.name,s),onClick:l[0]||(l[0]=n.withModifiers(()=>{},["stop"]))},null,42,zo)),64))]))}},Re=4,be="check",Oo=[{value:"check",label:"Check"},{value:"improve",label:"Improve"},{value:"improve-plus",label:"Academy"},{value:"friendly",label:"Friendly"},{value:"simplify",label:"Simplify"},{value:"more-detailed",label:"More detailed"}],Wo=new Set(["","text","search","email","url","tel"]),Po=4e4;function st(e,t){return!!e&&String(t||"").trim().length>=Re}function Ho(e){const t=(e==null?void 0:e.nodeType)===3?e.parentElement:e;if(!t||t.nodeType!==1)return!1;if(Uo(t))return!0;if(t.disabled||t.readOnly)return!1;const o=t.tagName;return o==="TEXTAREA"?!0:o==="INPUT"?Wo.has((t.type||"text").toLowerCase()):!1}function Uo(e){var o;let t=e;for(;t&&t.nodeType===1;){const i=(o=t.getAttribute)==null?void 0:o.call(t,"contenteditable"),r=typeof t.contentEditable=="string"?t.contentEditable:"";if(i==="false"||r==="false")return!1;if(t.isContentEditable||i===""||i==="true"||i==="plaintext-only"||r==="true"||r==="plaintext-only")return!0;t=t.parentElement}return!1}function jo(e,t){const o=ct(e),i=ct(t);return!o.length&&!i.length?[]:o.length*i.length>Po?[{value:String(t||""),added:!1,removed:!1}]:Yo(o,i,Xo(o,i))}function Zo(e){return String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function qo(e,t){return jo(e,t).map(o=>{const i=Zo(o.value);return o.added?`<span class="bg-success/40">${i}</span>`:o.removed?`<span class="bg-error/30 line-through">${i}</span>`:i}).join("")}function ct(e){return String(e||"").split(/(\s+)/).filter(t=>t.length)}function Xo(e,t){const o=Array.from({length:e.length+1},()=>new Array(t.length+1).fill(0));for(let i=e.length-1;i>=0;i--)for(let r=t.length-1;r>=0;r--)o[i][r]=e[i]===t[r]?o[i+1][r+1]+1:Math.max(o[i+1][r],o[i][r+1]);return o}function Yo(e,t,o){const i=[];let r=0,a=0;const l=(c,s,d)=>{const f=i[i.length-1];if(f&&f.added===s&&f.removed===d){f.value+=c;return}i.push({value:c,added:s,removed:d})};for(;r<e.length&&a<t.length;)e[r]===t[a]?(l(e[r],!1,!1),r+=1,a+=1):o[r+1][a]>=o[r][a+1]?(l(e[r],!1,!0),r+=1):(l(t[a],!0,!1),a+=1);for(;r<e.length;)l(e[r],!1,!0),r+=1;for(;a<t.length;)l(t[a],!0,!1),a+=1;return i}const Ko={class:"flex flex-col gap-2 border-t border-base-300 p-3","data-write-view":""},Go={class:"flex items-center gap-1"},Jo=["value","disabled"],Qo=["value"],ei=["disabled"],ti={key:0,"data-write-loading":""},ni={key:1,class:"text-base leading-tight text-base-content"},oi=["innerHTML"],ii={key:3,class:"whitespace-pre-wrap break-words text-base leading-tight text-base-content","data-result":""},ri={__name:"WriteView",props:{text:{type:String,default:""},result:{type:String,default:""},action:{type:String,default:"check"},loading:Boolean,editable:Boolean,unavailable:Boolean},emits:["action","copy","replace"],setup(e,{emit:t}){const o=e,i=t,r=n.computed(()=>o.text.trim().length<Re),a=n.computed(()=>!o.loading&&!!o.result),l=n.computed(()=>o.editable&&a.value),c=n.computed(()=>o.action==="check"&&!!o.result),s=n.computed(()=>c.value?qo(o.text,o.result):"");function d(){a.value&&i("copy",o.result)}function f(){l.value&&i("replace",{text:o.text,result:o.result})}return(p,g)=>(n.openBlock(),n.createElementBlock("div",Ko,[n.createElementVNode("div",Go,[n.createElementVNode("select",{class:"select select-bordered select-xs min-w-0 flex-1",value:e.action,disabled:e.loading||r.value,"data-write-action":"",onChange:g[0]||(g[0]=m=>i("action",m.target.value))},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(n.unref(Oo),m=>(n.openBlock(),n.createElementBlock("option",{key:m.value,value:m.value},n.toDisplayString(m.label),9,Qo))),128))],40,Jo),n.createElementVNode("button",{type:"button",class:"btn btn-xs",disabled:!a.value,"data-copy":"",onClick:d}," Copy ",8,ei),l.value?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"btn btn-xs btn-primary","data-replace":"",onClick:f}," Replace ")):n.createCommentVNode("",!0)]),e.loading?(n.openBlock(),n.createElementBlock("div",ti,[n.createVNode($e)])):e.unavailable?(n.openBlock(),n.createElementBlock("p",ni," Service Unavailable ")):c.value?(n.openBlock(),n.createElementBlock("pre",{key:2,class:"m-0 whitespace-pre-wrap break-words text-base leading-tight text-base-content","data-diff":"",innerHTML:s.value},null,8,oi)):e.result?(n.openBlock(),n.createElementBlock("p",ii,n.toDisplayString(e.result),1)):n.createCommentVNode("",!0)]))}},D={LOGO:"LOGO",LOADING:"LOADING",DATA:"DATA",ERROR:"ERROR",HIDDEN:"HIDDEN"},dt=320,li=240,ut=250,ai=120,si=8,ci=["ar","fa","iw","yi","ur","pa"],di={key:0,class:"flex justify-center"},ui={key:1,class:"flex justify-center"},fi={class:"p-3 border-t border-base-300"},mi=Object.assign({name:"Bubble",props:["translation","explanation","tts","status","isFavorite","isFavoriteFeatureEnabled","isAITranslate","isAIExplain","aiExplainMinLength","theme","showThemeSelector","constrained","mode","editable","writing","writeAction","isWriteLoading","selectedText"],emits:["logo","favorite","settings","close","loadTTS","aiTranslate","aiExplain","learn","themeChange","dragStart","resizeStart","write","replace","copy"],data(){return{data:null,isLongSentence:!1,isServiceUnavailable:!1,isAITranslationLoading:!1,isAIExplainLoading:!1}},computed:{showAIPrompt(){var e,t,o;return!this.isAITranslate&&!this.isServiceUnavailable&&((t=(e=this.data)==null?void 0:e.dictionary)==null?void 0:t.length)===0&&!!((o=this.data)!=null&&o.result)},showAIExplainPrompt(){var e,t,o,i,r;return!this.isAIExplain&&!this.isServiceUnavailable&&((t=(e=this.data)==null?void 0:e.dictionary)==null?void 0:t.length)===0&&!!((o=this.data)!=null&&o.result)&&((r=(i=this.data)==null?void 0:i.text)==null?void 0:r.length)>=this.aiExplainMinLength},showLearnPrompt(){var e;return this.isFavorite&&!this.isServiceUnavailable&&!!((e=this.data)!=null&&e.result)},isWrite(){return this.mode==="write"},currentAction(){var e;return this.writeAction||((e=this.writing)==null?void 0:e.action)||be},activeText(){var e,t;return this.selectedText||((e=this.writing)==null?void 0:e.text)||((t=this.data)==null?void 0:t.text)||""},canWrite(){return this.activeText.trim().length>=Re},shownResult(){var e;return!((e=this.writing)!=null&&e.result)||this.selectedText&&this.writing.text&&this.writing.text!==this.selectedText?"":this.writing.result}},methods:{handleLogo(){if(st(this.editable,this.selectedText)){this.$emit("write",{text:this.selectedText,action:this.currentAction});return}this.$emit("logo")},requestWrite(){this.isWrite||!this.canWrite||this.$emit("write",{text:this.activeText,action:this.currentAction})},requestTranslate(){this.isWrite&&this.$emit("logo")},handleWriteAction(e){!this.canWrite||e===this.currentAction||this.$emit("write",{text:this.activeText,action:e})},handleCopy(e){this.$emit("copy",e)},handleReplace(e){this.editable&&this.$emit("replace",e)},handleAITranslate(){this.isAITranslationLoading=!0,this.$emit("aiTranslate")},handleAIExplain(){this.isAIExplainLoading=!0,this.$emit("aiExplain")},handleLearn(){var e,t,o;this.$emit("learn",{word:(e=this.data)==null?void 0:e.text,translation:(t=this.data)==null?void 0:t.result,dictionary:(o=this.data)==null?void 0:o.dictionary})}},watch:{translation:{handler(){var e,t,o,i;try{this.data=this.translation,this.isLongSentence=!((t=(e=this.data)==null?void 0:e.phonetic)!=null&&t.src||((i=(o=this.data)==null?void 0:o.dictionary)==null?void 0:i.length)>0),this.isServiceUnavailable=!1}catch{this.isServiceUnavailable=!0}finally{this.isAITranslationLoading=!1,this.isAIExplainLoading=!1}},immediate:!0},explanation:{handler(){this.isAIExplainLoading=!1},immediate:!0},status(){this.status===D.ERROR&&(this.isServiceUnavailable=!0)}}},{setup(e){return(t,o)=>{var i,r,a,l,c,s,d,f,p,g,m;return e.status===n.unref(D).LOGO?(n.openBlock(),n.createElementBlock("div",di,[n.createVNode(fn,{onClick:t.handleLogo},null,8,["onClick"])])):e.status===n.unref(D).LOADING?(n.openBlock(),n.createElementBlock("div",ui,[n.createVNode(yn)])):e.status!==n.unref(D).HIDDEN?(n.openBlock(),n.createElementBlock("div",{key:2,class:n.normalizeClass(["wrapper rounded-lg text-base-content text-sm shadow-lg relative bg-[length:300%_300%] bg-[position:0%_50%]",e.constrained?"flex h-full w-full min-w-0 flex-col":"",{"p-0.5 bg-gradient-to-br from-primary via-secondary via-accent to-info animate-moveGradient":e.isAITranslate||e.isAIExplain,"p-0.5 bg-base-300":!e.isAITranslate&&!e.isAIExplain}])},[n.createElementVNode("div",{class:n.normalizeClass(["bg-base-100 rounded-md relative z-10",e.constrained?"flex min-h-0 min-w-0 flex-1 flex-col":""])},[t.isServiceUnavailable?(n.openBlock(),n.createBlock(at,{key:0,class:"shrink-0",isServiceUnavailable:t.isServiceUnavailable,isLongSentence:!1,theme:e.theme,showThemeSelector:e.showThemeSelector,mode:e.mode,canWrite:t.canWrite,onFavorite:o[0]||(o[0]=h=>t.$emit("favorite")),onSetting:o[1]||(o[1]=h=>t.$emit("settings")),onClose:o[2]||(o[2]=h=>t.$emit("close")),onLoadTTS:o[3]||(o[3]=h=>t.$emit("loadTTS")),onThemeChange:o[4]||(o[4]=h=>t.$emit("themeChange",h)),onRequestTranslate:t.requestTranslate,onRequestWrite:t.requestWrite},null,8,["isServiceUnavailable","theme","showThemeSelector","mode","canWrite","onRequestTranslate","onRequestWrite"])):(n.openBlock(),n.createBlock(at,{key:1,class:"shrink-0",tts:e.tts,isFavorite:e.isFavorite,isAITranslate:e.isAITranslate,isAITranslateVisible:((r=(i=t.data)==null?void 0:i.dictionary)==null?void 0:r.length)===0,isAIExplain:e.isAIExplain,isAIExplainVisible:((l=(a=t.data)==null?void 0:a.text)==null?void 0:l.length)>=e.aiExplainMinLength,isAITranslationLoading:t.isAITranslationLoading,isAIExplainLoading:t.isAIExplainLoading,isFavoriteFeatureEnabled:e.isFavoriteFeatureEnabled,isLongSentence:t.isLongSentence,theme:e.theme,showThemeSelector:e.showThemeSelector,mode:e.mode,canWrite:t.canWrite,onFavorite:o[5]||(o[5]=h=>t.$emit("favorite")),onSetting:o[6]||(o[6]=h=>t.$emit("settings")),onClose:o[7]||(o[7]=h=>t.$emit("close")),onLoadTTS:o[8]||(o[8]=h=>t.$emit("loadTTS")),onAiTranslate:t.handleAITranslate,onAiExplain:t.handleAIExplain,onThemeChange:o[9]||(o[9]=h=>t.$emit("themeChange",h)),onDragStart:o[10]||(o[10]=h=>t.$emit("dragStart",h)),onRequestTranslate:t.requestTranslate,onRequestWrite:t.requestWrite},null,8,["tts","isFavorite","isAITranslate","isAITranslateVisible","isAIExplain","isAIExplainVisible","isAITranslationLoading","isAIExplainLoading","isFavoriteFeatureEnabled","isLongSentence","theme","showThemeSelector","mode","canWrite","onAiTranslate","onAiExplain","onRequestTranslate","onRequestWrite"])),n.createElementVNode("div",{class:n.normalizeClass(e.constrained?"min-h-0 min-w-0 flex-1 overflow-y-auto overflow-x-hidden break-words overscroll-contain":"")},[t.isWrite?(n.openBlock(),n.createBlock(ri,{key:0,text:t.activeText,result:t.shownResult,action:t.currentAction,loading:e.isWriteLoading,editable:e.editable,unavailable:t.isServiceUnavailable,onAction:t.handleWriteAction,onCopy:t.handleCopy,onReplace:t.handleReplace},null,8,["text","result","action","loading","editable","unavailable","onAction","onCopy","onReplace"])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[n.createElementVNode("div",fi,[(s=(c=t.data)==null?void 0:c.phonetic)!=null&&s.src?(n.openBlock(),n.createBlock(Ln,{key:0,phonetic:(f=(d=t.data)==null?void 0:d.phonetic)==null?void 0:f.src},null,8,["phonetic"])):n.createCommentVNode("",!0),n.createVNode(Bn,{sentences:t.isServiceUnavailable?"Service Unavailable":(p=t.data)==null?void 0:p.result},null,8,["sentences"]),n.createVNode(An,{show:t.showAIPrompt,isLoading:t.isAITranslationLoading,onClick:t.handleAITranslate},null,8,["show","isLoading","onClick"]),n.createVNode(Rn,{show:t.showAIExplainPrompt,isLoading:t.isAIExplainLoading,onClick:t.handleAIExplain},null,8,["show","isLoading","onClick"]),n.createVNode(Nn,{show:t.showLearnPrompt,onClick:t.handleLearn},null,8,["show","onClick"])]),!t.isServiceUnavailable&&((m=(g=t.data)==null?void 0:g.dictionary)==null?void 0:m.length)>0?(n.openBlock(),n.createBlock(_n,{key:0,class:"p-3 pt-0 border-t border-base-300",dictionary:t.data.dictionary},null,8,["dictionary"])):n.createCommentVNode("",!0),!t.isServiceUnavailable&&e.isAIExplain&&e.explanation?(n.openBlock(),n.createBlock(Wn,{key:1,class:"p-3 pt-0 border-t border-base-300",explanation:e.explanation},null,8,["explanation"])):n.createCommentVNode("",!0)],64))],2),n.createVNode(Do,{onResizeStart:o[11]||(o[11]=h=>t.$emit("resizeStart",h))})],2)],2)):n.createCommentVNode("",!0)}}});function hi(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ve={exports:{}},ft;function pi(){return ft||(ft=1,function(e){(function(){var t=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","MozTabSize"],o=typeof window<"u",i=o&&window.mozInnerScreenX!=null;function r(a,l,c){if(!o)throw new Error("textarea-caret-position#getCaretCoordinates should only be called in a browser");var s=c&&c.debug||!1;if(s){var d=document.querySelector("#input-textarea-caret-position-mirror-div");d&&d.parentNode.removeChild(d)}var f=document.createElement("div");f.id="input-textarea-caret-position-mirror-div",document.body.appendChild(f);var p=f.style,g=window.getComputedStyle?window.getComputedStyle(a):a.currentStyle,m=a.nodeName==="INPUT";p.whiteSpace="pre-wrap",m||(p.wordWrap="break-word"),p.position="absolute",s||(p.visibility="hidden"),t.forEach(function(w){m&&w==="lineHeight"?p.lineHeight=g.height:p[w]=g[w]}),i?a.scrollHeight>parseInt(g.height)&&(p.overflowY="scroll"):p.overflow="hidden",f.textContent=a.value.substring(0,l),m&&(f.textContent=f.textContent.replace(/\s/g," "));var h=document.createElement("span");h.textContent=a.value.substring(l)||".",f.appendChild(h);var b={top:h.offsetTop+parseInt(g.borderTopWidth),left:h.offsetLeft+parseInt(g.borderLeftWidth),height:parseInt(g.lineHeight)};return s?h.style.backgroundColor="#aaa":document.body.removeChild(f),b}e.exports=r})()}(Ve)),Ve.exports}var gi=pi();const mt=hi(gi);function X(e){const t=window.getSelection();let o=t+"";if(o=o.trim(),e&&e.type==="password"||!o.length&&(!e||e.selectionStart==null||e.selectionEnd==null||e.selectionStart===e.selectionEnd||(o=e.value.substring(e.selectionStart,e.selectionEnd),o=o.trim(),!o.length)))return!1;let i=wi(t),{top:r,bottom:a,left:l,width:c,height:s}=i;if(!a&&!l){if(!e||e.selectionStart==null||e.selectionEnd==null)return!1;let d=mt(e,e.selectionStart),f=mt(e,e.selectionEnd);i=e.getBoundingClientRect(),l=i.left+d.left,c=f.left-d.left,d.top!=f.top&&(l=i.left,c=i.width),r=i.top+d.top,a=i.top+f.top+20}return s===0&&(s=a-r),{text:o,x:l,y:r,top:r,bottom:a,left:l,right:l+c,width:c,height:s}}function Ci(e){var t;return((t=e==null?void 0:e.key)==null?void 0:t.toLowerCase())==="a"&&!!(e.ctrlKey||e.metaKey)}function Ne(e,t){return!!(e||t)}function bi(e){return(e==null?void 0:e.key)==="Control"||(e==null?void 0:e.key)==="Meta"||(e==null?void 0:e.key)==="Shift"||(e==null?void 0:e.key)==="Alt"}function wi(e){if(!e||e.rangeCount===0)return{top:0,bottom:0,left:0,width:0,height:0};try{return e.getRangeAt(0).getBoundingClientRect()}catch{return{top:0,bottom:0,left:0,width:0,height:0}}}function yi(){const e=document.getElementsByTagName("ddict-div");for(let t of e)if(!t.parentNode.matches('wrapper[dir="rtl"]')){const o=document.createElement("wrapper");o.setAttribute("dir","rtl"),t.parentNode.insertBefore(o,t),o.appendChild(t)}}function xi(){const e=document.querySelectorAll('wrapper[dir="rtl"]');for(let t of e){const o=t.querySelector("ddict-div");o&&(t.parentNode.insertBefore(o,t),t.remove())}}const ht={supportRTL:yi,removeRTL:xi},Ei=2,ki={n:{x:!1,y:!0,fromStartX:!1,fromStartY:!0},s:{x:!1,y:!0,fromStartX:!1,fromStartY:!1},e:{x:!0,y:!1,fromStartX:!1,fromStartY:!1},w:{x:!0,y:!1,fromStartX:!0,fromStartY:!1},ne:{x:!0,y:!0,fromStartX:!1,fromStartY:!0},nw:{x:!0,y:!0,fromStartX:!0,fromStartY:!0},se:{x:!0,y:!0,fromStartX:!1,fromStartY:!1},sw:{x:!0,y:!0,fromStartX:!0,fromStartY:!1}};function vi(e,t,o=Ei){return Math.abs(e)>=o||Math.abs(t)>=o}function re(e,t,o){const i=o>t?o:t;return Math.min(i,Math.max(t,e))}function Li({x:e,y:t,width:o,height:i,dx:r,dy:a,scale:l=1,edge:c,minWidth:s,minHeight:d,viewportWidth:f,viewportHeight:p,margin:g=8}){const m=ki[c];if(!m)return{x:e,y:t,width:o,height:i};const h=l>0?l:1,b=e+o*h,w=t+i*h,x=f-g,E=p-g;let y=e,S=t,v=o,B=i;if(m.x&&m.fromStartX){const k=g,V=b-s*h;y=re(e+r,k,V),v=(b-y)/h}else m.x&&(v=re(o+r/h,s,Math.max(s,(x-e)/h)));if(m.y&&m.fromStartY){const k=g,V=w-d*h;S=re(t+a,k,V),B=(w-S)/h}else m.y&&(B=re(i+a/h,d,Math.max(d,(E-t)/h)));return{x:Math.round(y),y:Math.round(S),width:Math.round(v),height:Math.round(B)}}function Si(e){const t=Ni(e);if(!t)return null;if(Ii(t)){const a=t.selectionStart,l=t.selectionEnd;return a==null||l==null||a===l?null:{kind:"value",element:t,start:a,end:l,text:t.value.slice(a,l)}}const o=window.getSelection();if(!o||o.rangeCount===0)return null;const i=o.getRangeAt(0).cloneRange(),r=i.toString();return r?{kind:"range",element:t,range:i,text:r}:null}function Bi(e,t){return!e||t==null?!1:e.kind==="value"?Ai(e,t):$i(e,t)}async function Ti(e){var t;if(!e)return!1;try{if((t=navigator.clipboard)!=null&&t.writeText)return await navigator.clipboard.writeText(e),!0}catch{}return Vi(e)}function Ai(e,t){const o=e.element;if(!o||o.value.slice(e.start,e.end)!==e.text)return!1;const i=o.value.slice(0,e.start)+t+o.value.slice(e.end);Ri(o,i);const r=e.start+t.length;return o.focus(),o.setSelectionRange(r,r),pt(o),!0}function $i(e,t){const o=e.range;if(!o||o.toString()!==e.text)return!1;o.deleteContents();const i=o.startContainer.ownerDocument.createTextNode(t);return o.insertNode(i),o.setStartAfter(i),o.collapse(!0),pt(e.element),!0}function Ri(e,t){var i;const o=(i=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),"value"))==null?void 0:i.set;o?o.call(e,t):e.value=t}function pt(e){e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0}))}function Vi(e){const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.left="-9999px",document.body.appendChild(t),t.select();let o=!1;try{o=document.execCommand("copy")}catch{o=!1}return t.remove(),o}function Ni(e){return e?e.nodeType===3?e.parentElement:e:null}function Ii(e){return e.tagName==="TEXTAREA"||e.tagName==="INPUT"}const Mi={__name:"HotKeysListener",props:{textSelected:String},emits:["toggleKey","close"],setup(e,{emit:t}){const o=e,i=t,r=()=>{setTimeout(()=>{o.textSelected&&c("DoubleClick")},50)},a=s=>{(s.altKey&&s.key.toLowerCase()==="w"||s.key==="∑")&&o.textSelected&&(c("Alt+W"),s.preventDefault()),s.key==="Escape"&&(c("Escape"),s.preventDefault())},l=s=>{s.key==="Shift"&&o.textSelected&&c("Shift")},c=s=>{switch(s){case"DoubleClick":i("toggleKey","DoubleClick");break;case"Shift":i("toggleKey","Shift");break;case"Alt+W":i("toggleKey","Alt+W");break;case"Escape":i("close");break}};return n.onMounted(()=>{window.addEventListener("dblclick",r),window.addEventListener("keydown",a),window.addEventListener("keyup",l)}),n.onUnmounted(()=>{window.removeEventListener("dblclick",r),window.removeEventListener("keydown",a),window.removeEventListener("keyup",l)}),(s,d)=>(n.openBlock(),n.createElementBlock("div"))}},_i=["data-theme"],Fi={__name:"BubbleWrapper",props:{translation:Object,explanation:Object,isFavoriteFeatureEnabled:Boolean,isAITranslate:Boolean,isAIExplain:Boolean,isFavorite:Boolean,tts:String,status:String,scale:{type:Number,default:1},aiExplainMinLength:{type:Number,default:0},theme:{type:String,default:"lofi"},showThemeSelector:{type:Boolean,default:!0},mode:{type:String,default:"translate"},writing:{type:Object,default:null},writeAction:{type:String,default:be},isWriteLoading:{type:Boolean,default:!1}},emits:["toggleKey","logo","favorite","settings","close","loadTTS","aiTranslate","aiExplain","learn","themeChange","write","replace","copy"],setup(e,{emit:t}){const o=e,i=t,r=n.ref(null),a=n.ref(null),l=n.ref(null),c=n.ref(!1),s=n.ref(""),d=n.ref(!1),f=n.ref(o.writeAction||be);let p=null;n.watch(()=>o.writeAction,(u,C)=>{u&&u!==C&&(f.value=u)});const g=n.ref(o.theme),m=n.ref(!1),h=n.ref(!1),b=n.ref({x:0,y:0}),w=n.ref(null),x=n.ref(null),E=n.ref(null),y=n.ref(null),S=n.ref(!1);let v=!1,B=0,k=!1,V="",_="";const Y=n.computed(()=>typeof window>"u"||!l.value||!s.value?null:{getBoundingClientRect:()=>X(l.value),getClientRects:()=>X(l.value)}),{floatingStyles:we,update:le}=an(Y,r,{placement:"bottom",middleware:[tn(4),on(),nn()],whileElementsMounted(u,C,L){return en(u,C,L,{ancestorScroll:!0,elementResize:!1})}}),ae=n.computed(()=>o.status===D.DATA||o.status===D.ERROR),T=n.computed(()=>{var C,L;if(!ae.value)return null;const u=E.value?re(E.value,ut,dt):dt;return{width:((C=x.value)==null?void 0:C.width)??u,height:((L=x.value)==null?void 0:L.height)??li}}),ye=n.computed(()=>{let u=we.value;if(w.value)u={...u,position:"fixed",left:`${w.value.x}px`,top:`${w.value.y}px`,transform:"none"};else if(S.value&&l.value&&s.value){const C=X(l.value);C&&(u={...u,position:"fixed",left:`${C.x}px`,top:`${C.y+C.height+4}px`,transform:"none"})}return u={...u,zIndex:9999},T.value&&(u={...u,width:`${T.value.width}px`,height:`${T.value.height}px`,maxWidth:`${T.value.width}px`,boxSizing:"border-box"}),u}),K=n.computed(()=>{const u={transform:o.scale!==1?`scale(${o.scale})`:"none",transformOrigin:"top left"};return T.value&&(u.width=`${T.value.width}px`,u.height=`${T.value.height}px`,u.boxSizing="border-box"),u});n.onMounted(()=>{document.addEventListener("keyup",wt),document.addEventListener("select",yt),document.addEventListener("selectionchange",xt),document.addEventListener("pointerdown",gt),document.addEventListener("pointerup",Ct),document.addEventListener("pointercancel",bt),document.documentElement.onclick=u=>{if(Ie(),Et())return;const C=X(u.target);if(!C){_e();return}Me(C,u)},document.documentElement.ontouchend=u=>{if(Ie(),Et())return;const C=X(u.target);if(!C){_e();return}Me(C,u)}}),n.onUnmounted(()=>{document.removeEventListener("keyup",wt),document.removeEventListener("select",yt),document.removeEventListener("selectionchange",xt),document.removeEventListener("pointerdown",gt),document.removeEventListener("pointerup",Ct),document.removeEventListener("pointercancel",bt),cancelAnimationFrame(F),clearTimeout(G),document.documentElement.onclick=null,document.documentElement.ontouchend=null,clearTimeout(B),document.removeEventListener("mousemove",Fe),document.removeEventListener("mouseup",De),document.removeEventListener("touchmove",ze),document.removeEventListener("touchend",Oe),Pe()});let F=0,A=!1,$=!1,G=0;const gt=()=>{A=!0,$=!0,clearTimeout(G)},Ct=()=>{A=!1,clearTimeout(G),G=window.setTimeout(()=>{$=!1,xe()},50)},bt=()=>{A=!1,Ie()},Ie=()=>{$=!1,clearTimeout(G)},wt=u=>{if(!bi(u)){if(Ci(u)){xe();return}X(u.target)||_e()}},yt=u=>{Ne(A,$)||xe(u.target)},xt=()=>{Ne(A,$)||o.status===D.DATA||o.status===D.LOADING||xe()},xe=u=>{cancelAnimationFrame(F),F=requestAnimationFrame(()=>{if(Ne(A,$))return;const C=u||document.activeElement,L=X(C);L&&(c.value&&s.value===L.text||Me(L,{target:C}))})},Me=(u,C)=>{o.status!==D.LOGO&&i("close"),c.value&&!S.value&&(S.value=!0),l.value=C.target,u.width&&(E.value=u.width),d.value=Ho(C.target),p=d.value?Si(C.target):null,s.value=u.text,c.value=!0,n.nextTick(le)},_e=()=>{s.value="",d.value=!1,p=null,se()},zi=u=>{Ti(u),i("copy",u),se()},Di=u=>{Bi(p,u==null?void 0:u.result),p=null,i("replace",u),se()},Oi=u=>{u!=null&&u.action&&(f.value=u.action),i("write",u)},Wi=u=>{if(st(d.value,s.value)){i("write",{text:s.value,action:f.value||be});return}i("toggleKey",u)},Pi=u=>{u.stopPropagation()},se=async()=>{Pe(),c.value=!1,w.value=null,S.value=!1,i("close")},Hi=u=>{g.value=u,i("themeChange",u)},Ui=({type:u,event:C})=>{m.value=!0;const L=r.value.getBoundingClientRect();if(u==="mouse")b.value={x:C.clientX-L.left,y:C.clientY-L.top},document.addEventListener("mousemove",Fe),document.addEventListener("mouseup",De);else if(u==="touch"){const te=C.touches[0];b.value={x:te.clientX-L.left,y:te.clientY-L.top},document.addEventListener("touchmove",ze),document.addEventListener("touchend",Oe)}},Fe=u=>{m.value&&(w.value={x:u.clientX-b.value.x,y:u.clientY-b.value.y})},ze=u=>{if(!m.value)return;const C=u.touches[0];w.value={x:C.clientX-b.value.x,y:C.clientY-b.value.y}},De=()=>{m.value&&We(),m.value=!1,document.removeEventListener("mousemove",Fe),document.removeEventListener("mouseup",De)},Oe=()=>{m.value&&We(),m.value=!1,document.removeEventListener("touchmove",ze),document.removeEventListener("touchend",Oe)},Et=()=>m.value||h.value?!0:v?(v=!1,clearTimeout(B),!0):!1,We=()=>{v=!0,clearTimeout(B),B=window.setTimeout(()=>{v=!1},50)},ji={n:"ns-resize",s:"ns-resize",e:"ew-resize",w:"ew-resize",ne:"nesw-resize",sw:"nesw-resize",nw:"nwse-resize",se:"nwse-resize"},Zi=u=>{!document.body||k||(V=document.body.style.cursor,_=document.body.style.userSelect,document.body.style.cursor=ji[u]||"nwse-resize",document.body.style.userSelect="none",k=!0)},qi=()=>{!document.body||!k||(document.body.style.cursor=V,document.body.style.userSelect=_,k=!1)},Xi=({edge:u,event:C})=>{if(!a.value||!r.value||!a.value.offsetWidth||!a.value.offsetHeight)return;const L=r.value.getBoundingClientRect();h.value=!0,y.value={pointerX:C.clientX,pointerY:C.clientY,left:L.left,top:L.top,width:a.value.offsetWidth,height:a.value.offsetHeight,edge:u,moved:!1},Zi(u),document.addEventListener("pointermove",kt),document.addEventListener("pointerup",Ee),document.addEventListener("pointercancel",Ee)},Yi=(u,C)=>{if(!h.value||!y.value||!r.value)return;const L=u-y.value.pointerX,te=C-y.value.pointerY;if(!y.value.moved&&!vi(L,te))return;y.value.moved=!0;const ke=Li({x:y.value.left,y:y.value.top,width:y.value.width,height:y.value.height,dx:L,dy:te,scale:o.scale,edge:y.value.edge,minWidth:ut,minHeight:ai,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,margin:si});w.value={x:ke.x,y:ke.y},x.value={width:ke.width,height:ke.height}},kt=u=>{u.cancelable&&u.preventDefault(),Yi(u.clientX,u.clientY)},Ee=()=>{Pe()},Pe=()=>{h.value&&We(),h.value=!1,y.value=null,qi(),document.removeEventListener("pointermove",kt),document.removeEventListener("pointerup",Ee),document.removeEventListener("pointercancel",Ee)},Ki=()=>{var C;const u=(C=o==null?void 0:o.translation)==null?void 0:C.target;ci.includes(u)?ht.supportRTL():ht.removeRTL()};return n.watch(()=>o.status,()=>{c.value&&n.nextTick(le),Ki()}),n.watch(()=>o.theme,u=>{g.value=u}),(u,C)=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[c.value?(n.openBlock(),n.createElementBlock("div",{key:0,ref_key:"floatingEl",ref:r,style:n.normalizeStyle(ye.value),onClick:Pi},[n.createElementVNode("div",{ref_key:"contentEl",ref:a,class:"relative rounded-lg",style:n.normalizeStyle(K.value),"data-theme":g.value},[n.createVNode(mi,{translation:o.translation,explanation:o.explanation,tts:o.tts,status:o.status,isFavorite:o.isFavorite,isFavoriteFeatureEnabled:o.isFavoriteFeatureEnabled,isAITranslate:o.isAITranslate,isAIExplain:o.isAIExplain,aiExplainMinLength:o.aiExplainMinLength,theme:g.value,showThemeSelector:o.showThemeSelector,constrained:ae.value,mode:o.mode,writing:o.writing,writeAction:f.value,isWriteLoading:o.isWriteLoading,editable:d.value,selectedText:s.value,onLogo:C[0]||(C[0]=L=>i("logo")),onWrite:Oi,onReplace:Di,onCopy:zi,onFavorite:C[1]||(C[1]=L=>i("favorite")),onSettings:C[2]||(C[2]=L=>i("settings")),onClose:se,onLoadTTS:C[3]||(C[3]=L=>i("loadTTS")),onAiTranslate:C[4]||(C[4]=L=>i("aiTranslate")),onAiExplain:C[5]||(C[5]=L=>i("aiExplain")),onLearn:C[6]||(C[6]=L=>i("learn",L)),onThemeChange:Hi,onDragStart:Ui,onResizeStart:Xi},null,8,["translation","explanation","tts","status","isFavorite","isFavoriteFeatureEnabled","isAITranslate","isAIExplain","aiExplainMinLength","theme","showThemeSelector","constrained","mode","writing","writeAction","isWriteLoading","editable","selectedText"])],12,_i)],4)):n.createCommentVNode("",!0),n.createVNode(Mi,{textSelected:s.value,onToggleKey:Wi,onClose:se},null,8,["textSelected"])],64))}};P.default=Fi,Object.defineProperties(P,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(P,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],n):(P=typeof globalThis<"u"?globalThis:P||self,n(P.Bubble={},P.Vue))})(this,function(P,n){"use strict";const ue=Math.min,H=Math.max,fe=Math.round,me=Math.floor,O=e=>({x:e,y:e}),At={left:"right",right:"left",bottom:"top",top:"bottom"},$t={start:"end",end:"start"};function Pe(e,t,o){return H(e,ue(t,o))}function he(e,t){return typeof e=="function"?e(t):e}function U(e){return e.split("-")[0]}function pe(e){return e.split("-")[1]}function He(e){return e==="x"?"y":"x"}function Ue(e){return e==="y"?"height":"width"}function Q(e){return["top","bottom"].includes(U(e))?"y":"x"}function je(e){return He(Q(e))}function Rt(e,t,o){o===void 0&&(o=!1);const i=pe(e),r=je(e),a=Ue(r);let l=r==="x"?i===(o?"end":"start")?"right":"left":i==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(l=ge(l)),[l,ge(l)]}function Vt(e){const t=ge(e);return[ve(e),t,ve(t)]}function ve(e){return e.replace(/start|end/g,t=>$t[t])}function Nt(e,t,o){const i=["left","right"],r=["right","left"],a=["top","bottom"],l=["bottom","top"];switch(e){case"top":case"bottom":return o?t?r:i:t?i:r;case"left":case"right":return t?a:l;default:return[]}}function It(e,t,o,i){const r=pe(e);let a=Nt(U(e),o==="start",i);return r&&(a=a.map(l=>l+"-"+r),t&&(a=a.concat(a.map(ve)))),a}function ge(e){return e.replace(/left|right|bottom|top/g,t=>At[t])}function Mt(e){return{top:0,right:0,bottom:0,left:0,...e}}function _t(e){return typeof e!="number"?Mt(e):{top:e,right:e,bottom:e,left:e}}function Ce(e){const{x:t,y:o,width:i,height:r}=e;return{width:i,height:r,top:o,left:t,right:t+i,bottom:o+r,x:t,y:o}}function Ze(e,t,o){let{reference:i,floating:r}=e;const a=Q(t),l=je(t),c=Ue(l),s=U(t),d=a==="y",f=i.x+i.width/2-r.width/2,p=i.y+i.height/2-r.height/2,g=i[c]/2-r[c]/2;let m;switch(s){case"top":m={x:f,y:i.y-r.height};break;case"bottom":m={x:f,y:i.y+i.height};break;case"right":m={x:i.x+i.width,y:p};break;case"left":m={x:i.x-r.width,y:p};break;default:m={x:i.x,y:i.y}}switch(pe(t)){case"start":m[l]-=g*(o&&d?-1:1);break;case"end":m[l]+=g*(o&&d?-1:1);break}return m}const Dt=async(e,t,o)=>{const{placement:i="bottom",strategy:r="absolute",middleware:a=[],platform:l}=o,c=a.filter(Boolean),s=await(l.isRTL==null?void 0:l.isRTL(t));let d=await l.getElementRects({reference:e,floating:t,strategy:r}),{x:f,y:p}=Ze(d,i,s),g=i,m={},h=0;for(let b=0;b<c.length;b++){const{name:w,fn:x}=c[b],{x:E,y,data:S,reset:v}=await x({x:f,y:p,initialPlacement:i,placement:g,strategy:r,middlewareData:m,rects:d,platform:l,elements:{reference:e,floating:t}});f=E??f,p=y??p,m={...m,[w]:{...m[w],...S}},v&&h<=50&&(h++,typeof v=="object"&&(v.placement&&(g=v.placement),v.rects&&(d=v.rects===!0?await l.getElementRects({reference:e,floating:t,strategy:r}):v.rects),{x:f,y:p}=Ze(d,g,s)),b=-1)}return{x:f,y:p,placement:g,strategy:r,middlewareData:m}};async function qe(e,t){var o;t===void 0&&(t={});const{x:i,y:r,platform:a,rects:l,elements:c,strategy:s}=e,{boundary:d="clippingAncestors",rootBoundary:f="viewport",elementContext:p="floating",altBoundary:g=!1,padding:m=0}=he(t,e),h=_t(m),w=c[g?p==="floating"?"reference":"floating":p],x=Ce(await a.getClippingRect({element:(o=await(a.isElement==null?void 0:a.isElement(w)))==null||o?w:w.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(c.floating)),boundary:d,rootBoundary:f,strategy:s})),E=p==="floating"?{x:i,y:r,width:l.floating.width,height:l.floating.height}:l.reference,y=await(a.getOffsetParent==null?void 0:a.getOffsetParent(c.floating)),S=await(a.isElement==null?void 0:a.isElement(y))?await(a.getScale==null?void 0:a.getScale(y))||{x:1,y:1}:{x:1,y:1},v=Ce(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:E,offsetParent:y,strategy:s}):E);return{top:(x.top-v.top+h.top)/S.y,bottom:(v.bottom-x.bottom+h.bottom)/S.y,left:(x.left-v.left+h.left)/S.x,right:(v.right-x.right+h.right)/S.x}}const Ft=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var o,i;const{placement:r,middlewareData:a,rects:l,initialPlacement:c,platform:s,elements:d}=t,{mainAxis:f=!0,crossAxis:p=!0,fallbackPlacements:g,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:b=!0,...w}=he(e,t);if((o=a.arrow)!=null&&o.alignmentOffset)return{};const x=U(r),E=Q(c),y=U(c)===c,S=await(s.isRTL==null?void 0:s.isRTL(d.floating)),v=g||(y||!b?[ge(c)]:Vt(c)),B=h!=="none";!g&&B&&v.push(...It(c,b,h,S));const k=[c,...v],V=await qe(t,w),F=[];let Y=((i=a.flip)==null?void 0:i.overflows)||[];if(f&&F.push(V[x]),p){const T=Rt(r,l,S);F.push(V[T[0]],V[T[1]])}if(Y=[...Y,{placement:r,overflows:F}],!F.every(T=>T<=0)){var ye,ae;const T=(((ye=a.flip)==null?void 0:ye.index)||0)+1,xe=k[T];if(xe)return{data:{index:T,overflows:Y},reset:{placement:xe}};let K=(ae=Y.filter(M=>M.overflows[0]<=0).sort((M,A)=>M.overflows[1]-A.overflows[1])[0])==null?void 0:ae.placement;if(!K)switch(m){case"bestFit":{var se;const M=(se=Y.filter(A=>{if(B){const $=Q(A.placement);return $===E||$==="y"}return!0}).map(A=>[A.placement,A.overflows.filter($=>$>0).reduce(($,G)=>$+G,0)]).sort((A,$)=>A[1]-$[1])[0])==null?void 0:se[0];M&&(K=M);break}case"initialPlacement":K=c;break}if(r!==K)return{reset:{placement:K}}}return{}}}};async function zt(e,t){const{placement:o,platform:i,elements:r}=e,a=await(i.isRTL==null?void 0:i.isRTL(r.floating)),l=U(o),c=pe(o),s=Q(o)==="y",d=["left","top"].includes(l)?-1:1,f=a&&s?-1:1,p=he(t,e);let{mainAxis:g,crossAxis:m,alignmentAxis:h}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...p};return c&&typeof h=="number"&&(m=c==="end"?h*-1:h),s?{x:m*f,y:g*d}:{x:g*d,y:m*f}}const Ot=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var o,i;const{x:r,y:a,placement:l,middlewareData:c}=t,s=await zt(t,e);return l===((o=c.offset)==null?void 0:o.placement)&&(i=c.arrow)!=null&&i.alignmentOffset?{}:{x:r+s.x,y:a+s.y,data:{...s,placement:l}}}}},Wt=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:o,y:i,placement:r}=t,{mainAxis:a=!0,crossAxis:l=!1,limiter:c={fn:w=>{let{x,y:E}=w;return{x,y:E}}},...s}=he(e,t),d={x:o,y:i},f=await qe(t,s),p=Q(U(r)),g=He(p);let m=d[g],h=d[p];if(a){const w=g==="y"?"top":"left",x=g==="y"?"bottom":"right",E=m+f[w],y=m-f[x];m=Pe(E,m,y)}if(l){const w=p==="y"?"top":"left",x=p==="y"?"bottom":"right",E=h+f[w],y=h-f[x];h=Pe(E,h,y)}const b=c.fn({...t,[g]:m,[p]:h});return{...b,data:{x:b.x-o,y:b.y-i}}}}};function j(e){return Le(e)?(e.nodeName||"").toLowerCase():"#document"}function R(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function z(e){var t;return(t=(Le(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Le(e){return e instanceof Node||e instanceof R(e).Node}function _(e){return e instanceof Element||e instanceof R(e).Element}function D(e){return e instanceof HTMLElement||e instanceof R(e).HTMLElement}function Xe(e){return typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof R(e).ShadowRoot}function oe(e){const{overflow:t,overflowX:o,overflowY:i,display:r}=N(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+o)&&!["inline","contents"].includes(r)}function Pt(e){return["table","td","th"].includes(j(e))}function be(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch{return!1}})}function Se(e){const t=Be(),o=N(e);return o.transform!=="none"||o.perspective!=="none"||(o.containerType?o.containerType!=="normal":!1)||!t&&(o.backdropFilter?o.backdropFilter!=="none":!1)||!t&&(o.filter?o.filter!=="none":!1)||["transform","perspective","filter"].some(i=>(o.willChange||"").includes(i))||["paint","layout","strict","content"].some(i=>(o.contain||"").includes(i))}function Ht(e){let t=W(e);for(;D(t)&&!ee(t);){if(be(t))return null;if(Se(t))return t;t=W(t)}return null}function Be(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function ee(e){return["html","body","#document"].includes(j(e))}function N(e){return R(e).getComputedStyle(e)}function we(e){return _(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function W(e){if(j(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Xe(e)&&e.host||z(e);return Xe(t)?t.host:t}function Ye(e){const t=W(e);return ee(t)?e.ownerDocument?e.ownerDocument.body:e.body:D(t)&&oe(t)?t:Ye(t)}function ie(e,t,o){var i;t===void 0&&(t=[]),o===void 0&&(o=!0);const r=Ye(e),a=r===((i=e.ownerDocument)==null?void 0:i.body),l=R(r);return a?t.concat(l,l.visualViewport||[],oe(r)?r:[],l.frameElement&&o?ie(l.frameElement):[]):t.concat(r,ie(r,[],o))}function Ke(e){const t=N(e);let o=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const r=D(e),a=r?e.offsetWidth:o,l=r?e.offsetHeight:i,c=fe(o)!==a||fe(i)!==l;return c&&(o=a,i=l),{width:o,height:i,$:c}}function Te(e){return _(e)?e:e.contextElement}function te(e){const t=Te(e);if(!D(t))return O(1);const o=t.getBoundingClientRect(),{width:i,height:r,$:a}=Ke(t);let l=(a?fe(o.width):o.width)/i,c=(a?fe(o.height):o.height)/r;return(!l||!Number.isFinite(l))&&(l=1),(!c||!Number.isFinite(c))&&(c=1),{x:l,y:c}}const Ut=O(0);function Ge(e){const t=R(e);return!Be()||!t.visualViewport?Ut:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function jt(e,t,o){return t===void 0&&(t=!1),!o||t&&o!==R(e)?!1:t}function Z(e,t,o,i){t===void 0&&(t=!1),o===void 0&&(o=!1);const r=e.getBoundingClientRect(),a=Te(e);let l=O(1);t&&(i?_(i)&&(l=te(i)):l=te(e));const c=jt(a,o,i)?Ge(a):O(0);let s=(r.left+c.x)/l.x,d=(r.top+c.y)/l.y,f=r.width/l.x,p=r.height/l.y;if(a){const g=R(a),m=i&&_(i)?R(i):i;let h=g,b=h.frameElement;for(;b&&i&&m!==h;){const w=te(b),x=b.getBoundingClientRect(),E=N(b),y=x.left+(b.clientLeft+parseFloat(E.paddingLeft))*w.x,S=x.top+(b.clientTop+parseFloat(E.paddingTop))*w.y;s*=w.x,d*=w.y,f*=w.x,p*=w.y,s+=y,d+=S,h=R(b),b=h.frameElement}}return Ce({width:f,height:p,x:s,y:d})}function Zt(e){let{elements:t,rect:o,offsetParent:i,strategy:r}=e;const a=r==="fixed",l=z(i),c=t?be(t.floating):!1;if(i===l||c&&a)return o;let s={scrollLeft:0,scrollTop:0},d=O(1);const f=O(0),p=D(i);if((p||!p&&!a)&&((j(i)!=="body"||oe(l))&&(s=we(i)),D(i))){const g=Z(i);d=te(i),f.x=g.x+i.clientLeft,f.y=g.y+i.clientTop}return{width:o.width*d.x,height:o.height*d.y,x:o.x*d.x-s.scrollLeft*d.x+f.x,y:o.y*d.y-s.scrollTop*d.y+f.y}}function qt(e){return Array.from(e.getClientRects())}function Je(e){return Z(z(e)).left+we(e).scrollLeft}function Xt(e){const t=z(e),o=we(e),i=e.ownerDocument.body,r=H(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),a=H(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight);let l=-o.scrollLeft+Je(e);const c=-o.scrollTop;return N(i).direction==="rtl"&&(l+=H(t.clientWidth,i.clientWidth)-r),{width:r,height:a,x:l,y:c}}function Yt(e,t){const o=R(e),i=z(e),r=o.visualViewport;let a=i.clientWidth,l=i.clientHeight,c=0,s=0;if(r){a=r.width,l=r.height;const d=Be();(!d||d&&t==="fixed")&&(c=r.offsetLeft,s=r.offsetTop)}return{width:a,height:l,x:c,y:s}}function Kt(e,t){const o=Z(e,!0,t==="fixed"),i=o.top+e.clientTop,r=o.left+e.clientLeft,a=D(e)?te(e):O(1),l=e.clientWidth*a.x,c=e.clientHeight*a.y,s=r*a.x,d=i*a.y;return{width:l,height:c,x:s,y:d}}function Qe(e,t,o){let i;if(t==="viewport")i=Yt(e,o);else if(t==="document")i=Xt(z(e));else if(_(t))i=Kt(t,o);else{const r=Ge(e);i={...t,x:t.x-r.x,y:t.y-r.y}}return Ce(i)}function et(e,t){const o=W(e);return o===t||!_(o)||ee(o)?!1:N(o).position==="fixed"||et(o,t)}function Gt(e,t){const o=t.get(e);if(o)return o;let i=ie(e,[],!1).filter(c=>_(c)&&j(c)!=="body"),r=null;const a=N(e).position==="fixed";let l=a?W(e):e;for(;_(l)&&!ee(l);){const c=N(l),s=Se(l);!s&&c.position==="fixed"&&(r=null),(a?!s&&!r:!s&&c.position==="static"&&!!r&&["absolute","fixed"].includes(r.position)||oe(l)&&!s&&et(e,l))?i=i.filter(f=>f!==l):r=c,l=W(l)}return t.set(e,i),i}function Jt(e){let{element:t,boundary:o,rootBoundary:i,strategy:r}=e;const l=[...o==="clippingAncestors"?be(t)?[]:Gt(t,this._c):[].concat(o),i],c=l[0],s=l.reduce((d,f)=>{const p=Qe(t,f,r);return d.top=H(p.top,d.top),d.right=ue(p.right,d.right),d.bottom=ue(p.bottom,d.bottom),d.left=H(p.left,d.left),d},Qe(t,c,r));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function Qt(e){const{width:t,height:o}=Ke(e);return{width:t,height:o}}function en(e,t,o){const i=D(t),r=z(t),a=o==="fixed",l=Z(e,!0,a,t);let c={scrollLeft:0,scrollTop:0};const s=O(0);if(i||!i&&!a)if((j(t)!=="body"||oe(r))&&(c=we(t)),i){const p=Z(t,!0,a,t);s.x=p.x+t.clientLeft,s.y=p.y+t.clientTop}else r&&(s.x=Je(r));const d=l.left+c.scrollLeft-s.x,f=l.top+c.scrollTop-s.y;return{x:d,y:f,width:l.width,height:l.height}}function Ae(e){return N(e).position==="static"}function tt(e,t){return!D(e)||N(e).position==="fixed"?null:t?t(e):e.offsetParent}function nt(e,t){const o=R(e);if(be(e))return o;if(!D(e)){let r=W(e);for(;r&&!ee(r);){if(_(r)&&!Ae(r))return r;r=W(r)}return o}let i=tt(e,t);for(;i&&Pt(i)&&Ae(i);)i=tt(i,t);return i&&ee(i)&&Ae(i)&&!Se(i)?o:i||Ht(e)||o}const tn=async function(e){const t=this.getOffsetParent||nt,o=this.getDimensions,i=await o(e.floating);return{reference:en(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function nn(e){return N(e).direction==="rtl"}const on={convertOffsetParentRelativeRectToViewportRelativeRect:Zt,getDocumentElement:z,getClippingRect:Jt,getOffsetParent:nt,getElementRects:tn,getClientRects:qt,getDimensions:Qt,getScale:te,isElement:_,isRTL:nn};function rn(e,t){let o=null,i;const r=z(e);function a(){var c;clearTimeout(i),(c=o)==null||c.disconnect(),o=null}function l(c,s){c===void 0&&(c=!1),s===void 0&&(s=1),a();const{left:d,top:f,width:p,height:g}=e.getBoundingClientRect();if(c||t(),!p||!g)return;const m=me(f),h=me(r.clientWidth-(d+p)),b=me(r.clientHeight-(f+g)),w=me(d),E={rootMargin:-m+"px "+-h+"px "+-b+"px "+-w+"px",threshold:H(0,ue(1,s))||1};let y=!0;function S(v){const B=v[0].intersectionRatio;if(B!==s){if(!y)return l();B?l(!1,B):i=setTimeout(()=>{l(!1,1e-7)},1e3)}y=!1}try{o=new IntersectionObserver(S,{...E,root:r.ownerDocument})}catch{o=new IntersectionObserver(S,E)}o.observe(e)}return l(!0),a}function ln(e,t,o,i){i===void 0&&(i={});const{ancestorScroll:r=!0,ancestorResize:a=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:s=!1}=i,d=Te(e),f=r||a?[...d?ie(d):[],...ie(t)]:[];f.forEach(x=>{r&&x.addEventListener("scroll",o,{passive:!0}),a&&x.addEventListener("resize",o)});const p=d&&c?rn(d,o):null;let g=-1,m=null;l&&(m=new ResizeObserver(x=>{let[E]=x;E&&E.target===d&&m&&(m.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var y;(y=m)==null||y.observe(t)})),o()}),d&&!s&&m.observe(d),m.observe(t));let h,b=s?Z(e):null;s&&w();function w(){const x=Z(e);b&&(x.x!==b.x||x.y!==b.y||x.width!==b.width||x.height!==b.height)&&o(),b=x,h=requestAnimationFrame(w)}return o(),()=>{var x;f.forEach(E=>{r&&E.removeEventListener("scroll",o),a&&E.removeEventListener("resize",o)}),p==null||p(),(x=m)==null||x.disconnect(),m=null,s&&cancelAnimationFrame(h)}}const an=Ot,sn=Wt,cn=Ft,dn=(e,t,o)=>{const i=new Map,r={platform:on,...o},a={...r.platform,_c:i};return Dt(e,t,{...r,platform:a})};function un(e){return e!=null&&typeof e=="object"&&"$el"in e}function ot(e){if(un(e)){const t=e.$el;return Le(t)&&j(t)==="#comment"?null:t}return e}function re(e){return typeof e=="function"?e():n.unref(e)}function it(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function rt(e,t){const o=it(e);return Math.round(t*o)/o}function fn(e,t,o){o===void 0&&(o={});const i=o.whileElementsMounted,r=n.computed(()=>{var k;return(k=re(o.open))!=null?k:!0}),a=n.computed(()=>re(o.middleware)),l=n.computed(()=>{var k;return(k=re(o.placement))!=null?k:"bottom"}),c=n.computed(()=>{var k;return(k=re(o.strategy))!=null?k:"absolute"}),s=n.computed(()=>{var k;return(k=re(o.transform))!=null?k:!0}),d=n.computed(()=>ot(e.value)),f=n.computed(()=>ot(t.value)),p=n.ref(0),g=n.ref(0),m=n.ref(c.value),h=n.ref(l.value),b=n.shallowRef({}),w=n.ref(!1),x=n.computed(()=>{const k={position:m.value,left:"0",top:"0"};if(!f.value)return k;const V=rt(f.value,p.value),F=rt(f.value,g.value);return s.value?{...k,transform:"translate("+V+"px, "+F+"px)",...it(f.value)>=1.5&&{willChange:"transform"}}:{position:m.value,left:V+"px",top:F+"px"}});let E;function y(){d.value==null||f.value==null||dn(d.value,f.value,{middleware:a.value,placement:l.value,strategy:c.value}).then(k=>{p.value=k.x,g.value=k.y,m.value=k.strategy,h.value=k.placement,b.value=k.middlewareData,w.value=!0})}function S(){typeof E=="function"&&(E(),E=void 0)}function v(){if(S(),i===void 0){y();return}if(d.value!=null&&f.value!=null){E=i(d.value,f.value,y);return}}function B(){r.value||(w.value=!1)}return n.watch([a,l,c],y,{flush:"sync"}),n.watch([d,f],v,{flush:"sync"}),n.watch(r,B,{flush:"sync"}),n.getCurrentScope()&&n.onScopeDispose(S),{x:n.shallowReadonly(p),y:n.shallowReadonly(g),strategy:n.shallowReadonly(m),placement:n.shallowReadonly(h),middlewareData:n.shallowReadonly(b),isPositioned:n.shallowReadonly(w),floatingStyles:x,update:y}}const mn="data:image/svg+xml,%3csvg%20width='1324'%20height='1326'%20viewBox='0%200%201324%201326'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='141'%20y='78'%20width='1042'%20height='1170'%20fill='white'/%3e%3cpath%20d='M184.533%201.99984C135.867%207.19984%2089.8666%2029.8665%2056.4%2065.1998C29.6%2093.4665%2012.5333%20126.266%203.73329%20166.4L0.666626%20180V663.333V1146.67L3.73329%201160.27C12.5333%201200.4%2029.6%201233.2%2056.4%201261.47C90.4%201297.33%20135.333%201319.33%20185.6%201324.67C203.333%201326.53%201122.53%201326.4%201139.73%201324.53C1188.53%201319.33%201229.07%201299.73%201264.13%201264.8C1294.27%201234.67%201311.47%201202.67%201320.8%201159.33C1323.2%201148.4%201323.33%201130%201323.33%20663.333C1323.33%20196.667%201323.2%20178.266%201320.8%20167.333C1311.47%20124%201294.27%2091.9998%201264.13%2061.8664C1229.07%2026.9331%201188.53%207.33314%201139.73%202.13314C1124.67%200.399809%20200%200.399842%20184.533%201.99984ZM732.933%20151.466C746.8%20152.933%20763.333%20157.6%20774%20163.067C800.267%20176.267%20822.4%20200.4%20833.2%20227.333C841.867%20249.333%20841.467%20233.467%20841.067%20502C840.533%20777.6%20841.733%20750.267%20829.2%20776.133C822.133%20790.933%20810.667%20806.533%20800.267%20815.2C795.2%20819.6%20793.2%20822.267%20792%20827.067C786.133%20848.267%20768.667%20885.867%20755.2%20906.133C724.533%20952%20681.2%20986.133%20624%201009.33C615.6%201012.8%20608.4%201015.87%20608.133%201016.13C607.867%201016.27%20614.533%201023.33%20622.933%201031.6C633.467%201042.13%20639.333%201049.07%20642.133%201054.4C646.933%201063.87%20645.467%201064%20672.667%201050.8C724.933%201025.47%20762.933%20994.8%20794.933%20952C811.467%20929.867%20829.867%20895.333%20839.333%20868.267C841.333%20862.667%20843.467%20858%20844.133%20858C844.667%20858%20845.6%20859.333%20846.133%20860.933C848.267%20868.133%20863.333%20900.8%20870.133%20913.2C898%20963.867%20931.6%201001.2%20975.333%201030.27C989.867%201040%201017.2%201054.4%201031.6%201059.73L1037.2%201061.87L1041.33%201054.67C1048.4%201042.4%201056.67%201032.27%201067.87%201022.4L1078.67%201012.8L1071.6%201010.27C1067.87%201008.8%201060.53%201006%201055.6%201004.13C1040.93%20998.533%201013.73%20984%201000%20974.267C985.733%20964.133%20960.8%20940.667%20948.933%20926.267C935.067%20909.333%20921.467%20887.467%20910%20864C900.133%20844%20887.2%20812.133%20884.667%20801.6L883.733%20798H971.867H1060V769.333V740.667H963.333H866.533L867.333%20736.267C868.4%20729.867%20870.4%20693.067%20871.467%20662.933C872.267%20639.067%20872.533%20636.4%20874.8%20635.2C878.667%20633.2%20881.333%20626.667%20882.267%20617.333L883.067%20608.667H872.133C864.133%20608.667%20861.067%20608.133%20860.533%20606.8C860%20605.467%20881.2%20466%20886.133%20438.267L886.933%20433.867L977.867%20434.4C1066.67%20434.8%201068.93%20434.8%201079.87%20437.733C1124.8%20449.6%201158.67%20482.533%201172.93%20528L1176.67%20540V808V1076L1172.93%201087.73C1158.53%201133.6%201126.13%201164.93%201078.93%201178.4L1068.67%201181.33L812.667%201181.73C638.8%201182%20552.667%201181.73%20544.4%201180.67C488.667%201174.4%20443.2%201132.13%20432.533%201076.93C431.067%201068.93%20430.667%201046.4%20430.667%20956.667V846.133L340.4%20845.6C252.8%20845.2%20249.6%20845.067%20239.067%20842.267C196.533%20831.067%20164.533%20800.133%20151.067%20757.333L147.333%20745.333V499.333V253.333L150.4%20242C159.067%20209.067%20180.4%20181.866%20210.667%20164.933C221.2%20159.066%20240.4%20152.933%20252.667%20151.6C268.533%20149.733%20716.933%20149.6%20732.933%20151.466Z'%20fill='%233B5695'/%3e%3cpath%20d='M256.533%20213.333C232.933%20218.533%20214.133%20237.067%20209.333%20259.733C208.4%20264.533%20208%20337.2%20208.267%20502L208.667%20737.333L211.733%20744.933C218.533%20761.733%20231.733%20774.533%20248.667%20780.933L256.667%20784L490%20784.4C749.2%20784.8%20734.4%20785.333%20750.133%20776C764.267%20767.6%20775.467%20752.4%20778.667%20737.067C779.6%20732.8%20780%20652.133%20779.733%20494L779.333%20257.333L775.067%20248.267C767.2%20231.6%20756.933%20222%20740.133%20215.467L731.333%20212L498%20211.733C306.8%20211.6%20263.2%20211.867%20256.533%20213.333ZM492%20281.2C546.267%20290.267%20590.267%20311.2%20622.533%20343.333C653.867%20374.667%20671.867%20409.867%20680.267%20456.667C684.133%20478.533%20684.133%20516.267%20680.133%20538.533C665.467%20621.067%20606.933%20684.4%20524%20707.467C490%20716.933%20488.4%20716.933%20392.4%20717.6L305.333%20718.133V498V277.867L391.733%20278.4C465.733%20278.8%20480%20279.2%20492%20281.2Z'%20fill='%233B5695'/%3e%3cpath%20d='M384%20462.933V576.133L345.067%20611.467C306.533%20646.267%20306.133%20646.667%20310.667%20647.067C313.2%20647.333%20348.933%20647.333%20390%20646.933C472.667%20646.267%20477.6%20645.867%20503.6%20637.333C527.6%20629.333%20543.333%20620%20560.267%20603.6C590.133%20574.667%20604.4%20536.267%20602.267%20489.733C600.533%20450.267%20588.267%20420%20564%20395.333C546.8%20377.867%20531.6%20368.4%20506.267%20360C482.933%20352.133%20474.533%20351.2%20427.067%20350.4L384%20349.733V462.933Z'%20fill='%233B5695'/%3e%3c/svg%3e",q=(e,t)=>{const o=e.__vccOpts||e;for(const[i,r]of t)o[i]=r;return o},hn={name:"Logo"},pn={src:mn,alt:"DDict Logo",class:"w-6 h-6 cursor-pointer"};function gn(e,t,o,i,r,a){return n.openBlock(),n.createElementBlock("img",pn)}const Cn=q(hn,[["render",gn]]),bn={},wn={class:"w-12 h-12 text-primary",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},yn=[n.createStaticVNode('<circle cx="18" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".67" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="12" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".33" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="6" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin="0" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle>',3)];function xn(e,t){return n.openBlock(),n.createElementBlock("svg",wn,yn)}const En=q(bn,[["render",xn]]),kn={class:"rounded-lg bg-base-100 px-4 py-2 border border-base-300 shadow-lg"},vn={class:"flex justify-center"},Ln={__name:"Loading",setup(e){return(t,o)=>(n.openBlock(),n.createElementBlock("div",kn,[n.createElementVNode("div",vn,[n.createVNode(En)])]))}},Sn={name:"Phonetic",props:["phonetic"]},Bn={class:"p-0 m-0"},Tn={class:"text-xs font-md text-base-content/60"};function An(e,t,o,i,r,a){return n.openBlock(),n.createElementBlock("p",Bn,[n.createElementVNode("span",Tn,"/"+n.toDisplayString(o.phonetic)+"/",1)])}const $n=q(Sn,[["render",An]]),Rn={class:"flex flex-col gap-2"},Vn={__name:"Sentences",props:{sentences:{type:String,default:""}},setup(e){const t=e,o=n.computed(()=>t.sentences.split(`
|
|
2
|
+
`));return(i,r)=>(n.openBlock(),n.createElementBlock("div",Rn,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(o.value,(a,l)=>(n.openBlock(),n.createElementBlock("p",{key:l,class:"text-base text-base-content leading-tight p-0 mr-2"},n.toDisplayString(a),1))),128))]))}},Nn=[n.createElementVNode("p",{class:"text-sm font-medium text-primary text-center"},[n.createTextVNode(" 🤔 Don't understand? "),n.createElementVNode("span",{class:"text-secondary font-semibold"},"Try AI"),n.createTextVNode(" ✨ ")],-1)],In={__name:"AIPromptButton",props:{show:{type:Boolean,default:!1},isLoading:{type:Boolean,default:!1}},emits:["click"],setup(e){return(t,o)=>e.show?(n.openBlock(),n.createElementBlock("div",{key:0,class:n.normalizeClass(["mt-2 p-2 bg-gradient-to-r rounded-lg border transition-all duration-200",e.isLoading?"from-primary/5 to-secondary/5 border-primary/10 cursor-not-allowed opacity-75":"from-primary/10 to-secondary/10 border-primary/20 cursor-pointer hover:from-primary/20 hover:to-secondary/20 hover:border-primary/30"]),onClick:o[0]||(o[0]=i=>!e.isLoading&&t.$emit("click"))},Nn,2)):n.createCommentVNode("",!0)}},Mn=[n.createElementVNode("p",{class:"text-sm font-medium text-accent text-center"},"💡 Need Summary? ✨",-1)],_n={__name:"AIExplainPromptButton",props:{show:{type:Boolean,default:!1},isLoading:{type:Boolean,default:!1}},emits:["click"],setup(e){return(t,o)=>e.show?(n.openBlock(),n.createElementBlock("div",{key:0,class:n.normalizeClass(["mt-2 p-2 bg-gradient-to-r rounded-lg border transition-all duration-200",e.isLoading?"from-accent/5 to-info/5 border-accent/10 cursor-not-allowed opacity-75":"from-accent/10 to-info/10 border-accent/20 cursor-pointer hover:from-accent/20 hover:to-info/20 hover:border-accent/30"]),onClick:o[0]||(o[0]=i=>!e.isLoading&&t.$emit("click"))},Mn,2)):n.createCommentVNode("",!0)}},Dn=[n.createElementVNode("p",{class:"text-sm font-medium text-success text-center"},[n.createTextVNode(" 📚 Learn this? "),n.createElementVNode("span",{class:"text-warning font-semibold"},"Study now"),n.createTextVNode(" 🎯 ")],-1)],Fn={__name:"LearnPromptButton",props:{show:{type:Boolean,default:!1}},emits:["click"],setup(e){return(t,o)=>e.show?(n.openBlock(),n.createElementBlock("div",{key:0,class:n.normalizeClass(["mt-2 p-2 bg-gradient-to-r rounded-lg border transition-all duration-200","from-success/10 to-warning/10 border-success/20 cursor-pointer hover:from-success/20 hover:to-warning/20 hover:border-success/30"]),onClick:o[0]||(o[0]=i=>t.$emit("click"))},Dn)):n.createCommentVNode("",!0)}},zn={class:"capitalize text-base italic font-normal text-base-content/60"},On={class:"text-base leading-6 text-base-content"},Wn={__name:"Dict",props:{dictionary:Array},setup(e){return(t,o)=>(n.openBlock(),n.createElementBlock("div",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(e.dictionary,(i,r)=>(n.openBlock(),n.createElementBlock("div",{key:r,class:"mt-2"},[n.createElementVNode("p",zn,n.toDisplayString(i.pos),1),n.createElementVNode("span",On,n.toDisplayString(i.terms.join(", ")),1)]))),128))]))}},Pn={class:""},Hn=n.createElementVNode("p",{class:"capitalize text-base italic font-normal text-base-content/60 mt-2"},"Summary",-1),Un={key:0,class:"list-none list-outside mt-2"},jn=["innerHTML"],Zn={__name:"Explanation",props:{explanation:Object},setup(e){return(t,o)=>{var i,r;return n.openBlock(),n.createElementBlock("div",Pn,[Hn,(i=e.explanation)!=null&&i.result?(n.openBlock(),n.createElementBlock("ul",Un,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(((r=e.explanation)==null?void 0:r.result.split(`
|
|
3
|
+
`))||[],(a,l)=>(n.openBlock(),n.createElementBlock("li",{key:`${a}-${l}`,innerHTML:a,class:"text-base text-base-content"},null,8,jn))),128))])):n.createCommentVNode("",!0)])}}},qn=["disabled"],Xn=[n.createElementVNode("path",{d:"M2.33325 4.66667H3.51125C3.82693 4.6667 4.13239 4.55473 4.37325 4.35067L6.83392 2.26667C6.99592 2.12953 7.19374 2.04156 7.40407 2.01312C7.61441 1.98468 7.82849 2.01696 8.02109 2.10615C8.21369 2.19534 8.37678 2.33772 8.49114 2.51652C8.60551 2.69532 8.66638 2.90309 8.66659 3.11534V12.8847C8.66649 13.097 8.60565 13.305 8.49125 13.4839C8.37685 13.6628 8.21367 13.8053 8.02094 13.8945C7.82822 13.9837 7.614 14.0159 7.40356 13.9874C7.19312 13.9588 6.99523 13.8707 6.83325 13.7333L4.37325 11.6487C4.13229 11.4449 3.82685 11.3331 3.51125 11.3333H2.33325C2.06804 11.3333 1.81368 11.228 1.62615 11.0404C1.43861 10.8529 1.33325 10.5986 1.33325 10.3333V5.66667C1.33325 5.40145 1.43861 5.1471 1.62615 4.95956C1.81368 4.77203 2.06804 4.66667 2.33325 4.66667ZM11.1779 11.18C11.5969 10.763 11.9294 10.2674 12.1562 9.72156C12.3831 9.17572 12.4999 8.59044 12.4999 7.99934C12.4999 7.40823 12.3831 6.82295 12.1562 6.27711C11.9294 5.73127 11.5969 5.23564 11.1779 4.81867C11.1317 4.77098 11.0765 4.73297 11.0155 4.70686C10.9544 4.68075 10.8888 4.66705 10.8224 4.66657C10.756 4.66609 10.6902 4.67883 10.6288 4.70406C10.5674 4.72929 10.5116 4.76649 10.4647 4.8135C10.4179 4.86051 10.3808 4.91639 10.3558 4.97787C10.3307 5.03935 10.3181 5.10521 10.3188 5.17159C10.3195 5.23798 10.3334 5.30357 10.3597 5.36453C10.3859 5.42549 10.4241 5.48061 10.4719 5.52667C10.7977 5.85079 11.0562 6.23609 11.2326 6.66043C11.409 7.08477 11.4998 7.53979 11.4998 7.99934C11.4998 8.45888 11.409 8.9139 11.2326 9.33824C11.0562 9.76258 10.7977 10.1479 10.4719 10.472C10.4241 10.5181 10.3859 10.5732 10.3597 10.6341C10.3334 10.6951 10.3195 10.7607 10.3188 10.8271C10.3181 10.8935 10.3307 10.9593 10.3558 11.0208C10.3808 11.0823 10.4179 11.1382 10.4647 11.1852C10.5116 11.2322 10.5674 11.2694 10.6288 11.2946C10.6902 11.3198 10.756 11.3326 10.8224 11.3321C10.8888 11.3316 10.9544 11.3179 11.0155 11.2918C11.0765 11.2657 11.1317 11.2277 11.1779 11.18ZM12.7113 13.2127C12.6123 13.2126 12.5157 13.1832 12.4335 13.1281C12.3513 13.0731 12.2873 12.9949 12.2495 12.9035C12.2118 12.8121 12.202 12.7115 12.2214 12.6146C12.2408 12.5176 12.2886 12.4285 12.3586 12.3587C12.9317 11.7866 13.3865 11.1071 13.6967 10.359C14.0069 9.61101 14.1666 8.80915 14.1666 7.99934C14.1666 7.18952 14.0069 6.38766 13.6967 5.63963C13.3865 4.8916 12.9317 4.2121 12.3586 3.64C12.3122 3.59351 12.2754 3.53834 12.2503 3.47764C12.2252 3.41693 12.2124 3.35188 12.2124 3.2862C12.2125 3.22052 12.2255 3.15549 12.2507 3.09483C12.2759 3.03417 12.3128 2.97907 12.3593 2.93267C12.4057 2.88627 12.4609 2.84948 12.5216 2.8244C12.5823 2.79932 12.6474 2.78645 12.7131 2.78651C12.7787 2.78657 12.8438 2.79957 12.9044 2.82476C12.9651 2.84995 13.0202 2.88685 13.0666 2.93334C13.7327 3.59825 14.2612 4.38801 14.6218 5.25741C14.9824 6.12681 15.168 7.05879 15.168 8C15.168 8.94122 14.9824 9.87319 14.6218 10.7426C14.2612 11.612 13.7327 12.4018 13.0666 13.0667C13.02 13.1134 12.9646 13.1504 12.9036 13.1756C12.8426 13.2007 12.7772 13.2129 12.7113 13.2127Z",fill:"currentColor"},null,-1)],Yn=["disabled"],Kn=[n.createElementVNode("path",{"fill-rule":"evenodd",d:"M4.5 7.5a3 3 0 0 1 3-3h9a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3h-9a3 3 0 0 1-3-3v-9Z","clip-rule":"evenodd",fill:"currentColor"},null,-1)],Gn={__name:"Player",props:{tts:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["loadTTS"],setup(e,{emit:t}){const o=e,i=t,r=n.computed(()=>o.tts),a=n.ref(!1),l=new Audio,c=new(window.AudioContext||window.webkitAudioContext);let s=null;n.watch(r,()=>{if(!r.value){a.value=!1;return}f()},{immediate:!0}),n.onUnmounted(()=>{g(),l.src="",c.close()});function d(){if(r.value){f();return}a.value=!0,i("loadTTS")}async function f(){if(r.value){a.value=!0;try{l.src=r.value,l.playbackRate=.7,await l.play(),l.onended=()=>{a.value=!1}}catch{await p()}}}async function p(){try{const h=await(await fetch(r.value)).arrayBuffer(),b=await c.decodeAudioData(h);s=c.createBufferSource(),s.buffer=b,s.playbackRate.value=.7,s.connect(c.destination),s.start(),s.onended=()=>{a.value=!1,s=null}}catch{a.value=!1}}function g(){s&&(s.stop(),s.disconnect(),s=null),l.pause(),l.currentTime=0,a.value=!1}return(m,h)=>a.value?(n.openBlock(),n.createElementBlock("button",{key:1,class:n.normalizeClass(["btn btn-xs btn-circle",[{"btn-ghost":!e.disabled},{"!bg-transparent !border-none !shadow-none !ring-0":e.disabled}]]),disabled:e.disabled,onClick:g},[(n.openBlock(),n.createElementBlock("svg",{class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Kn,2))],10,Yn)):(n.openBlock(),n.createElementBlock("button",{key:0,class:n.normalizeClass(["btn btn-xs btn-circle",[{"btn-ghost":!e.disabled},{"!bg-transparent !border-none !shadow-none !ring-0":e.disabled}]]),disabled:e.disabled,onClick:d},[(n.openBlock(),n.createElementBlock("svg",{class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Xn,2))],10,qn))}},Jn={class:"bg-base-100 tooltip tooltip-top before:!bottom-[100%] before:!bg-base-100 before:!border before:!border-solid before:!border-base-300 before:!shadow-lg before:!rounded-md before:!text-base-content after:!border-transparent","data-tip":"Favorite"},Qn=["disabled"],eo=[n.createElementVNode("path",{d:"M14.9491 5.89315C14.8278 5.53128 14.5111 5.27252 14.1226 5.21783L10.5264 4.7114L8.91813 1.55315C8.74435 1.21195 8.39257 1 7.99998 1C7.60739 1 7.25557 1.21195 7.08183 1.55315L5.47358 4.7114L1.8774 5.21783C1.48888 5.27252 1.17219 5.53128 1.05086 5.89315C0.929554 6.25501 1.02881 6.64477 1.30993 6.91038L3.91217 9.36871L3.29786 12.8399C3.2315 13.215 3.38755 13.5868 3.7052 13.8105C3.88128 13.9344 4.08938 14 4.30704 14C4.47232 14 4.63705 13.9606 4.78341 13.886L7.99995 12.2471L11.2165 13.886C11.3628 13.9606 11.5276 14 11.6929 14C11.9106 14 12.1187 13.9345 12.2948 13.8105C12.6124 13.5868 12.7685 13.215 12.7021 12.84L12.0878 9.36871L14.6901 6.91035C14.9712 6.64477 15.0704 6.25498 14.9491 5.89315ZM14.0266 6.25082L11.2455 8.87813C11.1335 8.98392 11.0824 9.13637 11.1089 9.28575L11.7654 12.9956C11.7701 13.0226 11.759 13.0493 11.7362 13.0653C11.7202 13.0766 11.7038 13.079 11.6929 13.079C11.6809 13.079 11.6694 13.0762 11.6587 13.0708L8.22108 11.3192C8.15189 11.284 8.07593 11.2663 7.99998 11.2663C7.92402 11.2663 7.84807 11.284 7.77882 11.3193L4.34118 13.0708C4.33052 13.0763 4.31904 13.079 4.30701 13.079C4.29611 13.079 4.27969 13.0767 4.26373 13.0654C4.24092 13.0494 4.22975 13.0226 4.2345 12.9957L4.89104 9.28584C4.91747 9.13646 4.86637 8.98401 4.75439 8.87822L1.97327 6.25091C1.95308 6.23184 1.94595 6.20383 1.95466 6.17786C1.9634 6.15185 1.98612 6.13326 2.01405 6.12933L5.85743 5.58807C6.0122 5.56626 6.14599 5.47208 6.21521 5.33616L7.93404 1.9608C7.94653 1.9363 7.97178 1.92107 7.99998 1.92107C8.02818 1.92107 8.05343 1.9363 8.06591 1.9608L9.78468 5.33607C9.85391 5.47199 9.9877 5.5662 10.1425 5.58799L13.9859 6.12924C14.0138 6.1332 14.0365 6.15176 14.0452 6.17777C14.0539 6.20374 14.0468 6.23175 14.0266 6.25082Z",fill:"currentColor"},null,-1)],to=[n.createElementVNode("path",{d:"M7.47207 1.31905C7.57125 1.12371 7.77589 1 8.00001 1C8.22413 1 8.42877 1.12367 8.52795 1.31905L10.3721 4.95175L14.4959 5.53427C14.7177 5.5656 14.9019 5.7166 14.9712 5.9238C15.0404 6.13101 14.9827 6.35843 14.8222 6.51049L11.8382 9.33816L12.5427 13.3309C12.5806 13.5456 12.4897 13.7626 12.3084 13.8906C12.1272 14.0187 11.8868 14.0356 11.6884 13.9342L8.00004 12.0491L4.31158 13.9343C4.11323 14.0356 3.87286 14.0187 3.69157 13.8907C3.51028 13.7627 3.4195 13.5457 3.45736 13.3309L4.1618 9.33819L1.17781 6.51052C1.01735 6.35846 0.959571 6.13101 1.02884 5.92383C1.09807 5.71663 1.28232 5.56563 1.50409 5.53431L5.62787 4.95178L7.47207 1.31905Z",fill:"currentColor"},null,-1)],no={__name:"Favorite",props:{isFilled:Boolean,disabled:Boolean},setup(e){return(t,o)=>(n.openBlock(),n.createElementBlock("div",Jn,[n.createElementVNode("button",{class:n.normalizeClass(["btn btn-xs btn-circle",[{"btn-ghost":!e.disabled},{"!bg-transparent !border-none !shadow-none !ring-0":e.disabled}]]),disabled:e.disabled},[e.isFilled?(n.openBlock(),n.createElementBlock("svg",{key:1,class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},to,2)):(n.openBlock(),n.createElementBlock("svg",{key:0,class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},eo,2))],10,Qn)]))}},oo={},io={class:"w-6 h-6 text-primary",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},ro=[n.createStaticVNode('<circle cx="18" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".67" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="12" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".33" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="6" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin="0" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle>',3)];function lo(e,t){return n.openBlock(),n.createElementBlock("svg",io,ro)}const $e=q(oo,[["render",lo]]),ao={class:"bg-base-100 tooltip tooltip-top before:!bottom-[100%] before:!bg-base-100 before:!border before:!border-solid before:!border-base-300 before:!shadow-lg before:!rounded-md before:!text-base-content after:!border-transparent","data-tip":"AI Translate"},so=["disabled"],co=[n.createElementVNode("path",{d:"M6.8544 3.20309C5.39975 2.89815 4.26277 1.76117 3.95787 0.30649C3.92042 0.12792 3.76292 0 3.58041 0C3.3979 0 3.2404 0.12792 3.20297 0.30652C2.89805 1.76117 1.76107 2.89812 0.306418 3.20302C0.127818 3.24045 -0.00012207 3.39798 -0.00012207 3.58046C-0.00012207 3.76295 0.127798 3.92047 0.306418 3.9579C1.76105 4.26285 2.89798 5.3998 3.2029 6.85448C3.24033 7.03307 3.39783 7.16102 3.58034 7.16102C3.76282 7.16102 3.92035 7.0331 3.95778 6.85448C4.26272 5.39983 5.39973 4.26287 6.85438 3.95799C7.03297 3.92056 7.16092 3.76306 7.16092 3.58056C7.1609 3.39805 7.03297 3.24052 6.8544 3.20309ZM3.58036 5.60938C3.14292 4.73132 2.42956 4.01792 1.55151 3.58049C2.42958 3.14305 3.14297 2.42968 3.58041 1.55161C4.01785 2.4297 4.73122 3.14307 5.60926 3.58053C4.73119 4.01797 4.0178 4.73132 3.58036 5.60938Z",fill:"currentColor"},null,-1),n.createElementVNode("path",{d:"M6.21683 9.574C5.53147 9.4303 4.99578 8.8947 4.85209 8.2093C4.81466 8.0307 4.65716 7.90271 4.47465 7.90271C4.29217 7.90271 4.13464 8.0306 4.09721 8.2092C3.95352 8.8946 3.4178 9.4303 2.73244 9.574C2.55385 9.6114 2.4259 9.7689 2.4259 9.9514C2.4259 10.1339 2.55383 10.2914 2.73244 10.3288C3.41778 10.4725 3.95349 11.0082 4.09716 11.6936C4.13459 11.8722 4.2921 12.0002 4.4746 12.0002C4.65709 12.0002 4.81461 11.8723 4.85204 11.6936C4.99574 11.0082 5.53145 10.4725 6.21683 10.3289C6.39543 10.2914 6.52337 10.1339 6.52337 9.9514C6.52337 9.7689 6.39545 9.6114 6.21683 9.574ZM4.47463 10.6408C4.29163 10.3688 4.05725 10.1345 3.78526 9.9515C4.0573 9.7684 4.29163 9.5341 4.47463 9.2621C4.65765 9.5341 4.892 9.7685 5.164 9.9515C4.892 10.1345 4.65763 10.3688 4.47463 10.6408Z",fill:"currentColor"},null,-1),n.createElementVNode("path",{d:"M11.4271 6.00324C10.5007 5.80904 9.7766 5.08496 9.5825 4.15859C9.545 3.98 9.3875 3.85205 9.205 3.85205C9.0225 3.85205 8.865 3.97995 8.8276 4.15857C8.6334 5.08496 7.90932 5.80902 6.98293 6.0032C6.80434 6.04063 6.67639 6.19815 6.67639 6.38064C6.67639 6.56312 6.80431 6.72062 6.98293 6.75807C7.9093 6.95228 8.6334 7.67633 8.8275 8.6027C8.865 8.7813 9.0225 8.9093 9.205 8.9093C9.3875 8.9093 9.545 8.7814 9.5824 8.6027C9.7766 7.67633 10.5007 6.95228 11.4271 6.75812C11.6057 6.72067 11.7336 6.56317 11.7336 6.38068C11.7336 6.1982 11.6057 6.04067 11.4271 6.00324ZM9.205 7.47681C8.9365 7.02634 8.5593 6.64914 8.1089 6.38066C8.5593 6.11218 8.9365 5.73502 9.205 5.28453C9.4735 5.73502 9.8507 6.11221 10.3012 6.38068C9.8507 6.64916 9.4735 7.02636 9.205 7.47681Z",fill:"currentColor"},null,-1)],uo=[n.createStaticVNode('<path d="M6.8544 3.20309C5.39975 2.89815 4.26277 1.76117 3.95787 0.30649C3.92042 0.12792 3.76292 0 3.58041 0C3.3979 0 3.2404 0.12792 3.20297 0.30652C2.89805 1.76117 1.76107 2.89812 0.306418 3.20302C0.127818 3.24045 -0.00012207 3.39798 -0.00012207 3.58046C-0.00012207 3.76295 0.127798 3.92047 0.306418 3.9579C1.76105 4.26285 2.89798 5.3998 3.2029 6.85448C3.24033 7.03307 3.39783 7.16102 3.58034 7.16102C3.76282 7.16102 3.92035 7.0331 3.95778 6.85448C4.26272 5.39983 5.39973 4.26287 6.85438 3.95799C7.03297 3.92056 7.16092 3.76306 7.16092 3.58056C7.1609 3.39805 7.03297 3.24052 6.8544 3.20309ZM3.58036 5.60938C3.14292 4.73132 2.42956 4.01792 1.55151 3.58049C2.42958 3.14305 3.14297 2.42968 3.58041 1.55161C4.01785 2.4297 4.73122 3.14307 5.60926 3.58053C4.73119 4.01797 4.0178 4.73132 3.58036 5.60938Z" fill="currentColor"></path><path d="M6.21683 9.574C5.53147 9.4303 4.99578 8.8947 4.85209 8.2093C4.81466 8.0307 4.65716 7.90271 4.47465 7.90271C4.29217 7.90271 4.13464 8.0306 4.09721 8.2092C3.95352 8.8946 3.4178 9.4303 2.73244 9.574C2.55385 9.6114 2.4259 9.7689 2.4259 9.9514C2.4259 10.1339 2.55383 10.2914 2.73244 10.3288C3.41778 10.4725 3.95349 11.0082 4.09716 11.6936C4.13459 11.8722 4.2921 12.0002 4.4746 12.0002C4.65709 12.0002 4.81461 11.8723 4.85204 11.6936C4.99574 11.0082 5.53145 10.4725 6.21683 10.3289C6.39543 10.2914 6.52337 10.1339 6.52337 9.9514C6.52337 9.7689 6.39545 9.6114 6.21683 9.574ZM4.47463 10.6408C4.29163 10.3688 4.05725 10.1345 3.78526 9.9515C4.0573 9.7684 4.29163 9.5341 4.47463 9.2621C4.65765 9.5341 4.892 9.7685 5.164 9.9515C4.892 10.1345 4.65763 10.3688 4.47463 10.6408Z" fill="currentColor"></path><path d="M11.4271 6.00324C10.5007 5.80904 9.7766 5.08496 9.5825 4.15859C9.545 3.98 9.3875 3.85205 9.205 3.85205C9.0225 3.85205 8.865 3.97995 8.8276 4.15857C8.6334 5.08496 7.90932 5.80902 6.98293 6.0032C6.80434 6.04063 6.67639 6.19815 6.67639 6.38064C6.67639 6.56312 6.80431 6.72062 6.98293 6.75807C7.9093 6.95228 8.6334 7.67633 8.8275 8.6027C8.865 8.7813 9.0225 8.9093 9.205 8.9093C9.3875 8.9093 9.545 8.7814 9.5824 8.6027C9.7766 7.67633 10.5007 6.95228 11.4271 6.75812C11.6057 6.72067 11.7336 6.56317 11.7336 6.38068C11.7336 6.1982 11.6057 6.04067 11.4271 6.00324ZM9.205 7.47681C8.9365 7.02634 8.5593 6.64914 8.1089 6.38066C8.5593 6.11218 8.9365 5.73502 9.205 5.28453C9.4735 5.73502 9.8507 6.11221 10.3012 6.38068C9.8507 6.64916 9.4735 7.02636 9.205 7.47681Z" fill="currentColor"></path><circle cx="3.5" cy="3.5" r="1.5" fill="currentColor"></circle><ellipse cx="4.5" cy="10" rx="0.5" ry="1" fill="currentColor"></ellipse><circle cx="9" cy="6" r="1" fill="currentColor"></circle>',6)],fo={__name:"AITranslateBtn",props:{isLoading:Boolean,disabled:Boolean,isFilled:Boolean},setup(e){return(t,o)=>(n.openBlock(),n.createElementBlock("div",ao,[e.isLoading?(n.openBlock(),n.createBlock($e,{key:0,class:"inset-0 flex items-center justify-center"})):(n.openBlock(),n.createElementBlock("button",{key:1,class:n.normalizeClass(["btn btn-xs btn-circle",[{"btn-ghost":!e.disabled},{"!bg-transparent !border-none !shadow-none !ring-0":e.disabled}]]),disabled:e.disabled},[e.isFilled?(n.openBlock(),n.createElementBlock("svg",{key:1,class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},uo,2)):(n.openBlock(),n.createElementBlock("svg",{key:0,class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},co,2))],10,so))]))}},mo={class:"bg-base-100 tooltip tooltip-top before:!bottom-[100%] before:!bg-base-100 before:!border before:!border-solid before:!border-base-300 before:!shadow-lg before:!rounded-md before:!text-base-content after:!border-transparent","data-tip":"AI Summarize"},ho=["disabled"],po=[n.createElementVNode("path",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 12h1m-3.5-6.5 1-1M12 3V2M5.5 5.5l-1-1M3 12H2m8 10h4m3-10a5 5 0 1 0-7 4.584V19h4v-2.416A5.001 5.001 0 0 0 17 12z"},null,-1)],go=[n.createElementVNode("path",{fill:"currentColor",d:"M12 7a5 5 0 0 0-2 9.584V19h4v-2.416A5.001 5.001 0 0 0 12 7z"},null,-1),n.createElementVNode("path",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 12h1m-3.5-6.5 1-1M12 3V2M5.5 5.5l-1-1M3 12H2m8 10h4m3-10a5 5 0 1 0-7 4.584V19h4v-2.416A5.001 5.001 0 0 0 17 12z"},null,-1)],Co={__name:"AIExplainBtn",props:{isLoading:Boolean,disabled:Boolean,isFilled:Boolean},setup(e){return(t,o)=>(n.openBlock(),n.createElementBlock("div",mo,[e.isLoading?(n.openBlock(),n.createBlock($e,{key:0})):(n.openBlock(),n.createElementBlock("button",{key:1,class:n.normalizeClass(["btn btn-xs btn-circle",[{"btn-ghost":!e.disabled},{"!bg-transparent !border-none !shadow-none !ring-0":e.disabled}]]),disabled:e.disabled},[e.isFilled?(n.openBlock(),n.createElementBlock("svg",{key:1,class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},go,2)):(n.openBlock(),n.createElementBlock("svg",{key:0,class:n.normalizeClass(["w-4 h-4 text-primary",[{"opacity-100":!e.disabled},{"opacity-50 transform":e.disabled}]]),viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},po,2))],10,ho))]))}},bo={},wo={class:"btn btn-xs btn-ghost btn-circle"},yo=[n.createElementVNode("svg",{class:"w-4 h-4 text-primary",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[n.createElementVNode("path",{d:"M9.12596 1.63869C9.46935 1.54364 9.83221 1.70329 9.99413 2.02068C10.3672 2.75191 11.1261 3.25 12 3.25C12.8739 3.25 13.6328 2.75191 14.0059 2.02068C14.1678 1.70329 14.5307 1.54364 14.874 1.63869C16.5585 2.10497 18.0759 2.9704 19.3184 4.12574C19.5611 4.35137 19.6269 4.70948 19.4804 5.00666C19.3331 5.30535 19.25 5.6419 19.25 6C19.25 7.24263 20.2574 8.25 21.5 8.25L21.5314 8.24977C21.8629 8.24504 22.1583 8.45859 22.2576 8.77495C22.5777 9.79397 22.75 10.8776 22.75 12C22.75 12.7408 22.6749 13.4649 22.5318 14.1648C22.4548 14.5411 22.1059 14.7985 21.7237 14.7609C21.6504 14.7537 21.5758 14.75 21.5 14.75C20.2574 14.75 19.25 15.7574 19.25 17C19.25 17.5531 19.4486 18.0579 19.7793 18.4498C20.027 18.7434 20.0128 19.1767 19.7465 19.4535C18.4777 20.7719 16.8745 21.7678 15.0721 22.3044C14.6807 22.4209 14.2681 22.2029 14.1437 21.814C13.8535 20.906 13.0024 20.25 12 20.25C10.9976 20.25 10.1465 20.906 9.85629 21.814C9.73195 22.2029 9.31927 22.4209 8.92789 22.3044C7.12545 21.7678 5.52229 20.7719 4.25353 19.4535C3.98716 19.1767 3.97299 18.7434 4.22072 18.4498C4.55139 18.0579 4.75 17.5531 4.75 17C4.75 15.7574 3.74264 14.75 2.5 14.75C2.42423 14.75 2.34963 14.7537 2.27634 14.7609C1.89406 14.7985 1.54519 14.5411 1.46821 14.1648C1.32505 13.4649 1.25 12.7408 1.25 12C1.25 10.8776 1.42227 9.79398 1.74236 8.77494C1.84173 8.45859 2.13705 8.24504 2.4686 8.24977L2.5 8.25C3.74264 8.25 4.75 7.24263 4.75 6C4.75 5.6419 4.66689 5.30535 4.51962 5.00666C4.3731 4.70948 4.43894 4.35137 4.68159 4.12574C5.92411 2.9704 7.44153 2.10497 9.12596 1.63869ZM6.08277 4.88991C6.19152 5.24123 6.25 5.61424 6.25 6C6.25 7.88945 4.85261 9.45253 3.03493 9.71213C2.84898 10.4432 2.75 11.2096 2.75 12C2.75 12.4294 2.77921 12.8516 2.83567 13.2648C4.74948 13.4346 6.25 15.0421 6.25 17C6.25 17.6669 6.0754 18.2941 5.76971 18.8372C6.62645 19.6184 7.63002 20.2404 8.73362 20.657C9.37706 19.5189 10.598 18.75 12 18.75C13.402 18.75 14.6229 19.5189 15.2664 20.657C16.37 20.2404 17.3735 19.6184 18.2303 18.8372C17.9246 18.2941 17.75 17.6669 17.75 17C17.75 15.0421 19.2505 13.4346 21.1643 13.2648C21.2208 12.8516 21.25 12.4294 21.25 12C21.25 11.2096 21.151 10.4432 20.9651 9.71213C19.1474 9.45252 17.75 7.88945 17.75 6C17.75 5.61424 17.8085 5.24123 17.9172 4.88991C17.0618 4.1771 16.0762 3.61614 15.0018 3.24775C14.3184 4.15897 13.2287 4.75 12 4.75C10.7713 4.75 9.68158 4.15897 8.99819 3.24775C7.92382 3.61614 6.93823 4.1771 6.08277 4.88991Z",fill:"currentColor"}),n.createElementVNode("path",{d:"M7.75 12C7.75 9.65278 9.65279 7.75 12 7.75C14.3472 7.75 16.25 9.65278 16.25 12C16.25 14.3472 14.3472 16.25 12 16.25C9.65279 16.25 7.75 14.3472 7.75 12ZM12 9.25C10.4812 9.25 9.25 10.4812 9.25 12C9.25 13.5188 10.4812 14.75 12 14.75C13.5188 14.75 14.75 13.5188 14.75 12C14.75 10.4812 13.5188 9.25 12 9.25Z",fill:"currentColor"})],-1)];function xo(e,t){return n.openBlock(),n.createElementBlock("button",wo,yo)}const Eo=q(bo,[["render",xo]]),ko={},vo={class:"btn btn-xs btn-circle btn-ghost"},Lo=[n.createElementVNode("svg",{class:"w-4 h-4 text-primary",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[n.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M3.19102 3.19102C3.44571 2.93633 3.85864 2.93633 4.11333 3.19102L12.809 11.8867C13.0637 12.1414 13.0637 12.5543 12.809 12.809C12.5543 13.0637 12.1414 13.0637 11.8867 12.809L3.19102 4.11333C2.93633 3.85864 2.93633 3.44571 3.19102 3.19102Z",fill:"currentColor"}),n.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12.809 3.19102C13.0637 3.44571 13.0637 3.85864 12.809 4.11333L4.11333 12.809C3.85864 13.0637 3.44571 13.0637 3.19102 12.809C2.93633 12.5543 2.93633 12.1414 3.19102 11.8867L11.8867 3.19102C12.1414 2.93633 12.5543 2.93633 12.809 3.19102Z",fill:"currentColor"})],-1)];function So(e,t){return n.openBlock(),n.createElementBlock("button",vo,Lo)}const Bo=q(ko,[["render",So]]),To={name:"ThemeSelector",props:{currentTheme:{type:String,default:"lofi"}},data(){return{availableThemes:[{value:"lofi",name:"Lo-Fi",color:"#0f0f23"},{value:"pastel",name:"Pastel",color:"#d1c1d7"},{value:"fantasy",name:"Fantasy",color:"#6e0b75"},{value:"autumn",name:"Autumn",color:"#8c0327"},{value:"retro",name:"Retro",color:"#ef9995"},{value:"synthwave",name:"Synthwave",color:"#e779c1"},{value:"halloween",name:"Halloween",color:"#f28c18"},{value:"dracula",name:"Dracula",color:"#ff79c6"},{value:"coffee",name:"Coffee",color:"#db924b"},{value:"dim",name:"Dim",color:"#9fe88d"},{value:"sunset",name:"Sunset",color:"#ff865b"},{value:"cyberpunk",name:"Cyberpunk",color:"#ff7598"}]}},methods:{handleThemeChange(e){this.$emit("themeChange",e)},handleLabelClick(e){e.stopPropagation(),this.$nextTick(()=>{const t=this.$el.querySelector('[role="button"]');t&&t.blur()})}}},Ao={class:"dropdown dropdown-end z-50"},$o=n.createElementVNode("div",{tabindex:"0",role:"button",class:"btn btn-ghost btn-circle btn-xs"},[n.createElementVNode("svg",{class:"w-4 h-4 text-primary",fill:"currentColor",viewBox:"0 0 20 20"},[n.createElementVNode("path",{d:"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"})])],-1),Ro={tabindex:"0",class:"dropdown-content menu p-2 shadow bg-base-100 rounded-box w-52 max-h-96 overflow-y-auto z-50 border border-base-300"},Vo=["id","value","checked","onChange"],No=["for"],Io={class:"flex items-center gap-2"};function Mo(e,t,o,i,r,a){return n.openBlock(),n.createElementBlock("div",Ao,[$o,n.createElementVNode("ul",Ro,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.availableThemes,l=>(n.openBlock(),n.createElementBlock("li",{key:l.value},[n.createElementVNode("input",{type:"radio",id:`theme-${l.value}`,value:l.value,checked:o.currentTheme===l.value,onChange:c=>a.handleThemeChange(l.value),class:"theme-controller sr-only"},null,40,Vo),n.createElementVNode("label",{for:`theme-${l.value}`,class:n.normalizeClass(["cursor-pointer rounded-lg px-2 py-1 hover:bg-base-200",{"bg-primary text-primary-content":o.currentTheme===l.value}]),onClick:t[0]||(t[0]=(...c)=>a.handleLabelClick&&a.handleLabelClick(...c))},[n.createElementVNode("span",Io,[n.createElementVNode("span",{class:"w-3 h-3 rounded-full",style:n.normalizeStyle({backgroundColor:l.color})},null,4),n.createTextVNode(" "+n.toDisplayString(l.name),1)])],10,No)]))),128))])])}const _o=q(To,[["render",Mo]]),Do={class:"flex flex-col"},Fo={class:"flex min-w-0 gap-1","data-mode-toggle":""},zo=["disabled"],Oo={class:"flex shrink-0 items-center"},Wo={key:0,class:"flex items-center gap-1 px-2 pb-1"},lt={__name:"Header",props:{tts:String,isServiceUnavailable:Boolean,isFavorite:Boolean,isFavoriteFeatureEnabled:Boolean,isAITranslate:Boolean,isAIExplain:Boolean,isAITranslationLoading:Boolean,isAIExplainLoading:Boolean,isAIExplainVisible:Boolean,isAITranslateVisible:Boolean,theme:{type:String,default:"lofi"},showThemeSelector:{type:Boolean,default:!0},mode:{type:String,default:"translate"},canWrite:{type:Boolean,default:!0}},emits:["favorite","setting","close","loadTTS","aiTranslate","aiExplain","themeChange","dragStart","requestTranslate","requestWrite"],setup(e,{emit:t}){const o=e,i=n.computed(()=>o.mode!=="write"&&!o.isServiceUnavailable),r=t,a=c=>{c.target.closest('button, input, select, textarea, [role="button"]')||(r("dragStart",{type:"mouse",event:c}),c.preventDefault())},l=c=>{c.target.closest('button, input, select, textarea, [role="button"]')||(r("dragStart",{type:"touch",event:c}),c.preventDefault())};return(c,s)=>(n.openBlock(),n.createElementBlock("div",Do,[n.createElementVNode("div",{class:"flex cursor-grab flex-row items-center justify-between gap-1 p-2 pb-1 active:cursor-grabbing",onMousedown:a,onTouchstart:l},[n.createElementVNode("div",Fo,[n.createElementVNode("button",{type:"button",class:n.normalizeClass(["btn btn-xs",e.mode==="write"?"btn-ghost":"btn-primary"]),"data-mode":"translate",onClick:s[0]||(s[0]=d=>r("requestTranslate"))}," Translate ",2),n.createElementVNode("button",{type:"button",class:n.normalizeClass(["btn btn-xs",e.mode==="write"?"btn-primary":"btn-ghost"]),disabled:!e.canWrite,"data-mode":"write",onClick:s[1]||(s[1]=d=>r("requestWrite"))}," Write ",10,zo)]),n.createElementVNode("div",Oo,[e.showThemeSelector?(n.openBlock(),n.createBlock(_o,{key:0,"current-theme":e.theme,onThemeChange:s[2]||(s[2]=d=>r("themeChange",d))},null,8,["current-theme"])):n.createCommentVNode("",!0),n.createVNode(Eo,{onClick:s[3]||(s[3]=d=>r("setting"))}),n.createVNode(Bo,{onClick:s[4]||(s[4]=d=>r("close"))})])],32),i.value?(n.openBlock(),n.createElementBlock("div",Wo,[n.createVNode(Gn,{disabled:e.isAITranslationLoading||e.isAIExplainLoading,tts:o.tts,onLoadTTS:s[5]||(s[5]=d=>c.$emit("loadTTS"))},null,8,["disabled","tts"]),e.isAITranslateVisible?(n.openBlock(),n.createBlock(fo,{key:0,isLoading:e.isAITranslationLoading,isFilled:e.isAITranslate,onClick:s[6]||(s[6]=d=>r("aiTranslate"))},null,8,["isLoading","isFilled"])):n.createCommentVNode("",!0),e.isAIExplainVisible?(n.openBlock(),n.createBlock(Co,{key:1,isLoading:e.isAIExplainLoading,isFilled:e.isAIExplain,onClick:s[7]||(s[7]=d=>r("aiExplain"))},null,8,["isLoading","isFilled"])):n.createCommentVNode("",!0),o.isFavoriteFeatureEnabled?(n.openBlock(),n.createBlock(no,{key:2,isFilled:o.isFavorite,onClick:s[8]||(s[8]=d=>r("favorite")),disabled:e.isAITranslationLoading||e.isAIExplainLoading},null,8,["isFilled","disabled"])):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)]))}},Po={class:"pointer-events-none absolute inset-0 z-20"},Ho=["data-resize","aria-label","onPointerdown"],Uo={__name:"ResizeHandle",emits:["resizeStart"],setup(e,{emit:t}){const o=t,i=[{name:"n",class:"inset-x-3 top-0 h-2 cursor-ns-resize"},{name:"s",class:"inset-x-3 bottom-0 h-2 cursor-ns-resize"},{name:"e",class:"inset-y-3 right-0 w-2 cursor-ew-resize"},{name:"w",class:"inset-y-3 left-0 w-2 cursor-ew-resize"},{name:"nw",class:"left-0 top-0 h-3 w-3 cursor-nwse-resize"},{name:"ne",class:"right-0 top-0 h-3 w-3 cursor-nesw-resize"},{name:"sw",class:"bottom-0 left-0 h-3 w-3 cursor-nesw-resize"},{name:"se",class:"bottom-0 right-0 h-3 w-3 cursor-nwse-resize"}],r=(a,l)=>{var c,s;l.pointerType==="mouse"&&l.button!==0||(l.preventDefault(),l.stopPropagation(),(s=(c=l.currentTarget).setPointerCapture)==null||s.call(c,l.pointerId),o("resizeStart",{edge:a,event:l}))};return(a,l)=>(n.openBlock(),n.createElementBlock("div",Po,[(n.openBlock(),n.createElementBlock(n.Fragment,null,n.renderList(i,c=>n.createElementVNode("div",{key:c.name,"data-resize":c.name,class:n.normalizeClass(["pointer-events-auto absolute touch-none hover:bg-base-content/20",c.class]),"aria-label":`Resize from the ${c.name} border`,onPointerdown:s=>r(c.name,s),onClick:l[0]||(l[0]=n.withModifiers(()=>{},["stop"]))},null,42,Ho)),64))]))}},Re=4,Ve="check",jo=[{value:"check",label:"Check"},{value:"improve",label:"Improve"},{value:"improve-plus",label:"Academy"},{value:"friendly",label:"Friendly"},{value:"simplify",label:"Simplify"},{value:"more-detailed",label:"More detailed"}],Zo=new Set(["","text","search","email","url","tel"]),qo=4e4;function Xo(e,t){return!!e&&String(t||"").trim().length>=Re}function Yo(e){return{event:"toggleKey",key:e}}function Ko(e){const t=(e==null?void 0:e.nodeType)===3?e.parentElement:e;if(!t||t.nodeType!==1)return!1;if(Go(t))return!0;if(t.disabled||t.readOnly)return!1;const o=t.tagName;return o==="TEXTAREA"?!0:o==="INPUT"?Zo.has((t.type||"text").toLowerCase()):!1}function Go(e){var o;let t=e;for(;t&&t.nodeType===1;){const i=(o=t.getAttribute)==null?void 0:o.call(t,"contenteditable"),r=typeof t.contentEditable=="string"?t.contentEditable:"";if(i==="false"||r==="false")return!1;if(t.isContentEditable||i===""||i==="true"||i==="plaintext-only"||r==="true"||r==="plaintext-only")return!0;t=t.parentElement}return!1}function Jo(e,t){const o=at(e),i=at(t);return!o.length&&!i.length?[]:o.length*i.length>qo?[{value:String(t||""),added:!1,removed:!1}]:ni(o,i,ti(o,i))}function Qo(e){return String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function ei(e,t){return Jo(e,t).map(o=>{const i=Qo(o.value);return o.added?`<span class="bg-success/40">${i}</span>`:o.removed?`<span class="bg-error/30 line-through">${i}</span>`:i}).join("")}function at(e){return String(e||"").split(/(\s+)/).filter(t=>t.length)}function ti(e,t){const o=Array.from({length:e.length+1},()=>new Array(t.length+1).fill(0));for(let i=e.length-1;i>=0;i--)for(let r=t.length-1;r>=0;r--)o[i][r]=e[i]===t[r]?o[i+1][r+1]+1:Math.max(o[i+1][r],o[i][r+1]);return o}function ni(e,t,o){const i=[];let r=0,a=0;const l=(c,s,d)=>{const f=i[i.length-1];if(f&&f.added===s&&f.removed===d){f.value+=c;return}i.push({value:c,added:s,removed:d})};for(;r<e.length&&a<t.length;)e[r]===t[a]?(l(e[r],!1,!1),r+=1,a+=1):o[r+1][a]>=o[r][a+1]?(l(e[r],!1,!0),r+=1):(l(t[a],!0,!1),a+=1);for(;r<e.length;)l(e[r],!1,!0),r+=1;for(;a<t.length;)l(t[a],!0,!1),a+=1;return i}const oi={class:"flex flex-col gap-2 border-t border-base-300 p-3","data-write-view":""},ii={class:"flex items-center gap-1"},ri=["value","disabled"],li=["value"],ai=["disabled"],si={key:0,"data-write-loading":""},ci={key:1,class:"text-base leading-tight text-base-content"},di=["innerHTML"],ui={key:3,class:"whitespace-pre-wrap break-words text-base leading-tight text-base-content","data-result":""},fi={__name:"WriteView",props:{text:{type:String,default:""},result:{type:String,default:""},action:{type:String,default:"check"},loading:Boolean,editable:Boolean,unavailable:Boolean},emits:["action","copy","replace"],setup(e,{emit:t}){const o=e,i=t,r=n.computed(()=>o.text.trim().length<Re),a=n.computed(()=>!o.loading&&!!o.result),l=n.computed(()=>o.editable&&a.value),c=n.computed(()=>o.action==="check"&&!!o.result),s=n.computed(()=>c.value?ei(o.text,o.result):"");function d(){a.value&&i("copy",o.result)}function f(){l.value&&i("replace",{text:o.text,result:o.result})}return(p,g)=>(n.openBlock(),n.createElementBlock("div",oi,[n.createElementVNode("div",ii,[n.createElementVNode("select",{class:"select select-bordered select-xs min-w-0 flex-1",value:e.action,disabled:e.loading||r.value,"data-write-action":"",onChange:g[0]||(g[0]=m=>i("action",m.target.value))},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(n.unref(jo),m=>(n.openBlock(),n.createElementBlock("option",{key:m.value,value:m.value},n.toDisplayString(m.label),9,li))),128))],40,ri),n.createElementVNode("button",{type:"button",class:"btn btn-xs",disabled:!a.value,"data-copy":"",onClick:d}," Copy ",8,ai),l.value?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"btn btn-xs btn-primary","data-replace":"",onClick:f}," Replace ")):n.createCommentVNode("",!0)]),e.loading?(n.openBlock(),n.createElementBlock("div",si,[n.createVNode($e)])):e.unavailable?(n.openBlock(),n.createElementBlock("p",ci," Service Unavailable ")):c.value?(n.openBlock(),n.createElementBlock("pre",{key:2,class:"m-0 whitespace-pre-wrap break-words text-base leading-tight text-base-content","data-diff":"",innerHTML:s.value},null,8,di)):e.result?(n.openBlock(),n.createElementBlock("p",ui,n.toDisplayString(e.result),1)):n.createCommentVNode("",!0)]))}},I={LOGO:"LOGO",LOADING:"LOADING",DATA:"DATA",ERROR:"ERROR",HIDDEN:"HIDDEN"},st=320,mi=240,ct=250,hi=120,pi=8,gi=["ar","fa","iw","yi","ur","pa"],Ci={key:0,class:"flex justify-center"},bi={key:1,class:"flex justify-center"},wi={class:"p-3 border-t border-base-300"},yi=Object.assign({name:"Bubble",props:["translation","explanation","tts","status","isFavorite","isFavoriteFeatureEnabled","isAITranslate","isAIExplain","aiExplainMinLength","theme","showThemeSelector","constrained","mode","editable","writing","writeAction","isWriteLoading","selectedText"],emits:["logo","favorite","settings","close","loadTTS","aiTranslate","aiExplain","learn","themeChange","dragStart","resizeStart","write","replace","copy"],data(){return{data:null,isLongSentence:!1,isServiceUnavailable:!1,isAITranslationLoading:!1,isAIExplainLoading:!1}},computed:{showAIPrompt(){var e,t,o;return!this.isAITranslate&&!this.isServiceUnavailable&&((t=(e=this.data)==null?void 0:e.dictionary)==null?void 0:t.length)===0&&!!((o=this.data)!=null&&o.result)},showAIExplainPrompt(){var e,t,o,i,r;return!this.isAIExplain&&!this.isServiceUnavailable&&((t=(e=this.data)==null?void 0:e.dictionary)==null?void 0:t.length)===0&&!!((o=this.data)!=null&&o.result)&&((r=(i=this.data)==null?void 0:i.text)==null?void 0:r.length)>=this.aiExplainMinLength},showLearnPrompt(){var e;return this.isFavorite&&!this.isServiceUnavailable&&!!((e=this.data)!=null&&e.result)},isWrite(){return this.mode==="write"},currentAction(){var e;return this.writeAction||((e=this.writing)==null?void 0:e.action)||Ve},activeText(){var e,t;return this.selectedText||((e=this.writing)==null?void 0:e.text)||((t=this.data)==null?void 0:t.text)||""},canWrite(){return this.activeText.trim().length>=Re},shownResult(){var e;return!((e=this.writing)!=null&&e.result)||this.selectedText&&this.writing.text&&this.writing.text!==this.selectedText?"":this.writing.result}},methods:{handleLogo(){if(Xo(this.editable,this.selectedText)){this.$emit("write",{text:this.selectedText,action:this.currentAction});return}this.$emit("logo")},requestWrite(){this.isWrite||!this.canWrite||this.$emit("write",{text:this.activeText,action:this.currentAction})},requestTranslate(){this.isWrite&&this.$emit("logo")},handleWriteAction(e){!this.canWrite||e===this.currentAction||this.$emit("write",{text:this.activeText,action:e})},handleCopy(e){this.$emit("copy",e)},handleReplace(e){this.editable&&this.$emit("replace",e)},handleAITranslate(){this.isAITranslationLoading=!0,this.$emit("aiTranslate")},handleAIExplain(){this.isAIExplainLoading=!0,this.$emit("aiExplain")},handleLearn(){var e,t,o;this.$emit("learn",{word:(e=this.data)==null?void 0:e.text,translation:(t=this.data)==null?void 0:t.result,dictionary:(o=this.data)==null?void 0:o.dictionary})}},watch:{translation:{handler(){var e,t,o,i;try{this.data=this.translation,this.isLongSentence=!((t=(e=this.data)==null?void 0:e.phonetic)!=null&&t.src||((i=(o=this.data)==null?void 0:o.dictionary)==null?void 0:i.length)>0),this.isServiceUnavailable=!1}catch{this.isServiceUnavailable=!0}finally{this.isAITranslationLoading=!1,this.isAIExplainLoading=!1}},immediate:!0},explanation:{handler(){this.isAIExplainLoading=!1},immediate:!0},status(){this.status===I.ERROR&&(this.isServiceUnavailable=!0)}}},{setup(e){return(t,o)=>{var i,r,a,l,c,s,d,f,p,g,m;return e.status===n.unref(I).LOGO?(n.openBlock(),n.createElementBlock("div",Ci,[n.createVNode(Cn,{onClick:t.handleLogo},null,8,["onClick"])])):e.status===n.unref(I).LOADING?(n.openBlock(),n.createElementBlock("div",bi,[n.createVNode(Ln)])):e.status!==n.unref(I).HIDDEN?(n.openBlock(),n.createElementBlock("div",{key:2,class:n.normalizeClass(["wrapper rounded-lg text-base-content text-sm shadow-lg relative bg-[length:300%_300%] bg-[position:0%_50%]",e.constrained?"flex h-full w-full min-w-0 flex-col":"",{"p-0.5 bg-gradient-to-br from-primary via-secondary via-accent to-info animate-moveGradient":e.isAITranslate||e.isAIExplain,"p-0.5 bg-base-300":!e.isAITranslate&&!e.isAIExplain}])},[n.createElementVNode("div",{class:n.normalizeClass(["bg-base-100 rounded-md relative z-10",e.constrained?"flex min-h-0 min-w-0 flex-1 flex-col":""])},[t.isServiceUnavailable?(n.openBlock(),n.createBlock(lt,{key:0,class:"shrink-0",isServiceUnavailable:t.isServiceUnavailable,isLongSentence:!1,theme:e.theme,showThemeSelector:e.showThemeSelector,mode:e.mode,canWrite:t.canWrite,onFavorite:o[0]||(o[0]=h=>t.$emit("favorite")),onSetting:o[1]||(o[1]=h=>t.$emit("settings")),onClose:o[2]||(o[2]=h=>t.$emit("close")),onLoadTTS:o[3]||(o[3]=h=>t.$emit("loadTTS")),onThemeChange:o[4]||(o[4]=h=>t.$emit("themeChange",h)),onRequestTranslate:t.requestTranslate,onRequestWrite:t.requestWrite},null,8,["isServiceUnavailable","theme","showThemeSelector","mode","canWrite","onRequestTranslate","onRequestWrite"])):(n.openBlock(),n.createBlock(lt,{key:1,class:"shrink-0",tts:e.tts,isFavorite:e.isFavorite,isAITranslate:e.isAITranslate,isAITranslateVisible:((r=(i=t.data)==null?void 0:i.dictionary)==null?void 0:r.length)===0,isAIExplain:e.isAIExplain,isAIExplainVisible:((l=(a=t.data)==null?void 0:a.text)==null?void 0:l.length)>=e.aiExplainMinLength,isAITranslationLoading:t.isAITranslationLoading,isAIExplainLoading:t.isAIExplainLoading,isFavoriteFeatureEnabled:e.isFavoriteFeatureEnabled,isLongSentence:t.isLongSentence,theme:e.theme,showThemeSelector:e.showThemeSelector,mode:e.mode,canWrite:t.canWrite,onFavorite:o[5]||(o[5]=h=>t.$emit("favorite")),onSetting:o[6]||(o[6]=h=>t.$emit("settings")),onClose:o[7]||(o[7]=h=>t.$emit("close")),onLoadTTS:o[8]||(o[8]=h=>t.$emit("loadTTS")),onAiTranslate:t.handleAITranslate,onAiExplain:t.handleAIExplain,onThemeChange:o[9]||(o[9]=h=>t.$emit("themeChange",h)),onDragStart:o[10]||(o[10]=h=>t.$emit("dragStart",h)),onRequestTranslate:t.requestTranslate,onRequestWrite:t.requestWrite},null,8,["tts","isFavorite","isAITranslate","isAITranslateVisible","isAIExplain","isAIExplainVisible","isAITranslationLoading","isAIExplainLoading","isFavoriteFeatureEnabled","isLongSentence","theme","showThemeSelector","mode","canWrite","onAiTranslate","onAiExplain","onRequestTranslate","onRequestWrite"])),n.createElementVNode("div",{class:n.normalizeClass(e.constrained?"min-h-0 min-w-0 flex-1 overflow-y-auto overflow-x-hidden break-words overscroll-contain":"")},[t.isWrite?(n.openBlock(),n.createBlock(fi,{key:0,text:t.activeText,result:t.shownResult,action:t.currentAction,loading:e.isWriteLoading,editable:e.editable,unavailable:t.isServiceUnavailable,onAction:t.handleWriteAction,onCopy:t.handleCopy,onReplace:t.handleReplace},null,8,["text","result","action","loading","editable","unavailable","onAction","onCopy","onReplace"])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[n.createElementVNode("div",wi,[(s=(c=t.data)==null?void 0:c.phonetic)!=null&&s.src?(n.openBlock(),n.createBlock($n,{key:0,phonetic:(f=(d=t.data)==null?void 0:d.phonetic)==null?void 0:f.src},null,8,["phonetic"])):n.createCommentVNode("",!0),n.createVNode(Vn,{sentences:t.isServiceUnavailable?"Service Unavailable":(p=t.data)==null?void 0:p.result},null,8,["sentences"]),n.createVNode(In,{show:t.showAIPrompt,isLoading:t.isAITranslationLoading,onClick:t.handleAITranslate},null,8,["show","isLoading","onClick"]),n.createVNode(_n,{show:t.showAIExplainPrompt,isLoading:t.isAIExplainLoading,onClick:t.handleAIExplain},null,8,["show","isLoading","onClick"]),n.createVNode(Fn,{show:t.showLearnPrompt,onClick:t.handleLearn},null,8,["show","onClick"])]),!t.isServiceUnavailable&&((m=(g=t.data)==null?void 0:g.dictionary)==null?void 0:m.length)>0?(n.openBlock(),n.createBlock(Wn,{key:0,class:"p-3 pt-0 border-t border-base-300",dictionary:t.data.dictionary},null,8,["dictionary"])):n.createCommentVNode("",!0),!t.isServiceUnavailable&&e.isAIExplain&&e.explanation?(n.openBlock(),n.createBlock(Zn,{key:1,class:"p-3 pt-0 border-t border-base-300",explanation:e.explanation},null,8,["explanation"])):n.createCommentVNode("",!0)],64))],2),n.createVNode(Uo,{onResizeStart:o[11]||(o[11]=h=>t.$emit("resizeStart",h))})],2)],2)):n.createCommentVNode("",!0)}}});function xi(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ne={exports:{}},dt;function Ei(){return dt||(dt=1,function(e){(function(){var t=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","MozTabSize"],o=typeof window<"u",i=o&&window.mozInnerScreenX!=null;function r(a,l,c){if(!o)throw new Error("textarea-caret-position#getCaretCoordinates should only be called in a browser");var s=c&&c.debug||!1;if(s){var d=document.querySelector("#input-textarea-caret-position-mirror-div");d&&d.parentNode.removeChild(d)}var f=document.createElement("div");f.id="input-textarea-caret-position-mirror-div",document.body.appendChild(f);var p=f.style,g=window.getComputedStyle?window.getComputedStyle(a):a.currentStyle,m=a.nodeName==="INPUT";p.whiteSpace="pre-wrap",m||(p.wordWrap="break-word"),p.position="absolute",s||(p.visibility="hidden"),t.forEach(function(w){m&&w==="lineHeight"?p.lineHeight=g.height:p[w]=g[w]}),i?a.scrollHeight>parseInt(g.height)&&(p.overflowY="scroll"):p.overflow="hidden",f.textContent=a.value.substring(0,l),m&&(f.textContent=f.textContent.replace(/\s/g," "));var h=document.createElement("span");h.textContent=a.value.substring(l)||".",f.appendChild(h);var b={top:h.offsetTop+parseInt(g.borderTopWidth),left:h.offsetLeft+parseInt(g.borderLeftWidth),height:parseInt(g.lineHeight)};return s?h.style.backgroundColor="#aaa":document.body.removeChild(f),b}e.exports=r})()}(Ne)),Ne.exports}var ki=Ei();const ut=xi(ki);function X(e){const t=window.getSelection();let o=t+"";if(o=o.trim(),e&&e.type==="password"||!o.length&&(!e||e.selectionStart==null||e.selectionEnd==null||e.selectionStart===e.selectionEnd||(o=e.value.substring(e.selectionStart,e.selectionEnd),o=o.trim(),!o.length)))return!1;let i=Bi(t),{top:r,bottom:a,left:l,width:c,height:s}=i;if(!a&&!l){if(!e||e.selectionStart==null||e.selectionEnd==null)return!1;let d=ut(e,e.selectionStart),f=ut(e,e.selectionEnd);i=e.getBoundingClientRect(),l=i.left+d.left,c=f.left-d.left,d.top!=f.top&&(l=i.left,c=i.width),r=i.top+d.top,a=i.top+f.top+20}return s===0&&(s=a-r),{text:o,x:l,y:r,top:r,bottom:a,left:l,right:l+c,width:c,height:s}}function ft(e){var t;return((t=e==null?void 0:e.key)==null?void 0:t.toLowerCase())==="a"&&!!(e.ctrlKey||e.metaKey)}function Ie(e,t){return!!(e||t)}function vi(e,t,o){return!e||!o?!1:e.text===o&&(!e.el||e.el===t)}function Li(e,t){return!!t&&e===t}function Si(e){return(e==null?void 0:e.key)==="Control"||(e==null?void 0:e.key)==="Meta"||(e==null?void 0:e.key)==="Shift"||(e==null?void 0:e.key)==="Alt"}function Bi(e){if(!e||e.rangeCount===0)return{top:0,bottom:0,left:0,width:0,height:0};try{return e.getRangeAt(0).getBoundingClientRect()}catch{return{top:0,bottom:0,left:0,width:0,height:0}}}function Ti(){const e=document.getElementsByTagName("ddict-div");for(let t of e)if(!t.parentNode.matches('wrapper[dir="rtl"]')){const o=document.createElement("wrapper");o.setAttribute("dir","rtl"),t.parentNode.insertBefore(o,t),o.appendChild(t)}}function Ai(){const e=document.querySelectorAll('wrapper[dir="rtl"]');for(let t of e){const o=t.querySelector("ddict-div");o&&(t.parentNode.insertBefore(o,t),t.remove())}}const mt={supportRTL:Ti,removeRTL:Ai},$i=2,Ri={n:{x:!1,y:!0,fromStartX:!1,fromStartY:!0},s:{x:!1,y:!0,fromStartX:!1,fromStartY:!1},e:{x:!0,y:!1,fromStartX:!1,fromStartY:!1},w:{x:!0,y:!1,fromStartX:!0,fromStartY:!1},ne:{x:!0,y:!0,fromStartX:!1,fromStartY:!0},nw:{x:!0,y:!0,fromStartX:!0,fromStartY:!0},se:{x:!0,y:!0,fromStartX:!1,fromStartY:!1},sw:{x:!0,y:!0,fromStartX:!0,fromStartY:!1}};function Vi(e,t,o=$i){return Math.abs(e)>=o||Math.abs(t)>=o}function le(e,t,o){const i=o>t?o:t;return Math.min(i,Math.max(t,e))}function Ni({x:e,y:t,width:o,height:i,dx:r,dy:a,scale:l=1,edge:c,minWidth:s,minHeight:d,viewportWidth:f,viewportHeight:p,margin:g=8}){const m=Ri[c];if(!m)return{x:e,y:t,width:o,height:i};const h=l>0?l:1,b=e+o*h,w=t+i*h,x=f-g,E=p-g;let y=e,S=t,v=o,B=i;if(m.x&&m.fromStartX){const k=g,V=b-s*h;y=le(e+r,k,V),v=(b-y)/h}else m.x&&(v=le(o+r/h,s,Math.max(s,(x-e)/h)));if(m.y&&m.fromStartY){const k=g,V=w-d*h;S=le(t+a,k,V),B=(w-S)/h}else m.y&&(B=le(i+a/h,d,Math.max(d,(E-t)/h)));return{x:Math.round(y),y:Math.round(S),width:Math.round(v),height:Math.round(B)}}function Ii(e){const t=Wi(e);if(!t)return null;if(Pi(t)){const a=t.selectionStart,l=t.selectionEnd;return a==null||l==null||a===l?null:{kind:"value",element:t,start:a,end:l,text:t.value.slice(a,l)}}const o=window.getSelection();if(!o||o.rangeCount===0)return null;const i=o.getRangeAt(0).cloneRange(),r=i.toString();return r?{kind:"range",element:t,range:i,text:r}:null}function Mi(e,t){return!e||t==null?!1:e.kind==="value"?Di(e,t):Fi(e,t)}async function _i(e){var t;if(!e)return!1;try{if((t=navigator.clipboard)!=null&&t.writeText)return await navigator.clipboard.writeText(e),!0}catch{}return Oi(e)}function Di(e,t){const o=e.element;if(!o||o.value.slice(e.start,e.end)!==e.text)return!1;const i=o.value.slice(0,e.start)+t+o.value.slice(e.end);zi(o,i);const r=e.start+t.length;return o.focus(),o.setSelectionRange(r,r),ht(o),!0}function Fi(e,t){const o=e.range;if(!o||o.toString()!==e.text)return!1;o.deleteContents();const i=o.startContainer.ownerDocument.createTextNode(t);return o.insertNode(i),o.setStartAfter(i),o.collapse(!0),ht(e.element),!0}function zi(e,t){var i;const o=(i=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),"value"))==null?void 0:i.set;o?o.call(e,t):e.value=t}function ht(e){e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0}))}function Oi(e){const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.left="-9999px",document.body.appendChild(t),t.select();let o=!1;try{o=document.execCommand("copy")}catch{o=!1}return t.remove(),o}function Wi(e){return e?e.nodeType===3?e.parentElement:e:null}function Pi(e){return e.tagName==="TEXTAREA"||e.tagName==="INPUT"}const Hi={__name:"HotKeysListener",props:{textSelected:String},emits:["toggleKey","close"],setup(e,{emit:t}){const o=e,i=t,r=()=>{setTimeout(()=>{o.textSelected&&c("DoubleClick")},50)},a=s=>{(s.altKey&&s.key.toLowerCase()==="w"||s.key==="∑")&&o.textSelected&&(c("Alt+W"),s.preventDefault()),s.key==="Escape"&&(c("Escape"),s.preventDefault())},l=s=>{s.key==="Shift"&&o.textSelected&&c("Shift")},c=s=>{switch(s){case"DoubleClick":i("toggleKey","DoubleClick");break;case"Shift":i("toggleKey","Shift");break;case"Alt+W":i("toggleKey","Alt+W");break;case"Escape":i("close");break}};return n.onMounted(()=>{window.addEventListener("dblclick",r),window.addEventListener("keydown",a),window.addEventListener("keyup",l)}),n.onUnmounted(()=>{window.removeEventListener("dblclick",r),window.removeEventListener("keydown",a),window.removeEventListener("keyup",l)}),(s,d)=>(n.openBlock(),n.createElementBlock("div"))}},Ui=["data-theme"],ji={__name:"BubbleWrapper",props:{translation:Object,explanation:Object,isFavoriteFeatureEnabled:Boolean,isAITranslate:Boolean,isAIExplain:Boolean,isFavorite:Boolean,tts:String,status:String,scale:{type:Number,default:1},aiExplainMinLength:{type:Number,default:0},theme:{type:String,default:"lofi"},showThemeSelector:{type:Boolean,default:!0},mode:{type:String,default:"translate"},writing:{type:Object,default:null},writeAction:{type:String,default:Ve},isWriteLoading:{type:Boolean,default:!1}},emits:["toggleKey","logo","favorite","settings","close","loadTTS","aiTranslate","aiExplain","learn","themeChange","write","replace","copy"],setup(e,{emit:t}){const o=e,i=t,r=n.ref(null),a=n.ref(null),l=n.ref(null),c=n.ref(!1),s=n.ref(""),d=n.ref(!1),f=n.ref(o.writeAction||Ve);let p=null;n.watch(()=>o.writeAction,(u,C)=>{u&&u!==C&&(f.value=u)});const g=n.ref(o.theme),m=n.ref(!1),h=n.ref(!1),b=n.ref({x:0,y:0}),w=n.ref(null),x=n.ref(null),E=n.ref(null),y=n.ref(null),S=n.ref(!1);let v=!1,B=0,k=!1,V="",F="";const Y=n.computed(()=>typeof window>"u"||!l.value||!s.value?null:{getBoundingClientRect:()=>X(l.value),getClientRects:()=>X(l.value)}),{floatingStyles:ye,update:ae}=fn(Y,r,{placement:"bottom",middleware:[an(4),cn(),sn()],whileElementsMounted(u,C,L){return ln(u,C,L,{ancestorScroll:!0,elementResize:!1})}}),se=n.computed(()=>o.status===I.DATA||o.status===I.ERROR),T=n.computed(()=>{var C,L;if(!se.value)return null;const u=E.value?le(E.value,ct,st):st;return{width:((C=x.value)==null?void 0:C.width)??u,height:((L=x.value)==null?void 0:L.height)??mi}}),xe=n.computed(()=>{let u=ye.value;if(w.value)u={...u,position:"fixed",left:`${w.value.x}px`,top:`${w.value.y}px`,transform:"none"};else if(S.value&&l.value&&s.value){const C=X(l.value);C&&(u={...u,position:"fixed",left:`${C.x}px`,top:`${C.y+C.height+4}px`,transform:"none"})}return u={...u,zIndex:9999},T.value&&(u={...u,width:`${T.value.width}px`,height:`${T.value.height}px`,maxWidth:`${T.value.width}px`,boxSizing:"border-box"}),u}),K=n.computed(()=>{const u={transform:o.scale!==1?`scale(${o.scale})`:"none",transformOrigin:"top left"};return T.value&&(u.width=`${T.value.width}px`,u.height=`${T.value.height}px`,u.boxSizing="border-box"),u});n.onMounted(()=>{document.addEventListener("keydown",yt),document.addEventListener("keyup",xt),document.addEventListener("select",Et),document.addEventListener("selectionchange",kt),document.addEventListener("pointerdown",gt),document.addEventListener("pointerup",Ct),document.addEventListener("pointercancel",bt),document.documentElement.onclick=u=>{Me(),!Bt()&&wt(u.target)},document.documentElement.ontouchend=u=>{Me(),!Bt()&&wt(u.target)}}),n.onUnmounted(()=>{document.removeEventListener("keydown",yt),document.removeEventListener("keyup",xt),document.removeEventListener("select",Et),document.removeEventListener("selectionchange",kt),document.removeEventListener("pointerdown",gt),document.removeEventListener("pointerup",Ct),document.removeEventListener("pointercancel",bt),cancelAnimationFrame(M),clearTimeout(G),document.documentElement.onclick=null,document.documentElement.ontouchend=null,clearTimeout(B),document.removeEventListener("mousemove",_e),document.removeEventListener("mouseup",Fe),document.removeEventListener("touchmove",De),document.removeEventListener("touchend",ze),We()});let M=0,A=!1,$=!1,G=0,J=null,pt="";const gt=u=>{A=!0,$=!0,clearTimeout(G);const C=X(u.target);pt=C?C.text:""},Ct=()=>{A=!1,clearTimeout(G),G=window.setTimeout(()=>{$=!1,ce()},50)},bt=()=>{A=!1,Me()},Me=()=>{$=!1,clearTimeout(G)},wt=u=>{const C=X(u);if(!C||Li(pt,C.text)){c.value&&St();return}J=null,vt(C,{target:u})},yt=u=>{ft(u)&&(J=null,ce())},xt=u=>{if(!Si(u)){if(ft(u)){J=null,ce();return}X(u.target)||St()}},Et=u=>{Ie(A,$)||(J=null,ce(u.target))},kt=()=>{Ie(A,$)||o.status===I.DATA||o.status===I.LOADING||ce()},ce=u=>{cancelAnimationFrame(M),M=requestAnimationFrame(()=>{if(Ie(A,$))return;const C=u||document.activeElement,L=X(C);L&&(c.value&&s.value===L.text||vi(J,C,L.text)||(J=null,vt(L,{target:C})))})},vt=(u,C)=>{(o.status===I.DATA||o.status===I.LOADING||o.status===I.ERROR)&&i("close"),c.value&&!S.value&&(S.value=!0),l.value=C.target,u.width&&(E.value=u.width),d.value=Ko(C.target),p=d.value?Ii(C.target):null,s.value=u.text,c.value=!0,n.nextTick(ae)},Lt=()=>{s.value&&(J={text:s.value,el:l.value})},St=()=>{Lt(),cancelAnimationFrame(M),s.value="",d.value=!1,p=null,de()},Zi=u=>{_i(u),i("copy",u),de()},qi=u=>{Mi(p,u==null?void 0:u.result),p=null,i("replace",u),de()},Xi=u=>{u!=null&&u.action&&(f.value=u.action),i("write",u)},Yi=u=>{const C=Yo(u);i(C.event,C.key)},Ki=u=>{u.stopPropagation()},de=async()=>{Lt(),We(),c.value=!1,w.value=null,S.value=!1,i("close")},Gi=u=>{g.value=u,i("themeChange",u)},Ji=({type:u,event:C})=>{m.value=!0;const L=r.value.getBoundingClientRect();if(u==="mouse")b.value={x:C.clientX-L.left,y:C.clientY-L.top},document.addEventListener("mousemove",_e),document.addEventListener("mouseup",Fe);else if(u==="touch"){const ne=C.touches[0];b.value={x:ne.clientX-L.left,y:ne.clientY-L.top},document.addEventListener("touchmove",De),document.addEventListener("touchend",ze)}},_e=u=>{m.value&&(w.value={x:u.clientX-b.value.x,y:u.clientY-b.value.y})},De=u=>{if(!m.value)return;const C=u.touches[0];w.value={x:C.clientX-b.value.x,y:C.clientY-b.value.y}},Fe=()=>{m.value&&Oe(),m.value=!1,document.removeEventListener("mousemove",_e),document.removeEventListener("mouseup",Fe)},ze=()=>{m.value&&Oe(),m.value=!1,document.removeEventListener("touchmove",De),document.removeEventListener("touchend",ze)},Bt=()=>m.value||h.value?!0:v?(v=!1,clearTimeout(B),!0):!1,Oe=()=>{v=!0,clearTimeout(B),B=window.setTimeout(()=>{v=!1},50)},Qi={n:"ns-resize",s:"ns-resize",e:"ew-resize",w:"ew-resize",ne:"nesw-resize",sw:"nesw-resize",nw:"nwse-resize",se:"nwse-resize"},er=u=>{!document.body||k||(V=document.body.style.cursor,F=document.body.style.userSelect,document.body.style.cursor=Qi[u]||"nwse-resize",document.body.style.userSelect="none",k=!0)},tr=()=>{!document.body||!k||(document.body.style.cursor=V,document.body.style.userSelect=F,k=!1)},nr=({edge:u,event:C})=>{if(!a.value||!r.value||!a.value.offsetWidth||!a.value.offsetHeight)return;const L=r.value.getBoundingClientRect();h.value=!0,y.value={pointerX:C.clientX,pointerY:C.clientY,left:L.left,top:L.top,width:a.value.offsetWidth,height:a.value.offsetHeight,edge:u,moved:!1},er(u),document.addEventListener("pointermove",Tt),document.addEventListener("pointerup",Ee),document.addEventListener("pointercancel",Ee)},or=(u,C)=>{if(!h.value||!y.value||!r.value)return;const L=u-y.value.pointerX,ne=C-y.value.pointerY;if(!y.value.moved&&!Vi(L,ne))return;y.value.moved=!0;const ke=Ni({x:y.value.left,y:y.value.top,width:y.value.width,height:y.value.height,dx:L,dy:ne,scale:o.scale,edge:y.value.edge,minWidth:ct,minHeight:hi,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,margin:pi});w.value={x:ke.x,y:ke.y},x.value={width:ke.width,height:ke.height}},Tt=u=>{u.cancelable&&u.preventDefault(),or(u.clientX,u.clientY)},Ee=()=>{We()},We=()=>{h.value&&Oe(),h.value=!1,y.value=null,tr(),document.removeEventListener("pointermove",Tt),document.removeEventListener("pointerup",Ee),document.removeEventListener("pointercancel",Ee)},ir=()=>{var C;const u=(C=o==null?void 0:o.translation)==null?void 0:C.target;gi.includes(u)?mt.supportRTL():mt.removeRTL()};return n.watch(()=>o.status,()=>{c.value&&n.nextTick(ae),ir()}),n.watch(()=>o.theme,u=>{g.value=u}),(u,C)=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[c.value?(n.openBlock(),n.createElementBlock("div",{key:0,ref_key:"floatingEl",ref:r,style:n.normalizeStyle(xe.value),onClick:Ki},[n.createElementVNode("div",{ref_key:"contentEl",ref:a,class:"relative rounded-lg",style:n.normalizeStyle(K.value),"data-theme":g.value},[n.createVNode(yi,{translation:o.translation,explanation:o.explanation,tts:o.tts,status:o.status,isFavorite:o.isFavorite,isFavoriteFeatureEnabled:o.isFavoriteFeatureEnabled,isAITranslate:o.isAITranslate,isAIExplain:o.isAIExplain,aiExplainMinLength:o.aiExplainMinLength,theme:g.value,showThemeSelector:o.showThemeSelector,constrained:se.value,mode:o.mode,writing:o.writing,writeAction:f.value,isWriteLoading:o.isWriteLoading,editable:d.value,selectedText:s.value,onLogo:C[0]||(C[0]=L=>i("logo")),onWrite:Xi,onReplace:qi,onCopy:Zi,onFavorite:C[1]||(C[1]=L=>i("favorite")),onSettings:C[2]||(C[2]=L=>i("settings")),onClose:de,onLoadTTS:C[3]||(C[3]=L=>i("loadTTS")),onAiTranslate:C[4]||(C[4]=L=>i("aiTranslate")),onAiExplain:C[5]||(C[5]=L=>i("aiExplain")),onLearn:C[6]||(C[6]=L=>i("learn",L)),onThemeChange:Gi,onDragStart:Ji,onResizeStart:nr},null,8,["translation","explanation","tts","status","isFavorite","isFavoriteFeatureEnabled","isAITranslate","isAIExplain","aiExplainMinLength","theme","showThemeSelector","constrained","mode","writing","writeAction","isWriteLoading","editable","selectedText"])],12,Ui)],4)):n.createCommentVNode("",!0),n.createVNode(Hi,{textSelected:s.value,onToggleKey:Yi,onClose:de},null,8,["textSelected"])],64))}};P.default=ji,Object.defineProperties(P,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|