varvle=Object.defineProperty;varSj=t=>{throwTypeError(t)};varyle=(t,e,n)=>eint?vle(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;varHe=(t,e,n)=>yle(t,typeofe!="symbol"?e+"":e,n),_P=(t,e,n)=>e.has(t)||Sj("Cannot "+n);varC=(t,e,n)=>(_P(t,e,"read from private field"),n?n.call(t):e.get(t)),z=(t,e,n)=>e.has(t)?Sj("Cannot add the same private member more than once"):einstanceofWeakSet?e.add(t):e.set(t,n),$=(t,e,n,r)=>(_P(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),B=(t,e,n)=>(_P(t,e,"access private method"),n);varvs=(t,e,n,r)=>({set_(s){$(t,e,s,n)},get_(){returnC(t,e,r)}});functionl5(t,e){for(varn=0;n<e.length;n++){constr=e[n];if(typeofr!="string"&&!Array.isArray(r)){for(constsinr)if(s!=="default"&&!(sint)){consti=Object.getOwnPropertyDescriptor(r,s);i&&Object.defineProperty(t,s,i.get?i:{enumerable:!0,get:()=>r[s]})}}}returnObject.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){conste=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(constsofdocument.querySelectorAll('link[rel="modulepreload"]'))r(s);newMutationObserver(s=>{for(constiofs)if(i.type==="childList")for(constaofi.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});functionn(s){consti={};returns.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}functionr(s){if(s.ep)return;s.ep=!0;consti=n(s);fetch(s.href,i)}})();varyr=typeofglobalThis<"u"?globalThis:typeofwindow<"u"?window:typeofglobal<"u"?global:typeofself<"u"?self:{};functionDd(t){returnt&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}functionble(t){if(t.__esModule)returnt;vare=t.default;if(typeofe=="function"){varn=functionr(){returnthisinstanceofr?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}elsen={};returnObject.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(r){vars=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,s.get?s:{enumerable:!0,get:function(){returnt[r]}})}),n}varc5={exports:{}},g1={},u5={exports:{}},Mt={};/**
*/var qw=Symbol.for("react.element"),wle=Symbol.for("react.portal"),_le=Symbol.for("react.fragment"),xle=Symbol.for("react.strict_mode"),Sle=Symbol.for("react.profiler"),Ele=Symbol.for("react.provider"),Cle=Symbol.for("react.context"),Ale=Symbol.for("react.forward_ref"),Rle=Symbol.for("react.suspense"),Ple=Symbol.for("react.memo"),Tle=Symbol.for("react.lazy"),Ej=Symbol.iterator;function kle(t){return t===null||typeof t!="object"?null:(t=Ej&&t[Ej]||t["@@iterator"],typeof t=="function"?t:null)}var d5={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},f5=Object.assign,h5={};function mv(t,e,n){this.props=t,this.context=e,this.refs=h5,this.updater=n||d5}mv.prototype.isReactComponent={};mv.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};mv.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function p5(){}p5.prototype=mv.prototype;function iM(t,e,n){this.props=t,this.context=e,this.refs=h5,this.updater=n||d5}var oM=iM.prototype=new p5;oM.constructor=iM;f5(oM,mv.prototype);oM.isPureReactComponent=!0;var Cj=Array.isArray,m5=Object.prototype.hasOwnProperty,aM={current:null},g5={key:!0,ref:!0,__self:!0,__source:!0};function v5(t,e,n){var r,s={},i=null,a=null;if(e!=null)for(r in e.ref!==void 0&&(a=e.ref),e.key!==void 0&&(i=""+e.key),e)m5.call(e,r)&&!g5.hasOwnProperty(r)&&(s[r]=e[r]);var o=arguments.length-2;if(o===1)s.children=n;else if(1<o){for(var c=Array(o),u=0;u<o;u++)c[u]=arguments[u+2];s.children=c}if(t&&t.defaultProps)for(r in o=t.defaultProps,o)s[r]===void 0&&(s[r]=o[r]);return{$$typeof:qw,type:t,key:i,ref:a,props:s,_owner:aM.current}}function Dle(t,e){return{$$typeof:qw,type:t.type,key:e,ref:t.ref,props:t.props,_owner:t._owner}}function lM(t){return typeof t=="object"&&t!==null&&t.$$typeof===qw}function Nle(t){var e={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(n){returne[n]})}varAj=/\/+/g;functionxP(t,e){returntypeoft=="object"&&t!==null&&t.key!=null?Nle(""+t.key):e.toString(36)}functionRS(t,e,n,r,s){vari=typeoft;(i==="undefined"||i==="boolean")&&(t=null);vara=!1;if(t===null)a=!0;elseswitch(i){case"string":case"number":a=!0;break;case"object":switch(t.$$typeof){caseqw:casewle:a=!0}}if(a)returna=t,s=s(a),t=r===""?"."+xP(a,0):r,Cj(s)?(n="",t!=null&&(n=t.replace(Aj,"$&/")+"/"),RS(s,e,n,"",function(u){returnu})):s!=null&&(lM(s)&&(s=Dle(s,n+(!s.key||a&&a.key===s.key?"":(""+s.key).replace(Aj,"$&/")+"/")+t)),e.push(s)),1;if(a=0,r=r===""?".":r+":",Cj(t))for(varo=0;o<t.length;o++){i=t[o];varc=r+xP(i,o);a+=RS(i,e,n,c,s)}elseif(c=kle(t),typeofc=="function")for(t=c.call(t),o=0;!(i=t.next()).done;)i=i.value,c=r+xP(i,o++),a+=RS(i,e,n,c,s);elseif(i==="object")throwe=String(t),Error("Objects are not valid as a React child (found: "+(e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)+"). If you meant to render a collection of children, use an array instead.");returna}functionDx(t,e,n){if(t==null)returnt;varr=[],s=0;returnRS(t,r,"","",function(i){returne.call(n,i,s++)}),r}functionOle(t){if(t._status===-1){vare=t._result;e=e(),e.then(function(n){(t._status===0||t._status===-1)&&(t._status=1,t._result=n)},function(n){(t._status===0||t._status===-1)&&(t._status=2,t._result=n)}),t._status===-1&&(t._status=0,t._result=e)}if(t._status===1)returnt._result.default;throwt._result}varQs={current:null},PS={transition:null},Mle={ReactCurrentDispatcher:Qs,ReactCurrentBatchConfig:PS,ReactCurrentOwner:aM};functiony5(){throwError("act(...) is not supported in production builds of React.")}Mt.Children={map:Dx,forEach:function(t,e,n){Dx(t,function(){e.apply(this,arguments)},n)},count:function(t){vare=0;returnDx(t,function(){e++}),e},toArray:function(t){returnDx(t,function(e){returne})||[]},only:function(t){if(!lM(t))throwError("React.Children.onlyexpect
Ifyouwanttohidethe\`${e.titleName}\`, you can wrap it with our VisuallyHidden component.
Formoreinformation,seehttps://radix-ui.com/primitives/docs/components/${e.docsSlug}`;return _.useEffect(()=>{t&&(document.getElementById(t)||console.error(n))},[n,t]),null},bpe="DialogDescriptionWarning",wpe=({contentRef:t,descriptionId:e})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${$6(bpe).contentName}}.`;return _.useEffect(()=>{var i;const s=(i=t.current)==null?void 0:i.getAttribute("aria-describedby");e&&s&&(document.getElementById(e)||console.warn(r))},[r,t,e]),null},SL=S6,EL=C6,CL=R6,i_=P6,o_=T6,a_=D6,l_=O6,c_=L6,F6="AlertDialog",[_pe,M4e]=Pn(F6,[x6]),Xc=x6(),j6=t=>{const{__scopeAlertDialog:e,...n}=t,r=Xc(e);return P.jsx(SL,{...r,...n,modal:!0})};j6.displayName=F6;var xpe="AlertDialogTrigger",z6=_.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,s=Xc(n);return P.jsx(EL,{...s,...r,ref:e})});z6.displayName=xpe;var Spe="AlertDialogPortal",B6=t=>{const{__scopeAlertDialog:e,...n}=t,r=Xc(e);return P.jsx(CL,{...r,...n})};B6.displayName=Spe;var Epe="AlertDialogOverlay",U6=_.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,s=Xc(n);return P.jsx(i_,{...s,...r,ref:e})});U6.displayName=Epe;var Lm="AlertDialogContent",[Cpe,Ape]=_pe(Lm),H6=_.forwardRef((t,e)=>{const{__scopeAlertDialog:n,children:r,...s}=t,i=Xc(n),a=_.useRef(null),o=tt(e,a),c=_.useRef(null);return P.jsx(vpe,{contentName:Lm,titleName:V6,docsSlug:"alert-dialog",children:P.jsx(Cpe,{scope:n,cancelRef:c,children:P.jsxs(o_,{role:"alertdialog",...i,...s,ref:o,onOpenAutoFocus:me(s.onOpenAutoFocus,u=>{var f;u.preventDefault(),(f=c.current)==null||f.focus({preventScroll:!0})}),onPointerDownOutside:u=>u.preventDefault(),onInteractOutside:u=>u.preventDefault(),children:[P.jsx(rL,{children:r}),P.jsx(Ppe,{contentRef:a})]})})})});H6.displayName=Lm;var V6="AlertDialogTitle",W6=_.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,s=Xc(n);return P.jsx(a_,{...s,...r,ref:e})});W6.displayName=V6;var G6="AlertDialogDescription",q6=_.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,s=Xc(n);return P.jsx(l_,{...s,...r,ref:e})});q6.displayName=G6;var Rpe="AlertDialogAction",K6=_.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,s=Xc(n);return P.jsx(c_,{...s,...r,ref:e})});K6.displayName=Rpe;var Y6="AlertDialogCancel",X6=_.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,{cancelRef:s}=Ape(Y6,n),i=Xc(n),a=tt(e,s);return P.jsx(c_,{...i,...r,ref:a})});X6.displayName=Y6;var Ppe=({contentRef:t})=>{const e=`\`${Lm}\` requires a description for the component to be accessible for screen reader users.
Youcanaddadescriptiontothe\`${Lm}\` by passing a \`${G6}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
Alternatively,youcanuseyourowncomponentasadescriptionbyassigningitan\`id\` and passing the same value to the \`aria-describedby\` prop in \`${Lm}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
Inordertobeiterable,non-arrayobjectsmusthavea[Symbol.iterator]()method.`)}function ywe(t,e){if(t){if(typeof t=="string")return Cz(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Cz(t,e)}}function Cz(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function bwe(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var r,s,i,a,o=[],c=!0,u=!1;try{if(i=(n=n.call(t)).next,e!==0)for(;!(c=(r=i.call(n)).done)&&(o.push(r.value),o.length!==e);c=!0);}catch(f){u=!0,s=f}finally{try{if(!c&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw s}}return o}}function wwe(t){if(Array.isArray(t))return t}var _we=_.forwardRef(function(t,e){var n=t.aspect,r=t.initialDimension,s=r===void 0?{width:-1,height:-1}:r,i=t.width,a=i===void 0?"100%":i,o=t.height,c=o===void 0?"100%":o,u=t.minWidth,f=u===void 0?0:u,l=t.minHeight,d=t.maxHeight,m=t.children,p=t.debounce,h=p===void 0?0:p,y=t.id,g=t.className,v=t.onResize,w=t.style,x=w===void 0?{}:w,A=_.useRef(null),k=_.useRef();k.current=v,_.useImperativeHandle(e,function(){return Object.defineProperty(A.current,"current",{get:function(){return console.warn("The usage of ref.current.current is deprecated and will no longer be supported."),A.current},configurable:!0})});var R=_.useState({containerWidth:s.width,containerHeight:s.height}),E=gwe(R,2),T=E[0],D=E[1],O=_.useCallback(function(I,F){D(function(U){var Y=Math.round(I),V=Math.round(F);return U.containerWidth===Y&&U.containerHeight===V?U:{containerWidth:Y,containerHeight:V}})},[]);_.useEffect(function(){var I=function(ee){var re,X=ee[0].contentRect,q=X.width,K=X.height;O(q,K),(re=k.current)===null||re===void 0||re.call(k,q,K)};h>0&&(I=fwe(I,h,{trailing:!0,leading:!1}));var F=new ResizeObserver(I),U=A.current.getBoundingClientRect(),Y=U.width,V=U.height;return O(Y,V),F.observe(A.current),function(){F.disconnect()}},[O,h]);var L=_.useMemo(function(){var I=T.containerWidth,F=T.containerHeight;if(I<0||F<0)return null;dT(eS(a)||eS(c),`Thewidth(%s)andheight(%s)arebothfixednumbers,
maybeyoudon'tneedtouseaResponsiveContainer.`,a,c),dT(!n||n>0,"The aspect(%s) must be greater than zero.",n);var U=eS(a)?I:a,Y=eS(c)?F:c;n&&n>0&&(U?Y=U/n:Y&&(U=Y*n),d&&Y>d&&(Y=d)),dT(U>0||Y>0,`Thewidth(%s)andheight(%s)ofchartshouldbegreaterthan0,
Ifyouwanttohidethe\`${e.titleName}\`, you can wrap it with our VisuallyHidden component.
Formoreinformation,seehttps://radix-ui.com/primitives/docs/components/${e.docsSlug}`;return _.useEffect(()=>{t&&(document.getElementById(t)||console.error(n))},[n,t]),null},DCe="DialogDescriptionWarning",NCe=({contentRef:t,descriptionId:e})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Sq(DCe).contentName}}.`;return _.useEffect(()=>{var i;const s=(i=t.current)==null?void 0:i.getAttribute("aria-describedby");e&&s&&(document.getElementById(e)||console.warn(r))},[r,t,e]),null},OCe=uq,MCe=hq,LCe=pq,ICe=mq,$Ce=vq,FCe=bq,jCe=_q;function zCe(t){if(typeof document>"u")return;let e=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",e.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}const Eq=se.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),C_=()=>{const t=se.useContext(Eq);if(!t)throw new Error("useDrawerContext must be used within a Drawer.Root");return t};zCe(`[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,100%,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,-100%,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(-100%,0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(100%,0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opaci
`},""):String(r.body);return{path:n,submission:{formMethod:a,formAction:o,formEncType:r.formEncType,formData:void 0,json:void 0,text:d}}}else if(r.formEncType==="application/json"){if(!pa(a))return s();try{let d=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:n,submission:{formMethod:a,formAction:o,formEncType:r.formEncType,formData:void 0,json:d,text:void 0}}}catch{return s()}}}Dt(typeof FormData=="function","FormData is not available in this environment");let c,u;if(r.formData)c=RN(r.formData),u=r.formData;else if(r.body instanceof FormData)c=RN(r.body),u=r.body;else if(r.body instanceof URLSearchParams)c=r.body,u=QB(c);else if(r.body==null)c=new URLSearchParams,u=new FormData;else try{c=new URLSearchParams(r.body),u=QB(c)}catch{return s()}let f={formMethod:a,formAction:o,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:u,json:void 0,text:void 0};if(pa(f.formMethod))return{path:n,submission:f};let l=zd(n);return e&&l.search&&A$(l.search)&&c.append("index",""),l.search="?"+c,{path:Zh(l),submission:f}}function GB(t,e,n){n===void 0&&(n=!1);let r=t.findIndex(s=>s.route.id===e);return r>=0?t.slice(0,n?r+1:r):t}function qB(t,e,n,r,s,i,a,o,c,u,f,l,d,m,p,h){let y=h?Qi(h[1])?h[1].error:h[1].data:void 0,g=t.createURL(e.location),v=t.createURL(s),w=n;i&&e.errors?w=GB(n,Object.keys(e.errors)[0],!0):h&&Qi(h[1])&&(w=GB(n,h[0]));let x=h?h[1].statusCode:void 0,A=a&&x&&x>=400,k=w.filter((E,T)=>{let{route:D}=E;if(D.lazy)return!0;if(D.loader==null)return!1;if(i)return AN(D,e.loaderData,e.errors);if(mNe(e.loaderData,e.matches[T],E)||c.some(I=>I===E.route.id))return!0;let O=e.matches[T],L=E;return KB(E,Gn({currentUrl:g,currentParams:O.params,nextUrl:v,nextParams:L.params},r,{actionResult:y,actionStatus:x,defaultShouldRevalidate:A?!1:o||g.pathname+g.search===v.pathname+v.search||g.search!==v.search||aQ(O,L)}))}),R=[];return l.forEach((E,T)=>{if(i||!n.some(F=>F.route.id===E.routeId)||f.has(T))return;let D=pf(m,E.path,p);if(!D){R.push({key:T,routeId:E.routeId,path:E.path,matches:null,match:null,controller:null});return}let O=e.fetchers.get(T),L=By(D,E.path),I=!1;d.has(T)?I=!1:u.has(T)?(u.delete(T),I=!0):O&&O.state!=="idle"&&O.data===void 0?I=o:I=KB(L,Gn({currentUrl:g,currentParams:e.matches[e.matches.length-1].params,nextUrl:v,nextParams:n[n.length-1].params},r,{actionResult:y,actionStatus:x,defaultShouldRevalidate:A?!1:o})),I&&R.push({key:T,routeId:E.routeId,path:E.path,matches:D,match:L,controller:new AbortController})}),[k,R]}function AN(t,e,n){if(t.lazy)return!0;if(!t.loader)return!1;let r=e!=null&&e[t.id]!==void 0,s=n!=null&&n[t.id]!==void 0;return!r&&s?!1:typeof t.loader=="function"&&t.loader.hydrate===!0?!0:!r&&!s}function mNe(t,e,n){let r=!e||n.route.id!==e.route.id,s=t[n.route.id]===void 0;return r||s}function aQ(t,e){let n=t.route.path;return t.pathname!==e.pathname||n!=null&&n.endsWith("*")&&t.params["*"]!==e.params["*"]}function KB(t,e){if(t.route.shouldRevalidate){let n=t.route.shouldRevalidate(e);if(typeof n=="boolean")return n}return e.defaultShouldRevalidate}function YB(t,e,n,r,s){var i;let a;if(t){let u=r[t];Dt(u,"No route found to patch children into: routeId = "+t),u.children||(u.children=[]),a=u.children}else a=n;let o=e.filter(u=>!a.some(f=>lQ(u,f))),c=EC(o,s,[t||"_","patch",String(((i=a)==null?void 0:i.length)||"0")],r);a.push(...c)}function lQ(t,e){return"id"in t&&"id"in e&&t.id===e.id?!0:t.index===e.index&&t.path===e.path&&t.caseSensitive===e.caseSensitive?(!t.children||t.children.length===0)&&(!e.children||e.children.length===0)?!0:t.children.every((n,r)=>{var s;return(s=e.children)==null?void 0:s.some(i=>lQ(n,i))}):!1}async function gNe(t,e,n){if(!t.lazy)return;let r=await t.lazy();if(!t.lazy)return;let s=n[t.id];Dt(s,"No route found in manifest");let i={};for(let a in r){let c=s[a]!==void 0&&a!=="hasErrorBoundary";fv(!c,'Route "'+s.id+'" has a static property "'+a+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+a+'" will be ignored.')),!c&&!zDe.has(a)&&(i[a]=r[a])}Object.assign(s,i),Object.assign(s,Gn({},e(s),{lazy:
`)){o.insertNode(document.createTextNode(i)),this.editorDiv.normalize(),a.collapseToStart();return}const{startContainer:c,startOffset:u}=o,f=[],l=[];if(c.nodeType===Node.TEXT_NODE){const g=c.parentElement;if(l.push(c.nodeValue.slice(u).replaceAll(CS,"")),g!==this.editorDiv){let v=f;for(const w of this.editorDiv.childNodes){if(w===g){v=l;continue}v.push(B(h=Nn,Ic,uE).call(h,w))}}f.push(c.nodeValue.slice(0,u).replaceAll(CS,""))}else if(c===this.editorDiv){let g=f,v=0;for(const w of this.editorDiv.childNodes)v++===u&&(g=l),g.push(B(y=Nn,Ic,uE).call(y,w))}$(this,Hi,`${f.join(`
`)},cE=function(){const[n,r]=this.parentDimensions;let s;if(this.isAttachedToDOM)s=this.div.getBoundingClientRect();else{const{currentLayer:i,div:a}=this,o=a.style.display,c=a.classList.contains("hidden");a.classList.remove("hidden"),a.style.display="hidden",i.div.append(this.div),s=a.getBoundingClientRect(),a.remove(),a.style.display=o,a.classList.toggle("hidden",c)}this.rotation%180===this.parentRotation%180?(this.width=s.width/n,this.height=s.height/r):(this.width=s.height/n,this.height=s.width/r),this.fixAndSetPosition()},Ic=new WeakSet,uE=function(n){return(n.nodeType===Node.TEXT_NODE?n.nodeValue:n.innerText).replaceAll(CS,"")},dE=function(){if(this.editorDiv.replaceChildren(),!!C(this,Hi))for(const n of C(this,Hi).split(`
`)){const r=document.createElement("div");r.append(n?document.createTextNode(n):document.createElement("br")),this.editorDiv.append(r)}},IJ=function(){return C(this,Hi).replaceAll(""," ")},EO=function(n){return n.replaceAll(" ","")},$J=function(n){const{value:r,fontSize:s,color:i,pageIndex:a}=C(this,Mg);return this._hasBeenMoved||n.value!==r||n.fontSize!==s||n.color.some((o,c)=>o!==i[c])||n.pageIndex!==a},z(Nn,Ic),He(Nn,"_freeTextDefaultContent",""),He(Nn,"_internalPadding",0),He(Nn,"_defaultColor",null),He(Nn,"_defaultFontSize",10),He(Nn,"_type","freetext"),He(Nn,"_editorType",Vt.FREETEXT);let SO=Nn;var Ew,Ju,la,Xs,FJ,fE,jJ,zJ,AO;class CO{constructor(e,n=0,r=0,s=!0){z(this,Xs);z(this,Ew);z(this,Ju,[]);z(this,la,[]);let i=1/0,a=-1/0,o=1/0,c=-1/0;const u=10**-4;for(const{x:y,y:g,width:v,height:w}of e){const x=Math.floor((y-n)/u)*u,A=Math.ceil((y+v+n)/u)*u,k=Math.floor((g-n)/u)*u,R=Math.ceil((g+w+n)/u)*u,E=[x,k,R,!0],T=[A,k,R,!1];C(this,Ju).push(E,T),i=Math.min(i,x),a=Math.max(a,A),o=Math.min(o,k),c=Math.max(c,R)}const f=a-i+2*r,l=c-o+2*r,d=i-r,m=o-r,p=C(this,Ju).at(s?-1:-2),h=[p[0],p[2]];for(const y of C(this,Ju)){const[g,v,w]=y;y[0]=(g-d)/f,y[1]=(v-m)/l,y[2]=(w-m)/l}$(this,Ew,{x:d,y:m,width:f,height:l,lastPoint:h})}getOutlines(){C(this,Ju).sort((n,r)=>n[0]-r[0]||n[1]-r[1]||n[2]-r[2]);const e=[];for(const n of C(this,Ju))n[3]?(e.push(...B(this,Xs,AO).call(this,n)),B(this,Xs,jJ).call(this,n)):(B(this,Xs,zJ).call(this,n),e.push(...B(this,Xs,AO).call(this,n)));return B(this,Xs,FJ).call(this,e)}}Ew=new WeakMap,Ju=new WeakMap,la=new WeakMap,Xs=new WeakSet,FJ=function(e){const n=[],r=new Set;for(const a of e){const[o,c,u]=a;n.push([o,c,a],[o,u,a])}n.sort((a,o)=>a[1]-o[1]||a[0]-o[0]);for(let a=0,o=n.length;a<o;a+=2){const c=n[a][2],u=n[a+1][2];c.push(u),u.push(c),r.add(c),r.add(u)}const s=[];let i;for(;r.size>0;){const a=r.values().next().value;let[o,c,u,f,l]=a;r.delete(a);let d=o,m=c;for(i=[o,u],s.push(i);;){let p;if(r.has(f))p=f;else if(r.has(l))p=l;else break;r.delete(p),[o,c,u,f,l]=p,d!==o&&(i.push(d,m,o,m===c?c:u),d=o),m=m===c?u:c}i.push(d,m)}return new gFe(s,C(this,Ew))},fE=function(e){const n=C(this,la);let r=0,s=n.length-1;for(;r<=s;){const i=r+s>>1,a=n[i][0];if(a===e)return i;a<e?r=i+1:s=i-1}return s+1},jJ=function([,e,n]){const r=B(this,Xs,fE).call(this,e);C(this,la).splice(r,0,[e,n])},zJ=function([,e,n]){const r=B(this,Xs,fE).call(this,e);for(let s=r;s<C(this,la).length;s++){const[i,a]=C(this,la)[s];if(i!==e)break;if(i===e&&a===n){C(this,la).splice(s,1);return}}for(let s=r-1;s>=0;s--){const[i,a]=C(this,la)[s];if(i!==e)break;if(i===e&&a===n){C(this,la).splice(s,1);return}}},AO=function(e){const[n,r,s]=e,i=[[n,r,s]],a=B(this,Xs,fE).call(this,s);for(let o=0;o<a;o++){const[c,u]=C(this,la)[o];for(let f=0,l=i.length;f<l;f++){const[,d,m]=i[f];if(!(u<=d||m<=c)){if(d>=c){if(m>u)i[f][1]=u;else{if(l===1)return[];i.splice(f,1),f--,l--}continue}i[f][2]=c,m>u&&i.push([n,u,m])}}}return i};class BJ{toSVGPath(){throw new Error("Abstract method `toSVGPath` must be implemented.")}get box(){throw new Error("Abstract getter `box` must be implemented.")}serialize(e,n){throw new Error("Abstract method `serialize` must be implemented.")}get free(){return this instanceof PO}}var Cw,Lg;class gFe extends BJ{constructor(n,r){super();z(this,Cw);z(this,Lg);$(this,Lg,n),$(this,Cw,r)}toSVGPath(){const n=[];for(const r of C(this,Lg)){let[s,i]=r;n.push(`M${s}${i}`);for(let a=2;a<r.length;a+=2){const o=r[a],c=r[a+1];o===s?(n.push(`V${c}`),i=c):c===i&&(n.push(`H${o}`),s=o)}n.push("Z")}return n.join(" ")}serialize([n,r,s,i],a){const o=[],c=s-n,u=i-r;for(const f of C(this,Lg)){const l=new Array(f.length);for(let d=0;d<f.length;d+=2)l[d]=n+f[d]*c,l[d+1]=i-f[d+1]*u;o.push(l)}return o}get box(){return C(this,Cw)}}Cw=new WeakMap,Lg=new WeakMap;var el,vc,Ig,$g,tl,zt,hh,ph,Aw,Rw,Fg,jg,ed,Pw,h1,p1,Tw,RO;const Yl=class Yl{constructor({x:e,y:n},r,s,i,a,o=0){z(this,Tw);z(this,el);z(this,vc,[]);z(this,Ig);z(this,$g);z(this,tl,[]);z(this,zt,new Float64Array(18));z(this,hh);z(this,ph);z(this,Aw);z(this,Rw);z(this,Fg);z(this,jg);z(this,ed,[]);$(this,el,r),$(this,
`).forEach(function(a){s=a.indexOf(":"),n=a.substring(0,s).trim().toLowerCase(),r=a.substring(s+1).trim(),!(!n||e[n]&&EBe[n])&&(n==="set-cookie"?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e},$U=Symbol("internals");function Dy(t){return t&&String(t).trim().toLowerCase()}function SE(t){return t===!1||t==null?t:ve.isArray(t)?t.map(SE):String(t)}function ABe(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}const RBe=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());functionbk(t,e,n,r,s){if(ve.isFunction(r))returnr.call(this,e,n);if(s&&(e=n),!!ve.isString(e)){if(ve.isString(r))returne.indexOf(r)!==-1;if(ve.isRegExp(r))returnr.test(e)}}functionPBe(t){returnt.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,r)=>n.toUpperCase()+r)}functionTBe(t,e){constn=ve.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{value:function(s,i,a){returnthis[r].call(this,e,s,i,a)},configurable:!0})})}letCi=class{constructor(e){e&&this.set(e)}set(e,n,r){consts=this;functioni(o,c,u){constf=Dy(c);if(!f)thrownewError("header name must be a non-empty string");constl=ve.findKey(s,f);(!l||s[l]===void0||u===!0||u===void0&&s[l]!==!1)&&(s[l||c]=SE(o))}consta=(o,c)=>ve.forEach(o,(u,f)=>i(u,f,c));if(ve.isPlainObject(e)||einstanceofthis.constructor)a(e,n);elseif(ve.isString(e)&&(e=e.trim())&&!RBe(e))a(CBe(e),n);elseif(ve.isHeaders(e))for(const[o,c]ofe.entries())i(c,o,r);elsee!=null&&i(n,e,r);returnthis}get(e,n){if(e=Dy(e),e){constr=ve.findKey(this,e);if(r){consts=this[r];if(!n)returns;if(n===!0)returnABe(s);if(ve.isFunction(n))returnn.call(this,s,r);if(ve.isRegExp(n))returnn.exec(s);thrownewTypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=Dy(e),e){constr=ve.findKey(this,e);return!!(r&&this[r]!==void0&&(!n||bk(this,this[r],r,n)))}return!1}delete(e,n){constr=this;lets=!1;functioni(a){if(a=Dy(a),a){consto=ve.findKey(r,a);o&&(!n||bk(r,r[o],o,n))&&(deleter[o],s=!0)}}returnve.isArray(e)?e.forEach(i):i(e),s}clear(e){constn=Object.keys(this);letr=n.length,s=!1;for(;r--;){consti=n[r];(!e||bk(this,this[i],i,e,!0))&&(deletethis[i],s=!0)}returns}normalize(e){constn=this,r={};returnve.forEach(this,(s,i)=>{consta=ve.findKey(r,i);if(a){n[a]=SE(s),deleten[i];return}consto=e?PBe(i):String(i).trim();o!==i&&deleten[i],n[o]=SE(s),r[o]=!0}),this}concat(...e){returnthis.constructor.concat(this,...e)}toJSON(e){constn=Object.create(null);returnve.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=e&&ve.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){returnObject.entries(this.toJSON())[Symbol.iterator]()}toString(){returnObject.entries(this.toJSON()).map(([e,n])=>e+": "+n).join(`
`):" "+HU(i[0]):"as no adapter specified";throw new wt("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return r},adapters:rM};function _k(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new zv(null,t)}function VU(t){return _k(t),t.headers=Ci.from(t.headers),t.data=wk.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),ate.getAdapter(t.adapter||H_.adapter)(t).then(function(r){return _k(t),r.data=wk.call(t,t.transformResponse,r),r.headers=Ci.from(r.headers),r},function(r){return tte(r)||(_k(t),r&&r.response&&(r.response.data=wk.call(t,t.transformResponse,r.response),r.response.headers=Ci.from(r.response.headers))),Promise.reject(r)})}const lte="1.8.4",uR={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{uR[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});const WU={};uR.transitional=function(e,n,r){function s(i,a){return"[Axios v"+lte+"] Transitional option '"+i+"'"+a+(r?". "+r:"")}return(i,a,o)=>{if(e===!1)throw new wt(s(a," has been removed"+(n?" in "+n:"")),wt.ERR_DEPRECATED);return n&&!WU[a]&&(WU[a]=!0,console.warn(s(a," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(i,a,o):!0}};uR.spelling=function(e){return(n,r)=>(console.warn(`${r}islikelyamisspellingof${e}`),!0)};function YBe(t,e,n){if(typeof t!="object")throw new wt("options must be an object",wt.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let s=r.length;for(;s-- >0;){const i=r[s],a=e[i];if(a){const o=t[i],c=o===void 0||a(o,i,t);if(c!==!0)throw new wt("option "+i+" must be "+c,wt.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new wt("Unknown option "+i,wt.ERR_BAD_OPTION)}}const EE={assertOptions:YBe,validators:uR},za=EE.validators;let Mh=class{constructor(e){this.defaults=e,this.interceptors={request:new IU,response:new IU}}async request(e,n){try{return await this._request(e,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const i=s.stack?s.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=`
Ifyoucontinue,youwilllosethechanges.`,confirm_text:"Continue",cancel_text:"Cancel"}},main_menu:{home:"Home",settings:"Settings",dealers:"Dealers",catalog:"Catalog",quotes:"Quotes",orders:"Orders",search_placeholder:"Type here for search quotes and articles",user:{user_menu:"User menu",my_account:"My account",profile:"Profile",settings:"Settings",support:"Support",logout:"Logout"},logout_dialog:{title:"Confirm",description:"Are you sure you want to log out?",confirm_label:"Log out",cancel_label:"Cancel"}},login_page:{title:"Partner intranet",description:"Enter your email address and password to login",email_label:"Email",email_placeholder:"myemail@sample.com",password_label:"Password",forgotten_password:"Forgot your password?",become_dealer:"Do you want to become a Uecko partner?",contact_us:"Contact us",login:"Log in"},dashboard:{welcome:"Welcome"},catalog:{list:{title:"Catalog of articles",columns:{description:"Description",points:"Points",retail_price:"Retail price",quantity:"quantity"}}},quotes:{list:{title:"Quotes",subtitle:"",tabs_title:"Status",tabs:{all:"All",draft:"Draft",ready:"Ready",delivered:"Delivered",accepted:"Accepted",rejected:"Rejected",archived:"Archived"},columns:{date:"Date",date_sent:"Sent to Uecko",reference:"Reference",status:"Status",customer_reference:"Customer Ref.",customer_information:"Customer",total_price:"Imp. total",actions:{edit:"Edit quote",sent_to:"Send to Uecko"}},resume:{title:"Quote",download_quote:"Download quote",tabs:{resume:"Resume",preview:"Preview"},quote_information:"Quote Information",customer_information:"Customer Information",payment_information:"Payment Information",price_information:"Quote totals"}},create:{title:"New quote",tabs:{general:"General data",items:"Quote items",preview:"Quote preview",documents:"Documents",history:"History"},form_groups:{general:{title:"General Data",desc:"General data and quote customer"},status:{title:"Status",desc:"Quote status"},items:{title:"Quote Items",desc:"Quote detail lines. Use the catalog to make it easier to fill in the content."},documents:{title:"Attached Documents",desc:"Attach documents such as photos, drawings, sketches, etc. to your quotation."},history:{title:"History",desc:"Quote history"}},edit:{title:"Quote"}},edit:{title:"Quote",buttons:{save_quote:"Save quote"}},duplicate_action:{toast_success:"Quote duplicated"},downloading_dialog:{title:"Downloading quote",description:"Please wait while your quotation is generated and downloaded in PDF format...",progress:{label:"Download is in {{status}}",status_in_progress:"in progress",status_stopped:"stopped",value_label:"Elapsed time in seconds {{elapsed}}"},cancel_button:"Cancel the download",toast_success:"Quote downloaded"},catalog_picker_dialog:{title:"Select catalog items",description:"To complete your quote, you can add items from the catalog.",toast_article_added:"Catalog item added:"},blocks_picker_dialog:{title:"Select a text block",description:"To complete your quote, you can default text blocks.",toast_article_added:"Text block added:"},quote_status_editor:{trigger_button:"Change quote status",title:"Change quote status",status:{draft:{title:"Draft",description:"The quote is in the initial stages of creation."},ready:{title:"Ready",description:"The quote is completed and ready to be delivered to the customer."},delivered:{title:"Delivered",description:"The quote has been sent to the client and a response is awaited."},accepted:{title:"Accepted",description:"The customer has approved the quote."},rejected:{title:"Rejected",description:"The customer has not accepted the quotation."},archived:{title:"Archived",description:"The quote is archived."}},submit_button:"Change status",toast_status_changed:"Quote status changed to: {{newStatus}}"},discount_column:{label:"Show discount column",description:"Shows or hides the discount column in quote lines.",confirmation:{title:"Hide line discounts",description:"There are lines with discounts applied. Hiding the column will not remove those discounts: they will still affect the quote amount, but will no longer be shown in
zipcodeandcityorstate...`},payment_method:{label:"Payment method",placeholder:"",desc:"Method of payment for this quote"},notes:{label:"Notes",placeholder:"",desc:"Quote's notes"},validity:{label:"Validity time",placeholder:"",desc:"Quote's validity time"},subtotal_price:{label:"Subtotal",placeholder:"",desc:"Quote subtotal"},discount:{label:"Discount (%)",placeholder:"",desc:"Percentage discount"},discount_value:{label:"Discount ({{value}}%)",placeholder:"",desc:"Percentage discount"},discount_price:{label:"Discount price",placeholder:"",desc:"Percentage discount price"},before_tax_price:{label:"Before tax price",placeholder:"",desc:"Before tax price"},tax:{label:"Tax (%)",placeholder:"",desc:"Percentage Tax"},tax_value:{label:"{{label}} ({{value}}%)",placeholder:"",desc:"Percentage Tax"},tax_price:{label:"Tax amount",placeholder:"",desc:"Percentage tax price"},total_price:{label:"Total price",placeholder:"",desc:"Quote total price"},items:{quantity:{label:"Quantity",placeholder:"",desc:""},description:{label:"Description",placeholder:"",desc:""},unit_price:{label:"Unit price",placeholder:"",desc:"Item unit price"},subtotal_price:{label:"Subtotal",placeholder:"",desc:""},discount:{label:"Dto (%)",placeholder:"",desc:"Percentage discount"},total_price:{label:"Total price",placeholder:"",desc:"Total price with percentage discount"}}}},settings:{edit:{title:"Settings",subtitle:"",tabs:{profile:"Profile settings",quotes:"Quote settings",legal:"Legal settings"}},form_fields:{image:{label:"Logotype",placeholder:"",desc:""},contact_information:{label:"Your contact information",placeholder:"",desc:"Your contact information as a dealer that will appear on the quotes given to your customers."},default_tax:{label:"Default tax (%)",placeholder:"",desc:"Default tax rate for your quotes"},default_tax_label:{label:"Tax label",placeholder:"% VAT",desc:"Name or label shown alongside the tax"},default_show_line_discount_column:{label:"Show discount column by default",desc:"New quotes will initially show the discount column in their lines. You can change this option later for each quote."},default_legal_terms:{label:"Legal terms",placeholder:"",desc:"Legal information to be included at the end of your quotes"},default_payment_method:{label:"Payment method",placeholder:"",desc:"Default payment method to be used for new quotes"},default_notes:{label:"Notes",placeholder:"",desc:"Default notes to be used for new quotes"},default_quote_validity:{label:"Quote validity",placeholder:"",desc:"Default validity time to be used for new quotes"}}}},A4e={translation:C4e},R4e={common:{loading:"Cargando...",required:"obligatorio",cancel:"Cancelar",no:"No",yes:"Sí",save:"Guardar",save_close:"Guardar y Cerrar",accept:"Aceptar",discard:"Descartar",hide:"Ocultar",back:"Volver",upload:"Cargar",continue:"Continuar",close:"Cerrar",more:"More",add:"Añadir",sort_asc:"Asc",sort_asc_description:"En order ascendente. Click para ordenar descendentemente.",sort_desc:"Desc",sort_desc_description:"En orden descendente. Click para ordenar ascendentemente.",sort_none_description:"Sin orden. Click para ordenar ascendentemente.",rows_selected:"{{count}} fila(s) seleccionadas.",rows_selected_of_total:"{{count}} de {{total}} fila(s) seleccionadas.",rows_per_page:"Filas por página",num_page_of_total:"Página {{count}} de {{total}}",go_to_first_page:"Ir a la primera página",go_to_prev_page:"Ir a la página anterior",go_to_next_page:"Ir a la página siguiente",go_to_last_page:"Ir a la última página",error:"Error",actions:"Acciones",open_menu:"Abrir el menú",duplicate_row:"Duplicar",duplicate_selected_rows:"Duplicar",duplicate_selected_rows_tooltip:"Duplica las fila(s) seleccionadas(s)",append_empty_row:"Añadir fila",append_empty_row_tooltip:"Añadir una fila vacía",append_article:"Añadir artículo",append_article_tooltip:"Elegir un artículo del catálogo y añadirlo",append_block:"Añadir bloque de texto",append_block_tooltip:"Elegir un bloque de texto y añadirlo",move_row:"Mover fila",remove_row:"Eliminar",remove_selected_rows:"Eliminar",remove_selected_rows_t
Sicontinúa,perderáloscambios.`,confirm_text:"Continuar",cancel_text:"No continuar"}},main_menu:{home:"Inicio",settings:"Ajustes",dealers:"Distribuidores",catalog:"Catálogo",quotes:"Cotizaciones",orders:"Pedidos",search_placeholder:"Buscar productos, cotizaciones, etc...",user:{user_menu:"Menú del usuario",my_account:"Mi cuenta",profile:"Perfil",settings:"Ajustes",support:"Soporte",logout:"Salir"},logout_dialog:{title:"Salir de la cuenta",description:"¿Desea salir de su cuenta?",confirm_label:"Salir",cancel_label:"Cancelar"}},login_page:{title:"Presupuestador para distribuidores",description:"Introduzca su dirección de correo electrónico y contraseña para acceder",email_label:"Email",email_placeholder:"micorreo@ejemplo.com",password_label:"Contraseña",forgotten_password:"¿Has olvidado tu contraseña?",become_dealer:"¿Quieres ser distribuidor de Uecko?",contact_us:"Contacta con nosotros",login:"Entrar"},dashboard:{welcome:"Bienvenido"},catalog:{list:{title:"Catálogo de artículos",columns:{description:"Descripción",points:"Puntos",retail_price:"PVP",quantity:"Cantidad"}}},quotes:{list:{title:"Cotizaciones",subtitle:"",tabs_title:"Estados",tabs:{all:"Todas",draft:"Borradores",ready:"Preparados",delivered:"Entregado",accepted:"Aceptados",rejected:"Rechazados",archived:"Archivados"},columns:{date:"Fecha",date_sent:"Enviado a Uecko",reference:"Referencia",status:"Estado",customer_reference:"Ref. cliente",customer_information:"Cliente",total_price:"Imp. total",actions:{edit:"Editar",sent_to:"Enviar a Uecko"}},resume:{title:"Cotización",download_quote:"Descargar",tabs:{resume:"Resumen",preview:"Previsualización"},quote_information:"Información",customer_information:"Cliente",payment_information:"Pago",price_information:"Importes"}},create:{title:"Nueva cotización",tabs:{general:"Datos generales",items:"Contenido",preview:"Vista previa",documents:"Documentos",history:"Historial"},form_groups:{general:{title:"Datos generales",desc:"Datos generales y cliente al que va la cotización"},status:{title:"Estado",desc:"Estado de la cotización"},items:{title:"Contenido de la cotización",desc:"Líneas de detalle de la cotización. Ayúdese del catálogo para rellenar más fácilmente el contenido."},documents:{title:"Documentos",desc:"Añada adjuntar con su cotización documentos como fotos, planos, croquis, etc."},history:{title:"Historial",desc:"Historial de la cotización"}},edit:{title:"Cotización"}},edit:{title:"Cotización",buttons:{save_quote:"Guardar cotización"}},duplicate_action:{toast_success:"Cotización duplicada"},downloading_dialog:{title:"Descargando cotización",description:"Espere mientras se genera la cotización y se descarga en formato PDF...",progress:{label:"La descarga está {{status}}",status_in_progress:"en marcha",status_stopped:"parada",value_label:"Elapsed time in seconds {{elapsed}}"},cancel_button:"Cancelar la descarga",toast_success:"Cotización descargada"},catalog_picker_dialog:{title:"Seleccionar artículos del catálogo",description:"Para rellenar su cotización, puede añadir artículos del catálogo.",toast_article_added:"Artículo del catálogo añadido:"},blocks_picker_dialog:{title:"Selecctionar bloques de texto",description:"Para ayudar a rellenar la cotización, puede añadir bloques de texto predefinidos de esta lista.",toast_article_added:"Bloque de texto añadido:"},quote_sent_to_editor:{trigger_button:"Enviar a Uecko",title:"Enviar la cotización a Uecko",description:"¿Desea enviar esta cotización a Uecko? Esta acción no se puede deshacer.",submit_button:"Enviar",toast_status_changed:"Cotización enviada a Uecko"},quote_status_editor:{trigger_button:"Cambiar el estado",title:"Cambiar el estado de la cotización",status:{draft:{title:"Borrador",description:"La cotización está en fase inicial de creación."},ready:{title:"Preparado",description:"La cotización está completo y listo para ser entregado al cliente."},delivered:{title:"Entregado",description:"La cotización ha sido enviado al cliente y se espera su respuesta."},accepted:{title:"Aceptado",description:"
Códigopostalyciudad...`},payment_method:{label:"Forma de pago",placeholder:"placeholder",desc:"Forma de pago que se utilizará en esta cotización"},notes:{label:"Notas",placeholder:"",desc:"Notas a incluir en la cotización"},validity:{label:"Validez de la cotización",placeholder:"",desc:"Validez de la cotización"},subtotal_price:{label:"Importe neto",placeholder:"",desc:""},discount:{label:"Descuento (%)",placeholder:"",desc:"Porcentaje de descuento"},discount_value:{label:"Descuento ({{value}}%)",placeholder:"",desc:"Porcentaje de descuento"},discount_price:{label:"Imp. descuento",placeholder:"",desc:"Importe del descuento"},before_tax_price:{label:"Base imponible",placeholder:"",desc:""},tax:{label:"Impuesto (%)",placeholder:"",desc:"Porcentaje de impuesto"},tax_value:{label:"{{label}} ({{value}}%)",placeholder:"",desc:"Porcentaje de impuesto"},tax_price:{label:"Imp. impuesto",placeholder:"",desc:"Importe del impuesto"},total_price:{label:"Imp. total",placeholder:"",desc:"Importe total"},items:{quantity:{label:"Cantidad",placeholder:"",desc:""},description:{label:"Descripción",placeholder:"",desc:""},unit_price:{label:"Imp. unitario",placeholder:"",desc:"Importe unitario del artículo"},subtotal_price:{label:"Subtotal",placeholder:"",desc:""},discount:{label:"Dto (%)",placeholder:"",desc:"Porcentaje de descuento"},total_price:{label:"Imp. total",placeholder:"",desc:"Importe total con el descuento ya aplicado"}}}},settings:{edit:{title:"Ajustes",subtitle:"",tabs:{profile:"Ajustes de perfil",quotes:"Ajustes para cotizaciones",legal:"Ajustes legales"}},form_fields:{logo:{label:"Logotipo",placeholder:"",desc:"Este logotipo aparecerá en las propuestas exportadas en PDF",requirements:"Se permiten ficheros JPG o PNG. Las dimensiones del logotipo deben ser 200x100 píxeles o proporcionales.",upload:"Subir logotipo",invalid_format:"Sólo se permiten ficheros JPG o PNG",invalid_dimensions:"Las dimensiones del logotipo deben ser 200x100 píxeles o proporcionales."},contact_information:{label:"Información de contacto",placeholder:"",desc:"Esta información de contacto aparecerá en las cotizaciones que entregue a sus clientes."},default_tax:{label:"Impuesto por defecto (%)",placeholder:"",desc:"Porcentaje de impuesto por defecto en las cotizaciones"},default_tax_label:{label:"Etiqueta del impuesto",placeholder:"% IVA",desc:"Nombre o etiqueta que se mostrará junto al impuesto"},default_show_line_discount_column:{label:"Mostrar columna descuento por defecto",desc:"Los nuevos presupuestos mostrarán inicialmente la columna de descuento en las líneas. Podrás cambiar esta opción posteriormente en cada presupuesto."},default_legal_terms:{label:"Cláusulas legales",placeholder:"",desc:"Texto de texto legal que desee incluir en todas las cotizaciones nuevas"},default_payment_method:{label:"Forma de pago",placeholder:"",desc:"Texto para la forma de pago que se utilizará en las cotizaciones nuevas"},default_notes:{label:"Notas",placeholder:"",desc:"Notas a incluir en todas las cotizaciones nuevas"},default_quote_validity:{label:"Validez por defecto",placeholder:"",desc:"Texto para indicar el tiempo de validez de la cotización"}}},support:{modal:{title:"Enviar una incidencia",subtitle:"Utiliza este formulario para informar sobre cualquier problema que hayas encontrado mientras usabas la aplicación. Nuestro equipo de desarrollo revisará tu incidencia y tratará de resolverla."},form_fields:{}}},P4e={translation:R4e};hs.use(gte).use(s$e).init({detection:{order:["navigator"]},debug:!1,fallbackLng:"es",interpolation:{escapeValue:!1},resources:{ca:E4e,en:A4e,es:P4e}});function T4e(){const t=new lde({defaultOptions:{queries:{retry:!1,staleTime:1e4}}});return P.jsx(i$e,{i18n:hs,children:P.jsx(hde,{client:t,children:P.jsx(hMe,{dataSource:i4e("https://presupuestos.uecko.com:13001/api/v1"),children:P.jsx(Gue,{authActions:s4e("https://presupuestos.uecko.com:13001/api/v1"),children:P.jsxs(aze,{defaultTheme:"light",storageKey:"vite-ui-theme",children:[P.jsx(LDe,{delayDuration:0,children:P.jsx(zee,{children:P.jsx(_.Suspense,{f