import{s as rt,o as at,n as xe,r as Ne,f as Ze}from"../chunks/DHedsUi_.js";import{S as st,i as nt,d as i,k as me,l as le,m as ee,q as Ce,a as ae,b as l,n as be,r as fe,u as p,c,e as m,o as ve,g as j,v as ue,f as Y,w as je,h as u,p as ye,j as z,t as K,x as Ve,y as we,A as Pe,s as re,B as ze,C as ot,z as $e}from"../chunks/G8UKEBBn.js";import{e as _e,u as et,d as it,o as ct}from"../chunks/C1tDbyYL.js";import{a as ge}from"../chunks/DjUyxgK6.js";import{B as Ae}from"../chunks/D3KWQg4I.js";import{X as tt}from"../chunks/C_l6I72z.js";import{T as ut}from"../chunks/7MWtQ_HQ.js";import{A as dt}from"../chunks/eC_GsYA7.js";import{C as lt}from"../chunks/zQrtb5Kq.js";function Be(a,e,t){const r=a.slice();return r[35]=e[t],r}function Oe(a,e,t){const r=a.slice();return r[38]=e[t],r}function Se(a,e,t){const r=a.slice();return r[41]=e[t],r}function Me(a,e,t){const r=a.slice();return r[44]=e[t],r}function He(a,e,t){const r=a.slice();return r[44]=e[t],r}function ft(a,e,t){const r=a.slice();return r[47]=e[t],r}function ht(a){let e,t=[],r=new Map,s,o=_e(a[0]);const n=d=>d[44].id;for(let d=0;da[29].call(S)),p(L,"class","text-xs text-gray-400 dark:text-gray-500"),p(_,"class","px-6 py-5 space-y-5"),p(b,"class","px-4 py-2 text-sm text-gray-600 dark:text-gray-400"),M.disabled=a[5],p(M,"class","flex items-center gap-2 px-4 py-2 bg-blue-600 hover:bg-blue-700 disabled:opacity-50 text-white rounded-lg text-sm font-medium transition-colors"),p(E,"class","flex justify-end gap-3 px-6 py-4 border-t border-gray-100 dark:border-gray-800"),p(t,"class","bg-white dark:bg-gray-900 rounded-2xl w-full max-w-md shadow-xl border border-gray-100 dark:border-gray-800"),p(e,"class","fixed inset-0 bg-black/40 flex items-center justify-center z-50 p-4")},m($,ne){ae($,e,ne),l(e,t),l(t,r),l(r,s),l(r,n),l(r,d),be(h,d,null),l(t,f),l(t,_),g&&g.m(_,null),l(_,k),l(_,C),l(C,x),l(C,X),l(C,D);for(let Z=0;Z{g=null}),Ce()),ne[0]&46080){y=_e($[13]);let R;for(R=0;R{ie[Z]=null}),Ce(),T=ie[W],T||(T=ie[W]=se[W]($),T.c()),ee(T,1),T.m(M,N)),(!te||ne[0]&32)&&(M.disabled=$[5])},i($){te||(ee(h.$$.fragment,$),ee(g),ee(T),te=!0)},o($){le(h.$$.fragment,$),le(g),le(T),te=!1},d($){$&&i(e),me(h),g&&g.d(),Ve(H,$),Ve(q,$),ie[W].d(),oe=!1,Ne(Q)}}}function Re(a){let e,t,r,s,o;return t=new dt({props:{size:13}}),{c(){e=u("div"),ye(t.$$.fragment),r=z(),s=K(a[6]),this.h()},l(n){e=c(n,"DIV",{class:!0});var d=m(e);ve(t.$$.fragment,d),r=j(d),s=Y(d,a[6]),d.forEach(i),this.h()},h(){p(e,"class","flex items-center gap-2 text-sm px-3 py-2 rounded-lg bg-red-50 dark:bg-red-950/30 text-red-600 dark:text-red-400")},m(n,d){ae(n,e,d),be(t,e,null),l(e,r),l(e,s),o=!0},p(n,d){(!o||d[0]&64)&&re(s,n[6])},i(n){o||(ee(t.$$.fragment,n),o=!0)},o(n){le(t.$$.fragment,n),o=!1},d(n){n&&i(e),me(t)}}}function Fe(a){let e,t="Déjà ajouté";return{c(){e=u("span"),e.textContent=t,this.h()},l(r){e=c(r,"SPAN",{class:!0,"data-svelte-h":!0}),ue(e)!=="svelte-1a5so0j"&&(e.textContent=t),this.h()},h(){p(e,"class","text-xs text-gray-400")},m(r,s){ae(r,e,s)},d(r){r&&i(e)}}}function Ge(a){let e,t,r,s,o,n,d=a[44].reference+"",h,f,_,k,C=a[15](a[44].initial_amount)+"",x,F,X=a[15](a[44].monthly_payment)+"",D,w,O=a[12].includes(a[44].reference),B,U,J,S,G,L=O&&Fe();return J=ot(a[28][0]),{c(){e=u("label"),t=u("input"),s=z(),o=u("div"),n=u("p"),h=K(d),f=z(),_=u("p"),k=K("Capital "),x=K(C),F=K(" · Mensualité "),D=K(X),w=z(),L&&L.c(),B=z(),this.h()},l(I){e=c(I,"LABEL",{class:!0});var P=m(e);t=c(P,"INPUT",{type:!0,class:!0}),s=j(P),o=c(P,"DIV",{class:!0});var E=m(o);n=c(E,"P",{class:!0});var b=m(n);h=Y(b,d),b.forEach(i),f=j(E),_=c(E,"P",{class:!0});var v=m(_);k=Y(v,"Capital "),x=Y(v,C),F=Y(v," · Mensualité "),D=Y(v,X),v.forEach(i),E.forEach(i),w=j(P),L&&L.l(P),B=j(P),P.forEach(i),this.h()},h(){p(t,"type","radio"),t.__value=a[44],$e(t,t.__value),t.disabled=r=a[12].includes(a[44].reference),p(t,"class","accent-blue-600"),p(n,"class","text-sm font-medium text-gray-900 dark:text-white"),p(_,"class","text-xs text-gray-400 dark:text-gray-500"),p(o,"class","flex-1 min-w-0"),p(e,"class",U="flex items-center gap-3 p-3 rounded-xl border cursor-pointer transition-colors "+(a[10].reference===a[44].reference?"border-blue-400 bg-blue-50 dark:bg-blue-950/30":"border-gray-200 dark:border-gray-700 hover:border-gray-300 dark:hover:border-gray-600")+" "+(a[12].includes(a[44].reference)?"opacity-40 cursor-not-allowed":"")),J.p(t)},m(I,P){ae(I,e,P),l(e,t),t.checked=t.__value===a[10],l(e,s),l(e,o),l(o,n),l(n,h),l(o,f),l(o,_),l(_,k),l(_,x),l(_,F),l(_,D),l(e,w),L&&L.m(e,null),l(e,B),S||(G=fe(t,"change",a[27]),S=!0)},p(I,P){P[0]&4096&&r!==(r=I[12].includes(I[44].reference))&&(t.disabled=r),P[0]&1024&&(t.checked=t.__value===I[10]),P[0]&4096&&(O=I[12].includes(I[44].reference)),O?L||(L=Fe(),L.c(),L.m(e,B)):L&&(L.d(1),L=null),P[0]&5120&&U!==(U="flex items-center gap-3 p-3 rounded-xl border cursor-pointer transition-colors "+(I[10].reference===I[44].reference?"border-blue-400 bg-blue-50 dark:bg-blue-950/30":"border-gray-200 dark:border-gray-700 hover:border-gray-300 dark:hover:border-gray-600")+" "+(I[12].includes(I[44].reference)?"opacity-40 cursor-not-allowed":""))&&p(e,"class",U)},d(I){I&&i(e),L&&L.d(),J.r(),S=!1,G()}}}function We(a){let e,t=a[41].name+"",r,s;return{c(){e=u("option"),r=K(t),this.h()},l(o){e=c(o,"OPTION",{});var n=m(e);r=Y(n,t),n.forEach(i),this.h()},h(){e.__value=s=a[41].id,$e(e,e.__value)},m(o,n){ae(o,e,n),l(e,r)},p(o,n){n[0]&2&&t!==(t=o[41].name+"")&&re(r,t),n[0]&2&&s!==(s=o[41].id)&&(e.__value=s,$e(e,e.__value))},d(o){o&&i(e)}}}function mt(a){let e,t;return e=new lt({props:{size:15}}),{c(){ye(e.$$.fragment)},l(r){ve(e.$$.fragment,r)},m(r,s){be(e,r,s),t=!0},i(r){t||(ee(e.$$.fragment,r),t=!0)},o(r){le(e.$$.fragment,r),t=!1},d(r){me(e,r)}}}function bt(a){let e;return{c(){e=u("div"),this.h()},l(t){e=c(t,"DIV",{class:!0}),m(e).forEach(i),this.h()},h(){p(e,"class","w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin")},m(t,r){ae(t,e,r)},i:xe,o:xe,d(t){t&&i(e)}}}function Ye(a){let e,t,r,s,o,n=a[4].label+"",d,h,f,_=a[4].property_name+"",k,C,x=a[4].reference+"",F,X,D,w,O,B,U,J,S,G,L,I,P,E='Les intérêts en bleu sont déductibles — nécessite catégorie "Intérêts emprunt".',b,v,A,M,W=_e(a[14]),T=[];for(let y=0;y0&&Xe(a);function te(y,H){return y[8].length===0?yt:vt}let oe=te(a),Q=oe(a),g=a[8].length>0&&Qe(a);return{c(){e=u("div"),t=u("div"),r=u("div"),s=u("div"),o=u("h2"),d=K(n),h=z(),f=u("p"),k=K(_),C=K(" · "),F=K(x),X=z(),D=u("div"),w=u("select");for(let y=0;ya[31].call(w)),p(B,"class","text-gray-400 hover:text-gray-600"),p(D,"class","flex items-center gap-3"),p(r,"class","flex items-center justify-between px-6 py-4 border-b border-gray-100 dark:border-gray-800 shrink-0"),p(G,"class","flex-1 overflow-auto"),p(P,"class","text-xs text-gray-400 dark:text-gray-500"),p(I,"class","flex items-center justify-between px-6 py-4 border-t border-gray-100 dark:border-gray-800 shrink-0"),p(t,"class","bg-white dark:bg-gray-900 rounded-2xl w-full max-w-4xl max-h-[90vh] flex flex-col shadow-xl border border-gray-100 dark:border-gray-800"),p(e,"class","fixed inset-0 bg-black/40 flex items-center justify-center z-50 p-4")},m(y,H){ae(y,e,H),l(e,t),l(t,r),l(r,s),l(s,o),l(o,d),l(s,h),l(s,f),l(f,k),l(f,C),l(f,F),l(r,X),l(r,D),l(D,w);for(let V=0;V0?N?N.p(y,H):(N=Xe(y),N.c(),N.m(t,S)):N&&(N.d(1),N=null),oe===(oe=te(y))&&Q?Q.p(y,H):(Q.d(1),Q=oe(y),Q&&(Q.c(),Q.m(G,null))),y[8].length>0?g?(g.p(y,H),H[0]&256&&ee(g,1)):(g=Qe(y),g.c(),ee(g,1),g.m(I,null)):g&&(we(),le(g,1,1,()=>{g=null}),Ce())},i(y){v||(ee(U.$$.fragment,y),ee(g),v=!0)},o(y){le(U.$$.fragment,y),le(g),v=!1},d(y){y&&i(e),Ve(T,y),me(U),N&&N.d(),Q.d(),g&&g.d(),A=!1,Ne(M)}}}function Ke(a){let e,t=a[38]+"",r;return{c(){e=u("option"),r=K(t),this.h()},l(s){e=c(s,"OPTION",{});var o=m(e);r=Y(o,t),o.forEach(i),this.h()},h(){e.__value=a[38],$e(e,e.__value)},m(s,o){ae(s,e,o),l(e,r)},p:xe,d(s){s&&i(e)}}}function Xe(a){let e,t,r,s="Échéances",o,n,d=a[9].months+"",h,f,_,k,C="Total payé",x,F,X=a[15](a[9].total_payment)+"",D,w,O,B,U='Intérêts ✓ déductibles',J,S,G=a[15](a[9].total_interest)+"",L,I,P,E,b="Capital remboursé",v,A,M=a[15](a[9].total_capital)+"",W;return{c(){e=u("div"),t=u("div"),r=u("p"),r.textContent=s,o=z(),n=u("p"),h=K(d),f=z(),_=u("div"),k=u("p"),k.textContent=C,x=z(),F=u("p"),D=K(X),w=z(),O=u("div"),B=u("p"),B.innerHTML=U,J=z(),S=u("p"),L=K(G),I=z(),P=u("div"),E=u("p"),E.textContent=b,v=z(),A=u("p"),W=K(M),this.h()},l(T){e=c(T,"DIV",{class:!0});var N=m(e);t=c(N,"DIV",{class:!0});var te=m(t);r=c(te,"P",{class:!0,"data-svelte-h":!0}),ue(r)!=="svelte-k78fl"&&(r.textContent=s),o=j(te),n=c(te,"P",{class:!0});var oe=m(n);h=Y(oe,d),oe.forEach(i),te.forEach(i),f=j(N),_=c(N,"DIV",{class:!0});var Q=m(_);k=c(Q,"P",{class:!0,"data-svelte-h":!0}),ue(k)!=="svelte-1jludid"&&(k.textContent=C),x=j(Q),F=c(Q,"P",{class:!0});var g=m(F);D=Y(g,X),g.forEach(i),Q.forEach(i),w=j(N),O=c(N,"DIV",{class:!0});var y=m(O);B=c(y,"P",{class:!0,"data-svelte-h":!0}),ue(B)!=="svelte-17ufr5v"&&(B.innerHTML=U),J=j(y),S=c(y,"P",{class:!0});var H=m(S);L=Y(H,G),H.forEach(i),y.forEach(i),I=j(N),P=c(N,"DIV",{class:!0});var V=m(P);E=c(V,"P",{class:!0,"data-svelte-h":!0}),ue(E)!=="svelte-18gp8jo"&&(E.textContent=b),v=j(V),A=c(V,"P",{class:!0});var q=m(A);W=Y(q,M),q.forEach(i),V.forEach(i),N.forEach(i),this.h()},h(){p(r,"class","text-xs text-gray-500 dark:text-gray-400 mb-1"),p(n,"class","text-xl font-semibold text-gray-900 dark:text-white"),p(t,"class","text-center"),p(k,"class","text-xs text-gray-500 dark:text-gray-400 mb-1"),p(F,"class","text-xl font-semibold text-gray-700 dark:text-gray-300"),p(_,"class","text-center"),p(B,"class","text-xs text-gray-500 dark:text-gray-400 mb-1"),p(S,"class","text-xl font-semibold text-blue-600 dark:text-blue-400"),p(O,"class","text-center"),p(E,"class","text-xs text-gray-500 dark:text-gray-400 mb-1"),p(A,"class","text-xl font-semibold text-gray-400 dark:text-gray-500"),p(P,"class","text-center"),p(e,"class","grid grid-cols-4 gap-4 px-6 py-4 border-b border-gray-100 dark:border-gray-800 shrink-0 bg-gray-50 dark:bg-gray-800/50")},m(T,N){ae(T,e,N),l(e,t),l(t,r),l(t,o),l(t,n),l(n,h),l(e,f),l(e,_),l(_,k),l(_,x),l(_,F),l(F,D),l(e,w),l(e,O),l(O,B),l(O,J),l(O,S),l(S,L),l(e,I),l(e,P),l(P,E),l(P,v),l(P,A),l(A,W)},p(T,N){N[0]&512&&d!==(d=T[9].months+"")&&re(h,d),N[0]&512&&X!==(X=T[15](T[9].total_payment)+"")&&re(D,X),N[0]&512&&G!==(G=T[15](T[9].total_interest)+"")&&re(L,G),N[0]&512&&M!==(M=T[15](T[9].total_capital)+"")&&re(W,M)},d(T){T&&i(e)}}}function vt(a){let e,t,r='Rang Échéance Mensualité Intérêts ✓ Capital Capital restant',s,o,n=[],d=new Map,h=_e(a[8]);const f=_=>_[35].id;for(let _=0;_Pourquoi gérer les prêts ici ?

Vos remboursements mensuels mélangent capital (non déductible) et intérêts (déductibles fiscalement). Ce module connaît la décomposition exacte pour chaque mois et peut créer automatiquement les transactions séparées pour la liasse fiscale.

`,X,D,w,O,B,U,J,S,G;s=new Ae({props:{size:22,class:"text-gray-400"}}),_=new Ae({props:{size:15}});const L=[pt,_t,ht],I=[];function P(v,A){return v[2]?0:v[0].length===0?1:2}D=P(a),w=I[D]=L[D](a);let E=a[3]&&qe(a),b=a[4]&&Ye(a);return{c(){e=u("div"),t=u("div"),r=u("div"),ye(s.$$.fragment),o=z(),n=u("div"),n.innerHTML=d,h=z(),f=u("button"),ye(_.$$.fragment),k=K(" Ajouter un prêt"),C=z(),x=u("div"),x.innerHTML=F,X=z(),w.c(),O=z(),E&&E.c(),B=z(),b&&b.c(),U=je(),this.h()},l(v){e=c(v,"DIV",{class:!0});var A=m(e);t=c(A,"DIV",{class:!0});var M=m(t);r=c(M,"DIV",{class:!0});var W=m(r);ve(s.$$.fragment,W),o=j(W),n=c(W,"DIV",{"data-svelte-h":!0}),ue(n)!=="svelte-zf0c1x"&&(n.innerHTML=d),W.forEach(i),h=j(M),f=c(M,"BUTTON",{class:!0});var T=m(f);ve(_.$$.fragment,T),k=Y(T," Ajouter un prêt"),T.forEach(i),M.forEach(i),C=j(A),x=c(A,"DIV",{class:!0,"data-svelte-h":!0}),ue(x)!=="svelte-kq3a2a"&&(x.innerHTML=F),X=j(A),w.l(A),A.forEach(i),O=j(v),E&&E.l(v),B=j(v),b&&b.l(v),U=je(),this.h()},h(){p(r,"class","flex items-center gap-3"),p(f,"class","flex items-center gap-2 px-4 py-2 bg-blue-600 hover:bg-blue-700 text-white rounded-lg text-sm font-medium transition-colors"),p(t,"class","flex items-center justify-between mb-6"),p(x,"class","bg-blue-50 dark:bg-blue-950/30 border border-blue-100 dark:border-blue-900 rounded-xl p-4 mb-6 text-sm text-blue-700 dark:text-blue-300"),p(e,"class","p-6 max-w-5xl mx-auto")},m(v,A){ae(v,e,A),l(e,t),l(t,r),be(s,r,null),l(r,o),l(r,n),l(t,h),l(t,f),be(_,f,null),l(f,k),l(e,C),l(e,x),l(e,X),I[D].m(e,null),ae(v,O,A),E&&E.m(v,A),ae(v,B,A),b&&b.m(v,A),ae(v,U,A),J=!0,S||(G=fe(f,"click",a[22]),S=!0)},p(v,A){let M=D;D=P(v),D===M?I[D].p(v,A):(we(),le(I[M],1,1,()=>{I[M]=null}),Ce(),w=I[D],w?w.p(v,A):(w=I[D]=L[D](v),w.c()),ee(w,1),w.m(e,null)),v[3]?E?(E.p(v,A),A[0]&8&&ee(E,1)):(E=qe(v),E.c(),ee(E,1),E.m(B.parentNode,B)):E&&(we(),le(E,1,1,()=>{E=null}),Ce()),v[4]?b?(b.p(v,A),A[0]&16&&ee(b,1)):(b=Ye(v),b.c(),ee(b,1),b.m(U.parentNode,U)):b&&(we(),le(b,1,1,()=>{b=null}),Ce())},i(v){J||(ee(s.$$.fragment,v),ee(_.$$.fragment,v),ee(w),ee(E),ee(b),J=!0)},o(v){le(s.$$.fragment,v),le(_.$$.fragment,v),le(w),le(E),le(b),J=!1},d(v){v&&(i(e),i(O),i(B),i(U)),me(s),me(_),I[D].d(),E&&E.d(v),b&&b.d(v),S=!1,G()}}}function xt(a,e,t){let r,s=[],o=[],n=[],d=!0,h=!1,f=null,_=!1,k="",C=String(new Date().getFullYear()),x=[],F=null;const X=[{reference:"781495E",label:"Prêt CE 781495E",initial_amount:183765,monthly_payment:1084.75},{reference:"781728E",label:"Prêt CE 781728E",initial_amount:122946,monthly_payment:725.74}];let D=X[0],w="";const O=Array.from({length:8},(g,y)=>String(2024+y)),B=g=>Number(g||0).toLocaleString("fr-FR",{minimumFractionDigits:2})+" €",U=g=>{if(!g)return"—";const y=g.split("-");return`${y[2]}/${y[1]}/${y[0]}`};at(async()=>{t(1,[o,n]=await Promise.all([ge.properties.list(),ge.categories.list()]),o),t(1,o=o||[]),n=n||[],o.length>0&&t(11,w=o[0].id),await J()});async function J(){t(2,d=!0),t(0,s=await ge.loans.list()||[]),t(2,d=!1)}async function S(g){t(4,f=g),await G()}async function G(){f&&(t(8,[x,F]=await Promise.all([ge.loans.lines(f.id,{year:C}),ge.loans.annualSummary(f.id,{year:C})]),x,t(9,F)),t(8,x=x||[]),t(9,F=F||null))}async function L(){if(!w){t(6,k="Sélectionnez un bien.");return}t(6,k=""),t(5,_=!0);try{const g=await ge.loans.createWithData({property_id:w,label:D.label,reference:D.reference,initial_amount:D.initial_amount,monthly_payment:D.monthly_payment});t(3,h=!1),await J()}catch(g){t(6,k=g.message)}t(5,_=!1)}async function I(g,y){confirm(`Supprimer le prêt "${y}" ?`)&&(await ge.loans.delete(g),(f==null?void 0:f.id)===g&&t(4,f=null),await J())}async function P(){if(!f||!x.length)return;const g=n.find(V=>V.name.toLowerCase().includes("intérêt")||V.name.toLowerCase().includes("interet")),y=n.find(V=>V.name.toLowerCase().includes("capital"));if(!g){alert(`Créez d'abord une catégorie "Intérêts emprunt" (déductible) dans la page Catégories.`);return}let H=0;for(const V of x)V.capital<=0||(await ge.transactions.create({property_id:f.property_id,category_id:g.id,type:"expense",amount:V.interest,date:V.due_date,description:`Intérêts ${f.reference} — échéance ${V.rank}`}),y&&await ge.transactions.create({property_id:f.property_id,category_id:y.id,type:"expense",amount:V.capital,date:V.due_date,description:`Capital ${f.reference} — échéance ${V.rank}`}),H++);alert(`✓ ${H} échéances créées en transactions pour ${C}.`)}const E=[[]],b=()=>{t(3,h=!0),t(6,k="")},v=()=>t(3,h=!0),A=g=>S(g),M=g=>I(g.id,g.label),W=()=>t(3,h=!1);function T(){D=this.__value,t(10,D)}function N(){w=ze(this),t(11,w),t(1,o)}const te=()=>t(3,h=!1);function oe(){C=ze(this),t(7,C),t(14,O)}const Q=()=>t(4,f=null);return a.$$.update=()=>{a.$$.dirty[0]&1&&t(12,r=s.map(g=>g.reference))},[s,o,d,h,f,_,k,C,x,F,D,w,r,X,O,B,U,S,G,L,I,P,b,v,A,M,W,T,E,N,te,oe,Q]}class Lt extends st{constructor(e){super(),nt(this,e,xt,kt,rt,{},null,[-1,-1])}}export{Lt as component};