diff --git a/assets/index-9L0WPj6w.css b/assets/index-9L0WPj6w.css deleted file mode 100644 index accd988..0000000 --- a/assets/index-9L0WPj6w.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:JetBrains Mono;font-weight:200;font-style:normal;font-display:swap;src:url(/budget.it/assets/JetBrainsMono-ExtraLight-zdImaEaY.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/budget.it/assets/JetBrainsMono-Regular-bE6RZ4Zl.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:800;font-style:normal;font-display:swap;src:url(/budget.it/assets/JetBrainsMono-ExtraBold-27PHazCc.woff2) format("woff2")}:root{scrollbar-color:rgba(0,0,0,.1) transparent;scrollbar-width:5px}body *::-webkit-scrollbar{width:5px}body *::-webkit-scrollbar-thumb{border-radius:5px;background:#0000001a}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.fixed{position:fixed}.\!absolute{position:absolute!important}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.-bottom-4{bottom:-1rem}.bottom-0{bottom:0}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.top-0{top:0}.top-5{top:1.25rem}.top-\[52px\]{top:52px}.top-\[calc\(100\%\+10px\)\]{top:calc(100% + 10px)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[60\]{z-index:60}.mx-auto{margin-left:auto;margin-right:auto}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-16{height:4rem}.h-2{height:.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-\[110\%\]{height:110%}.h-full{height:100%}.w-2{width:.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-full{width:100%}.max-w-96{max-width:24rem}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.origin-center{transform-origin:center}.-rotate-12{--tw-rotate: -12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.\!items-end{align-items:flex-end!important}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-hidden{overflow:hidden}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.\!rounded-2xl{border-radius:1rem!important}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.\!rounded-r-2xl{border-top-right-radius:1rem!important;border-bottom-right-radius:1rem!important}.\!rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r-0{border-right-width:0px}.border-t{border-top-width:1px}.\!border-red-500{--tw-border-opacity: 1 !important;border-color:rgb(239 68 68 / var(--tw-border-opacity))!important}.border-sky-400{--tw-border-opacity: 1;border-color:rgb(56 189 248 / var(--tw-border-opacity))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.\!bg-red-500{--tw-bg-opacity: 1 !important;background-color:rgb(239 68 68 / var(--tw-bg-opacity))!important}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.\!p-0{padding:0!important}.p-5{padding:1.25rem}.\!py-0{padding-top:0!important;padding-bottom:0!important}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.\!pb-1{padding-bottom:.25rem!important}.pb-16{padding-bottom:4rem}.pr-14{padding-right:3.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.font-body{font-family:JetBrains Mono,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-rose-500{--tw-text-opacity: 1;color:rgb(244 63 94 / var(--tw-text-opacity))}.text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-30{opacity:.3}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[background-color\]{transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[border-color\]{transition-property:border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.last\:mb-12:last-child{margin-bottom:3rem}.hover\:border-slate-400:hover{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.hover\:\!bg-red-600:hover{--tw-bg-opacity: 1 !important;background-color:rgb(220 38 38 / var(--tw-bg-opacity))!important}.hover\:text-slate-500:hover{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-slate-400:focus{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.disabled\:bg-slate-300:disabled{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.disabled\:opacity-50:disabled{opacity:.5}.peer\/radio:checked~.peer-checked\/radio\:bg-sky-400{--tw-bg-opacity: 1;background-color:rgb(56 189 248 / var(--tw-bg-opacity))}.peer\/radio:checked~.peer-checked\/radio\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}@media (min-width: 1024px){.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-base{font-size:1rem;line-height:1.5rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\:hover\:bg-sky-500:hover{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.lg\:hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}}.logo-gradient[data-v-241fb166]{background-color:#0093e9;background-image:linear-gradient(43deg,#85ffbd,#0093e9 46%,#00dbde);background-size:400%;background-repeat:repeat;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-moz-background-clip:text;-moz-text-fill-color:transparent}.logo-sub-gradient[data-v-241fb166]{background-color:#0093e9;background-image:linear-gradient(43deg,#00dbde,#0093e9 46%,#85ffbd);background-size:400%;background-repeat:repeat;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-moz-background-clip:text;-moz-text-fill-color:transparent}.gradient-animation[data-v-241fb166]{animation:gradient-241fb166 15s ease-in-out infinite}@keyframes gradient-241fb166{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.progress-bar__background[data-v-ae6b84b5]{background-image:linear-gradient(43deg,#85ffbd,#00dbde 46%,#0093e9);background-repeat:no-repeat;transition:background-size .5s ease-in-out}.progress-bar_overfilled .progress-bar__background[data-v-ae6b84b5]{background-image:linear-gradient(43deg,#ff9191,#ff9191 46%,red)}.progress-bar_total[data-v-ae6b84b5]{justify-content:flex-start}.progress-bar_total .progress-bar__background[data-v-ae6b84b5]{background-image:none}.router-link-exact-active svg[data-v-cd98e6ca]{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.v-enter-active[data-v-6175bf6f],.v-leave-active[data-v-6175bf6f]{transition:opacity .5s ease}.v-enter-from[data-v-6175bf6f],.v-leave-to[data-v-6175bf6f]{opacity:0}.v-enter-active[data-v-ba2bbe90],.v-leave-active[data-v-ba2bbe90]{transition:opacity .5s ease}.v-enter-from[data-v-ba2bbe90],.v-leave-to[data-v-ba2bbe90]{opacity:0}.current-day[data-v-96e617f1]{scroll-margin-top:52px}.v-enter-active[data-v-96e617f1],.v-leave-active[data-v-96e617f1]{transform:translateY(0);transition:all .5s ease}.v-enter-from[data-v-96e617f1],.v-leave-to[data-v-96e617f1]{transform:translateY(100%);opacity:0} diff --git a/assets/index-rz7nOhnq.js b/assets/index-GAZ-w_Br.js similarity index 94% rename from assets/index-rz7nOhnq.js rename to assets/index-GAZ-w_Br.js index 383c7b4..c3e4906 100644 --- a/assets/index-rz7nOhnq.js +++ b/assets/index-GAZ-w_Br.js @@ -6,7 +6,7 @@ * vue-router v4.2.5 * (c) 2023 Eduardo San Martin Morote * @license MIT - */const rn=typeof window<"u";function ju(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const le=Object.assign;function qr(e,t){const n={};for(const r in t){const s=t[r];n[r]=Ke(s)?s.map(e):e(s)}return n}const Pn=()=>{},Ke=Array.isArray,Lu=/\/$/,Bu=e=>e.replace(Lu,"");function Yr(e,t,n="/"){let r,s={},i="",o="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(r=t.slice(0,l),i=t.slice(l+1,a>-1?a:t.length),s=e(i)),a>-1&&(r=r||t.slice(0,a),o=t.slice(a,t.length)),r=Uu(r??t,n),{fullPath:r+(i&&"?")+i+o,path:r,query:s,hash:o}}function Hu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Bi(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Vu(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&pn(t.matched[r],n.matched[s])&&Ma(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function pn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ma(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Wu(e[n],t[n]))return!1;return!0}function Wu(e,t){return Ke(e)?Hi(e,t):Ke(t)?Hi(t,e):e===t}function Hi(e,t){return Ke(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Uu(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let i=n.length-1,o,a;for(o=0;o1&&i--;else break;return n.slice(0,i).join("/")+"/"+r.slice(o-(o===r.length?1:0)).join("/")}var jn;(function(e){e.pop="pop",e.push="push"})(jn||(jn={}));var kn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(kn||(kn={}));function qu(e){if(!e)if(rn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Bu(e)}const Yu=/^[^#]+#/;function zu(e,t){return e.replace(Yu,"#")+t}function Ku(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Dr=()=>({left:window.pageXOffset,top:window.pageYOffset});function Gu(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=Ku(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function Vi(e,t){return(history.state?history.state.position-t:-1)+e}const ds=new Map;function Qu(e,t){ds.set(e,t)}function Xu(e){const t=ds.get(e);return ds.delete(e),t}let Ju=()=>location.protocol+"//"+location.host;function Aa(e,t){const{pathname:n,search:r,hash:s}=t,i=e.indexOf("#");if(i>-1){let a=s.includes(e.slice(i))?e.slice(i).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),Bi(l,"")}return Bi(n,e)+r+s}function Zu(e,t,n,r){let s=[],i=[],o=null;const a=({state:p})=>{const g=Aa(e,location),y=n.value,w=t.value;let P=0;if(p){if(n.value=g,t.value=p,o&&o===y){o=null;return}P=w?p.position-w.position:0}else r(g);s.forEach(T=>{T(n.value,y,{delta:P,type:jn.pop,direction:P?P>0?kn.forward:kn.back:kn.unknown})})};function l(){o=n.value}function c(p){s.push(p);const g=()=>{const y=s.indexOf(p);y>-1&&s.splice(y,1)};return i.push(g),g}function u(){const{history:p}=window;p.state&&p.replaceState(le({},p.state,{scroll:Dr()}),"")}function d(){for(const p of i)p();i=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:l,listen:c,destroy:d}}function Wi(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?Dr():null}}function ef(e){const{history:t,location:n}=window,r={value:Aa(e,n)},s={value:t.state};s.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,c,u){const d=e.indexOf("#"),p=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+l:Ju()+e+l;try{t[u?"replaceState":"pushState"](c,"",p),s.value=c}catch(g){console.error(g),n[u?"replace":"assign"](p)}}function o(l,c){const u=le({},t.state,Wi(s.value.back,l,s.value.forward,!0),c,{position:s.value.position});i(l,u,!0),r.value=l}function a(l,c){const u=le({},s.value,t.state,{forward:l,scroll:Dr()});i(u.current,u,!0);const d=le({},Wi(r.value,l,null),{position:u.position+1},c);i(l,d,!1),r.value=l}return{location:r,state:s,push:a,replace:o}}function tf(e){e=qu(e);const t=ef(e),n=Zu(e,t.state,t.location,t.replace);function r(i,o=!0){o||n.pauseListeners(),history.go(i)}const s=le({location:"",base:e,go:r,createHref:zu.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function nf(e){return typeof e=="string"||e&&typeof e=="object"}function Pa(e){return typeof e=="string"||typeof e=="symbol"}const bt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},ka=Symbol("");var Ui;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Ui||(Ui={}));function mn(e,t){return le(new Error,{type:e,[ka]:!0},t)}function ot(e,t){return e instanceof Error&&ka in e&&(t==null||!!(e.type&t))}const qi="[^/]+?",rf={sensitive:!1,strict:!1,start:!0,end:!0},sf=/[.+*?^${}()[\]/\\]/g;function of(e,t){const n=le({},rf,t),r=[];let s=n.start?"^":"";const i=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(s+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function lf(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const cf={type:0,value:""},uf=/[a-zA-Z0-9_]/;function ff(e){if(!e)return[[]];if(e==="/")return[[cf]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${c}": ${g}`)}let n=0,r=n;const s=[];let i;function o(){i&&s.push(i),i=[]}let a=0,l,c="",u="";function d(){c&&(n===0?i.push({type:0,value:c}):n===1||n===2||n===3?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=l}for(;a{o(C)}:Pn}function o(u){if(Pa(u)){const d=r.get(u);d&&(r.delete(u),n.splice(n.indexOf(d),1),d.children.forEach(o),d.alias.forEach(o))}else{const d=n.indexOf(u);d>-1&&(n.splice(d,1),u.record.name&&r.delete(u.record.name),u.children.forEach(o),u.alias.forEach(o))}}function a(){return n}function l(u){let d=0;for(;d=0&&(u.record.path!==n[d].record.path||!$a(u,n[d]));)d++;n.splice(d,0,u),u.record.name&&!Ki(u)&&r.set(u.record.name,u)}function c(u,d){let p,g={},y,w;if("name"in u&&u.name){if(p=r.get(u.name),!p)throw mn(1,{location:u});w=p.record.name,g=le(zi(d.params,p.keys.filter(C=>!C.optional).map(C=>C.name)),u.params&&zi(u.params,p.keys.map(C=>C.name))),y=p.stringify(g)}else if("path"in u)y=u.path,p=n.find(C=>C.re.test(y)),p&&(g=p.parse(y),w=p.record.name);else{if(p=d.name?r.get(d.name):n.find(C=>C.re.test(d.path)),!p)throw mn(1,{location:u,currentLocation:d});w=p.record.name,g=le({},d.params,u.params),y=p.stringify(g)}const P=[];let T=p;for(;T;)P.unshift(T.record),T=T.parent;return{name:w,path:y,params:g,matched:P,meta:gf(P)}}return e.forEach(u=>i(u)),{addRoute:i,resolve:c,removeRoute:o,getRoutes:a,getRecordMatcher:s}}function zi(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function pf(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:mf(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function mf(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Ki(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function gf(e){return e.reduce((t,n)=>le(t,n.meta),{})}function Gi(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function $a(e,t){return t.children.some(n=>n===e||$a(e,n))}const Da=/#/g,yf=/&/g,bf=/\//g,vf=/=/g,_f=/\?/g,Fa=/\+/g,wf=/%5B/g,xf=/%5D/g,Ra=/%5E/g,Ef=/%60/g,Ia=/%7B/g,Sf=/%7C/g,Na=/%7D/g,Cf=/%20/g;function Ws(e){return encodeURI(""+e).replace(Sf,"|").replace(wf,"[").replace(xf,"]")}function Of(e){return Ws(e).replace(Ia,"{").replace(Na,"}").replace(Ra,"^")}function hs(e){return Ws(e).replace(Fa,"%2B").replace(Cf,"+").replace(Da,"%23").replace(yf,"%26").replace(Ef,"`").replace(Ia,"{").replace(Na,"}").replace(Ra,"^")}function Tf(e){return hs(e).replace(vf,"%3D")}function Mf(e){return Ws(e).replace(Da,"%23").replace(_f,"%3F")}function Af(e){return e==null?"":Mf(e).replace(bf,"%2F")}function fr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function Pf(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;si&&hs(i)):[r&&hs(r)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+n,i!=null&&(t+="="+i))})}return t}function kf(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Ke(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const $f=Symbol(""),Xi=Symbol(""),Us=Symbol(""),qs=Symbol(""),ps=Symbol("");function wn(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ct(e,t,n,r,s){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((o,a)=>{const l=d=>{d===!1?a(mn(4,{from:n,to:t})):d instanceof Error?a(d):nf(d)?a(mn(2,{from:t,to:d})):(i&&r.enterCallbacks[s]===i&&typeof d=="function"&&i.push(d),o())},c=e.call(r&&r.instances[s],t,n,l);let u=Promise.resolve(c);e.length<3&&(u=u.then(l)),u.catch(d=>a(d))})}function zr(e,t,n,r){const s=[];for(const i of e)for(const o in i.components){let a=i.components[o];if(!(t!=="beforeRouteEnter"&&!i.instances[o]))if(Df(a)){const c=(a.__vccOpts||a)[t];c&&s.push(Ct(c,n,r,i,o))}else{let l=a();s.push(()=>l.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${o}" at "${i.path}"`));const u=ju(c)?c.default:c;i.components[o]=u;const p=(u.__vccOpts||u)[t];return p&&Ct(p,n,r,i,o)()}))}}return s}function Df(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Ji(e){const t=ze(Us),n=ze(qs),r=Re(()=>t.resolve(G(e.to))),s=Re(()=>{const{matched:l}=r.value,{length:c}=l,u=l[c-1],d=n.matched;if(!u||!d.length)return-1;const p=d.findIndex(pn.bind(null,u));if(p>-1)return p;const g=Zi(l[c-2]);return c>1&&Zi(u)===g&&d[d.length-1].path!==g?d.findIndex(pn.bind(null,l[c-2])):p}),i=Re(()=>s.value>-1&&If(n.params,r.value.params)),o=Re(()=>s.value>-1&&s.value===n.matched.length-1&&Ma(n.params,r.value.params));function a(l={}){return Rf(l)?t[G(e.replace)?"replace":"push"](G(e.to)).catch(Pn):Promise.resolve()}return{route:r,href:Re(()=>r.value.href),isActive:i,isExactActive:o,navigate:a}}const Ff=Ee({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Ji,setup(e,{slots:t}){const n=Yt(Ji(e)),{options:r}=ze(Us),s=Re(()=>({[eo(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[eo(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&t.default(n);return e.custom?i:Vs("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},i)}}}),ms=Ff;function Rf(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function If(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Ke(s)||s.length!==r.length||r.some((i,o)=>i!==s[o]))return!1}return!0}function Zi(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const eo=(e,t,n)=>e??t??n,Nf=Ee({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=ze(ps),s=Re(()=>e.route||r.value),i=ze(Xi,0),o=Re(()=>{let c=G(i);const{matched:u}=s.value;let d;for(;(d=u[c])&&!d.components;)c++;return c}),a=Re(()=>s.value.matched[o.value]);rr(Xi,Re(()=>o.value+1)),rr($f,a),rr(ps,s);const l=st();return At(()=>[l.value,a.value,e.name],([c,u,d],[p,g,y])=>{u&&(u.instances[d]=c,g&&g!==u&&c&&c===p&&(u.leaveGuards.size||(u.leaveGuards=g.leaveGuards),u.updateGuards.size||(u.updateGuards=g.updateGuards))),c&&u&&(!g||!pn(u,g)||!p)&&(u.enterCallbacks[d]||[]).forEach(w=>w(c))},{flush:"post"}),()=>{const c=s.value,u=e.name,d=a.value,p=d&&d.components[u];if(!p)return to(n.default,{Component:p,route:c});const g=d.props[u],y=g?g===!0?c.params:typeof g=="function"?g(c):g:null,P=Vs(p,le({},y,t,{onVnodeUnmounted:T=>{T.component.isUnmounted&&(d.instances[u]=null)},ref:l}));return to(n.default,{Component:P,route:c})||P}}});function to(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const ja=Nf;function jf(e){const t=hf(e.routes,e),n=e.parseQuery||Pf,r=e.stringifyQuery||Qi,s=e.history,i=wn(),o=wn(),a=wn(),l=qo(bt);let c=bt;rn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=qr.bind(null,v=>""+v),d=qr.bind(null,Af),p=qr.bind(null,fr);function g(v,j){let A,H;return Pa(v)?(A=t.getRecordMatcher(v),H=j):H=v,t.addRoute(H,A)}function y(v){const j=t.getRecordMatcher(v);j&&t.removeRoute(j)}function w(){return t.getRoutes().map(v=>v.record)}function P(v){return!!t.getRecordMatcher(v)}function T(v,j){if(j=le({},j||l.value),typeof v=="string"){const m=Yr(n,v,j.path),b=t.resolve({path:m.path},j),_=s.createHref(m.fullPath);return le(m,b,{params:p(b.params),hash:fr(m.hash),redirectedFrom:void 0,href:_})}let A;if("path"in v)A=le({},v,{path:Yr(n,v.path,j.path).path});else{const m=le({},v.params);for(const b in m)m[b]==null&&delete m[b];A=le({},v,{params:d(m)}),j.params=d(j.params)}const H=t.resolve(A,j),oe=v.hash||"";H.params=u(p(H.params));const f=Hu(r,le({},v,{hash:Of(oe),path:H.path})),h=s.createHref(f);return le({fullPath:f,hash:oe,query:r===Qi?kf(v.query):v.query||{}},H,{redirectedFrom:void 0,href:h})}function C(v){return typeof v=="string"?Yr(n,v,l.value.path):le({},v)}function F(v,j){if(c!==v)return mn(8,{from:j,to:v})}function L(v){return z(v)}function k(v){return L(le(C(v),{replace:!0}))}function ee(v){const j=v.matched[v.matched.length-1];if(j&&j.redirect){const{redirect:A}=j;let H=typeof A=="function"?A(v):A;return typeof H=="string"&&(H=H.includes("?")||H.includes("#")?H=C(H):{path:H},H.params={}),le({query:v.query,hash:v.hash,params:"path"in H?{}:v.params},H)}}function z(v,j){const A=c=T(v),H=l.value,oe=v.state,f=v.force,h=v.replace===!0,m=ee(A);if(m)return z(le(C(m),{state:typeof m=="object"?le({},oe,m.state):oe,force:f,replace:h}),j||A);const b=A;b.redirectedFrom=j;let _;return!f&&Vu(r,H,A)&&(_=mn(16,{to:b,from:H}),Ge(H,H,!0,!1)),(_?Promise.resolve(_):N(b,H)).catch(x=>ot(x)?ot(x,2)?x:pt(x):ie(x,b,H)).then(x=>{if(x){if(ot(x,2))return z(le({replace:h},C(x.to),{state:typeof x.to=="object"?le({},oe,x.to.state):oe,force:f}),j||b)}else x=R(b,H,!0,h,oe);return B(b,H,x),x})}function $(v,j){const A=F(v,j);return A?Promise.reject(A):Promise.resolve()}function S(v){const j=Jt.values().next().value;return j&&typeof j.runWithContext=="function"?j.runWithContext(v):v()}function N(v,j){let A;const[H,oe,f]=Lf(v,j);A=zr(H.reverse(),"beforeRouteLeave",v,j);for(const m of H)m.leaveGuards.forEach(b=>{A.push(Ct(b,v,j))});const h=$.bind(null,v,j);return A.push(h),Ce(A).then(()=>{A=[];for(const m of i.list())A.push(Ct(m,v,j));return A.push(h),Ce(A)}).then(()=>{A=zr(oe,"beforeRouteUpdate",v,j);for(const m of oe)m.updateGuards.forEach(b=>{A.push(Ct(b,v,j))});return A.push(h),Ce(A)}).then(()=>{A=[];for(const m of f)if(m.beforeEnter)if(Ke(m.beforeEnter))for(const b of m.beforeEnter)A.push(Ct(b,v,j));else A.push(Ct(m.beforeEnter,v,j));return A.push(h),Ce(A)}).then(()=>(v.matched.forEach(m=>m.enterCallbacks={}),A=zr(f,"beforeRouteEnter",v,j),A.push(h),Ce(A))).then(()=>{A=[];for(const m of o.list())A.push(Ct(m,v,j));return A.push(h),Ce(A)}).catch(m=>ot(m,8)?m:Promise.reject(m))}function B(v,j,A){a.list().forEach(H=>S(()=>H(v,j,A)))}function R(v,j,A,H,oe){const f=F(v,j);if(f)return f;const h=j===bt,m=rn?history.state:{};A&&(H||h?s.replace(v.fullPath,le({scroll:h&&m&&m.scroll},oe)):s.push(v.fullPath,oe)),l.value=v,Ge(v,j,A,h),pt()}let J;function ge(){J||(J=s.listen((v,j,A)=>{if(!Un.listening)return;const H=T(v),oe=ee(H);if(oe){z(le(oe,{replace:!0}),H).catch(Pn);return}c=H;const f=l.value;rn&&Qu(Vi(f.fullPath,A.delta),Dr()),N(H,f).catch(h=>ot(h,12)?h:ot(h,2)?(z(h.to,H).then(m=>{ot(m,20)&&!A.delta&&A.type===jn.pop&&s.go(-1,!1)}).catch(Pn),Promise.reject()):(A.delta&&s.go(-A.delta,!1),ie(h,H,f))).then(h=>{h=h||R(H,f,!1),h&&(A.delta&&!ot(h,8)?s.go(-A.delta,!1):A.type===jn.pop&&ot(h,20)&&s.go(-1,!1)),B(H,f,h)}).catch(Pn)}))}let ve=wn(),ne=wn(),ce;function ie(v,j,A){pt(v);const H=ne.list();return H.length?H.forEach(oe=>oe(v,j,A)):console.error(v),Promise.reject(v)}function it(){return ce&&l.value!==bt?Promise.resolve():new Promise((v,j)=>{ve.add([v,j])})}function pt(v){return ce||(ce=!v,ge(),ve.list().forEach(([j,A])=>v?A(v):j()),ve.reset()),v}function Ge(v,j,A,H){const{scrollBehavior:oe}=e;if(!rn||!oe)return Promise.resolve();const f=!A&&Xu(Vi(v.fullPath,0))||(H||!A)&&history.state&&history.state.scroll||null;return bn().then(()=>oe(v,j,f)).then(h=>h&&Gu(h)).catch(h=>ie(h,v,j))}const $e=v=>s.go(v);let Xt;const Jt=new Set,Un={currentRoute:l,listening:!0,addRoute:g,removeRoute:y,hasRoute:P,getRoutes:w,resolve:T,options:e,push:L,replace:k,go:$e,back:()=>$e(-1),forward:()=>$e(1),beforeEach:i.add,beforeResolve:o.add,afterEach:a.add,onError:ne.add,isReady:it,install(v){const j=this;v.component("RouterLink",ms),v.component("RouterView",ja),v.config.globalProperties.$router=j,Object.defineProperty(v.config.globalProperties,"$route",{enumerable:!0,get:()=>G(l)}),rn&&!Xt&&l.value===bt&&(Xt=!0,L(s.location).catch(oe=>{}));const A={};for(const oe in bt)Object.defineProperty(A,oe,{get:()=>l.value[oe],enumerable:!0});v.provide(Us,j),v.provide(qs,Ho(A)),v.provide(ps,l);const H=v.unmount;Jt.add(v),v.unmount=function(){Jt.delete(v),Jt.size<1&&(c=bt,J&&J(),J=null,l.value=bt,Xt=!1,ce=!1),H()}}};function Ce(v){return v.reduce((j,A)=>j.then(()=>S(A)),Promise.resolve())}return Un}function Lf(e,t){const n=[],r=[],s=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;opn(c,a))?r.push(a):n.push(a));const l=e.matched[o];l&&(t.matched.find(c=>pn(c,l))||s.push(l))}return[n,r,s]}function Bf(){return ze(qs)}function Hf(e){return Ss()?(Ao(e),!0):!1}function Ys(e){return typeof e=="function"?e():G(e)}const Vf=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Wf=Object.prototype.toString,Uf=e=>Wf.call(e)==="[object Object]",qf=()=>{};function Yf(e,t){function n(...r){return new Promise((s,i)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(i)})}return n}const La=e=>e();function zf(e=La){const t=st(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...i)=>{t.value&&e(...i)};return{isActive:Ps(t),pause:n,resume:r,eventFilter:s}}function Kf(e){return e||_a()}function Gf(e,t,n={}){const{eventFilter:r=La,...s}=n;return At(e,Yf(r,t),s)}function Qf(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:i,pause:o,resume:a,isActive:l}=zf(r);return{stop:Gf(e,t,{...s,eventFilter:i}),pause:o,resume:a,isActive:l}}function Xf(e,t=!0,n){Kf()?Hn(e,n):t?e():bn(e)}function Jf(e){var t;const n=Ys(e);return(t=n==null?void 0:n.$el)!=null?t:n}const dr=Vf?window:void 0;function no(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=dr):[t,n,r,s]=e,!t)return qf;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],o=()=>{i.forEach(u=>u()),i.length=0},a=(u,d,p,g)=>(u.addEventListener(d,p,g),()=>u.removeEventListener(d,p,g)),l=At(()=>[Jf(t),Ys(s)],([u,d])=>{if(o(),!u)return;const p=Uf(d)?{...d}:d;i.push(...n.flatMap(g=>r.map(y=>a(u,g,y,p))))},{immediate:!0,flush:"post"}),c=()=>{l(),o()};return Hf(c),c}const Jn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Zn="__vueuse_ssr_handlers__",Zf=ed();function ed(){return Zn in Jn||(Jn[Zn]=Jn[Zn]||{}),Jn[Zn]}function td(e,t){return Zf[e]||t}function nd(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const rd={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},ro="vueuse-storage";function sd(e,t,n,r={}){var s;const{flush:i="pre",deep:o=!0,listenToStorageChanges:a=!0,writeDefaults:l=!0,mergeDefaults:c=!1,shallow:u,window:d=dr,eventFilter:p,onError:g=S=>{console.error(S)},initOnMounted:y}=r,w=(u?qo:st)(typeof t=="function"?t():t);if(!n)try{n=td("getDefaultStorage",()=>{var S;return(S=dr)==null?void 0:S.localStorage})()}catch(S){g(S)}if(!n)return w;const P=Ys(t),T=nd(P),C=(s=r.serializer)!=null?s:rd[T],{pause:F,resume:L}=Qf(w,()=>k(w.value),{flush:i,deep:o,eventFilter:p});return d&&a&&Xf(()=>{no(d,"storage",$),no(d,ro,z),y&&$()}),y||$(),w;function k(S){try{if(S==null)n.removeItem(e);else{const N=C.write(S),B=n.getItem(e);B!==N&&(n.setItem(e,N),d&&d.dispatchEvent(new CustomEvent(ro,{detail:{key:e,oldValue:B,newValue:N,storageArea:n}})))}}catch(N){g(N)}}function ee(S){const N=S?S.newValue:n.getItem(e);if(N==null)return l&&P!=null&&n.setItem(e,C.write(P)),P;if(!S&&c){const B=C.read(N);return typeof c=="function"?c(B,P):T==="object"&&!Array.isArray(B)?{...P,...B}:B}else return typeof N!="string"?N:C.read(N)}function z(S){$(S.detail)}function $(S){if(!(S&&S.storageArea!==n)){if(S&&S.key==null){w.value=P;return}if(!(S&&S.key!==e)){F();try{(S==null?void 0:S.newValue)!==C.write(w.value)&&(w.value=ee(S))}catch(N){g(N)}finally{S?bn(L):L()}}}}}function hr(e,t,n={}){const{window:r=dr}=n;return sd(e,t,r==null?void 0:r.localStorage,n)}const zs=$r("common",{state:()=>({lastCalendarUpdateDate:hr("budget.it:lastUpdateDate",""),isAddExpenseInputVisible:!1}),actions:{setLastUpdateDate(e){this.lastCalendarUpdateDate=e},showAddExpenseInput(){this.isAddExpenseInputVisible=!0},hideAddExpenseInput(){this.isAddExpenseInputVisible=!1}}});function Me(e){const t=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&t==="[object Date]"?new e.constructor(+e):typeof e=="number"||t==="[object Number]"||typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function zt(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}const Ba=6048e5,id=864e5;let od={};function Fr(){return od}function Ln(e,t){var a,l,c,u;const n=Fr(),r=(t==null?void 0:t.weekStartsOn)??((l=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:l.weekStartsOn)??n.weekStartsOn??((u=(c=n.locale)==null?void 0:c.options)==null?void 0:u.weekStartsOn)??0,s=Me(e),i=s.getDay(),o=(i=s.getTime()?n+1:t.getTime()>=o.getTime()?n:n-1}function so(e){const t=Me(e);return t.setHours(0,0,0,0),t}function io(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}function ad(e,t){const n=so(e),r=so(t),s=n.getTime()-io(n),i=r.getTime()-io(r);return Math.round((s-i)/id)}function ld(e){const t=Ha(e),n=zt(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),pr(n)}function cd(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function ud(e){if(!cd(e)&&typeof e!="number")return!1;const t=Me(e);return!isNaN(Number(t))}function fd(e){const t=Me(e),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(23,59,59,999),t}function dd(e,t){const n=Me(e.start),r=Me(e.end);let s=+n>+r;const i=s?+n:+r,o=s?r:n;o.setHours(0,0,0,0);let a=(t==null?void 0:t.step)??1;if(!a)return[];a<0&&(a=-a,s=!s);const l=[];for(;+o<=i;)l.push(Me(o)),o.setDate(o.getDate()+a),o.setHours(0,0,0,0);return s?l.reverse():l}function hd(e){const t=Me(e);return t.setDate(1),t.setHours(0,0,0,0),t}function pd(e){const t=Me(e),n=zt(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}const md={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},gd=(e,t,n)=>{let r;const s=md[e];return typeof s=="string"?r=s:t===1?r=s.one:r=s.other.replace("{{count}}",t.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function Kr(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const yd={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},bd={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},vd={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},_d={date:Kr({formats:yd,defaultWidth:"full"}),time:Kr({formats:bd,defaultWidth:"full"}),dateTime:Kr({formats:vd,defaultWidth:"full"})},wd={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},xd=(e,t,n,r)=>wd[e];function xn(e){return(t,n)=>{const r=n!=null&&n.context?String(n.context):"standalone";let s;if(r==="formatting"&&e.formattingValues){const o=e.defaultFormattingWidth||e.defaultWidth,a=n!=null&&n.width?String(n.width):o;s=e.formattingValues[a]||e.formattingValues[o]}else{const o=e.defaultWidth,a=n!=null&&n.width?String(n.width):e.defaultWidth;s=e.values[a]||e.values[o]}const i=e.argumentCallback?e.argumentCallback(t):t;return s[i]}}const Ed={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Sd={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Cd={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Od={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Td={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Md={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Ad=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Pd={ordinalNumber:Ad,era:xn({values:Ed,defaultWidth:"wide"}),quarter:xn({values:Sd,defaultWidth:"wide",argumentCallback:e=>e-1}),month:xn({values:Cd,defaultWidth:"wide"}),day:xn({values:Od,defaultWidth:"wide"}),dayPeriod:xn({values:Td,defaultWidth:"wide",formattingValues:Md,defaultFormattingWidth:"wide"})};function En(e){return(t,n={})=>{const r=n.width,s=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],i=t.match(s);if(!i)return null;const o=i[0],a=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(a)?$d(a,d=>d.test(o)):kd(a,d=>d.test(o));let c;c=e.valueCallback?e.valueCallback(l):l,c=n.valueCallback?n.valueCallback(c):c;const u=t.slice(o.length);return{value:c,rest:u}}}function kd(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function $d(e,t){for(let n=0;n{const r=t.match(e.matchPattern);if(!r)return null;const s=r[0],i=t.match(e.parsePattern);if(!i)return null;let o=e.valueCallback?e.valueCallback(i[0]):i[0];o=n.valueCallback?n.valueCallback(o):o;const a=t.slice(s.length);return{value:o,rest:a}}}const Fd=/^(\d+)(th|st|nd|rd)?/i,Rd=/\d+/i,Id={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Nd={any:[/^b/i,/^(a|c)/i]},jd={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Ld={any:[/1/i,/2/i,/3/i,/4/i]},Bd={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Hd={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Vd={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Wd={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Ud={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},qd={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Yd={ordinalNumber:Dd({matchPattern:Fd,parsePattern:Rd,valueCallback:e=>parseInt(e,10)}),era:En({matchPatterns:Id,defaultMatchWidth:"wide",parsePatterns:Nd,defaultParseWidth:"any"}),quarter:En({matchPatterns:jd,defaultMatchWidth:"wide",parsePatterns:Ld,defaultParseWidth:"any",valueCallback:e=>e+1}),month:En({matchPatterns:Bd,defaultMatchWidth:"wide",parsePatterns:Hd,defaultParseWidth:"any"}),day:En({matchPatterns:Vd,defaultMatchWidth:"wide",parsePatterns:Wd,defaultParseWidth:"any"}),dayPeriod:En({matchPatterns:Ud,defaultMatchWidth:"any",parsePatterns:qd,defaultParseWidth:"any"})},zd={code:"en-US",formatDistance:gd,formatLong:_d,formatRelative:xd,localize:Pd,match:Yd,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Kd(e){const t=Me(e);return ad(t,pd(t))+1}function Gd(e){const t=Me(e),n=pr(t).getTime()-ld(t).getTime();return Math.round(n/Ba)+1}function Va(e,t){var u,d,p,g;const n=Me(e),r=n.getFullYear(),s=Fr(),i=(t==null?void 0:t.firstWeekContainsDate)??((d=(u=t==null?void 0:t.locale)==null?void 0:u.options)==null?void 0:d.firstWeekContainsDate)??s.firstWeekContainsDate??((g=(p=s.locale)==null?void 0:p.options)==null?void 0:g.firstWeekContainsDate)??1,o=zt(e,0);o.setFullYear(r+1,0,i),o.setHours(0,0,0,0);const a=Ln(o,t),l=zt(e,0);l.setFullYear(r,0,i),l.setHours(0,0,0,0);const c=Ln(l,t);return n.getTime()>=a.getTime()?r+1:n.getTime()>=c.getTime()?r:r-1}function Qd(e,t){var a,l,c,u;const n=Fr(),r=(t==null?void 0:t.firstWeekContainsDate)??((l=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:l.firstWeekContainsDate)??n.firstWeekContainsDate??((u=(c=n.locale)==null?void 0:c.options)==null?void 0:u.firstWeekContainsDate)??1,s=Va(e,t),i=zt(e,0);return i.setFullYear(s,0,r),i.setHours(0,0,0,0),Ln(i,t)}function Xd(e,t){const n=Me(e),r=Ln(n,t).getTime()-Qd(n,t).getTime();return Math.round(r/Ba)+1}function ae(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const vt={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return ae(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):ae(n+1,2)},d(e,t){return ae(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return ae(e.getHours()%12||12,t.length)},H(e,t){return ae(e.getHours(),t.length)},m(e,t){return ae(e.getMinutes(),t.length)},s(e,t){return ae(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),s=Math.floor(r*Math.pow(10,n-3));return ae(s,t.length)}},tn={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Jd={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),s=r>0?r:1-r;return n.ordinalNumber(s,{unit:"year"})}return vt.y(e,t)},Y:function(e,t,n,r){const s=Va(e,r),i=s>0?s:1-s;if(t==="YY"){const o=i%100;return ae(o,2)}return t==="Yo"?n.ordinalNumber(i,{unit:"year"}):ae(i,t.length)},R:function(e,t){const n=Ha(e);return ae(n,t.length)},u:function(e,t){const n=e.getFullYear();return ae(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return ae(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return ae(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return vt.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return ae(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const s=Xd(e,r);return t==="wo"?n.ordinalNumber(s,{unit:"week"}):ae(s,t.length)},I:function(e,t,n){const r=Gd(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):ae(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):vt.d(e,t)},D:function(e,t,n){const r=Kd(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):ae(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const s=e.getDay(),i=(s-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(i);case"ee":return ae(i,2);case"eo":return n.ordinalNumber(i,{unit:"day"});case"eee":return n.day(s,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(s,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(s,{width:"short",context:"formatting"});case"eeee":default:return n.day(s,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const s=e.getDay(),i=(s-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(i);case"cc":return ae(i,t.length);case"co":return n.ordinalNumber(i,{unit:"day"});case"ccc":return n.day(s,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(s,{width:"narrow",context:"standalone"});case"cccccc":return n.day(s,{width:"short",context:"standalone"});case"cccc":default:return n.day(s,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),s=r===0?7:r;switch(t){case"i":return String(s);case"ii":return ae(s,t.length);case"io":return n.ordinalNumber(s,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const s=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(s,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let s;switch(r===12?s=tn.noon:r===0?s=tn.midnight:s=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(s,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let s;switch(r>=17?s=tn.evening:r>=12?s=tn.afternoon:r>=4?s=tn.morning:s=tn.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(s,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return vt.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):vt.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):ae(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):ae(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):vt.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):vt.s(e,t)},S:function(e,t){return vt.S(e,t)},X:function(e,t,n,r){const i=(r._originalDate||e).getTimezoneOffset();if(i===0)return"Z";switch(t){case"X":return ao(i);case"XXXX":case"XX":return Lt(i);case"XXXXX":case"XXX":default:return Lt(i,":")}},x:function(e,t,n,r){const i=(r._originalDate||e).getTimezoneOffset();switch(t){case"x":return ao(i);case"xxxx":case"xx":return Lt(i);case"xxxxx":case"xxx":default:return Lt(i,":")}},O:function(e,t,n,r){const i=(r._originalDate||e).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+oo(i,":");case"OOOO":default:return"GMT"+Lt(i,":")}},z:function(e,t,n,r){const i=(r._originalDate||e).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+oo(i,":");case"zzzz":default:return"GMT"+Lt(i,":")}},t:function(e,t,n,r){const s=r._originalDate||e,i=Math.floor(s.getTime()/1e3);return ae(i,t.length)},T:function(e,t,n,r){const i=(r._originalDate||e).getTime();return ae(i,t.length)}};function oo(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),s=Math.floor(r/60),i=r%60;return i===0?n+String(s):n+String(s)+t+ae(i,2)}function ao(e,t){return e%60===0?(e>0?"-":"+")+ae(Math.abs(e)/60,2):Lt(e,t)}function Lt(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),s=ae(Math.floor(r/60),2),i=ae(r%60,2);return n+s+t+i}const lo=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},Wa=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},Zd=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],s=n[2];if(!s)return lo(e,t);let i;switch(r){case"P":i=t.dateTime({width:"short"});break;case"PP":i=t.dateTime({width:"medium"});break;case"PPP":i=t.dateTime({width:"long"});break;case"PPPP":default:i=t.dateTime({width:"full"});break}return i.replace("{{date}}",lo(r,t)).replace("{{time}}",Wa(s,t))},eh={p:Wa,P:Zd},th=["D","DD"],nh=["YY","YYYY"];function rh(e){return th.indexOf(e)!==-1}function sh(e){return nh.indexOf(e)!==-1}function co(e,t,n){if(e==="YYYY")throw new RangeError(`Use \`yyyy\` instead of \`YYYY\` (in \`${t}\`) for formatting years to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`);if(e==="YY")throw new RangeError(`Use \`yy\` instead of \`YY\` (in \`${t}\`) for formatting years to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`);if(e==="D")throw new RangeError(`Use \`d\` instead of \`D\` (in \`${t}\`) for formatting days of the month to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`);if(e==="DD")throw new RangeError(`Use \`dd\` instead of \`DD\` (in \`${t}\`) for formatting days of the month to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`)}const ih=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,oh=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ah=/^'([^]*?)'?$/,lh=/''/g,ch=/[a-zA-Z]/;function Je(e,t,n){var u,d,p,g,y,w,P,T;const r=Fr(),s=(n==null?void 0:n.locale)??r.locale??zd,i=(n==null?void 0:n.firstWeekContainsDate)??((d=(u=n==null?void 0:n.locale)==null?void 0:u.options)==null?void 0:d.firstWeekContainsDate)??r.firstWeekContainsDate??((g=(p=r.locale)==null?void 0:p.options)==null?void 0:g.firstWeekContainsDate)??1,o=(n==null?void 0:n.weekStartsOn)??((w=(y=n==null?void 0:n.locale)==null?void 0:y.options)==null?void 0:w.weekStartsOn)??r.weekStartsOn??((T=(P=r.locale)==null?void 0:P.options)==null?void 0:T.weekStartsOn)??0,a=Me(e);if(!ud(a))throw new RangeError("Invalid time value");const l={firstWeekContainsDate:i,weekStartsOn:o,locale:s,_originalDate:a};return t.match(oh).map(function(C){const F=C[0];if(F==="p"||F==="P"){const L=eh[F];return L(C,s.formatLong)}return C}).join("").match(ih).map(function(C){if(C==="''")return"'";const F=C[0];if(F==="'")return uh(C);const L=Jd[F];if(L)return!(n!=null&&n.useAdditionalWeekYearTokens)&&sh(C)&&co(C,t,String(e)),!(n!=null&&n.useAdditionalDayOfYearTokens)&&rh(C)&&co(C,t,String(e)),L(a,C,s.localize,l);if(F.match(ch))throw new RangeError("Format string contains an unescaped latin alphabet character `"+F+"`");return C}).join("")}function uh(e){const t=e.match(ah);return t?t[1].replace(lh,"'"):e}function fh(e){return+Me(e){const r=hd(n.monthString),s=fd(n.monthString),o=dd({start:r,end:s}).map(a=>({id:Je(a,"ddMMyyyy"),monthId:n.id,number:Je(a,"d"),name:Je(a,"EEEE"),isCurrent:Je(a,"d_MMMM")===Je(new Date,"d_MMMM"),isPast:fh(a)&&Je(a,"d_MMMM")!==Je(new Date,"d_MMMM")}));t.push(...o)}),t.reverse()}function dh(){const e=new Date,t={hour:"numeric",minute:"numeric"};return new Intl.DateTimeFormat("ru",t).format(e)}const Vt=$r("calendar",{state:()=>({months:[],days:[],shouldGenerateNextMonth:!1}),getters:{getDaysByMonthId:e=>t=>e.days.filter(n=>n.monthId===t),getCurrentMonth:e=>e.months.find(t=>t.isCurrent),getCurrentDay:e=>e.days.find(t=>t.isCurrent)},actions:{initCalendar(){const e=uo(5),t=fo(e),n=Number(t[t.length-25].id),r=Number(Je(new Date,"ddMMyyyy"));this.shouldGenerateNextMonth=r>n;const s=this.shouldGenerateNextMonth?uo(0,1):[],i=this.shouldGenerateNextMonth?fo(s):[];this.months=[...s,...e],this.days=[...i,...t]}}});let er;const hh=new Uint8Array(16);function ph(){if(!er&&(er=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!er))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return er(hh)}const Se=[];for(let e=0;e<256;++e)Se.push((e+256).toString(16).slice(1));function mh(e,t=0){return Se[e[t+0]]+Se[e[t+1]]+Se[e[t+2]]+Se[e[t+3]]+"-"+Se[e[t+4]]+Se[e[t+5]]+"-"+Se[e[t+6]]+Se[e[t+7]]+"-"+Se[e[t+8]]+Se[e[t+9]]+"-"+Se[e[t+10]]+Se[e[t+11]]+Se[e[t+12]]+Se[e[t+13]]+Se[e[t+14]]+Se[e[t+15]]}const gh=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ho={randomUUID:gh};function yh(e,t,n){if(ho.randomUUID&&!t&&!e)return ho.randomUUID();e=e||{};const r=e.random||(e.rng||ph)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let s=0;s<16;++s)t[n+s]=r[s];return t}return mh(r)}const Ks=$r("expenses",{state:()=>({expenses:hr("budget.it:expenses",{})}),getters:{getMonthlyExpenses:e=>t=>{const n=[];return Object.keys(e.expenses).forEach(s=>{if(!e.expenses[s].items.length)return;const i=e.expenses[s].items.filter(o=>o.monthId===t);return n.push(...i)}),n.reduce((s,i)=>s+Number(i.value),0)},getDailyExpenses:e=>t=>{const n=[];return Object.keys(e.expenses).forEach(s=>{if(!e.expenses[s].items.length)return;const i=e.expenses[s].items.filter(o=>o.dayId===t);return n.push(...i)}),n.reduce((s,i)=>s+Number(i.value),0)}},actions:{initExpensesObject(){const{shouldGenerateNextMonth:e}=Be(Vt());(e||!this.expenses||Object.keys(this.expenses).length===0)&&this.createExpensesByDayObject(),this.checkAndCleanupExpensesByDayObject()},createExpensesByDayObject(){const{days:e}=Be(Vt());e.value.forEach(t=>{this.expenses[t.id]||(this.expenses[t.id]={items:[]})})},addExpense(e){var s,i;const{getCurrentDay:t}=Be(Vt()),{getActiveCurrency:n}=Be(Vn()),r={id:yh(),value:e,currency:n.value.name,createdAt:dh(),monthId:((s=t.value)==null?void 0:s.monthId)||"",dayId:((i=t.value)==null?void 0:i.id)||""};this.expenses[r.dayId].items.push(r)},removeExpense(e,t){this.expenses[t].items=this.expenses[t].items.filter(n=>n.id!==e)},checkAndCleanupExpensesByDayObject(){const{months:e}=Be(Vt()),t=e.value.map(n=>n.id);for(const n in this.expenses)t.includes(n.substring(2))||delete this.expenses[n]}}}),Vn=$r("settings",{state:()=>({currencies:hr("budget.it:currencies",[{name:"$",isActive:!0,isDefault:!0},{name:"€",isActive:!1,isDefault:!0},{name:"₽",isActive:!1,isDefault:!0},{name:"฿",isActive:!1,isDefault:!0},{name:"¥",isActive:!1,isDefault:!0}]),dailyBudget:hr("budget.it:daily",500)}),getters:{getActiveCurrency(e){return e.currencies.filter(t=>t.isActive)[0]}},actions:{setActiveCurrency(e){this.currencies=this.currencies.map(t=>(t.isActive=t.name===e,t))},setDailyBudget(e){this.dailyBudget=e},addNewCurrency(e){this.currencies.push({name:e,isActive:!1,isDefault:!1})},deleteCurrency(e){this.currencies=this.currencies.filter(t=>t.name!==e)}}}),bh="data:image/svg+xml,%3csvg%20width='98'%20height='96'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M48.854%200C21.839%200%200%2022%200%2049.217c0%2021.756%2013.993%2040.172%2033.405%2046.69%202.427.49%203.316-1.059%203.316-2.362%200-1.141-.08-5.052-.08-9.127-13.59%202.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015%204.934.326%207.523%205.052%207.523%205.052%204.367%207.496%2011.404%205.378%2014.235%204.074.404-3.178%201.699-5.378%203.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283%200-5.378%201.94-9.778%205.014-13.2-.485-1.222-2.184-6.275.486-13.038%200%200%204.125-1.304%2013.426%205.052a46.97%2046.97%200%200%201%2012.214-1.63c4.125%200%208.33.571%2012.213%201.63%209.302-6.356%2013.427-5.052%2013.427-5.052%202.67%206.763.97%2011.816.485%2013.038%203.155%203.422%205.015%207.822%205.015%2013.2%200%2018.905-11.404%2023.06-22.324%2024.283%201.78%201.548%203.316%204.481%203.316%209.126%200%206.6-.08%2011.897-.08%2013.526%200%201.304.89%202.853%203.316%202.364%2019.412-6.52%2033.405-24.935%2033.405-46.691C97.707%2022%2075.788%200%2048.854%200z'%20fill='%2324292f'/%3e%3c/svg%3e",vh="0.6.5-beta",Ua=e=>(Gl("data-v-241fb166"),e=e(),Ql(),e),_h={class:"sticky top-0 w-full bg-white z-[100]"},wh={class:"container mx-auto px-5 py-3 flex items-center justify-between select-none"},xh={class:"flex items-center"},Eh={href:"/budget.it/",class:"flex items-baseline font-bold"},Sh=Ua(()=>U("div",{class:"logo-gradient gradient-animation text-lg lg:text-2xl"},"budget.it",-1)),Ch={class:"logo-sub-gradient gradient-animation text-xs ml-2 bottom-0"},Oh=Ua(()=>U("a",{href:"https://github.com/begprod/budget.it",target:"_blank",class:"select-none"},[U("img",{src:bh,class:"w-7 opacity-80 hover:opacity-100 transition-all duration-300",width:"40",height:"40",alt:"budget.it github"})],-1)),Th=Ee({__name:"BaseHeader",setup(e){return(t,n)=>(Y(),se("header",_h,[U("div",wh,[U("div",xh,[U("a",Eh,[Sh,U("sub",Ch," v"+Pe(G(vh)),1)])]),Oh])]))}}),Ft=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Mh=Ft(Th,[["__scopeId","data-v-241fb166"]]),Ah={},Ph={class:"w-full bg-white select-none"},kh=Hc('',1),$h=[kh];function Dh(e,t){return Y(),se("footer",Ph,$h)}const Fh=Ft(Ah,[["render",Dh]]);function Rh(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M2.25 18.75a60.07 60.07 0 0 1 15.797 2.101c.727.198 1.453-.342 1.453-1.096V18.75M3.75 4.5v.75A.75.75 0 0 1 3 6h-.75m0 0v-.375c0-.621.504-1.125 1.125-1.125H20.25M2.25 6v9m18-10.5v.75c0 .414.336.75.75.75h.75m-1.5-1.5h.375c.621 0 1.125.504 1.125 1.125v9.75c0 .621-.504 1.125-1.125 1.125h-.375m1.5-1.5H21a.75.75 0 0 0-.75.75v.75m0 0H3.75m0 0h-.375a1.125 1.125 0 0 1-1.125-1.125V15m1.5 1.5v-.75A.75.75 0 0 0 3 15h-.75M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm3 0h.008v.008H18V10.5Zm-12 0h.008v.008H6V10.5Z"})])}function Ih(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m4.5 12.75 6 6 9-13.5"})])}function Nh(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z"}),U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"})])}function jh(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m2.25 12 8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25"})])}function Lh(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z"})])}function Bh(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4.5v15m7.5-7.5h-15"})])}function Hh(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m9.75 9.75 4.5 4.5m0-4.5-4.5 4.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})])}function qa(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18 18 6M6 6l12 12"})])}const Vh=["type","title","disabled"],Bn=Ee({__name:"BaseButton",props:{type:{default:"button"},title:{},isDisabled:{type:Boolean}},emits:["click"],setup(e,{emit:t}){const n=t,r=()=>{n("click")};return(s,i)=>(Y(),se("button",{class:"flex items-center justify-center px-3 py-2 w-full text-sm text-sky-400 bg-white border border-slate-300 rounded-xl focus:outline-none lg:hover:bg-sky-500 lg:hover:text-white disabled:opacity-50 disabled:bg-slate-300 transition-[background-color]",type:s.type,title:s.title,disabled:s.isDisabled,onClick:r},[Pt(s.$slots,"leftIcon"),Pt(s.$slots,"text"),Pt(s.$slots,"rightIcon")],8,Vh))}}),Wh={class:"text-slate-700 font-bold opacity-60 select-none"},Uh=Ee({__name:"BaseProgressBar",props:{label:{},percentage:{},showTotal:{type:Boolean}},setup(e){const t=e,n=Re(()=>({"progress-bar_overfilled":t.percentage>=100,"progress-bar_total":t.showTotal}));return(r,s)=>(Y(),se("div",{class:nt(["progress-bar relative flex items-center justify-center h-6 text-xs lg:text-sm text-slate-700 bg-white rounded-md overflow-hidden",n.value])},[U("div",{class:"progress-bar__background absolute top-0 left-0 w-full h-full",style:_r({"background-size":`${r.percentage}%`})},null,4),U("span",Wh,Pe(r.label),1)],2))}}),qh=Ft(Uh,[["__scopeId","data-v-ae6b84b5"]]),Yh={class:"fixed right-0 bottom-0 left-0 w-full z-[100]"},zh={key:0,class:"container mx-auto px-5"},Kh={class:"px-6 py-5 bg-white border-t border-slate-200"},Gh={class:"max-w-96 flex justify-around mx-auto"},Qh=Ee({__name:"BaseMenuBar",setup(e){const t=Bf(),n=zs(),r=Vn(),s=Vt(),i=Ks(),{showAddExpenseInput:o}=n,{getCurrentMonth:a,getDaysByMonthId:l}=s,{getMonthlyExpenses:c}=i,{dailyBudget:u}=Be(r),d=()=>{o(),bn(()=>{const y=document.getElementById("expense-input");y==null||y.focus()})},p=y=>{if(y===void 0)return 0;const w=c(y);return w>l(y).length*u.value?100:w/(l(y).length*u.value)*100},g=y=>y===void 0?"":`${c(y)} / ${l(y).length*u.value}`;return(y,w)=>{var P,T,C;return Y(),se("div",Yh,[G(t).name==="home"?(Y(),se("div",zh,[Q(Bn,{class:"mb-2 shadow-md",onClick:d},{text:de(()=>[js(" Add expense ")]),rightIcon:de(()=>[Q(G(Rh),{class:"w-5 h-5 ml-2"})]),_:1}),Q(qh,{class:"mb-2 shadow-md",label:`${(P=G(a))==null?void 0:P.name} – ${g((T=G(a))==null?void 0:T.id)}`,percentage:p((C=G(a))==null?void 0:C.id)},null,8,["label","percentage"])])):rt("",!0),U("div",Kh,[U("div",Gh,[Q(G(ms),{to:"/"},{default:de(()=>[Q(G(jh),{class:"w-6 h-6 text-slate-400"})]),_:1}),Q(G(ms),{to:"/settings"},{default:de(()=>[Q(G(Nh),{class:"w-6 h-6 text-slate-400"})]),_:1})])])])}}}),Xh=Ft(Qh,[["__scopeId","data-v-cd98e6ca"]]),Jh={class:"container flex flex-col mx-auto px-5 pb-16 z-10"},Zh={class:"grow"},Gs=Ee({__name:"BaseLayout",setup(e){return(t,n)=>(Y(),se(we,null,[Q(Mh),U("main",Jh,[U("div",Zh,[Pt(t.$slots,"default")]),Q(Fh)]),Q(Xh)],64))}});function Qt(e){this._maxSize=e,this.clear()}Qt.prototype.clear=function(){this._size=0,this._values=Object.create(null)};Qt.prototype.get=function(e){return this._values[e]};Qt.prototype.set=function(e,t){return this._size>=this._maxSize&&this.clear(),e in this._values||this._size++,this._values[e]=t};var ep=/[^.^\]^[]+|(?=\[\]|\.\.)/g,Ya=/^\d+$/,tp=/^\d/,np=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,rp=/^\s*(['"]?)(.*?)(\1)\s*$/,Qs=512,po=new Qt(Qs),mo=new Qt(Qs),go=new Qt(Qs),za={Cache:Qt,split:gs,normalizePath:Gr,setter:function(e){var t=Gr(e);return mo.get(e)||mo.set(e,function(r,s){for(var i=0,o=t.length,a=r;i"",mp=/^Symbol\((.*)\)(.*)$/;function gp(e){return e!=+e?"NaN":e===0&&1/e<0?"-0":""+e}function yo(e,t=!1){if(e==null||e===!0||e===!1)return""+e;const n=typeof e;if(n==="number")return gp(e);if(n==="string")return t?`"${e}"`:e;if(n==="function")return"[Function "+(e.name||"anonymous")+"]";if(n==="symbol")return pp.call(e).replace(mp,"Symbol($1)");const r=fp.call(e).slice(8,-1);return r==="Date"?isNaN(e.getTime())?""+e:e.toISOString(e):r==="Error"||e instanceof Error?"["+dp.call(e)+"]":r==="RegExp"?hp.call(e):null}function kt(e,t){let n=yo(e,t);return n!==null?n:JSON.stringify(e,function(r,s){let i=yo(this[r],t);return i!==null?i:s},2)}function Qa(e){return e==null?[]:[].concat(e)}let Xa,yp=/\$\{\s*(\w+)\s*\}/g;Xa=Symbol.toStringTag;class Fe extends Error{static formatError(t,n){const r=n.label||n.path||"this";return r!==n.path&&(n=Object.assign({},n,{path:r})),typeof t=="string"?t.replace(yp,(s,i)=>kt(n[i])):typeof t=="function"?t(n):t}static isError(t){return t&&t.name==="ValidationError"}constructor(t,n,r,s,i){super(),this.value=void 0,this.path=void 0,this.type=void 0,this.errors=void 0,this.params=void 0,this.inner=void 0,this[Xa]="Error",this.name="ValidationError",this.value=n,this.path=r,this.type=s,this.errors=[],this.inner=[],Qa(t).forEach(o=>{if(Fe.isError(o)){this.errors.push(...o.errors);const a=o.inner.length?o.inner:[o];this.inner.push(...a)}else this.errors.push(o)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],!i&&Error.captureStackTrace&&Error.captureStackTrace(this,Fe)}}let Ze={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:e,type:t,value:n,originalValue:r})=>{const s=r!=null&&r!==n?` (cast from the value \`${kt(r,!0)}\`).`:".";return t!=="mixed"?`${e} must be a \`${t}\` type, but the final value was: \`${kt(n,!0)}\``+s:`${e} must match the configured type. The validated value was: \`${kt(n,!0)}\``+s}},qe={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},wt={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},ys={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},bp={isValue:"${path} field must be ${value}"},vp={noUnknown:"${path} field has unspecified keys: ${unknown}"},_p={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"},wp={notType:e=>{const{path:t,value:n,spec:r}=e,s=r.types.length;if(Array.isArray(n)){if(n.lengths)return`${t} tuple value has too many items, expected a length of ${s} but got ${n.length} for value: \`${kt(n,!0)}\``}return Fe.formatError(Ze.notType,e)}};Object.assign(Object.create(null),{mixed:Ze,string:qe,number:wt,date:ys,object:vp,array:_p,boolean:bp,tuple:wp});const Ja=e=>e&&e.__isYupSchema__;class mr{static fromOptions(t,n){if(!n.then&&!n.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:r,then:s,otherwise:i}=n,o=typeof r=="function"?r:(...a)=>a.every(l=>l===r);return new mr(t,(a,l)=>{var c;let u=o(...a)?s:i;return(c=u==null?void 0:u(l))!=null?c:l})}constructor(t,n){this.fn=void 0,this.refs=t,this.refs=t,this.fn=n}resolve(t,n){let r=this.refs.map(i=>i.getValue(n==null?void 0:n.value,n==null?void 0:n.parent,n==null?void 0:n.context)),s=this.fn(r,t,n);if(s===void 0||s===t)return t;if(!Ja(s))throw new TypeError("conditions must return a schema object");return s.resolve(n)}}const tr={context:"$",value:"."};class Wn{constructor(t,n={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,typeof t!="string")throw new TypeError("ref must be a string, got: "+t);if(this.key=t.trim(),t==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===tr.context,this.isValue=this.key[0]===tr.value,this.isSibling=!this.isContext&&!this.isValue;let r=this.isContext?tr.context:this.isValue?tr.value:"";this.path=this.key.slice(r.length),this.getter=this.path&&za.getter(this.path,!0),this.map=n.map}getValue(t,n,r){let s=this.isContext?r:this.isValue?t:n;return this.getter&&(s=this.getter(s||{})),this.map&&(s=this.map(s)),s}cast(t,n){return this.getValue(t,n==null?void 0:n.parent,n==null?void 0:n.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(t){return t&&t.__isYupRef}}Wn.prototype.__isYupRef=!0;const ct=e=>e==null;function nn(e){function t({value:n,path:r="",options:s,originalValue:i,schema:o},a,l){const{name:c,test:u,params:d,message:p,skipAbsent:g}=e;let{parent:y,context:w,abortEarly:P=o.spec.abortEarly,disableStackTrace:T=o.spec.disableStackTrace}=s;function C(B){return Wn.isRef(B)?B.getValue(n,y,w):B}function F(B={}){var R;const J=Object.assign({value:n,originalValue:i,label:o.spec.label,path:B.path||r,spec:o.spec},d,B.params);for(const ve of Object.keys(J))J[ve]=C(J[ve]);const ge=new Fe(Fe.formatError(B.message||p,J),n,J.path,B.type||c,(R=B.disableStackTrace)!=null?R:T);return ge.params=J,ge}const L=P?a:l;let k={path:r,parent:y,type:c,from:s.from,createError:F,resolve:C,options:s,originalValue:i,schema:o};const ee=B=>{Fe.isError(B)?L(B):B?l(null):L(F())},z=B=>{Fe.isError(B)?L(B):a(B)};if(g&&ct(n))return ee(!0);let S;try{var N;if(S=u.call(k,n,k),typeof((N=S)==null?void 0:N.then)=="function"){if(s.sync)throw new Error(`Validation test of type: "${k.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`);return Promise.resolve(S).then(ee,z)}}catch(B){z(B);return}ee(S)}return t.OPTIONS=e,t}function xp(e,t,n,r=n){let s,i,o;return t?(za.forEach(t,(a,l,c)=>{let u=l?a.slice(1,a.length-1):a;e=e.resolve({context:r,parent:s,value:n});let d=e.type==="tuple",p=c?parseInt(u,10):0;if(e.innerType||d){if(d&&!c)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${o}" must contain an index to the tuple element, e.g. "${o}[0]"`);if(n&&p>=n.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${t}. because there is no value at that index. `);s=n,n=n&&n[p],e=d?e.spec.types[p]:e.innerType}if(!c){if(!e.fields||!e.fields[u])throw new Error(`The schema does not contain the path: ${t}. (failed at: ${o} which is a type: "${e.type}")`);s=n,n=n&&n[u],e=e.fields[u]}i=u,o=l?"["+a+"]":"."+a}),{schema:e,parent:s,parentPath:i}):{parent:s,parentPath:t,schema:e}}class gr extends Set{describe(){const t=[];for(const n of this.values())t.push(Wn.isRef(n)?n.describe():n);return t}resolveAll(t){let n=[];for(const r of this.values())n.push(t(r));return n}clone(){return new gr(this.values())}merge(t,n){const r=this.clone();return t.forEach(s=>r.add(s)),n.forEach(s=>r.delete(s)),r}}function on(e,t=new Map){if(Ja(e)||!e||typeof e!="object")return e;if(t.has(e))return t.get(e);let n;if(e instanceof Date)n=new Date(e.getTime()),t.set(e,n);else if(e instanceof RegExp)n=new RegExp(e),t.set(e,n);else if(Array.isArray(e)){n=new Array(e.length),t.set(e,n);for(let r=0;r{this.typeError(Ze.notType)}),this.type=t.type,this._typeCheck=t.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,disableStackTrace:!1,nullable:!1,optional:!0,coerce:!0},t==null?void 0:t.spec),this.withMutation(n=>{n.nonNullable()})}get _type(){return this.type}clone(t){if(this._mutate)return t&&Object.assign(this.spec,t),this;const n=Object.create(Object.getPrototypeOf(this));return n.type=this.type,n._typeCheck=this._typeCheck,n._whitelist=this._whitelist.clone(),n._blacklist=this._blacklist.clone(),n.internalTests=Object.assign({},this.internalTests),n.exclusiveTests=Object.assign({},this.exclusiveTests),n.deps=[...this.deps],n.conditions=[...this.conditions],n.tests=[...this.tests],n.transforms=[...this.transforms],n.spec=on(Object.assign({},this.spec,t)),n}label(t){let n=this.clone();return n.spec.label=t,n}meta(...t){if(t.length===0)return this.spec.meta;let n=this.clone();return n.spec.meta=Object.assign(n.spec.meta||{},t[0]),n}withMutation(t){let n=this._mutate;this._mutate=!0;let r=t(this);return this._mutate=n,r}concat(t){if(!t||t===this)return this;if(t.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${t.type}`);let n=this,r=t.clone();const s=Object.assign({},n.spec,r.spec);return r.spec=s,r.internalTests=Object.assign({},n.internalTests,r.internalTests),r._whitelist=n._whitelist.merge(t._whitelist,t._blacklist),r._blacklist=n._blacklist.merge(t._blacklist,t._whitelist),r.tests=n.tests,r.exclusiveTests=n.exclusiveTests,r.withMutation(i=>{t.tests.forEach(o=>{i.test(o.OPTIONS)})}),r.transforms=[...n.transforms,...r.transforms],r}isType(t){return t==null?!!(this.spec.nullable&&t===null||this.spec.optional&&t===void 0):this._typeCheck(t)}resolve(t){let n=this;if(n.conditions.length){let r=n.conditions;n=n.clone(),n.conditions=[],n=r.reduce((s,i)=>i.resolve(s,t),n),n=n.resolve(t)}return n}resolveOptions(t){var n,r,s,i;return Object.assign({},t,{from:t.from||[],strict:(n=t.strict)!=null?n:this.spec.strict,abortEarly:(r=t.abortEarly)!=null?r:this.spec.abortEarly,recursive:(s=t.recursive)!=null?s:this.spec.recursive,disableStackTrace:(i=t.disableStackTrace)!=null?i:this.spec.disableStackTrace})}cast(t,n={}){let r=this.resolve(Object.assign({value:t},n)),s=n.assert==="ignore-optionality",i=r._cast(t,n);if(n.assert!==!1&&!r.isType(i)){if(s&&ct(i))return i;let o=kt(t),a=kt(i);throw new TypeError(`The value of ${n.path||"field"} could not be cast to a value that satisfies the schema type: "${r.type}". + */const rn=typeof window<"u";function ju(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const le=Object.assign;function qr(e,t){const n={};for(const r in t){const s=t[r];n[r]=Ke(s)?s.map(e):e(s)}return n}const Pn=()=>{},Ke=Array.isArray,Lu=/\/$/,Bu=e=>e.replace(Lu,"");function Yr(e,t,n="/"){let r,s={},i="",o="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(r=t.slice(0,l),i=t.slice(l+1,a>-1?a:t.length),s=e(i)),a>-1&&(r=r||t.slice(0,a),o=t.slice(a,t.length)),r=Uu(r??t,n),{fullPath:r+(i&&"?")+i+o,path:r,query:s,hash:o}}function Hu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Bi(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Vu(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&pn(t.matched[r],n.matched[s])&&Ma(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function pn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ma(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Wu(e[n],t[n]))return!1;return!0}function Wu(e,t){return Ke(e)?Hi(e,t):Ke(t)?Hi(t,e):e===t}function Hi(e,t){return Ke(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Uu(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let i=n.length-1,o,a;for(o=0;o1&&i--;else break;return n.slice(0,i).join("/")+"/"+r.slice(o-(o===r.length?1:0)).join("/")}var jn;(function(e){e.pop="pop",e.push="push"})(jn||(jn={}));var kn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(kn||(kn={}));function qu(e){if(!e)if(rn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Bu(e)}const Yu=/^[^#]+#/;function zu(e,t){return e.replace(Yu,"#")+t}function Ku(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Dr=()=>({left:window.pageXOffset,top:window.pageYOffset});function Gu(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=Ku(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function Vi(e,t){return(history.state?history.state.position-t:-1)+e}const ds=new Map;function Qu(e,t){ds.set(e,t)}function Xu(e){const t=ds.get(e);return ds.delete(e),t}let Ju=()=>location.protocol+"//"+location.host;function Aa(e,t){const{pathname:n,search:r,hash:s}=t,i=e.indexOf("#");if(i>-1){let a=s.includes(e.slice(i))?e.slice(i).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),Bi(l,"")}return Bi(n,e)+r+s}function Zu(e,t,n,r){let s=[],i=[],o=null;const a=({state:p})=>{const g=Aa(e,location),y=n.value,w=t.value;let P=0;if(p){if(n.value=g,t.value=p,o&&o===y){o=null;return}P=w?p.position-w.position:0}else r(g);s.forEach(T=>{T(n.value,y,{delta:P,type:jn.pop,direction:P?P>0?kn.forward:kn.back:kn.unknown})})};function l(){o=n.value}function c(p){s.push(p);const g=()=>{const y=s.indexOf(p);y>-1&&s.splice(y,1)};return i.push(g),g}function u(){const{history:p}=window;p.state&&p.replaceState(le({},p.state,{scroll:Dr()}),"")}function d(){for(const p of i)p();i=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:l,listen:c,destroy:d}}function Wi(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?Dr():null}}function ef(e){const{history:t,location:n}=window,r={value:Aa(e,n)},s={value:t.state};s.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,c,u){const d=e.indexOf("#"),p=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+l:Ju()+e+l;try{t[u?"replaceState":"pushState"](c,"",p),s.value=c}catch(g){console.error(g),n[u?"replace":"assign"](p)}}function o(l,c){const u=le({},t.state,Wi(s.value.back,l,s.value.forward,!0),c,{position:s.value.position});i(l,u,!0),r.value=l}function a(l,c){const u=le({},s.value,t.state,{forward:l,scroll:Dr()});i(u.current,u,!0);const d=le({},Wi(r.value,l,null),{position:u.position+1},c);i(l,d,!1),r.value=l}return{location:r,state:s,push:a,replace:o}}function tf(e){e=qu(e);const t=ef(e),n=Zu(e,t.state,t.location,t.replace);function r(i,o=!0){o||n.pauseListeners(),history.go(i)}const s=le({location:"",base:e,go:r,createHref:zu.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function nf(e){return typeof e=="string"||e&&typeof e=="object"}function Pa(e){return typeof e=="string"||typeof e=="symbol"}const bt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},ka=Symbol("");var Ui;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Ui||(Ui={}));function mn(e,t){return le(new Error,{type:e,[ka]:!0},t)}function ot(e,t){return e instanceof Error&&ka in e&&(t==null||!!(e.type&t))}const qi="[^/]+?",rf={sensitive:!1,strict:!1,start:!0,end:!0},sf=/[.+*?^${}()[\]/\\]/g;function of(e,t){const n=le({},rf,t),r=[];let s=n.start?"^":"";const i=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(s+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function lf(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const cf={type:0,value:""},uf=/[a-zA-Z0-9_]/;function ff(e){if(!e)return[[]];if(e==="/")return[[cf]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${c}": ${g}`)}let n=0,r=n;const s=[];let i;function o(){i&&s.push(i),i=[]}let a=0,l,c="",u="";function d(){c&&(n===0?i.push({type:0,value:c}):n===1||n===2||n===3?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=l}for(;a{o(C)}:Pn}function o(u){if(Pa(u)){const d=r.get(u);d&&(r.delete(u),n.splice(n.indexOf(d),1),d.children.forEach(o),d.alias.forEach(o))}else{const d=n.indexOf(u);d>-1&&(n.splice(d,1),u.record.name&&r.delete(u.record.name),u.children.forEach(o),u.alias.forEach(o))}}function a(){return n}function l(u){let d=0;for(;d=0&&(u.record.path!==n[d].record.path||!$a(u,n[d]));)d++;n.splice(d,0,u),u.record.name&&!Ki(u)&&r.set(u.record.name,u)}function c(u,d){let p,g={},y,w;if("name"in u&&u.name){if(p=r.get(u.name),!p)throw mn(1,{location:u});w=p.record.name,g=le(zi(d.params,p.keys.filter(C=>!C.optional).map(C=>C.name)),u.params&&zi(u.params,p.keys.map(C=>C.name))),y=p.stringify(g)}else if("path"in u)y=u.path,p=n.find(C=>C.re.test(y)),p&&(g=p.parse(y),w=p.record.name);else{if(p=d.name?r.get(d.name):n.find(C=>C.re.test(d.path)),!p)throw mn(1,{location:u,currentLocation:d});w=p.record.name,g=le({},d.params,u.params),y=p.stringify(g)}const P=[];let T=p;for(;T;)P.unshift(T.record),T=T.parent;return{name:w,path:y,params:g,matched:P,meta:gf(P)}}return e.forEach(u=>i(u)),{addRoute:i,resolve:c,removeRoute:o,getRoutes:a,getRecordMatcher:s}}function zi(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function pf(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:mf(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function mf(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Ki(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function gf(e){return e.reduce((t,n)=>le(t,n.meta),{})}function Gi(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function $a(e,t){return t.children.some(n=>n===e||$a(e,n))}const Da=/#/g,yf=/&/g,bf=/\//g,vf=/=/g,_f=/\?/g,Fa=/\+/g,wf=/%5B/g,xf=/%5D/g,Ra=/%5E/g,Ef=/%60/g,Ia=/%7B/g,Sf=/%7C/g,Na=/%7D/g,Cf=/%20/g;function Ws(e){return encodeURI(""+e).replace(Sf,"|").replace(wf,"[").replace(xf,"]")}function Of(e){return Ws(e).replace(Ia,"{").replace(Na,"}").replace(Ra,"^")}function hs(e){return Ws(e).replace(Fa,"%2B").replace(Cf,"+").replace(Da,"%23").replace(yf,"%26").replace(Ef,"`").replace(Ia,"{").replace(Na,"}").replace(Ra,"^")}function Tf(e){return hs(e).replace(vf,"%3D")}function Mf(e){return Ws(e).replace(Da,"%23").replace(_f,"%3F")}function Af(e){return e==null?"":Mf(e).replace(bf,"%2F")}function fr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function Pf(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;si&&hs(i)):[r&&hs(r)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+n,i!=null&&(t+="="+i))})}return t}function kf(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Ke(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const $f=Symbol(""),Xi=Symbol(""),Us=Symbol(""),qs=Symbol(""),ps=Symbol("");function wn(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ct(e,t,n,r,s){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((o,a)=>{const l=d=>{d===!1?a(mn(4,{from:n,to:t})):d instanceof Error?a(d):nf(d)?a(mn(2,{from:t,to:d})):(i&&r.enterCallbacks[s]===i&&typeof d=="function"&&i.push(d),o())},c=e.call(r&&r.instances[s],t,n,l);let u=Promise.resolve(c);e.length<3&&(u=u.then(l)),u.catch(d=>a(d))})}function zr(e,t,n,r){const s=[];for(const i of e)for(const o in i.components){let a=i.components[o];if(!(t!=="beforeRouteEnter"&&!i.instances[o]))if(Df(a)){const c=(a.__vccOpts||a)[t];c&&s.push(Ct(c,n,r,i,o))}else{let l=a();s.push(()=>l.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${o}" at "${i.path}"`));const u=ju(c)?c.default:c;i.components[o]=u;const p=(u.__vccOpts||u)[t];return p&&Ct(p,n,r,i,o)()}))}}return s}function Df(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Ji(e){const t=ze(Us),n=ze(qs),r=Re(()=>t.resolve(G(e.to))),s=Re(()=>{const{matched:l}=r.value,{length:c}=l,u=l[c-1],d=n.matched;if(!u||!d.length)return-1;const p=d.findIndex(pn.bind(null,u));if(p>-1)return p;const g=Zi(l[c-2]);return c>1&&Zi(u)===g&&d[d.length-1].path!==g?d.findIndex(pn.bind(null,l[c-2])):p}),i=Re(()=>s.value>-1&&If(n.params,r.value.params)),o=Re(()=>s.value>-1&&s.value===n.matched.length-1&&Ma(n.params,r.value.params));function a(l={}){return Rf(l)?t[G(e.replace)?"replace":"push"](G(e.to)).catch(Pn):Promise.resolve()}return{route:r,href:Re(()=>r.value.href),isActive:i,isExactActive:o,navigate:a}}const Ff=Ee({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Ji,setup(e,{slots:t}){const n=Yt(Ji(e)),{options:r}=ze(Us),s=Re(()=>({[eo(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[eo(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&t.default(n);return e.custom?i:Vs("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},i)}}}),ms=Ff;function Rf(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function If(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Ke(s)||s.length!==r.length||r.some((i,o)=>i!==s[o]))return!1}return!0}function Zi(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const eo=(e,t,n)=>e??t??n,Nf=Ee({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=ze(ps),s=Re(()=>e.route||r.value),i=ze(Xi,0),o=Re(()=>{let c=G(i);const{matched:u}=s.value;let d;for(;(d=u[c])&&!d.components;)c++;return c}),a=Re(()=>s.value.matched[o.value]);rr(Xi,Re(()=>o.value+1)),rr($f,a),rr(ps,s);const l=st();return At(()=>[l.value,a.value,e.name],([c,u,d],[p,g,y])=>{u&&(u.instances[d]=c,g&&g!==u&&c&&c===p&&(u.leaveGuards.size||(u.leaveGuards=g.leaveGuards),u.updateGuards.size||(u.updateGuards=g.updateGuards))),c&&u&&(!g||!pn(u,g)||!p)&&(u.enterCallbacks[d]||[]).forEach(w=>w(c))},{flush:"post"}),()=>{const c=s.value,u=e.name,d=a.value,p=d&&d.components[u];if(!p)return to(n.default,{Component:p,route:c});const g=d.props[u],y=g?g===!0?c.params:typeof g=="function"?g(c):g:null,P=Vs(p,le({},y,t,{onVnodeUnmounted:T=>{T.component.isUnmounted&&(d.instances[u]=null)},ref:l}));return to(n.default,{Component:P,route:c})||P}}});function to(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const ja=Nf;function jf(e){const t=hf(e.routes,e),n=e.parseQuery||Pf,r=e.stringifyQuery||Qi,s=e.history,i=wn(),o=wn(),a=wn(),l=qo(bt);let c=bt;rn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=qr.bind(null,v=>""+v),d=qr.bind(null,Af),p=qr.bind(null,fr);function g(v,j){let A,H;return Pa(v)?(A=t.getRecordMatcher(v),H=j):H=v,t.addRoute(H,A)}function y(v){const j=t.getRecordMatcher(v);j&&t.removeRoute(j)}function w(){return t.getRoutes().map(v=>v.record)}function P(v){return!!t.getRecordMatcher(v)}function T(v,j){if(j=le({},j||l.value),typeof v=="string"){const m=Yr(n,v,j.path),b=t.resolve({path:m.path},j),_=s.createHref(m.fullPath);return le(m,b,{params:p(b.params),hash:fr(m.hash),redirectedFrom:void 0,href:_})}let A;if("path"in v)A=le({},v,{path:Yr(n,v.path,j.path).path});else{const m=le({},v.params);for(const b in m)m[b]==null&&delete m[b];A=le({},v,{params:d(m)}),j.params=d(j.params)}const H=t.resolve(A,j),oe=v.hash||"";H.params=u(p(H.params));const f=Hu(r,le({},v,{hash:Of(oe),path:H.path})),h=s.createHref(f);return le({fullPath:f,hash:oe,query:r===Qi?kf(v.query):v.query||{}},H,{redirectedFrom:void 0,href:h})}function C(v){return typeof v=="string"?Yr(n,v,l.value.path):le({},v)}function F(v,j){if(c!==v)return mn(8,{from:j,to:v})}function L(v){return z(v)}function k(v){return L(le(C(v),{replace:!0}))}function ee(v){const j=v.matched[v.matched.length-1];if(j&&j.redirect){const{redirect:A}=j;let H=typeof A=="function"?A(v):A;return typeof H=="string"&&(H=H.includes("?")||H.includes("#")?H=C(H):{path:H},H.params={}),le({query:v.query,hash:v.hash,params:"path"in H?{}:v.params},H)}}function z(v,j){const A=c=T(v),H=l.value,oe=v.state,f=v.force,h=v.replace===!0,m=ee(A);if(m)return z(le(C(m),{state:typeof m=="object"?le({},oe,m.state):oe,force:f,replace:h}),j||A);const b=A;b.redirectedFrom=j;let _;return!f&&Vu(r,H,A)&&(_=mn(16,{to:b,from:H}),Ge(H,H,!0,!1)),(_?Promise.resolve(_):N(b,H)).catch(x=>ot(x)?ot(x,2)?x:pt(x):ie(x,b,H)).then(x=>{if(x){if(ot(x,2))return z(le({replace:h},C(x.to),{state:typeof x.to=="object"?le({},oe,x.to.state):oe,force:f}),j||b)}else x=R(b,H,!0,h,oe);return B(b,H,x),x})}function $(v,j){const A=F(v,j);return A?Promise.reject(A):Promise.resolve()}function S(v){const j=Jt.values().next().value;return j&&typeof j.runWithContext=="function"?j.runWithContext(v):v()}function N(v,j){let A;const[H,oe,f]=Lf(v,j);A=zr(H.reverse(),"beforeRouteLeave",v,j);for(const m of H)m.leaveGuards.forEach(b=>{A.push(Ct(b,v,j))});const h=$.bind(null,v,j);return A.push(h),Ce(A).then(()=>{A=[];for(const m of i.list())A.push(Ct(m,v,j));return A.push(h),Ce(A)}).then(()=>{A=zr(oe,"beforeRouteUpdate",v,j);for(const m of oe)m.updateGuards.forEach(b=>{A.push(Ct(b,v,j))});return A.push(h),Ce(A)}).then(()=>{A=[];for(const m of f)if(m.beforeEnter)if(Ke(m.beforeEnter))for(const b of m.beforeEnter)A.push(Ct(b,v,j));else A.push(Ct(m.beforeEnter,v,j));return A.push(h),Ce(A)}).then(()=>(v.matched.forEach(m=>m.enterCallbacks={}),A=zr(f,"beforeRouteEnter",v,j),A.push(h),Ce(A))).then(()=>{A=[];for(const m of o.list())A.push(Ct(m,v,j));return A.push(h),Ce(A)}).catch(m=>ot(m,8)?m:Promise.reject(m))}function B(v,j,A){a.list().forEach(H=>S(()=>H(v,j,A)))}function R(v,j,A,H,oe){const f=F(v,j);if(f)return f;const h=j===bt,m=rn?history.state:{};A&&(H||h?s.replace(v.fullPath,le({scroll:h&&m&&m.scroll},oe)):s.push(v.fullPath,oe)),l.value=v,Ge(v,j,A,h),pt()}let J;function ge(){J||(J=s.listen((v,j,A)=>{if(!Un.listening)return;const H=T(v),oe=ee(H);if(oe){z(le(oe,{replace:!0}),H).catch(Pn);return}c=H;const f=l.value;rn&&Qu(Vi(f.fullPath,A.delta),Dr()),N(H,f).catch(h=>ot(h,12)?h:ot(h,2)?(z(h.to,H).then(m=>{ot(m,20)&&!A.delta&&A.type===jn.pop&&s.go(-1,!1)}).catch(Pn),Promise.reject()):(A.delta&&s.go(-A.delta,!1),ie(h,H,f))).then(h=>{h=h||R(H,f,!1),h&&(A.delta&&!ot(h,8)?s.go(-A.delta,!1):A.type===jn.pop&&ot(h,20)&&s.go(-1,!1)),B(H,f,h)}).catch(Pn)}))}let ve=wn(),ne=wn(),ce;function ie(v,j,A){pt(v);const H=ne.list();return H.length?H.forEach(oe=>oe(v,j,A)):console.error(v),Promise.reject(v)}function it(){return ce&&l.value!==bt?Promise.resolve():new Promise((v,j)=>{ve.add([v,j])})}function pt(v){return ce||(ce=!v,ge(),ve.list().forEach(([j,A])=>v?A(v):j()),ve.reset()),v}function Ge(v,j,A,H){const{scrollBehavior:oe}=e;if(!rn||!oe)return Promise.resolve();const f=!A&&Xu(Vi(v.fullPath,0))||(H||!A)&&history.state&&history.state.scroll||null;return bn().then(()=>oe(v,j,f)).then(h=>h&&Gu(h)).catch(h=>ie(h,v,j))}const $e=v=>s.go(v);let Xt;const Jt=new Set,Un={currentRoute:l,listening:!0,addRoute:g,removeRoute:y,hasRoute:P,getRoutes:w,resolve:T,options:e,push:L,replace:k,go:$e,back:()=>$e(-1),forward:()=>$e(1),beforeEach:i.add,beforeResolve:o.add,afterEach:a.add,onError:ne.add,isReady:it,install(v){const j=this;v.component("RouterLink",ms),v.component("RouterView",ja),v.config.globalProperties.$router=j,Object.defineProperty(v.config.globalProperties,"$route",{enumerable:!0,get:()=>G(l)}),rn&&!Xt&&l.value===bt&&(Xt=!0,L(s.location).catch(oe=>{}));const A={};for(const oe in bt)Object.defineProperty(A,oe,{get:()=>l.value[oe],enumerable:!0});v.provide(Us,j),v.provide(qs,Ho(A)),v.provide(ps,l);const H=v.unmount;Jt.add(v),v.unmount=function(){Jt.delete(v),Jt.size<1&&(c=bt,J&&J(),J=null,l.value=bt,Xt=!1,ce=!1),H()}}};function Ce(v){return v.reduce((j,A)=>j.then(()=>S(A)),Promise.resolve())}return Un}function Lf(e,t){const n=[],r=[],s=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;opn(c,a))?r.push(a):n.push(a));const l=e.matched[o];l&&(t.matched.find(c=>pn(c,l))||s.push(l))}return[n,r,s]}function Bf(){return ze(qs)}function Hf(e){return Ss()?(Ao(e),!0):!1}function Ys(e){return typeof e=="function"?e():G(e)}const Vf=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Wf=Object.prototype.toString,Uf=e=>Wf.call(e)==="[object Object]",qf=()=>{};function Yf(e,t){function n(...r){return new Promise((s,i)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(i)})}return n}const La=e=>e();function zf(e=La){const t=st(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...i)=>{t.value&&e(...i)};return{isActive:Ps(t),pause:n,resume:r,eventFilter:s}}function Kf(e){return e||_a()}function Gf(e,t,n={}){const{eventFilter:r=La,...s}=n;return At(e,Yf(r,t),s)}function Qf(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:i,pause:o,resume:a,isActive:l}=zf(r);return{stop:Gf(e,t,{...s,eventFilter:i}),pause:o,resume:a,isActive:l}}function Xf(e,t=!0,n){Kf()?Hn(e,n):t?e():bn(e)}function Jf(e){var t;const n=Ys(e);return(t=n==null?void 0:n.$el)!=null?t:n}const dr=Vf?window:void 0;function no(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=dr):[t,n,r,s]=e,!t)return qf;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],o=()=>{i.forEach(u=>u()),i.length=0},a=(u,d,p,g)=>(u.addEventListener(d,p,g),()=>u.removeEventListener(d,p,g)),l=At(()=>[Jf(t),Ys(s)],([u,d])=>{if(o(),!u)return;const p=Uf(d)?{...d}:d;i.push(...n.flatMap(g=>r.map(y=>a(u,g,y,p))))},{immediate:!0,flush:"post"}),c=()=>{l(),o()};return Hf(c),c}const Jn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Zn="__vueuse_ssr_handlers__",Zf=ed();function ed(){return Zn in Jn||(Jn[Zn]=Jn[Zn]||{}),Jn[Zn]}function td(e,t){return Zf[e]||t}function nd(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const rd={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},ro="vueuse-storage";function sd(e,t,n,r={}){var s;const{flush:i="pre",deep:o=!0,listenToStorageChanges:a=!0,writeDefaults:l=!0,mergeDefaults:c=!1,shallow:u,window:d=dr,eventFilter:p,onError:g=S=>{console.error(S)},initOnMounted:y}=r,w=(u?qo:st)(typeof t=="function"?t():t);if(!n)try{n=td("getDefaultStorage",()=>{var S;return(S=dr)==null?void 0:S.localStorage})()}catch(S){g(S)}if(!n)return w;const P=Ys(t),T=nd(P),C=(s=r.serializer)!=null?s:rd[T],{pause:F,resume:L}=Qf(w,()=>k(w.value),{flush:i,deep:o,eventFilter:p});return d&&a&&Xf(()=>{no(d,"storage",$),no(d,ro,z),y&&$()}),y||$(),w;function k(S){try{if(S==null)n.removeItem(e);else{const N=C.write(S),B=n.getItem(e);B!==N&&(n.setItem(e,N),d&&d.dispatchEvent(new CustomEvent(ro,{detail:{key:e,oldValue:B,newValue:N,storageArea:n}})))}}catch(N){g(N)}}function ee(S){const N=S?S.newValue:n.getItem(e);if(N==null)return l&&P!=null&&n.setItem(e,C.write(P)),P;if(!S&&c){const B=C.read(N);return typeof c=="function"?c(B,P):T==="object"&&!Array.isArray(B)?{...P,...B}:B}else return typeof N!="string"?N:C.read(N)}function z(S){$(S.detail)}function $(S){if(!(S&&S.storageArea!==n)){if(S&&S.key==null){w.value=P;return}if(!(S&&S.key!==e)){F();try{(S==null?void 0:S.newValue)!==C.write(w.value)&&(w.value=ee(S))}catch(N){g(N)}finally{S?bn(L):L()}}}}}function hr(e,t,n={}){const{window:r=dr}=n;return sd(e,t,r==null?void 0:r.localStorage,n)}const zs=$r("common",{state:()=>({lastCalendarUpdateDate:hr("budget.it:lastUpdateDate",""),isAddExpenseInputVisible:!1}),actions:{setLastUpdateDate(e){this.lastCalendarUpdateDate=e},showAddExpenseInput(){this.isAddExpenseInputVisible=!0},hideAddExpenseInput(){this.isAddExpenseInputVisible=!1}}});function Me(e){const t=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&t==="[object Date]"?new e.constructor(+e):typeof e=="number"||t==="[object Number]"||typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function zt(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}const Ba=6048e5,id=864e5;let od={};function Fr(){return od}function Ln(e,t){var a,l,c,u;const n=Fr(),r=(t==null?void 0:t.weekStartsOn)??((l=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:l.weekStartsOn)??n.weekStartsOn??((u=(c=n.locale)==null?void 0:c.options)==null?void 0:u.weekStartsOn)??0,s=Me(e),i=s.getDay(),o=(i=s.getTime()?n+1:t.getTime()>=o.getTime()?n:n-1}function so(e){const t=Me(e);return t.setHours(0,0,0,0),t}function io(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}function ad(e,t){const n=so(e),r=so(t),s=n.getTime()-io(n),i=r.getTime()-io(r);return Math.round((s-i)/id)}function ld(e){const t=Ha(e),n=zt(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),pr(n)}function cd(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function ud(e){if(!cd(e)&&typeof e!="number")return!1;const t=Me(e);return!isNaN(Number(t))}function fd(e){const t=Me(e),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(23,59,59,999),t}function dd(e,t){const n=Me(e.start),r=Me(e.end);let s=+n>+r;const i=s?+n:+r,o=s?r:n;o.setHours(0,0,0,0);let a=(t==null?void 0:t.step)??1;if(!a)return[];a<0&&(a=-a,s=!s);const l=[];for(;+o<=i;)l.push(Me(o)),o.setDate(o.getDate()+a),o.setHours(0,0,0,0);return s?l.reverse():l}function hd(e){const t=Me(e);return t.setDate(1),t.setHours(0,0,0,0),t}function pd(e){const t=Me(e),n=zt(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}const md={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},gd=(e,t,n)=>{let r;const s=md[e];return typeof s=="string"?r=s:t===1?r=s.one:r=s.other.replace("{{count}}",t.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function Kr(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const yd={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},bd={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},vd={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},_d={date:Kr({formats:yd,defaultWidth:"full"}),time:Kr({formats:bd,defaultWidth:"full"}),dateTime:Kr({formats:vd,defaultWidth:"full"})},wd={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},xd=(e,t,n,r)=>wd[e];function xn(e){return(t,n)=>{const r=n!=null&&n.context?String(n.context):"standalone";let s;if(r==="formatting"&&e.formattingValues){const o=e.defaultFormattingWidth||e.defaultWidth,a=n!=null&&n.width?String(n.width):o;s=e.formattingValues[a]||e.formattingValues[o]}else{const o=e.defaultWidth,a=n!=null&&n.width?String(n.width):e.defaultWidth;s=e.values[a]||e.values[o]}const i=e.argumentCallback?e.argumentCallback(t):t;return s[i]}}const Ed={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Sd={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Cd={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Od={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Td={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Md={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Ad=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Pd={ordinalNumber:Ad,era:xn({values:Ed,defaultWidth:"wide"}),quarter:xn({values:Sd,defaultWidth:"wide",argumentCallback:e=>e-1}),month:xn({values:Cd,defaultWidth:"wide"}),day:xn({values:Od,defaultWidth:"wide"}),dayPeriod:xn({values:Td,defaultWidth:"wide",formattingValues:Md,defaultFormattingWidth:"wide"})};function En(e){return(t,n={})=>{const r=n.width,s=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],i=t.match(s);if(!i)return null;const o=i[0],a=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(a)?$d(a,d=>d.test(o)):kd(a,d=>d.test(o));let c;c=e.valueCallback?e.valueCallback(l):l,c=n.valueCallback?n.valueCallback(c):c;const u=t.slice(o.length);return{value:c,rest:u}}}function kd(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function $d(e,t){for(let n=0;n{const r=t.match(e.matchPattern);if(!r)return null;const s=r[0],i=t.match(e.parsePattern);if(!i)return null;let o=e.valueCallback?e.valueCallback(i[0]):i[0];o=n.valueCallback?n.valueCallback(o):o;const a=t.slice(s.length);return{value:o,rest:a}}}const Fd=/^(\d+)(th|st|nd|rd)?/i,Rd=/\d+/i,Id={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Nd={any:[/^b/i,/^(a|c)/i]},jd={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Ld={any:[/1/i,/2/i,/3/i,/4/i]},Bd={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Hd={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Vd={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Wd={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Ud={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},qd={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Yd={ordinalNumber:Dd({matchPattern:Fd,parsePattern:Rd,valueCallback:e=>parseInt(e,10)}),era:En({matchPatterns:Id,defaultMatchWidth:"wide",parsePatterns:Nd,defaultParseWidth:"any"}),quarter:En({matchPatterns:jd,defaultMatchWidth:"wide",parsePatterns:Ld,defaultParseWidth:"any",valueCallback:e=>e+1}),month:En({matchPatterns:Bd,defaultMatchWidth:"wide",parsePatterns:Hd,defaultParseWidth:"any"}),day:En({matchPatterns:Vd,defaultMatchWidth:"wide",parsePatterns:Wd,defaultParseWidth:"any"}),dayPeriod:En({matchPatterns:Ud,defaultMatchWidth:"any",parsePatterns:qd,defaultParseWidth:"any"})},zd={code:"en-US",formatDistance:gd,formatLong:_d,formatRelative:xd,localize:Pd,match:Yd,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Kd(e){const t=Me(e);return ad(t,pd(t))+1}function Gd(e){const t=Me(e),n=pr(t).getTime()-ld(t).getTime();return Math.round(n/Ba)+1}function Va(e,t){var u,d,p,g;const n=Me(e),r=n.getFullYear(),s=Fr(),i=(t==null?void 0:t.firstWeekContainsDate)??((d=(u=t==null?void 0:t.locale)==null?void 0:u.options)==null?void 0:d.firstWeekContainsDate)??s.firstWeekContainsDate??((g=(p=s.locale)==null?void 0:p.options)==null?void 0:g.firstWeekContainsDate)??1,o=zt(e,0);o.setFullYear(r+1,0,i),o.setHours(0,0,0,0);const a=Ln(o,t),l=zt(e,0);l.setFullYear(r,0,i),l.setHours(0,0,0,0);const c=Ln(l,t);return n.getTime()>=a.getTime()?r+1:n.getTime()>=c.getTime()?r:r-1}function Qd(e,t){var a,l,c,u;const n=Fr(),r=(t==null?void 0:t.firstWeekContainsDate)??((l=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:l.firstWeekContainsDate)??n.firstWeekContainsDate??((u=(c=n.locale)==null?void 0:c.options)==null?void 0:u.firstWeekContainsDate)??1,s=Va(e,t),i=zt(e,0);return i.setFullYear(s,0,r),i.setHours(0,0,0,0),Ln(i,t)}function Xd(e,t){const n=Me(e),r=Ln(n,t).getTime()-Qd(n,t).getTime();return Math.round(r/Ba)+1}function ae(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const vt={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return ae(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):ae(n+1,2)},d(e,t){return ae(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return ae(e.getHours()%12||12,t.length)},H(e,t){return ae(e.getHours(),t.length)},m(e,t){return ae(e.getMinutes(),t.length)},s(e,t){return ae(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),s=Math.floor(r*Math.pow(10,n-3));return ae(s,t.length)}},tn={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Jd={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),s=r>0?r:1-r;return n.ordinalNumber(s,{unit:"year"})}return vt.y(e,t)},Y:function(e,t,n,r){const s=Va(e,r),i=s>0?s:1-s;if(t==="YY"){const o=i%100;return ae(o,2)}return t==="Yo"?n.ordinalNumber(i,{unit:"year"}):ae(i,t.length)},R:function(e,t){const n=Ha(e);return ae(n,t.length)},u:function(e,t){const n=e.getFullYear();return ae(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return ae(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return ae(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return vt.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return ae(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const s=Xd(e,r);return t==="wo"?n.ordinalNumber(s,{unit:"week"}):ae(s,t.length)},I:function(e,t,n){const r=Gd(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):ae(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):vt.d(e,t)},D:function(e,t,n){const r=Kd(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):ae(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const s=e.getDay(),i=(s-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(i);case"ee":return ae(i,2);case"eo":return n.ordinalNumber(i,{unit:"day"});case"eee":return n.day(s,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(s,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(s,{width:"short",context:"formatting"});case"eeee":default:return n.day(s,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const s=e.getDay(),i=(s-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(i);case"cc":return ae(i,t.length);case"co":return n.ordinalNumber(i,{unit:"day"});case"ccc":return n.day(s,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(s,{width:"narrow",context:"standalone"});case"cccccc":return n.day(s,{width:"short",context:"standalone"});case"cccc":default:return n.day(s,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),s=r===0?7:r;switch(t){case"i":return String(s);case"ii":return ae(s,t.length);case"io":return n.ordinalNumber(s,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const s=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(s,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let s;switch(r===12?s=tn.noon:r===0?s=tn.midnight:s=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(s,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let s;switch(r>=17?s=tn.evening:r>=12?s=tn.afternoon:r>=4?s=tn.morning:s=tn.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(s,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return vt.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):vt.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):ae(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):ae(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):vt.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):vt.s(e,t)},S:function(e,t){return vt.S(e,t)},X:function(e,t,n,r){const i=(r._originalDate||e).getTimezoneOffset();if(i===0)return"Z";switch(t){case"X":return ao(i);case"XXXX":case"XX":return Lt(i);case"XXXXX":case"XXX":default:return Lt(i,":")}},x:function(e,t,n,r){const i=(r._originalDate||e).getTimezoneOffset();switch(t){case"x":return ao(i);case"xxxx":case"xx":return Lt(i);case"xxxxx":case"xxx":default:return Lt(i,":")}},O:function(e,t,n,r){const i=(r._originalDate||e).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+oo(i,":");case"OOOO":default:return"GMT"+Lt(i,":")}},z:function(e,t,n,r){const i=(r._originalDate||e).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+oo(i,":");case"zzzz":default:return"GMT"+Lt(i,":")}},t:function(e,t,n,r){const s=r._originalDate||e,i=Math.floor(s.getTime()/1e3);return ae(i,t.length)},T:function(e,t,n,r){const i=(r._originalDate||e).getTime();return ae(i,t.length)}};function oo(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),s=Math.floor(r/60),i=r%60;return i===0?n+String(s):n+String(s)+t+ae(i,2)}function ao(e,t){return e%60===0?(e>0?"-":"+")+ae(Math.abs(e)/60,2):Lt(e,t)}function Lt(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),s=ae(Math.floor(r/60),2),i=ae(r%60,2);return n+s+t+i}const lo=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},Wa=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},Zd=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],s=n[2];if(!s)return lo(e,t);let i;switch(r){case"P":i=t.dateTime({width:"short"});break;case"PP":i=t.dateTime({width:"medium"});break;case"PPP":i=t.dateTime({width:"long"});break;case"PPPP":default:i=t.dateTime({width:"full"});break}return i.replace("{{date}}",lo(r,t)).replace("{{time}}",Wa(s,t))},eh={p:Wa,P:Zd},th=["D","DD"],nh=["YY","YYYY"];function rh(e){return th.indexOf(e)!==-1}function sh(e){return nh.indexOf(e)!==-1}function co(e,t,n){if(e==="YYYY")throw new RangeError(`Use \`yyyy\` instead of \`YYYY\` (in \`${t}\`) for formatting years to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`);if(e==="YY")throw new RangeError(`Use \`yy\` instead of \`YY\` (in \`${t}\`) for formatting years to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`);if(e==="D")throw new RangeError(`Use \`d\` instead of \`D\` (in \`${t}\`) for formatting days of the month to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`);if(e==="DD")throw new RangeError(`Use \`dd\` instead of \`DD\` (in \`${t}\`) for formatting days of the month to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`)}const ih=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,oh=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ah=/^'([^]*?)'?$/,lh=/''/g,ch=/[a-zA-Z]/;function Je(e,t,n){var u,d,p,g,y,w,P,T;const r=Fr(),s=(n==null?void 0:n.locale)??r.locale??zd,i=(n==null?void 0:n.firstWeekContainsDate)??((d=(u=n==null?void 0:n.locale)==null?void 0:u.options)==null?void 0:d.firstWeekContainsDate)??r.firstWeekContainsDate??((g=(p=r.locale)==null?void 0:p.options)==null?void 0:g.firstWeekContainsDate)??1,o=(n==null?void 0:n.weekStartsOn)??((w=(y=n==null?void 0:n.locale)==null?void 0:y.options)==null?void 0:w.weekStartsOn)??r.weekStartsOn??((T=(P=r.locale)==null?void 0:P.options)==null?void 0:T.weekStartsOn)??0,a=Me(e);if(!ud(a))throw new RangeError("Invalid time value");const l={firstWeekContainsDate:i,weekStartsOn:o,locale:s,_originalDate:a};return t.match(oh).map(function(C){const F=C[0];if(F==="p"||F==="P"){const L=eh[F];return L(C,s.formatLong)}return C}).join("").match(ih).map(function(C){if(C==="''")return"'";const F=C[0];if(F==="'")return uh(C);const L=Jd[F];if(L)return!(n!=null&&n.useAdditionalWeekYearTokens)&&sh(C)&&co(C,t,String(e)),!(n!=null&&n.useAdditionalDayOfYearTokens)&&rh(C)&&co(C,t,String(e)),L(a,C,s.localize,l);if(F.match(ch))throw new RangeError("Format string contains an unescaped latin alphabet character `"+F+"`");return C}).join("")}function uh(e){const t=e.match(ah);return t?t[1].replace(lh,"'"):e}function fh(e){return+Me(e){const r=hd(n.monthString),s=fd(n.monthString),o=dd({start:r,end:s}).map(a=>({id:Je(a,"ddMMyyyy"),monthId:n.id,number:Je(a,"d"),name:Je(a,"EEEE"),isCurrent:Je(a,"d_MMMM")===Je(new Date,"d_MMMM"),isPast:fh(a)&&Je(a,"d_MMMM")!==Je(new Date,"d_MMMM")}));t.push(...o)}),t.reverse()}function dh(){const e=new Date,t={hour:"numeric",minute:"numeric"};return new Intl.DateTimeFormat("ru",t).format(e)}const Vt=$r("calendar",{state:()=>({months:[],days:[],shouldGenerateNextMonth:!1}),getters:{getDaysByMonthId:e=>t=>e.days.filter(n=>n.monthId===t),getCurrentMonth:e=>e.months.find(t=>t.isCurrent),getCurrentDay:e=>e.days.find(t=>t.isCurrent)},actions:{initCalendar(){const e=uo(5),t=fo(e),n=Number(t[t.length-25].id),r=Number(Je(new Date,"ddMMyyyy"));this.shouldGenerateNextMonth=r>n;const s=this.shouldGenerateNextMonth?uo(0,1):[],i=this.shouldGenerateNextMonth?fo(s):[];this.months=[...s,...e],this.days=[...i,...t]}}});let er;const hh=new Uint8Array(16);function ph(){if(!er&&(er=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!er))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return er(hh)}const Se=[];for(let e=0;e<256;++e)Se.push((e+256).toString(16).slice(1));function mh(e,t=0){return Se[e[t+0]]+Se[e[t+1]]+Se[e[t+2]]+Se[e[t+3]]+"-"+Se[e[t+4]]+Se[e[t+5]]+"-"+Se[e[t+6]]+Se[e[t+7]]+"-"+Se[e[t+8]]+Se[e[t+9]]+"-"+Se[e[t+10]]+Se[e[t+11]]+Se[e[t+12]]+Se[e[t+13]]+Se[e[t+14]]+Se[e[t+15]]}const gh=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ho={randomUUID:gh};function yh(e,t,n){if(ho.randomUUID&&!t&&!e)return ho.randomUUID();e=e||{};const r=e.random||(e.rng||ph)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let s=0;s<16;++s)t[n+s]=r[s];return t}return mh(r)}const Ks=$r("expenses",{state:()=>({expenses:hr("budget.it:expenses",{})}),getters:{getMonthlyExpenses:e=>t=>{const n=[];return Object.keys(e.expenses).forEach(s=>{if(!e.expenses[s].items.length)return;const i=e.expenses[s].items.filter(o=>o.monthId===t);return n.push(...i)}),n.reduce((s,i)=>s+Number(i.value),0)},getDailyExpenses:e=>t=>{const n=[];return Object.keys(e.expenses).forEach(s=>{if(!e.expenses[s].items.length)return;const i=e.expenses[s].items.filter(o=>o.dayId===t);return n.push(...i)}),n.reduce((s,i)=>s+Number(i.value),0)}},actions:{initExpensesObject(){const{shouldGenerateNextMonth:e}=Be(Vt());(e||!this.expenses||Object.keys(this.expenses).length===0)&&this.createExpensesByDayObject(),this.checkAndCleanupExpensesByDayObject()},createExpensesByDayObject(){const{days:e}=Be(Vt());e.value.forEach(t=>{this.expenses[t.id]||(this.expenses[t.id]={items:[]})})},addExpense(e){var s,i;const{getCurrentDay:t}=Be(Vt()),{getActiveCurrency:n}=Be(Vn()),r={id:yh(),value:e,currency:n.value.name,createdAt:dh(),monthId:((s=t.value)==null?void 0:s.monthId)||"",dayId:((i=t.value)==null?void 0:i.id)||""};this.expenses[r.dayId].items.push(r)},removeExpense(e,t){this.expenses[t].items=this.expenses[t].items.filter(n=>n.id!==e)},checkAndCleanupExpensesByDayObject(){const{months:e}=Be(Vt()),t=e.value.map(n=>n.id);for(const n in this.expenses)t.includes(n.substring(2))||delete this.expenses[n]}}}),Vn=$r("settings",{state:()=>({currencies:hr("budget.it:currencies",[{name:"$",isActive:!0,isDefault:!0},{name:"€",isActive:!1,isDefault:!0},{name:"₽",isActive:!1,isDefault:!0},{name:"฿",isActive:!1,isDefault:!0},{name:"¥",isActive:!1,isDefault:!0}]),dailyBudget:hr("budget.it:daily",500)}),getters:{getActiveCurrency(e){return e.currencies.filter(t=>t.isActive)[0]}},actions:{setActiveCurrency(e){this.currencies=this.currencies.map(t=>(t.isActive=t.name===e,t))},setDailyBudget(e){this.dailyBudget=e},addNewCurrency(e){this.currencies.push({name:e,isActive:!1,isDefault:!1})},deleteCurrency(e){this.currencies=this.currencies.filter(t=>t.name!==e)}}}),bh="data:image/svg+xml,%3csvg%20width='98'%20height='96'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M48.854%200C21.839%200%200%2022%200%2049.217c0%2021.756%2013.993%2040.172%2033.405%2046.69%202.427.49%203.316-1.059%203.316-2.362%200-1.141-.08-5.052-.08-9.127-13.59%202.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015%204.934.326%207.523%205.052%207.523%205.052%204.367%207.496%2011.404%205.378%2014.235%204.074.404-3.178%201.699-5.378%203.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283%200-5.378%201.94-9.778%205.014-13.2-.485-1.222-2.184-6.275.486-13.038%200%200%204.125-1.304%2013.426%205.052a46.97%2046.97%200%200%201%2012.214-1.63c4.125%200%208.33.571%2012.213%201.63%209.302-6.356%2013.427-5.052%2013.427-5.052%202.67%206.763.97%2011.816.485%2013.038%203.155%203.422%205.015%207.822%205.015%2013.2%200%2018.905-11.404%2023.06-22.324%2024.283%201.78%201.548%203.316%204.481%203.316%209.126%200%206.6-.08%2011.897-.08%2013.526%200%201.304.89%202.853%203.316%202.364%2019.412-6.52%2033.405-24.935%2033.405-46.691C97.707%2022%2075.788%200%2048.854%200z'%20fill='%2324292f'/%3e%3c/svg%3e",vh="0.6.6-beta",Ua=e=>(Gl("data-v-241fb166"),e=e(),Ql(),e),_h={class:"sticky top-0 w-full bg-white z-[100]"},wh={class:"container mx-auto px-5 py-3 flex items-center justify-between select-none"},xh={class:"flex items-center"},Eh={href:"/budget.it/",class:"flex items-baseline font-bold"},Sh=Ua(()=>U("div",{class:"logo-gradient gradient-animation text-lg lg:text-2xl"},"budget.it",-1)),Ch={class:"logo-sub-gradient gradient-animation text-xs ml-2 bottom-0"},Oh=Ua(()=>U("a",{href:"https://github.com/begprod/budget.it",target:"_blank",class:"select-none"},[U("img",{src:bh,class:"w-7 opacity-80 hover:opacity-100 transition-all duration-300",width:"40",height:"40",alt:"budget.it github"})],-1)),Th=Ee({__name:"BaseHeader",setup(e){return(t,n)=>(Y(),se("header",_h,[U("div",wh,[U("div",xh,[U("a",Eh,[Sh,U("sub",Ch," v"+Pe(G(vh)),1)])]),Oh])]))}}),Ft=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Mh=Ft(Th,[["__scopeId","data-v-241fb166"]]),Ah={},Ph={class:"w-full bg-white select-none"},kh=Hc('',1),$h=[kh];function Dh(e,t){return Y(),se("footer",Ph,$h)}const Fh=Ft(Ah,[["render",Dh]]);function Rh(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M2.25 18.75a60.07 60.07 0 0 1 15.797 2.101c.727.198 1.453-.342 1.453-1.096V18.75M3.75 4.5v.75A.75.75 0 0 1 3 6h-.75m0 0v-.375c0-.621.504-1.125 1.125-1.125H20.25M2.25 6v9m18-10.5v.75c0 .414.336.75.75.75h.75m-1.5-1.5h.375c.621 0 1.125.504 1.125 1.125v9.75c0 .621-.504 1.125-1.125 1.125h-.375m1.5-1.5H21a.75.75 0 0 0-.75.75v.75m0 0H3.75m0 0h-.375a1.125 1.125 0 0 1-1.125-1.125V15m1.5 1.5v-.75A.75.75 0 0 0 3 15h-.75M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm3 0h.008v.008H18V10.5Zm-12 0h.008v.008H6V10.5Z"})])}function Ih(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m4.5 12.75 6 6 9-13.5"})])}function Nh(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z"}),U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"})])}function jh(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m2.25 12 8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25"})])}function Lh(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z"})])}function Bh(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4.5v15m7.5-7.5h-15"})])}function Hh(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m9.75 9.75 4.5 4.5m0-4.5-4.5 4.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})])}function qa(e,t){return Y(),se("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[U("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18 18 6M6 6l12 12"})])}const Vh=["type","title","disabled"],Bn=Ee({__name:"BaseButton",props:{type:{default:"button"},title:{},isDisabled:{type:Boolean}},emits:["click"],setup(e,{emit:t}){const n=t,r=()=>{n("click")};return(s,i)=>(Y(),se("button",{class:"flex items-center justify-center px-3 py-2 w-full text-sm text-sky-400 bg-white border border-slate-300 rounded-xl focus:outline-none lg:hover:bg-sky-500 lg:hover:text-white disabled:opacity-50 disabled:bg-slate-300 transition-[background-color]",type:s.type,title:s.title,disabled:s.isDisabled,onClick:r},[Pt(s.$slots,"leftIcon"),Pt(s.$slots,"text"),Pt(s.$slots,"rightIcon")],8,Vh))}}),Wh={class:"text-slate-700 font-bold opacity-60 select-none"},Uh=Ee({__name:"BaseProgressBar",props:{label:{},percentage:{},showTotal:{type:Boolean}},setup(e){const t=e,n=Re(()=>({"progress-bar_overfilled":t.percentage>=100,"progress-bar_total":t.showTotal}));return(r,s)=>(Y(),se("div",{class:nt(["progress-bar relative flex items-center justify-center h-6 text-xs lg:text-sm text-slate-700 bg-white rounded-md overflow-hidden",n.value])},[U("div",{class:"progress-bar__background absolute top-0 left-0 w-full h-full",style:_r({"background-size":`${r.percentage}%`})},null,4),U("span",Wh,Pe(r.label),1)],2))}}),qh=Ft(Uh,[["__scopeId","data-v-ae6b84b5"]]),Yh={class:"fixed right-0 bottom-0 left-0 w-full z-[100]"},zh={key:0,class:"container mx-auto px-5"},Kh={class:"px-6 py-5 bg-white border-t border-slate-200"},Gh={class:"max-w-96 flex justify-around mx-auto"},Qh=Ee({__name:"BaseMenuBar",setup(e){const t=Bf(),n=zs(),r=Vn(),s=Vt(),i=Ks(),{showAddExpenseInput:o}=n,{getCurrentMonth:a,getDaysByMonthId:l}=s,{getMonthlyExpenses:c}=i,{dailyBudget:u}=Be(r),d=()=>{o(),bn(()=>{const y=document.getElementById("expense-input");y==null||y.focus()})},p=y=>{if(y===void 0)return 0;const w=c(y);return w>l(y).length*u.value?100:w/(l(y).length*u.value)*100},g=y=>y===void 0?"":`${c(y)} / ${l(y).length*u.value}`;return(y,w)=>{var P,T,C;return Y(),se("div",Yh,[G(t).name==="home"?(Y(),se("div",zh,[Q(Bn,{class:"mb-2 shadow-md",onClick:d},{text:de(()=>[js(" Add expense ")]),rightIcon:de(()=>[Q(G(Rh),{class:"w-5 h-5 ml-2"})]),_:1}),Q(qh,{class:"mb-2 shadow-md",label:`${(P=G(a))==null?void 0:P.name} – ${g((T=G(a))==null?void 0:T.id)}`,percentage:p((C=G(a))==null?void 0:C.id)},null,8,["label","percentage"])])):rt("",!0),U("div",Kh,[U("div",Gh,[Q(G(ms),{to:"/"},{default:de(()=>[Q(G(jh),{class:"w-6 h-6 text-slate-400"})]),_:1}),Q(G(ms),{to:"/settings"},{default:de(()=>[Q(G(Nh),{class:"w-6 h-6 text-slate-400"})]),_:1})])])])}}}),Xh=Ft(Qh,[["__scopeId","data-v-cd98e6ca"]]),Jh={class:"container flex flex-col mx-auto px-5 pb-16 z-10"},Zh={class:"grow"},Gs=Ee({__name:"BaseLayout",setup(e){return(t,n)=>(Y(),se(we,null,[Q(Mh),U("main",Jh,[U("div",Zh,[Pt(t.$slots,"default")]),Q(Fh)]),Q(Xh)],64))}});function Qt(e){this._maxSize=e,this.clear()}Qt.prototype.clear=function(){this._size=0,this._values=Object.create(null)};Qt.prototype.get=function(e){return this._values[e]};Qt.prototype.set=function(e,t){return this._size>=this._maxSize&&this.clear(),e in this._values||this._size++,this._values[e]=t};var ep=/[^.^\]^[]+|(?=\[\]|\.\.)/g,Ya=/^\d+$/,tp=/^\d/,np=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,rp=/^\s*(['"]?)(.*?)(\1)\s*$/,Qs=512,po=new Qt(Qs),mo=new Qt(Qs),go=new Qt(Qs),za={Cache:Qt,split:gs,normalizePath:Gr,setter:function(e){var t=Gr(e);return mo.get(e)||mo.set(e,function(r,s){for(var i=0,o=t.length,a=r;i"",mp=/^Symbol\((.*)\)(.*)$/;function gp(e){return e!=+e?"NaN":e===0&&1/e<0?"-0":""+e}function yo(e,t=!1){if(e==null||e===!0||e===!1)return""+e;const n=typeof e;if(n==="number")return gp(e);if(n==="string")return t?`"${e}"`:e;if(n==="function")return"[Function "+(e.name||"anonymous")+"]";if(n==="symbol")return pp.call(e).replace(mp,"Symbol($1)");const r=fp.call(e).slice(8,-1);return r==="Date"?isNaN(e.getTime())?""+e:e.toISOString(e):r==="Error"||e instanceof Error?"["+dp.call(e)+"]":r==="RegExp"?hp.call(e):null}function kt(e,t){let n=yo(e,t);return n!==null?n:JSON.stringify(e,function(r,s){let i=yo(this[r],t);return i!==null?i:s},2)}function Qa(e){return e==null?[]:[].concat(e)}let Xa,yp=/\$\{\s*(\w+)\s*\}/g;Xa=Symbol.toStringTag;class Fe extends Error{static formatError(t,n){const r=n.label||n.path||"this";return r!==n.path&&(n=Object.assign({},n,{path:r})),typeof t=="string"?t.replace(yp,(s,i)=>kt(n[i])):typeof t=="function"?t(n):t}static isError(t){return t&&t.name==="ValidationError"}constructor(t,n,r,s,i){super(),this.value=void 0,this.path=void 0,this.type=void 0,this.errors=void 0,this.params=void 0,this.inner=void 0,this[Xa]="Error",this.name="ValidationError",this.value=n,this.path=r,this.type=s,this.errors=[],this.inner=[],Qa(t).forEach(o=>{if(Fe.isError(o)){this.errors.push(...o.errors);const a=o.inner.length?o.inner:[o];this.inner.push(...a)}else this.errors.push(o)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],!i&&Error.captureStackTrace&&Error.captureStackTrace(this,Fe)}}let Ze={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:e,type:t,value:n,originalValue:r})=>{const s=r!=null&&r!==n?` (cast from the value \`${kt(r,!0)}\`).`:".";return t!=="mixed"?`${e} must be a \`${t}\` type, but the final value was: \`${kt(n,!0)}\``+s:`${e} must match the configured type. The validated value was: \`${kt(n,!0)}\``+s}},qe={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},wt={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},ys={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},bp={isValue:"${path} field must be ${value}"},vp={noUnknown:"${path} field has unspecified keys: ${unknown}"},_p={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"},wp={notType:e=>{const{path:t,value:n,spec:r}=e,s=r.types.length;if(Array.isArray(n)){if(n.lengths)return`${t} tuple value has too many items, expected a length of ${s} but got ${n.length} for value: \`${kt(n,!0)}\``}return Fe.formatError(Ze.notType,e)}};Object.assign(Object.create(null),{mixed:Ze,string:qe,number:wt,date:ys,object:vp,array:_p,boolean:bp,tuple:wp});const Ja=e=>e&&e.__isYupSchema__;class mr{static fromOptions(t,n){if(!n.then&&!n.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:r,then:s,otherwise:i}=n,o=typeof r=="function"?r:(...a)=>a.every(l=>l===r);return new mr(t,(a,l)=>{var c;let u=o(...a)?s:i;return(c=u==null?void 0:u(l))!=null?c:l})}constructor(t,n){this.fn=void 0,this.refs=t,this.refs=t,this.fn=n}resolve(t,n){let r=this.refs.map(i=>i.getValue(n==null?void 0:n.value,n==null?void 0:n.parent,n==null?void 0:n.context)),s=this.fn(r,t,n);if(s===void 0||s===t)return t;if(!Ja(s))throw new TypeError("conditions must return a schema object");return s.resolve(n)}}const tr={context:"$",value:"."};class Wn{constructor(t,n={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,typeof t!="string")throw new TypeError("ref must be a string, got: "+t);if(this.key=t.trim(),t==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===tr.context,this.isValue=this.key[0]===tr.value,this.isSibling=!this.isContext&&!this.isValue;let r=this.isContext?tr.context:this.isValue?tr.value:"";this.path=this.key.slice(r.length),this.getter=this.path&&za.getter(this.path,!0),this.map=n.map}getValue(t,n,r){let s=this.isContext?r:this.isValue?t:n;return this.getter&&(s=this.getter(s||{})),this.map&&(s=this.map(s)),s}cast(t,n){return this.getValue(t,n==null?void 0:n.parent,n==null?void 0:n.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(t){return t&&t.__isYupRef}}Wn.prototype.__isYupRef=!0;const ct=e=>e==null;function nn(e){function t({value:n,path:r="",options:s,originalValue:i,schema:o},a,l){const{name:c,test:u,params:d,message:p,skipAbsent:g}=e;let{parent:y,context:w,abortEarly:P=o.spec.abortEarly,disableStackTrace:T=o.spec.disableStackTrace}=s;function C(B){return Wn.isRef(B)?B.getValue(n,y,w):B}function F(B={}){var R;const J=Object.assign({value:n,originalValue:i,label:o.spec.label,path:B.path||r,spec:o.spec},d,B.params);for(const ve of Object.keys(J))J[ve]=C(J[ve]);const ge=new Fe(Fe.formatError(B.message||p,J),n,J.path,B.type||c,(R=B.disableStackTrace)!=null?R:T);return ge.params=J,ge}const L=P?a:l;let k={path:r,parent:y,type:c,from:s.from,createError:F,resolve:C,options:s,originalValue:i,schema:o};const ee=B=>{Fe.isError(B)?L(B):B?l(null):L(F())},z=B=>{Fe.isError(B)?L(B):a(B)};if(g&&ct(n))return ee(!0);let S;try{var N;if(S=u.call(k,n,k),typeof((N=S)==null?void 0:N.then)=="function"){if(s.sync)throw new Error(`Validation test of type: "${k.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`);return Promise.resolve(S).then(ee,z)}}catch(B){z(B);return}ee(S)}return t.OPTIONS=e,t}function xp(e,t,n,r=n){let s,i,o;return t?(za.forEach(t,(a,l,c)=>{let u=l?a.slice(1,a.length-1):a;e=e.resolve({context:r,parent:s,value:n});let d=e.type==="tuple",p=c?parseInt(u,10):0;if(e.innerType||d){if(d&&!c)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${o}" must contain an index to the tuple element, e.g. "${o}[0]"`);if(n&&p>=n.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${t}. because there is no value at that index. `);s=n,n=n&&n[p],e=d?e.spec.types[p]:e.innerType}if(!c){if(!e.fields||!e.fields[u])throw new Error(`The schema does not contain the path: ${t}. (failed at: ${o} which is a type: "${e.type}")`);s=n,n=n&&n[u],e=e.fields[u]}i=u,o=l?"["+a+"]":"."+a}),{schema:e,parent:s,parentPath:i}):{parent:s,parentPath:t,schema:e}}class gr extends Set{describe(){const t=[];for(const n of this.values())t.push(Wn.isRef(n)?n.describe():n);return t}resolveAll(t){let n=[];for(const r of this.values())n.push(t(r));return n}clone(){return new gr(this.values())}merge(t,n){const r=this.clone();return t.forEach(s=>r.add(s)),n.forEach(s=>r.delete(s)),r}}function on(e,t=new Map){if(Ja(e)||!e||typeof e!="object")return e;if(t.has(e))return t.get(e);let n;if(e instanceof Date)n=new Date(e.getTime()),t.set(e,n);else if(e instanceof RegExp)n=new RegExp(e),t.set(e,n);else if(Array.isArray(e)){n=new Array(e.length),t.set(e,n);for(let r=0;r{this.typeError(Ze.notType)}),this.type=t.type,this._typeCheck=t.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,disableStackTrace:!1,nullable:!1,optional:!0,coerce:!0},t==null?void 0:t.spec),this.withMutation(n=>{n.nonNullable()})}get _type(){return this.type}clone(t){if(this._mutate)return t&&Object.assign(this.spec,t),this;const n=Object.create(Object.getPrototypeOf(this));return n.type=this.type,n._typeCheck=this._typeCheck,n._whitelist=this._whitelist.clone(),n._blacklist=this._blacklist.clone(),n.internalTests=Object.assign({},this.internalTests),n.exclusiveTests=Object.assign({},this.exclusiveTests),n.deps=[...this.deps],n.conditions=[...this.conditions],n.tests=[...this.tests],n.transforms=[...this.transforms],n.spec=on(Object.assign({},this.spec,t)),n}label(t){let n=this.clone();return n.spec.label=t,n}meta(...t){if(t.length===0)return this.spec.meta;let n=this.clone();return n.spec.meta=Object.assign(n.spec.meta||{},t[0]),n}withMutation(t){let n=this._mutate;this._mutate=!0;let r=t(this);return this._mutate=n,r}concat(t){if(!t||t===this)return this;if(t.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${t.type}`);let n=this,r=t.clone();const s=Object.assign({},n.spec,r.spec);return r.spec=s,r.internalTests=Object.assign({},n.internalTests,r.internalTests),r._whitelist=n._whitelist.merge(t._whitelist,t._blacklist),r._blacklist=n._blacklist.merge(t._blacklist,t._whitelist),r.tests=n.tests,r.exclusiveTests=n.exclusiveTests,r.withMutation(i=>{t.tests.forEach(o=>{i.test(o.OPTIONS)})}),r.transforms=[...n.transforms,...r.transforms],r}isType(t){return t==null?!!(this.spec.nullable&&t===null||this.spec.optional&&t===void 0):this._typeCheck(t)}resolve(t){let n=this;if(n.conditions.length){let r=n.conditions;n=n.clone(),n.conditions=[],n=r.reduce((s,i)=>i.resolve(s,t),n),n=n.resolve(t)}return n}resolveOptions(t){var n,r,s,i;return Object.assign({},t,{from:t.from||[],strict:(n=t.strict)!=null?n:this.spec.strict,abortEarly:(r=t.abortEarly)!=null?r:this.spec.abortEarly,recursive:(s=t.recursive)!=null?s:this.spec.recursive,disableStackTrace:(i=t.disableStackTrace)!=null?i:this.spec.disableStackTrace})}cast(t,n={}){let r=this.resolve(Object.assign({value:t},n)),s=n.assert==="ignore-optionality",i=r._cast(t,n);if(n.assert!==!1&&!r.isType(i)){if(s&&ct(i))return i;let o=kt(t),a=kt(i);throw new TypeError(`The value of ${n.path||"field"} could not be cast to a value that satisfies the schema type: "${r.type}". attempted value: ${o} -`+(a!==o?`result of cast: ${a}`:""))}return i}_cast(t,n){let r=t===void 0?t:this.transforms.reduce((s,i)=>i.call(this,s,t,this),t);return r===void 0&&(r=this.getDefault(n)),r}_validate(t,n={},r,s){let{path:i,originalValue:o=t,strict:a=this.spec.strict}=n,l=t;a||(l=this._cast(l,Object.assign({assert:!1},n)));let c=[];for(let u of Object.values(this.internalTests))u&&c.push(u);this.runTests({path:i,value:l,originalValue:o,options:n,tests:c},r,u=>{if(u.length)return s(u,l);this.runTests({path:i,value:l,originalValue:o,options:n,tests:this.tests},r,s)})}runTests(t,n,r){let s=!1,{tests:i,value:o,originalValue:a,path:l,options:c}=t,u=w=>{s||(s=!0,n(w,o))},d=w=>{s||(s=!0,r(w,o))},p=i.length,g=[];if(!p)return d([]);let y={value:o,originalValue:a,path:l,options:c,schema:this};for(let w=0;wthis.resolve(u)._validate(c,u,p,g)}validate(t,n){var r;let s=this.resolve(Object.assign({},n,{value:t})),i=(r=n==null?void 0:n.disableStackTrace)!=null?r:s.spec.disableStackTrace;return new Promise((o,a)=>s._validate(t,n,(l,c)=>{Fe.isError(l)&&(l.value=c),a(l)},(l,c)=>{l.length?a(new Fe(l,c,void 0,void 0,i)):o(c)}))}validateSync(t,n){var r;let s=this.resolve(Object.assign({},n,{value:t})),i,o=(r=n==null?void 0:n.disableStackTrace)!=null?r:s.spec.disableStackTrace;return s._validate(t,Object.assign({},n,{sync:!0}),(a,l)=>{throw Fe.isError(a)&&(a.value=l),a},(a,l)=>{if(a.length)throw new Fe(a,t,void 0,void 0,o);i=l}),i}isValid(t,n){return this.validate(t,n).then(()=>!0,r=>{if(Fe.isError(r))return!1;throw r})}isValidSync(t,n){try{return this.validateSync(t,n),!0}catch(r){if(Fe.isError(r))return!1;throw r}}_getDefault(t){let n=this.spec.default;return n==null?n:typeof n=="function"?n.call(this,t):on(n)}getDefault(t){return this.resolve(t||{})._getDefault(t)}default(t){return arguments.length===0?this._getDefault():this.clone({default:t})}strict(t=!0){return this.clone({strict:t})}nullability(t,n){const r=this.clone({nullable:t});return r.internalTests.nullable=nn({message:n,name:"nullable",test(s){return s===null?this.schema.spec.nullable:!0}}),r}optionality(t,n){const r=this.clone({optional:t});return r.internalTests.optionality=nn({message:n,name:"optionality",test(s){return s===void 0?this.schema.spec.optional:!0}}),r}optional(){return this.optionality(!0)}defined(t=Ze.defined){return this.optionality(!1,t)}nullable(){return this.nullability(!0)}nonNullable(t=Ze.notNull){return this.nullability(!1,t)}required(t=Ze.required){return this.clone().withMutation(n=>n.nonNullable(t).defined(t))}notRequired(){return this.clone().withMutation(t=>t.nullable().optional())}transform(t){let n=this.clone();return n.transforms.push(t),n}test(...t){let n;if(t.length===1?typeof t[0]=="function"?n={test:t[0]}:n=t[0]:t.length===2?n={name:t[0],test:t[1]}:n={name:t[0],message:t[1],test:t[2]},n.message===void 0&&(n.message=Ze.default),typeof n.test!="function")throw new TypeError("`test` is a required parameters");let r=this.clone(),s=nn(n),i=n.exclusive||n.name&&r.exclusiveTests[n.name]===!0;if(n.exclusive&&!n.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return n.name&&(r.exclusiveTests[n.name]=!!n.exclusive),r.tests=r.tests.filter(o=>!(o.OPTIONS.name===n.name&&(i||o.OPTIONS.test===s.OPTIONS.test))),r.tests.push(s),r}when(t,n){!Array.isArray(t)&&typeof t!="string"&&(n=t,t=".");let r=this.clone(),s=Qa(t).map(i=>new Wn(i));return s.forEach(i=>{i.isSibling&&r.deps.push(i.key)}),r.conditions.push(typeof n=="function"?new mr(s,n):mr.fromOptions(s,n)),r}typeError(t){let n=this.clone();return n.internalTests.typeError=nn({message:t,name:"typeError",skipAbsent:!0,test(r){return this.schema._typeCheck(r)?!0:this.createError({params:{type:this.schema.type}})}}),n}oneOf(t,n=Ze.oneOf){let r=this.clone();return t.forEach(s=>{r._whitelist.add(s),r._blacklist.delete(s)}),r.internalTests.whiteList=nn({message:n,name:"oneOf",skipAbsent:!0,test(s){let i=this.schema._whitelist,o=i.resolveAll(this.resolve);return o.includes(s)?!0:this.createError({params:{values:Array.from(i).join(", "),resolved:o}})}}),r}notOneOf(t,n=Ze.notOneOf){let r=this.clone();return t.forEach(s=>{r._blacklist.add(s),r._whitelist.delete(s)}),r.internalTests.blacklist=nn({message:n,name:"notOneOf",test(s){let i=this.schema._blacklist,o=i.resolveAll(this.resolve);return o.includes(s)?this.createError({params:{values:Array.from(i).join(", "),resolved:o}}):!0}}),r}strip(t=!0){let n=this.clone();return n.spec.strip=t,n}describe(t){const n=(t?this.resolve(t):this).clone(),{label:r,meta:s,optional:i,nullable:o}=n.spec;return{meta:s,label:r,optional:i,nullable:o,default:n.getDefault(t),type:n.type,oneOf:n._whitelist.describe(),notOneOf:n._blacklist.describe(),tests:n.tests.map(l=>({name:l.OPTIONS.name,params:l.OPTIONS.params})).filter((l,c,u)=>u.findIndex(d=>d.name===l.name)===c)}}}dt.prototype.__isYupSchema__=!0;for(const e of["validate","validateSync"])dt.prototype[`${e}At`]=function(t,n,r={}){const{parent:s,parentPath:i,schema:o}=xp(this,t,n,r.context);return o[e](s&&s[i],Object.assign({},r,{parent:s,path:t}))};for(const e of["equals","is"])dt.prototype[e]=dt.prototype.oneOf;for(const e of["not","nope"])dt.prototype[e]=dt.prototype.notOneOf;let Ep=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Sp=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,Cp=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,Op=e=>ct(e)||e===e.trim(),Tp={}.toString();function Za(){return new el}class el extends dt{constructor(){super({type:"string",check(t){return t instanceof String&&(t=t.valueOf()),typeof t=="string"}}),this.withMutation(()=>{this.transform((t,n,r)=>{if(!r.spec.coerce||r.isType(t)||Array.isArray(t))return t;const s=t!=null&&t.toString?t.toString():t;return s===Tp?t:s})})}required(t){return super.required(t).withMutation(n=>n.test({message:t||Ze.required,name:"required",skipAbsent:!0,test:r=>!!r.length}))}notRequired(){return super.notRequired().withMutation(t=>(t.tests=t.tests.filter(n=>n.OPTIONS.name!=="required"),t))}length(t,n=qe.length){return this.test({message:n,name:"length",exclusive:!0,params:{length:t},skipAbsent:!0,test(r){return r.length===this.resolve(t)}})}min(t,n=qe.min){return this.test({message:n,name:"min",exclusive:!0,params:{min:t},skipAbsent:!0,test(r){return r.length>=this.resolve(t)}})}max(t,n=qe.max){return this.test({name:"max",exclusive:!0,message:n,params:{max:t},skipAbsent:!0,test(r){return r.length<=this.resolve(t)}})}matches(t,n){let r=!1,s,i;return n&&(typeof n=="object"?{excludeEmptyString:r=!1,message:s,name:i}=n:s=n),this.test({name:i||"matches",message:s||qe.matches,params:{regex:t},skipAbsent:!0,test:o=>o===""&&r||o.search(t)!==-1})}email(t=qe.email){return this.matches(Ep,{name:"email",message:t,excludeEmptyString:!0})}url(t=qe.url){return this.matches(Sp,{name:"url",message:t,excludeEmptyString:!0})}uuid(t=qe.uuid){return this.matches(Cp,{name:"uuid",message:t,excludeEmptyString:!1})}ensure(){return this.default("").transform(t=>t===null?"":t)}trim(t=qe.trim){return this.transform(n=>n!=null?n.trim():n).test({message:t,name:"trim",test:Op})}lowercase(t=qe.lowercase){return this.transform(n=>ct(n)?n:n.toLowerCase()).test({message:t,name:"string_case",exclusive:!0,skipAbsent:!0,test:n=>ct(n)||n===n.toLowerCase()})}uppercase(t=qe.uppercase){return this.transform(n=>ct(n)?n:n.toUpperCase()).test({message:t,name:"string_case",exclusive:!0,skipAbsent:!0,test:n=>ct(n)||n===n.toUpperCase()})}}Za.prototype=el.prototype;let Mp=e=>e!=+e;function Js(){return new tl}class tl extends dt{constructor(){super({type:"number",check(t){return t instanceof Number&&(t=t.valueOf()),typeof t=="number"&&!Mp(t)}}),this.withMutation(()=>{this.transform((t,n,r)=>{if(!r.spec.coerce)return t;let s=t;if(typeof s=="string"){if(s=s.replace(/\s/g,""),s==="")return NaN;s=+s}return r.isType(s)||s===null?s:parseFloat(s)})})}min(t,n=wt.min){return this.test({message:n,name:"min",exclusive:!0,params:{min:t},skipAbsent:!0,test(r){return r>=this.resolve(t)}})}max(t,n=wt.max){return this.test({message:n,name:"max",exclusive:!0,params:{max:t},skipAbsent:!0,test(r){return r<=this.resolve(t)}})}lessThan(t,n=wt.lessThan){return this.test({message:n,name:"max",exclusive:!0,params:{less:t},skipAbsent:!0,test(r){return rthis.resolve(t)}})}positive(t=wt.positive){return this.moreThan(0,t)}negative(t=wt.negative){return this.lessThan(0,t)}integer(t=wt.integer){return this.test({name:"integer",message:t,skipAbsent:!0,test:n=>Number.isInteger(n)})}truncate(){return this.transform(t=>ct(t)?t:t|0)}round(t){var n;let r=["ceil","floor","round","trunc"];if(t=((n=t)==null?void 0:n.toLowerCase())||"round",t==="trunc")return this.truncate();if(r.indexOf(t.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+r.join(", "));return this.transform(s=>ct(s)?s:Math[t](s))}}Js.prototype=tl.prototype;const Ap=/^(\d{4}|[+-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,.](\d{1,}))?)?(?:(Z)|([+-])(\d{2})(?::?(\d{2}))?)?)?$/;function at(e,t=0){return Number(e)||t}function Pp(e){const t=Ap.exec(e);if(!t)return Date.parse?Date.parse(e):Number.NaN;const n={year:at(t[1]),month:at(t[2],1)-1,day:at(t[3],1),hour:at(t[4]),minute:at(t[5]),second:at(t[6]),millisecond:t[7]?at(t[7].substring(0,3)):0,z:t[8]||void 0,plusMinus:t[9]||void 0,hourOffset:at(t[10]),minuteOffset:at(t[11])};if(n.z===void 0&&n.plusMinus===void 0)return new Date(n.year,n.month,n.day,n.hour,n.minute,n.second,n.millisecond).valueOf();let r=0;return n.z!=="Z"&&n.plusMinus!==void 0&&(r=n.hourOffset*60+n.minuteOffset,n.plusMinus==="+"&&(r=0-r)),Date.UTC(n.year,n.month,n.day,n.hour,n.minute+r,n.second,n.millisecond)}let kp=new Date(""),$p=e=>Object.prototype.toString.call(e)==="[object Date]";class Zs extends dt{constructor(){super({type:"date",check(t){return $p(t)&&!isNaN(t.getTime())}}),this.withMutation(()=>{this.transform((t,n,r)=>!r.spec.coerce||r.isType(t)||t===null?t:(t=Pp(t),isNaN(t)?Zs.INVALID_DATE:new Date(t)))})}prepareParam(t,n){let r;if(Wn.isRef(t))r=t;else{let s=this.cast(t);if(!this._typeCheck(s))throw new TypeError(`\`${n}\` must be a Date or a value that can be \`cast()\` to a Date`);r=s}return r}min(t,n=ys.min){let r=this.prepareParam(t,"min");return this.test({message:n,name:"min",exclusive:!0,params:{min:t},skipAbsent:!0,test(s){return s>=this.resolve(r)}})}max(t,n=ys.max){let r=this.prepareParam(t,"max");return this.test({message:n,name:"max",exclusive:!0,params:{max:t},skipAbsent:!0,test(s){return s<=this.resolve(r)}})}}Zs.INVALID_DATE=kp;const Dp={},Fp={class:"flex flex-col text-slate-700"};function Rp(e,t){return Y(),se("div",Fp,[Pt(e.$slots,"title"),Pt(e.$slots,"content")])}const bo=Ft(Dp,[["render",Rp]]),Ip={class:"flex items-center justify-center h-16 text-xs lg:text-base text-slate-500 select-none"},Np=Ee({__name:"BaseEmptyListMessage",props:{message:{}},setup(e){return(t,n)=>(Y(),se("div",Ip,[Q(G(Hh),{class:"mr-2 w-6 h-6"}),U("span",null,Pe(t.message),1)]))}}),jp={class:"text-xs text-slate-500 select-none"},Lp={class:"relative flex items-center select-none cursor-pointer"},Bp={class:"ml-1"},Hp=Ee({__name:"BaseExpense",props:{value:{},currency:{},createdAt:{}},emits:["click","delete"],setup(e,{emit:t}){const n=t,r=st(null),s=st(!1);Hn(()=>{document.addEventListener("click",a=>{!r.value||r.value.contains(a.target)||(s.value=!1)}),document.addEventListener("keydown",a=>{a.key==="Escape"&&(s.value=!1)}),document.addEventListener("scroll",()=>{s.value=!1})}),Rs(()=>{document.removeEventListener("click",()=>{s.value=!1}),document.removeEventListener("keydown",()=>{s.value=!1}),document.removeEventListener("scroll",()=>{s.value=!1})});const i=()=>{s.value=!s.value},o=()=>{n("click")};return(a,l)=>(Y(),se("div",{class:nt(["relative flex flex-col items-center",{"z-[60]":s.value}])},[U("div",jp,Pe(a.createdAt),1),U("div",Lp,[U("div",{ref_key:"expense",ref:r,class:"relative flex items-center py-1 px-3 text-sm lg:text-base bg-white border border-sky-400 rounded-2xl hover:shadow-md transition-shadow duration-300 z-40",onClick:i},[U("div",null,Pe(a.value),1),U("div",Bp,Pe(a.currency),1)],512),Q(hn,null,{default:de(()=>[s.value?(Y(),ke(Bn,{key:0,class:"absolute top-5 h-[110%] !items-end !p-0 !pb-1 !rounded-2xl !rounded-t-none !bg-red-500 hover:!bg-red-600",onClick:o},{text:de(()=>[Q(G(qa),{class:"w-4 h-4 text-white"})]),_:1})):rt("",!0)]),_:1})])],2))}}),Vp=Ft(Hp,[["__scopeId","data-v-6175bf6f"]]),Wp={class:"absolute top-0 right-0"},bs=Ee({__name:"BaseFormBar",emits:["submit"],setup(e,{emit:t}){const n=t,r=()=>{n("submit")};return(s,i)=>(Y(),se("form",{class:"relative",onSubmit:Cu(r,["prevent"])},[Pt(s.$slots,"input"),U("div",Wp,[Pt(s.$slots,"button")])],32))}}),Up={class:"relative w-full"},qp=["id","type","placeholder","value","autocomplete"],Yp={key:0,class:"absolute left-3 -bottom-4 w-full text-xs text-rose-500"},zp={key:0,class:"absolute left-3 -bottom-4 w-full text-xs text-green-500"},Kp=Ee({__name:"BaseInput",props:{modelValue:{},id:{},type:{},placeholder:{},autocomplete:{},isError:{type:Boolean},errorMessage:{},isSuccess:{type:Boolean},successMessage:{}},emits:["update:modelValue","onBlur"],setup(e,{emit:t}){const n=t,r=i=>{n("update:modelValue",i.target.value)},s=()=>{n("onBlur")};return(i,o)=>(Y(),se("div",Up,[U("input",{id:i.id,type:i.type,placeholder:i.placeholder,value:i.modelValue,autocomplete:i.autocomplete,class:nt([i.isError?"!border-red-500 !focus:border-red-500":"","w-full px-3 py-2 pr-14 text-sm border border-slate-300 rounded-xl hover:border-slate-400 focus:outline-none focus:border-slate-400 transition-[border-color] select-none"]),onInput:r,onBlur:s},null,42,qp),Q(hn,null,{default:de(()=>[i.isError&&i.errorMessage?(Y(),se("span",Yp,Pe(i.errorMessage),1)):rt("",!0)]),_:1}),Q(hn,null,{default:de(()=>[i.isSuccess&&i.successMessage?(Y(),se("span",zp,Pe(i.successMessage),1)):rt("",!0)]),_:1})]))}}),vs=Ft(Kp,[["__scopeId","data-v-ba2bbe90"]]),Gp={class:"mb-5 py-5 text-xl font-bold border-t border-b"},Qp={class:"grid gap-3"},Xp={class:"flex"},Jp={class:"flex flex-col"},Zp={class:"flex items-center text-sm lg:text-base"},em={key:0,class:"shrink-0 w-2 h-2 ml-2 rounded-full bg-green-500 select-none animate-pulse"},tm={key:0,class:"flex items-center w-full"},nm=Ee({__name:"BaseExpensesList",setup(e){const t=zs(),n=Vn(),r=Vt(),s=Ks(),{isAddExpenseInputVisible:i}=Be(t),{months:o}=Be(r),{expenses:a}=Be(s),{hideAddExpenseInput:l}=t,{getDaysByMonthId:c}=r,{getMonthlyExpenses:u,getDailyExpenses:d,addExpense:p,removeExpense:g}=s,{getActiveCurrency:y,dailyBudget:w}=Be(n),P=st(""),T=st(!1),C=Js().integer().required().min(1),F=L=>{try{C.validateSync(L),p(L),P.value="",T.value=!1}catch{T.value=!0}};return(L,k)=>(Y(!0),se(we,null,Sn(G(o),ee=>(Y(),ke(bo,{key:ee.id},{title:de(()=>[U("div",Gp,Pe(ee.name)+" / "+Pe(G(u)(ee.id)),1)]),content:de(()=>[U("div",Qp,[(Y(!0),se(we,null,Sn(G(c)(ee.id),z=>(Y(),ke(bo,{key:z.id,class:"relative last:mb-12"},{title:de(()=>[U("div",{class:nt(["sticky top-[52px] flex flex-col items-start py-1 bg-white font-bold select-none z-30",{"current-day":z.isCurrent}])},[U("div",Xp,[U("div",Jp,[U("div",Zp,[js(Pe(z.number)+" "+Pe(z.name)+" ",1),z.isCurrent?(Y(),se("div",em)):rt("",!0)])])]),U("div",{class:nt(["text-xs lg:text-sm",{"text-emerald-500":G(d)(z.id)<=G(w),"text-rose-500":G(d)(z.id)>G(w),hidden:G(d)(z.id)===0}])},Pe(G(d)(z.id))+" / "+Pe(G(w)),3)],2)]),content:de(()=>[(Y(!0),se(we,null,Sn(G(a)[z.id],($,S)=>(Y(),se("div",{key:S,class:"flex flex-wrap gap-2"},[(Y(!0),se(we,null,Sn($,N=>(Y(),ke(Vp,{key:N.id,createdAt:N.createdAt,value:N.value,currency:N.currency,class:nt({"opacity-30":!z.isCurrent}),onClick:B=>G(g)(N.id,z.id)},null,8,["createdAt","value","currency","class","onClick"]))),128)),G(a)[z.id].items.length?rt("",!0):(Y(),se("div",tm,[Q(Np,{message:"No expenses for this day"})])),Q(hn,null,{default:de(()=>[z.isCurrent&&G(i)?(Y(),ke(bs,{key:0,onSubmit:k[1]||(k[1]=N=>F(P.value)),class:"!absolute top-[calc(100%+10px)] w-full rounded-xl shadow-md mb-6 z-50"},{input:de(()=>[Q(vs,{id:"expense-input",modelValue:P.value,"onUpdate:modelValue":k[0]||(k[0]=N=>P.value=N),type:"number",inputmode:"numeric",placeholder:`Enter expense (${G(y).name})`,"has-error":T.value,onOnBlur:G(l)},null,8,["modelValue","placeholder","has-error","onOnBlur"])]),_:1})):rt("",!0)]),_:2},1024)]))),128))]),_:2},1024))),128))])]),_:2},1024))),128))}}),rm=Ft(nm,[["__scopeId","data-v-96e617f1"]]),sm=Ee({__name:"HomeView",setup(e){const t=zs(),n=Vt(),r=Ks(),{lastCalendarUpdateDate:s}=Be(t),{setLastUpdateDate:i}=t,{initCalendar:o}=n,{initExpensesObject:a}=r;oa(()=>{const u=new Date().toLocaleDateString();i(u),o(),a(),window.addEventListener("focus",c)}),Hn(()=>{l()});const l=()=>{const u=document.getElementsByClassName("current-day")[0];u&&u.scrollIntoView({block:"start"})},c=()=>{if(!s.value)return;const u=new Date().toLocaleDateString();u!==s.value&&(i(u),o(),a())};return(u,d)=>(Y(),ke(Gs,null,{default:de(()=>[Q(rm)]),_:1}))}}),im=U("h1",null,"Stats dashboard",-1),om=Ee({__name:"DashboardView",setup(e){return(t,n)=>(Y(),ke(Gs,null,{default:de(()=>[im]),_:1}))}}),am=["id","name","value","checked"],lm=["for"],cm=Ee({__name:"BaseRadioButton",props:{id:{},name:{},label:{},value:{},checked:{type:Boolean},additionalClasses:{}},emits:["change"],setup(e,{emit:t}){const n=t,r=s=>{n("change",s.target.value)};return(s,i)=>(Y(),se("div",null,[U("input",{id:s.id,name:s.name,value:s.value,checked:s.checked,type:"radio",class:"hidden peer/radio",onChange:r},null,40,am),U("label",{for:s.id,class:nt([s.additionalClasses,"block px-3 py-1 text-sm text-slate-400 border border-slate-300 rounded-2xl peer-checked/radio:text-white peer-checked/radio:bg-sky-400 select-none cursor-pointer hover:border-slate-400 hover:text-slate-500 transition-all"])},Pe(s.label),11,lm)]))}}),um={class:"flex items-center"},fm=Ee({__name:"BaseCurrencyGroupItem",props:{id:{},name:{},label:{},value:{},isSelected:{type:Boolean},isDefault:{type:Boolean}},setup(e){const t=e,n=Vn(),{setActiveCurrency:r,deleteCurrency:s}=n,i=Re(()=>({"!rounded-r-2xl":t.isDefault,"border-r-0":!t.isDefault}));return(o,a)=>(Y(),se("div",um,[Q(cm,{id:o.id,name:o.name,label:o.label,value:o.value,checked:o.isSelected,"additional-classes":[i.value,"max-w-30","rounded-r-none","overflow-hidden","whitespace-nowrap","text-ellipsis"],onChange:a[0]||(a[0]=l=>G(r)(o.id))},null,8,["id","name","label","value","checked","additional-classes"]),o.isDefault?rt("",!0):(Y(),ke(Bn,{key:0,class:"grow-0 !py-0 h-full rounded-l-none",title:"delete currency",onClick:a[1]||(a[1]=l=>G(s)(o.id)),"is-disabled":o.isSelected},{text:de(()=>[o.isSelected?rt("",!0):(Y(),ke(G(qa),{key:0,class:"w-4 h-4"})),o.isSelected?(Y(),ke(G(Lh),{key:1,class:"w-4 h-4 text-slate-950"})):rt("",!0)]),_:1},8,["is-disabled"]))]))}}),dm=U("div",{class:"mb-7 pt-4 text-2xl text-slate-700 font-bold select-none"},"Settings",-1),hm={class:"mb-10"},pm=U("div",{class:"mb-3 text-slate-500 select-none"},"Daily budget",-1),mm={class:"mb-2"},gm=U("div",{class:"mb-3 text-slate-500 select-none"},"Default currency",-1),ym={class:"flex flex-wrap gap-1 mb-3"},bm=Ee({__name:"SettingsView",setup(e){const t=Vn(),{setDailyBudget:n,addNewCurrency:r,dailyBudget:s}=t,{currencies:i}=Be(t),o=Yt({value:s,isError:!1,errorMessage:"Enter an integer greater than 9",isSuccess:!1,successMessage:"Daily budget updated"}),a=Yt({value:"",isError:!1,errorMessage:"Currency already exists"}),l=Js().integer().required().min(10),c=Za().required().min(1).max(10);At(a,()=>{a.value.length===0&&(a.isError=!1)});const u=p=>{try{l.validateSync(p),n(p),o.isSuccess=!0,o.value=p,o.isError=!1,setTimeout(()=>{o.isSuccess=!1},3e3)}catch{o.isError=!0,o.isSuccess=!1}},d=p=>{if(i.value.some(g=>g.name===p)){a.isError=!0;return}try{c.validateSync(p),r(p),a.value="",a.isError=!1}catch{a.isError=!0}};return(p,g)=>(Y(),ke(Gs,null,{default:de(()=>[dm,U("div",hm,[pm,Q(bs,{onSubmit:g[1]||(g[1]=y=>u(o.value))},{input:de(()=>[Q(vs,{id:"daily-input",modelValue:o.value,"onUpdate:modelValue":g[0]||(g[0]=y=>o.value=y),type:"number",inputmode:"numeric",placeholder:"Set daily budget",autocomplete:"off","is-error":o.isError,"error-message":o.errorMessage,"is-success":o.isSuccess,"success-message":o.successMessage},null,8,["modelValue","is-error","error-message","is-success","success-message"])]),button:de(()=>[Q(Bn,{type:"submit"},{text:de(()=>[Q(G(Ih),{class:"w-5 h-5"})]),_:1})]),_:1})]),U("div",mm,[gm,U("div",ym,[(Y(!0),se(we,null,Sn(G(i),y=>(Y(),ke(fm,{key:y.name,id:y.name,label:y.name,value:y.name,"is-selected":y.isActive,"is-default":y.isDefault,name:"currencies"},null,8,["id","label","value","is-selected","is-default"]))),128))])]),Q(bs,{class:"mb-10",onSubmit:g[3]||(g[3]=y=>d(a.value))},{input:de(()=>[Q(vs,{id:"currency-input",modelValue:a.value,"onUpdate:modelValue":g[2]||(g[2]=y=>a.value=y),type:"text",placeholder:"Add new currency",autocomplete:"off","is-error":a.isError,"error-message":a.errorMessage},null,8,["modelValue","is-error","error-message"])]),button:de(()=>[Q(Bn,{type:"submit"},{text:de(()=>[Q(G(Bh),{class:"w-5 h-5"})]),_:1})]),_:1})]),_:1}))}}),vm=jf({history:tf("/budget.it/"),routes:[{path:"/",name:"home",component:sm},{path:"/dashboard",name:"dashboard",component:om},{path:"/settings",name:"settings",component:bm}]}),_m=Ee({__name:"App",setup(e){return(t,n)=>(Y(),ke(G(ja)))}}),ei=Mu(_m);ei.use($u());ei.use(vm);ei.mount("#app"); +`+(a!==o?`result of cast: ${a}`:""))}return i}_cast(t,n){let r=t===void 0?t:this.transforms.reduce((s,i)=>i.call(this,s,t,this),t);return r===void 0&&(r=this.getDefault(n)),r}_validate(t,n={},r,s){let{path:i,originalValue:o=t,strict:a=this.spec.strict}=n,l=t;a||(l=this._cast(l,Object.assign({assert:!1},n)));let c=[];for(let u of Object.values(this.internalTests))u&&c.push(u);this.runTests({path:i,value:l,originalValue:o,options:n,tests:c},r,u=>{if(u.length)return s(u,l);this.runTests({path:i,value:l,originalValue:o,options:n,tests:this.tests},r,s)})}runTests(t,n,r){let s=!1,{tests:i,value:o,originalValue:a,path:l,options:c}=t,u=w=>{s||(s=!0,n(w,o))},d=w=>{s||(s=!0,r(w,o))},p=i.length,g=[];if(!p)return d([]);let y={value:o,originalValue:a,path:l,options:c,schema:this};for(let w=0;wthis.resolve(u)._validate(c,u,p,g)}validate(t,n){var r;let s=this.resolve(Object.assign({},n,{value:t})),i=(r=n==null?void 0:n.disableStackTrace)!=null?r:s.spec.disableStackTrace;return new Promise((o,a)=>s._validate(t,n,(l,c)=>{Fe.isError(l)&&(l.value=c),a(l)},(l,c)=>{l.length?a(new Fe(l,c,void 0,void 0,i)):o(c)}))}validateSync(t,n){var r;let s=this.resolve(Object.assign({},n,{value:t})),i,o=(r=n==null?void 0:n.disableStackTrace)!=null?r:s.spec.disableStackTrace;return s._validate(t,Object.assign({},n,{sync:!0}),(a,l)=>{throw Fe.isError(a)&&(a.value=l),a},(a,l)=>{if(a.length)throw new Fe(a,t,void 0,void 0,o);i=l}),i}isValid(t,n){return this.validate(t,n).then(()=>!0,r=>{if(Fe.isError(r))return!1;throw r})}isValidSync(t,n){try{return this.validateSync(t,n),!0}catch(r){if(Fe.isError(r))return!1;throw r}}_getDefault(t){let n=this.spec.default;return n==null?n:typeof n=="function"?n.call(this,t):on(n)}getDefault(t){return this.resolve(t||{})._getDefault(t)}default(t){return arguments.length===0?this._getDefault():this.clone({default:t})}strict(t=!0){return this.clone({strict:t})}nullability(t,n){const r=this.clone({nullable:t});return r.internalTests.nullable=nn({message:n,name:"nullable",test(s){return s===null?this.schema.spec.nullable:!0}}),r}optionality(t,n){const r=this.clone({optional:t});return r.internalTests.optionality=nn({message:n,name:"optionality",test(s){return s===void 0?this.schema.spec.optional:!0}}),r}optional(){return this.optionality(!0)}defined(t=Ze.defined){return this.optionality(!1,t)}nullable(){return this.nullability(!0)}nonNullable(t=Ze.notNull){return this.nullability(!1,t)}required(t=Ze.required){return this.clone().withMutation(n=>n.nonNullable(t).defined(t))}notRequired(){return this.clone().withMutation(t=>t.nullable().optional())}transform(t){let n=this.clone();return n.transforms.push(t),n}test(...t){let n;if(t.length===1?typeof t[0]=="function"?n={test:t[0]}:n=t[0]:t.length===2?n={name:t[0],test:t[1]}:n={name:t[0],message:t[1],test:t[2]},n.message===void 0&&(n.message=Ze.default),typeof n.test!="function")throw new TypeError("`test` is a required parameters");let r=this.clone(),s=nn(n),i=n.exclusive||n.name&&r.exclusiveTests[n.name]===!0;if(n.exclusive&&!n.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return n.name&&(r.exclusiveTests[n.name]=!!n.exclusive),r.tests=r.tests.filter(o=>!(o.OPTIONS.name===n.name&&(i||o.OPTIONS.test===s.OPTIONS.test))),r.tests.push(s),r}when(t,n){!Array.isArray(t)&&typeof t!="string"&&(n=t,t=".");let r=this.clone(),s=Qa(t).map(i=>new Wn(i));return s.forEach(i=>{i.isSibling&&r.deps.push(i.key)}),r.conditions.push(typeof n=="function"?new mr(s,n):mr.fromOptions(s,n)),r}typeError(t){let n=this.clone();return n.internalTests.typeError=nn({message:t,name:"typeError",skipAbsent:!0,test(r){return this.schema._typeCheck(r)?!0:this.createError({params:{type:this.schema.type}})}}),n}oneOf(t,n=Ze.oneOf){let r=this.clone();return t.forEach(s=>{r._whitelist.add(s),r._blacklist.delete(s)}),r.internalTests.whiteList=nn({message:n,name:"oneOf",skipAbsent:!0,test(s){let i=this.schema._whitelist,o=i.resolveAll(this.resolve);return o.includes(s)?!0:this.createError({params:{values:Array.from(i).join(", "),resolved:o}})}}),r}notOneOf(t,n=Ze.notOneOf){let r=this.clone();return t.forEach(s=>{r._blacklist.add(s),r._whitelist.delete(s)}),r.internalTests.blacklist=nn({message:n,name:"notOneOf",test(s){let i=this.schema._blacklist,o=i.resolveAll(this.resolve);return o.includes(s)?this.createError({params:{values:Array.from(i).join(", "),resolved:o}}):!0}}),r}strip(t=!0){let n=this.clone();return n.spec.strip=t,n}describe(t){const n=(t?this.resolve(t):this).clone(),{label:r,meta:s,optional:i,nullable:o}=n.spec;return{meta:s,label:r,optional:i,nullable:o,default:n.getDefault(t),type:n.type,oneOf:n._whitelist.describe(),notOneOf:n._blacklist.describe(),tests:n.tests.map(l=>({name:l.OPTIONS.name,params:l.OPTIONS.params})).filter((l,c,u)=>u.findIndex(d=>d.name===l.name)===c)}}}dt.prototype.__isYupSchema__=!0;for(const e of["validate","validateSync"])dt.prototype[`${e}At`]=function(t,n,r={}){const{parent:s,parentPath:i,schema:o}=xp(this,t,n,r.context);return o[e](s&&s[i],Object.assign({},r,{parent:s,path:t}))};for(const e of["equals","is"])dt.prototype[e]=dt.prototype.oneOf;for(const e of["not","nope"])dt.prototype[e]=dt.prototype.notOneOf;let Ep=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Sp=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,Cp=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,Op=e=>ct(e)||e===e.trim(),Tp={}.toString();function Za(){return new el}class el extends dt{constructor(){super({type:"string",check(t){return t instanceof String&&(t=t.valueOf()),typeof t=="string"}}),this.withMutation(()=>{this.transform((t,n,r)=>{if(!r.spec.coerce||r.isType(t)||Array.isArray(t))return t;const s=t!=null&&t.toString?t.toString():t;return s===Tp?t:s})})}required(t){return super.required(t).withMutation(n=>n.test({message:t||Ze.required,name:"required",skipAbsent:!0,test:r=>!!r.length}))}notRequired(){return super.notRequired().withMutation(t=>(t.tests=t.tests.filter(n=>n.OPTIONS.name!=="required"),t))}length(t,n=qe.length){return this.test({message:n,name:"length",exclusive:!0,params:{length:t},skipAbsent:!0,test(r){return r.length===this.resolve(t)}})}min(t,n=qe.min){return this.test({message:n,name:"min",exclusive:!0,params:{min:t},skipAbsent:!0,test(r){return r.length>=this.resolve(t)}})}max(t,n=qe.max){return this.test({name:"max",exclusive:!0,message:n,params:{max:t},skipAbsent:!0,test(r){return r.length<=this.resolve(t)}})}matches(t,n){let r=!1,s,i;return n&&(typeof n=="object"?{excludeEmptyString:r=!1,message:s,name:i}=n:s=n),this.test({name:i||"matches",message:s||qe.matches,params:{regex:t},skipAbsent:!0,test:o=>o===""&&r||o.search(t)!==-1})}email(t=qe.email){return this.matches(Ep,{name:"email",message:t,excludeEmptyString:!0})}url(t=qe.url){return this.matches(Sp,{name:"url",message:t,excludeEmptyString:!0})}uuid(t=qe.uuid){return this.matches(Cp,{name:"uuid",message:t,excludeEmptyString:!1})}ensure(){return this.default("").transform(t=>t===null?"":t)}trim(t=qe.trim){return this.transform(n=>n!=null?n.trim():n).test({message:t,name:"trim",test:Op})}lowercase(t=qe.lowercase){return this.transform(n=>ct(n)?n:n.toLowerCase()).test({message:t,name:"string_case",exclusive:!0,skipAbsent:!0,test:n=>ct(n)||n===n.toLowerCase()})}uppercase(t=qe.uppercase){return this.transform(n=>ct(n)?n:n.toUpperCase()).test({message:t,name:"string_case",exclusive:!0,skipAbsent:!0,test:n=>ct(n)||n===n.toUpperCase()})}}Za.prototype=el.prototype;let Mp=e=>e!=+e;function Js(){return new tl}class tl extends dt{constructor(){super({type:"number",check(t){return t instanceof Number&&(t=t.valueOf()),typeof t=="number"&&!Mp(t)}}),this.withMutation(()=>{this.transform((t,n,r)=>{if(!r.spec.coerce)return t;let s=t;if(typeof s=="string"){if(s=s.replace(/\s/g,""),s==="")return NaN;s=+s}return r.isType(s)||s===null?s:parseFloat(s)})})}min(t,n=wt.min){return this.test({message:n,name:"min",exclusive:!0,params:{min:t},skipAbsent:!0,test(r){return r>=this.resolve(t)}})}max(t,n=wt.max){return this.test({message:n,name:"max",exclusive:!0,params:{max:t},skipAbsent:!0,test(r){return r<=this.resolve(t)}})}lessThan(t,n=wt.lessThan){return this.test({message:n,name:"max",exclusive:!0,params:{less:t},skipAbsent:!0,test(r){return rthis.resolve(t)}})}positive(t=wt.positive){return this.moreThan(0,t)}negative(t=wt.negative){return this.lessThan(0,t)}integer(t=wt.integer){return this.test({name:"integer",message:t,skipAbsent:!0,test:n=>Number.isInteger(n)})}truncate(){return this.transform(t=>ct(t)?t:t|0)}round(t){var n;let r=["ceil","floor","round","trunc"];if(t=((n=t)==null?void 0:n.toLowerCase())||"round",t==="trunc")return this.truncate();if(r.indexOf(t.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+r.join(", "));return this.transform(s=>ct(s)?s:Math[t](s))}}Js.prototype=tl.prototype;const Ap=/^(\d{4}|[+-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,.](\d{1,}))?)?(?:(Z)|([+-])(\d{2})(?::?(\d{2}))?)?)?$/;function at(e,t=0){return Number(e)||t}function Pp(e){const t=Ap.exec(e);if(!t)return Date.parse?Date.parse(e):Number.NaN;const n={year:at(t[1]),month:at(t[2],1)-1,day:at(t[3],1),hour:at(t[4]),minute:at(t[5]),second:at(t[6]),millisecond:t[7]?at(t[7].substring(0,3)):0,z:t[8]||void 0,plusMinus:t[9]||void 0,hourOffset:at(t[10]),minuteOffset:at(t[11])};if(n.z===void 0&&n.plusMinus===void 0)return new Date(n.year,n.month,n.day,n.hour,n.minute,n.second,n.millisecond).valueOf();let r=0;return n.z!=="Z"&&n.plusMinus!==void 0&&(r=n.hourOffset*60+n.minuteOffset,n.plusMinus==="+"&&(r=0-r)),Date.UTC(n.year,n.month,n.day,n.hour,n.minute+r,n.second,n.millisecond)}let kp=new Date(""),$p=e=>Object.prototype.toString.call(e)==="[object Date]";class Zs extends dt{constructor(){super({type:"date",check(t){return $p(t)&&!isNaN(t.getTime())}}),this.withMutation(()=>{this.transform((t,n,r)=>!r.spec.coerce||r.isType(t)||t===null?t:(t=Pp(t),isNaN(t)?Zs.INVALID_DATE:new Date(t)))})}prepareParam(t,n){let r;if(Wn.isRef(t))r=t;else{let s=this.cast(t);if(!this._typeCheck(s))throw new TypeError(`\`${n}\` must be a Date or a value that can be \`cast()\` to a Date`);r=s}return r}min(t,n=ys.min){let r=this.prepareParam(t,"min");return this.test({message:n,name:"min",exclusive:!0,params:{min:t},skipAbsent:!0,test(s){return s>=this.resolve(r)}})}max(t,n=ys.max){let r=this.prepareParam(t,"max");return this.test({message:n,name:"max",exclusive:!0,params:{max:t},skipAbsent:!0,test(s){return s<=this.resolve(r)}})}}Zs.INVALID_DATE=kp;const Dp={},Fp={class:"flex flex-col text-slate-700"};function Rp(e,t){return Y(),se("div",Fp,[Pt(e.$slots,"title"),Pt(e.$slots,"content")])}const bo=Ft(Dp,[["render",Rp]]),Ip={class:"flex items-center justify-center h-16 text-xs lg:text-base text-slate-500 select-none"},Np=Ee({__name:"BaseEmptyListMessage",props:{message:{}},setup(e){return(t,n)=>(Y(),se("div",Ip,[Q(G(Hh),{class:"mr-2 w-6 h-6"}),U("span",null,Pe(t.message),1)]))}}),jp={class:"text-xs text-slate-500 select-none"},Lp={class:"relative flex items-center select-none cursor-pointer"},Bp={class:"ml-1"},Hp=Ee({__name:"BaseExpense",props:{value:{},currency:{},createdAt:{}},emits:["click","delete"],setup(e,{emit:t}){const n=t,r=st(null),s=st(!1);Hn(()=>{document.addEventListener("click",a=>{!r.value||r.value.contains(a.target)||(s.value=!1)}),document.addEventListener("keydown",a=>{a.key==="Escape"&&(s.value=!1)}),document.addEventListener("scroll",()=>{s.value=!1})}),Rs(()=>{document.removeEventListener("click",()=>{s.value=!1}),document.removeEventListener("keydown",()=>{s.value=!1}),document.removeEventListener("scroll",()=>{s.value=!1})});const i=()=>{s.value=!s.value},o=()=>{n("click")};return(a,l)=>(Y(),se("div",{class:nt(["relative flex flex-col items-center",{"z-[50]":s.value}])},[U("div",jp,Pe(a.createdAt),1),U("div",Lp,[U("div",{ref_key:"expense",ref:r,class:"relative flex items-center py-1 px-3 text-sm lg:text-base bg-white border border-sky-400 rounded-2xl hover:shadow-md transition-shadow duration-300 z-[39]",onClick:i},[U("div",null,Pe(a.value),1),U("div",Bp,Pe(a.currency),1)],512),Q(hn,null,{default:de(()=>[s.value?(Y(),ke(Bn,{key:0,class:"absolute top-5 h-[110%] !items-end !p-0 !pb-1 !rounded-2xl !rounded-t-none !bg-red-500 hover:!bg-red-600",onClick:o},{text:de(()=>[Q(G(qa),{class:"w-4 h-4 text-white"})]),_:1})):rt("",!0)]),_:1})])],2))}}),Vp=Ft(Hp,[["__scopeId","data-v-fa1e793c"]]),Wp={class:"absolute top-0 right-0"},bs=Ee({__name:"BaseFormBar",emits:["submit"],setup(e,{emit:t}){const n=t,r=()=>{n("submit")};return(s,i)=>(Y(),se("form",{class:"relative",onSubmit:Cu(r,["prevent"])},[Pt(s.$slots,"input"),U("div",Wp,[Pt(s.$slots,"button")])],32))}}),Up={class:"relative w-full"},qp=["id","type","placeholder","value","autocomplete"],Yp={key:0,class:"absolute left-3 -bottom-4 w-full text-xs text-rose-500"},zp={key:0,class:"absolute left-3 -bottom-4 w-full text-xs text-green-500"},Kp=Ee({__name:"BaseInput",props:{modelValue:{},id:{},type:{},placeholder:{},autocomplete:{},isError:{type:Boolean},errorMessage:{},isSuccess:{type:Boolean},successMessage:{}},emits:["update:modelValue","onBlur"],setup(e,{emit:t}){const n=t,r=i=>{n("update:modelValue",i.target.value)},s=()=>{n("onBlur")};return(i,o)=>(Y(),se("div",Up,[U("input",{id:i.id,type:i.type,placeholder:i.placeholder,value:i.modelValue,autocomplete:i.autocomplete,class:nt([i.isError?"!border-red-500 !focus:border-red-500":"","w-full px-3 py-2 pr-14 text-sm border border-slate-300 rounded-xl hover:border-slate-400 focus:outline-none focus:border-slate-400 transition-[border-color] select-none"]),onInput:r,onBlur:s},null,42,qp),Q(hn,null,{default:de(()=>[i.isError&&i.errorMessage?(Y(),se("span",Yp,Pe(i.errorMessage),1)):rt("",!0)]),_:1}),Q(hn,null,{default:de(()=>[i.isSuccess&&i.successMessage?(Y(),se("span",zp,Pe(i.successMessage),1)):rt("",!0)]),_:1})]))}}),vs=Ft(Kp,[["__scopeId","data-v-ba2bbe90"]]),Gp={class:"mb-5 py-5 text-xl font-bold border-t border-b"},Qp={class:"grid gap-3"},Xp={class:"flex"},Jp={class:"flex flex-col"},Zp={class:"flex items-center text-sm lg:text-base"},em={key:0,class:"shrink-0 w-2 h-2 ml-2 rounded-full bg-green-500 select-none animate-pulse"},tm={key:0,class:"flex items-center w-full"},nm=Ee({__name:"BaseExpensesList",setup(e){const t=zs(),n=Vn(),r=Vt(),s=Ks(),{isAddExpenseInputVisible:i}=Be(t),{months:o}=Be(r),{expenses:a}=Be(s),{hideAddExpenseInput:l}=t,{getDaysByMonthId:c}=r,{getMonthlyExpenses:u,getDailyExpenses:d,addExpense:p,removeExpense:g}=s,{getActiveCurrency:y,dailyBudget:w}=Be(n),P=st(""),T=st(!1),C=Js().integer().required().min(1),F=L=>{try{C.validateSync(L),p(L),P.value="",T.value=!1}catch{T.value=!0}};return(L,k)=>(Y(!0),se(we,null,Sn(G(o),ee=>(Y(),ke(bo,{key:ee.id},{title:de(()=>[U("div",Gp,Pe(ee.name)+" / "+Pe(G(u)(ee.id)),1)]),content:de(()=>[U("div",Qp,[(Y(!0),se(we,null,Sn(G(c)(ee.id),z=>(Y(),ke(bo,{key:z.id,class:"relative last:mb-12"},{title:de(()=>[U("div",{class:nt(["sticky top-[52px] flex flex-col items-start py-1 bg-white font-bold select-none z-40",{"current-day":z.isCurrent}])},[U("div",Xp,[U("div",Jp,[U("div",Zp,[js(Pe(z.number)+" "+Pe(z.name)+" ",1),z.isCurrent?(Y(),se("div",em)):rt("",!0)])])]),U("div",{class:nt(["text-xs lg:text-sm",{"text-emerald-500":G(d)(z.id)<=G(w),"text-rose-500":G(d)(z.id)>G(w),hidden:G(d)(z.id)===0}])},Pe(G(d)(z.id))+" / "+Pe(G(w)),3)],2)]),content:de(()=>[(Y(!0),se(we,null,Sn(G(a)[z.id],($,S)=>(Y(),se("div",{key:S,class:"flex flex-wrap gap-2"},[(Y(!0),se(we,null,Sn($,N=>(Y(),ke(Vp,{key:N.id,createdAt:N.createdAt,value:N.value,currency:N.currency,class:nt({"opacity-30":!z.isCurrent}),onClick:B=>G(g)(N.id,z.id)},null,8,["createdAt","value","currency","class","onClick"]))),128)),G(a)[z.id].items.length?rt("",!0):(Y(),se("div",tm,[Q(Np,{message:"No expenses for this day"})])),Q(hn,null,{default:de(()=>[z.isCurrent&&G(i)?(Y(),ke(bs,{key:0,onSubmit:k[1]||(k[1]=N=>F(P.value)),class:"!absolute top-[calc(100%+10px)] w-full rounded-xl shadow-md mb-6 z-50"},{input:de(()=>[Q(vs,{id:"expense-input",modelValue:P.value,"onUpdate:modelValue":k[0]||(k[0]=N=>P.value=N),type:"number",inputmode:"numeric",placeholder:`Enter expense (${G(y).name})`,"has-error":T.value,onOnBlur:G(l)},null,8,["modelValue","placeholder","has-error","onOnBlur"])]),_:1})):rt("",!0)]),_:2},1024)]))),128))]),_:2},1024))),128))])]),_:2},1024))),128))}}),rm=Ft(nm,[["__scopeId","data-v-fcd1190c"]]),sm=Ee({__name:"HomeView",setup(e){const t=zs(),n=Vt(),r=Ks(),{lastCalendarUpdateDate:s}=Be(t),{setLastUpdateDate:i}=t,{initCalendar:o}=n,{initExpensesObject:a}=r;oa(()=>{const u=new Date().toLocaleDateString();i(u),o(),a(),window.addEventListener("focus",c)}),Hn(()=>{l()});const l=()=>{const u=document.getElementsByClassName("current-day")[0];u&&u.scrollIntoView({block:"start"})},c=()=>{if(!s.value)return;const u=new Date().toLocaleDateString();u!==s.value&&(i(u),o(),a())};return(u,d)=>(Y(),ke(Gs,null,{default:de(()=>[Q(rm)]),_:1}))}}),im=U("h1",null,"Stats dashboard",-1),om=Ee({__name:"DashboardView",setup(e){return(t,n)=>(Y(),ke(Gs,null,{default:de(()=>[im]),_:1}))}}),am=["id","name","value","checked"],lm=["for"],cm=Ee({__name:"BaseRadioButton",props:{id:{},name:{},label:{},value:{},checked:{type:Boolean},additionalClasses:{}},emits:["change"],setup(e,{emit:t}){const n=t,r=s=>{n("change",s.target.value)};return(s,i)=>(Y(),se("div",null,[U("input",{id:s.id,name:s.name,value:s.value,checked:s.checked,type:"radio",class:"hidden peer/radio",onChange:r},null,40,am),U("label",{for:s.id,class:nt([s.additionalClasses,"block px-3 py-1 text-sm text-slate-400 border border-slate-300 rounded-2xl peer-checked/radio:text-white peer-checked/radio:bg-sky-400 select-none cursor-pointer hover:border-slate-400 hover:text-slate-500 transition-all"])},Pe(s.label),11,lm)]))}}),um={class:"flex items-center"},fm=Ee({__name:"BaseCurrencyGroupItem",props:{id:{},name:{},label:{},value:{},isSelected:{type:Boolean},isDefault:{type:Boolean}},setup(e){const t=e,n=Vn(),{setActiveCurrency:r,deleteCurrency:s}=n,i=Re(()=>({"!rounded-r-2xl":t.isDefault,"border-r-0":!t.isDefault}));return(o,a)=>(Y(),se("div",um,[Q(cm,{id:o.id,name:o.name,label:o.label,value:o.value,checked:o.isSelected,"additional-classes":[i.value,"max-w-30","rounded-r-none","overflow-hidden","whitespace-nowrap","text-ellipsis"],onChange:a[0]||(a[0]=l=>G(r)(o.id))},null,8,["id","name","label","value","checked","additional-classes"]),o.isDefault?rt("",!0):(Y(),ke(Bn,{key:0,class:"grow-0 !py-0 h-full rounded-l-none",title:"delete currency",onClick:a[1]||(a[1]=l=>G(s)(o.id)),"is-disabled":o.isSelected},{text:de(()=>[o.isSelected?rt("",!0):(Y(),ke(G(qa),{key:0,class:"w-4 h-4"})),o.isSelected?(Y(),ke(G(Lh),{key:1,class:"w-4 h-4 text-slate-950"})):rt("",!0)]),_:1},8,["is-disabled"]))]))}}),dm=U("div",{class:"mb-7 pt-4 text-2xl text-slate-700 font-bold select-none"},"Settings",-1),hm={class:"mb-10"},pm=U("div",{class:"mb-3 text-slate-500 select-none"},"Daily budget",-1),mm={class:"mb-2"},gm=U("div",{class:"mb-3 text-slate-500 select-none"},"Default currency",-1),ym={class:"flex flex-wrap gap-1 mb-3"},bm=Ee({__name:"SettingsView",setup(e){const t=Vn(),{setDailyBudget:n,addNewCurrency:r,dailyBudget:s}=t,{currencies:i}=Be(t),o=Yt({value:s,isError:!1,errorMessage:"Enter an integer greater than 9",isSuccess:!1,successMessage:"Daily budget updated"}),a=Yt({value:"",isError:!1,errorMessage:"Currency already exists"}),l=Js().integer().required().min(10),c=Za().required().min(1).max(10);At(a,()=>{a.value.length===0&&(a.isError=!1)});const u=p=>{try{l.validateSync(p),n(p),o.isSuccess=!0,o.value=p,o.isError=!1,setTimeout(()=>{o.isSuccess=!1},3e3)}catch{o.isError=!0,o.isSuccess=!1}},d=p=>{if(i.value.some(g=>g.name===p)){a.isError=!0;return}try{c.validateSync(p),r(p),a.value="",a.isError=!1}catch{a.isError=!0}};return(p,g)=>(Y(),ke(Gs,null,{default:de(()=>[dm,U("div",hm,[pm,Q(bs,{onSubmit:g[1]||(g[1]=y=>u(o.value))},{input:de(()=>[Q(vs,{id:"daily-input",modelValue:o.value,"onUpdate:modelValue":g[0]||(g[0]=y=>o.value=y),type:"number",inputmode:"numeric",placeholder:"Set daily budget",autocomplete:"off","is-error":o.isError,"error-message":o.errorMessage,"is-success":o.isSuccess,"success-message":o.successMessage},null,8,["modelValue","is-error","error-message","is-success","success-message"])]),button:de(()=>[Q(Bn,{type:"submit"},{text:de(()=>[Q(G(Ih),{class:"w-5 h-5"})]),_:1})]),_:1})]),U("div",mm,[gm,U("div",ym,[(Y(!0),se(we,null,Sn(G(i),y=>(Y(),ke(fm,{key:y.name,id:y.name,label:y.name,value:y.name,"is-selected":y.isActive,"is-default":y.isDefault,name:"currencies"},null,8,["id","label","value","is-selected","is-default"]))),128))])]),Q(bs,{class:"mb-10",onSubmit:g[3]||(g[3]=y=>d(a.value))},{input:de(()=>[Q(vs,{id:"currency-input",modelValue:a.value,"onUpdate:modelValue":g[2]||(g[2]=y=>a.value=y),type:"text",placeholder:"Add new currency",autocomplete:"off","is-error":a.isError,"error-message":a.errorMessage},null,8,["modelValue","is-error","error-message"])]),button:de(()=>[Q(Bn,{type:"submit"},{text:de(()=>[Q(G(Bh),{class:"w-5 h-5"})]),_:1})]),_:1})]),_:1}))}}),vm=jf({history:tf("/budget.it/"),routes:[{path:"/",name:"home",component:sm},{path:"/dashboard",name:"dashboard",component:om},{path:"/settings",name:"settings",component:bm}]}),_m=Ee({__name:"App",setup(e){return(t,n)=>(Y(),ke(G(ja)))}}),ei=Mu(_m);ei.use($u());ei.use(vm);ei.mount("#app"); diff --git a/assets/index-WlM86WFF.css b/assets/index-WlM86WFF.css new file mode 100644 index 0000000..6b750bf --- /dev/null +++ b/assets/index-WlM86WFF.css @@ -0,0 +1 @@ +@font-face{font-family:JetBrains Mono;font-weight:200;font-style:normal;font-display:swap;src:url(/budget.it/assets/JetBrainsMono-ExtraLight-zdImaEaY.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/budget.it/assets/JetBrainsMono-Regular-bE6RZ4Zl.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:800;font-style:normal;font-display:swap;src:url(/budget.it/assets/JetBrainsMono-ExtraBold-27PHazCc.woff2) format("woff2")}:root{scrollbar-color:rgba(0,0,0,.1) transparent;scrollbar-width:5px}body *::-webkit-scrollbar{width:5px}body *::-webkit-scrollbar-thumb{border-radius:5px;background:#0000001a}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.fixed{position:fixed}.\!absolute{position:absolute!important}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.-bottom-4{bottom:-1rem}.bottom-0{bottom:0}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.top-0{top:0}.top-5{top:1.25rem}.top-\[52px\]{top:52px}.top-\[calc\(100\%\+10px\)\]{top:calc(100% + 10px)}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[39\]{z-index:39}.z-\[50\]{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-16{height:4rem}.h-2{height:.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-\[110\%\]{height:110%}.h-full{height:100%}.w-2{width:.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-full{width:100%}.max-w-96{max-width:24rem}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.origin-center{transform-origin:center}.-rotate-12{--tw-rotate: -12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.\!items-end{align-items:flex-end!important}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-hidden{overflow:hidden}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.\!rounded-2xl{border-radius:1rem!important}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.\!rounded-r-2xl{border-top-right-radius:1rem!important;border-bottom-right-radius:1rem!important}.\!rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r-0{border-right-width:0px}.border-t{border-top-width:1px}.\!border-red-500{--tw-border-opacity: 1 !important;border-color:rgb(239 68 68 / var(--tw-border-opacity))!important}.border-sky-400{--tw-border-opacity: 1;border-color:rgb(56 189 248 / var(--tw-border-opacity))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.\!bg-red-500{--tw-bg-opacity: 1 !important;background-color:rgb(239 68 68 / var(--tw-bg-opacity))!important}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.\!p-0{padding:0!important}.p-5{padding:1.25rem}.\!py-0{padding-top:0!important;padding-bottom:0!important}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.\!pb-1{padding-bottom:.25rem!important}.pb-16{padding-bottom:4rem}.pr-14{padding-right:3.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.font-body{font-family:JetBrains Mono,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-rose-500{--tw-text-opacity: 1;color:rgb(244 63 94 / var(--tw-text-opacity))}.text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-30{opacity:.3}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[background-color\]{transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[border-color\]{transition-property:border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.last\:mb-12:last-child{margin-bottom:3rem}.hover\:border-slate-400:hover{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.hover\:\!bg-red-600:hover{--tw-bg-opacity: 1 !important;background-color:rgb(220 38 38 / var(--tw-bg-opacity))!important}.hover\:text-slate-500:hover{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-slate-400:focus{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.disabled\:bg-slate-300:disabled{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.disabled\:opacity-50:disabled{opacity:.5}.peer\/radio:checked~.peer-checked\/radio\:bg-sky-400{--tw-bg-opacity: 1;background-color:rgb(56 189 248 / var(--tw-bg-opacity))}.peer\/radio:checked~.peer-checked\/radio\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}@media (min-width: 1024px){.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-base{font-size:1rem;line-height:1.5rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\:hover\:bg-sky-500:hover{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.lg\:hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}}.logo-gradient[data-v-241fb166]{background-color:#0093e9;background-image:linear-gradient(43deg,#85ffbd,#0093e9 46%,#00dbde);background-size:400%;background-repeat:repeat;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-moz-background-clip:text;-moz-text-fill-color:transparent}.logo-sub-gradient[data-v-241fb166]{background-color:#0093e9;background-image:linear-gradient(43deg,#00dbde,#0093e9 46%,#85ffbd);background-size:400%;background-repeat:repeat;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-moz-background-clip:text;-moz-text-fill-color:transparent}.gradient-animation[data-v-241fb166]{animation:gradient-241fb166 15s ease-in-out infinite}@keyframes gradient-241fb166{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.progress-bar__background[data-v-ae6b84b5]{background-image:linear-gradient(43deg,#85ffbd,#00dbde 46%,#0093e9);background-repeat:no-repeat;transition:background-size .5s ease-in-out}.progress-bar_overfilled .progress-bar__background[data-v-ae6b84b5]{background-image:linear-gradient(43deg,#ff9191,#ff9191 46%,red)}.progress-bar_total[data-v-ae6b84b5]{justify-content:flex-start}.progress-bar_total .progress-bar__background[data-v-ae6b84b5]{background-image:none}.router-link-exact-active svg[data-v-cd98e6ca]{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.v-enter-active[data-v-fa1e793c],.v-leave-active[data-v-fa1e793c]{transition:opacity .5s ease}.v-enter-from[data-v-fa1e793c],.v-leave-to[data-v-fa1e793c]{opacity:0}.v-enter-active[data-v-ba2bbe90],.v-leave-active[data-v-ba2bbe90]{transition:opacity .5s ease}.v-enter-from[data-v-ba2bbe90],.v-leave-to[data-v-ba2bbe90]{opacity:0}.current-day[data-v-fcd1190c]{scroll-margin-top:52px}.v-enter-active[data-v-fcd1190c],.v-leave-active[data-v-fcd1190c]{transform:translateY(0);transition:all .5s ease}.v-enter-from[data-v-fcd1190c],.v-leave-to[data-v-fcd1190c]{transform:translateY(100%);opacity:0} diff --git a/index.html b/index.html index a1ba05d..733a5d4 100644 --- a/index.html +++ b/index.html @@ -21,8 +21,8 @@ budget.it - - + + diff --git a/sw.js b/sw.js index 6bee9ea..2fb1aba 100644 --- a/sw.js +++ b/sw.js @@ -1 +1 @@ -if(!self.define){let e,i={};const n=(n,r)=>(n=new URL(n+".js",r).href,i[n]||new Promise((i=>{if("document"in self){const e=document.createElement("script");e.src=n,e.onload=i,document.head.appendChild(e)}else e=n,importScripts(n),i()})).then((()=>{let e=i[n];if(!e)throw new Error(`Module ${n} didn’t register its module`);return e})));self.define=(r,c)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(i[o])return;let d={};const s=e=>n(e,o),a={module:{uri:o},exports:d,require:s};i[o]=Promise.all(r.map((e=>a[e]||s(e)))).then((e=>(c(...e),d)))}}define(["./workbox-3e911b1d"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"android-chrome-144x144.png",revision:"b7c6c7e823f79bc3e94c22c22e00eb3a"},{url:"android-chrome-192x192.png",revision:"e184aea92814e775b433c35e90dcc8ce"},{url:"android-chrome-512x512.png",revision:"9540e0808cb7203ca3a4599149bb40c2"},{url:"apple-touch-icon.png",revision:"fc80872917524b0fe4b081816409bf05"},{url:"assets/index-9L0WPj6w.css",revision:null},{url:"assets/index-rz7nOhnq.js",revision:null},{url:"favicon-16x16.png",revision:"681f895a8fadb1184e89a19624b1fffa"},{url:"favicon-32x32.png",revision:"6b24a855d49706d660e992dccbc7e8d2"},{url:"favicon.ico",revision:"8ad23162404c360a19e6ad06e2fb04dd"},{url:"index.html",revision:"074f5ff64aa0a43c51713c1efdde5e67"},{url:"registerSW.js",revision:"7dced58172f49b3135ca8c5f24093785"},{url:"favicon-16x16.png",revision:"681f895a8fadb1184e89a19624b1fffa"},{url:"favicon-32x32.png",revision:"6b24a855d49706d660e992dccbc7e8d2"},{url:"favicon.ico",revision:"8ad23162404c360a19e6ad06e2fb04dd"},{url:"android-chrome-144x144.png",revision:"b7c6c7e823f79bc3e94c22c22e00eb3a"},{url:"android-chrome-192x192.png",revision:"e184aea92814e775b433c35e90dcc8ce"},{url:"android-chrome-512x512.png",revision:"9540e0808cb7203ca3a4599149bb40c2"},{url:"apple-touch-icon.png",revision:"fc80872917524b0fe4b081816409bf05"},{url:"manifest.webmanifest",revision:"dd24719f337f89a329f31c3652d021f9"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))})); +if(!self.define){let e,i={};const n=(n,r)=>(n=new URL(n+".js",r).href,i[n]||new Promise((i=>{if("document"in self){const e=document.createElement("script");e.src=n,e.onload=i,document.head.appendChild(e)}else e=n,importScripts(n),i()})).then((()=>{let e=i[n];if(!e)throw new Error(`Module ${n} didn’t register its module`);return e})));self.define=(r,c)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(i[o])return;let d={};const s=e=>n(e,o),a={module:{uri:o},exports:d,require:s};i[o]=Promise.all(r.map((e=>a[e]||s(e)))).then((e=>(c(...e),d)))}}define(["./workbox-3e911b1d"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"android-chrome-144x144.png",revision:"b7c6c7e823f79bc3e94c22c22e00eb3a"},{url:"android-chrome-192x192.png",revision:"e184aea92814e775b433c35e90dcc8ce"},{url:"android-chrome-512x512.png",revision:"9540e0808cb7203ca3a4599149bb40c2"},{url:"apple-touch-icon.png",revision:"fc80872917524b0fe4b081816409bf05"},{url:"assets/index-GAZ-w_Br.js",revision:null},{url:"assets/index-WlM86WFF.css",revision:null},{url:"favicon-16x16.png",revision:"681f895a8fadb1184e89a19624b1fffa"},{url:"favicon-32x32.png",revision:"6b24a855d49706d660e992dccbc7e8d2"},{url:"favicon.ico",revision:"8ad23162404c360a19e6ad06e2fb04dd"},{url:"index.html",revision:"9132bf49d3d1977a9020a747fd0d362e"},{url:"registerSW.js",revision:"7dced58172f49b3135ca8c5f24093785"},{url:"favicon-16x16.png",revision:"681f895a8fadb1184e89a19624b1fffa"},{url:"favicon-32x32.png",revision:"6b24a855d49706d660e992dccbc7e8d2"},{url:"favicon.ico",revision:"8ad23162404c360a19e6ad06e2fb04dd"},{url:"android-chrome-144x144.png",revision:"b7c6c7e823f79bc3e94c22c22e00eb3a"},{url:"android-chrome-192x192.png",revision:"e184aea92814e775b433c35e90dcc8ce"},{url:"android-chrome-512x512.png",revision:"9540e0808cb7203ca3a4599149bb40c2"},{url:"apple-touch-icon.png",revision:"fc80872917524b0fe4b081816409bf05"},{url:"manifest.webmanifest",revision:"dd24719f337f89a329f31c3652d021f9"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))}));