From 73dbd6a646a598dd9b5b2ec961f33b1e0b2dcd05 Mon Sep 17 00:00:00 2001 From: AlexisEvans Date: Fri, 6 Mar 2026 22:34:53 +1100 Subject: [PATCH] update --- README.md | 8 + api.ts | 9 + app/globals.css | 26 - app/page.tsx | 65 - components.json | 22 + data/todos.json | 24 + docs/screenshots/.gitkeep | 1 + docs/screenshots/addtask.png | Bin 0 -> 36636 bytes docs/screenshots/delete.png | Bin 0 -> 39564 bytes docs/screenshots/edit.png | Bin 0 -> 44942 bytes docs/screenshots/homepage.png | Bin 0 -> 126173 bytes eslint.config.mjs | 37 +- package-lock.json | 3284 +++++++++++++--------- package.json | 37 +- postcss.config.mjs | 2 +- src/app/TasksInitializer.tsx | 24 + {app => src/app}/favicon.ico | Bin src/app/globals.css | 120 + {app => src/app}/layout.tsx | 4 +- src/app/page.tsx | 8 + src/components/ui/alert-dialog.tsx | 157 ++ src/components/ui/button.tsx | 60 + src/components/ui/component/AddTask.tsx | 60 + src/components/ui/component/Task.tsx | 112 + src/components/ui/component/TodoList.tsx | 35 + src/components/ui/dialog.tsx | 143 + src/components/ui/input.tsx | 21 + src/lib/utils.ts | 6 + src/services/todoservices.ts | 55 + src/store/userTasks.ts | 74 + tsconfig.json | 13 +- types/tasks.ts | 4 + 32 files changed, 3004 insertions(+), 1407 deletions(-) create mode 100644 api.ts delete mode 100644 app/globals.css delete mode 100644 app/page.tsx create mode 100644 components.json create mode 100644 data/todos.json create mode 100644 docs/screenshots/.gitkeep create mode 100644 docs/screenshots/addtask.png create mode 100644 docs/screenshots/delete.png create mode 100644 docs/screenshots/edit.png create mode 100644 docs/screenshots/homepage.png create mode 100644 src/app/TasksInitializer.tsx rename {app => src/app}/favicon.ico (100%) create mode 100644 src/app/globals.css rename {app => src/app}/layout.tsx (89%) create mode 100644 src/app/page.tsx create mode 100644 src/components/ui/alert-dialog.tsx create mode 100644 src/components/ui/button.tsx create mode 100644 src/components/ui/component/AddTask.tsx create mode 100644 src/components/ui/component/Task.tsx create mode 100644 src/components/ui/component/TodoList.tsx create mode 100644 src/components/ui/dialog.tsx create mode 100644 src/components/ui/input.tsx create mode 100644 src/lib/utils.ts create mode 100644 src/services/todoservices.ts create mode 100644 src/store/userTasks.ts create mode 100644 types/tasks.ts diff --git a/README.md b/README.md index e215bc4..fac2e0b 100644 --- a/README.md +++ b/README.md @@ -34,3 +34,11 @@ You can check out [the Next.js GitHub repository](https://github.com/vercel/next The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. + +![mainpage](./docs/screenshots/homepage.png) + +![edit](./docs/screenshots/edit.png) + +![add](./docs/screenshots/addtask.png) + +![delete](./docs/screenshots/delete.png) diff --git a/api.ts b/api.ts new file mode 100644 index 0000000..88fc9d3 --- /dev/null +++ b/api.ts @@ -0,0 +1,9 @@ +import { ITask } from "./types/tasks"; + +const baseUrl = "http://localhost:3001/tasks"; + +export const getAllTodos = async (): Promise => { + const res = await fetch(baseUrl, { cache: "no-store" }); + if (!res.ok) throw new Error(`Failed to fetch: ${res.status}`); + return (await res.json()) as ITask[]; +}; diff --git a/app/globals.css b/app/globals.css deleted file mode 100644 index a2dc41e..0000000 --- a/app/globals.css +++ /dev/null @@ -1,26 +0,0 @@ -@import "tailwindcss"; - -:root { - --background: #ffffff; - --foreground: #171717; -} - -@theme inline { - --color-background: var(--background); - --color-foreground: var(--foreground); - --font-sans: var(--font-geist-sans); - --font-mono: var(--font-geist-mono); -} - -@media (prefers-color-scheme: dark) { - :root { - --background: #0a0a0a; - --foreground: #ededed; - } -} - -body { - background: var(--background); - color: var(--foreground); - font-family: Arial, Helvetica, sans-serif; -} diff --git a/app/page.tsx b/app/page.tsx deleted file mode 100644 index 295f8fd..0000000 --- a/app/page.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import Image from "next/image"; - -export default function Home() { - return ( -
-
- Next.js logo -
-

- To get started, edit the page.tsx file. -

-

- Looking for a starting point or more instructions? Head over to{" "} - - Templates - {" "} - or the{" "} - - Learning - {" "} - center. -

-
-
- - Vercel logomark - Deploy Now - - - Documentation - -
-
-
- ); -} diff --git a/components.json b/components.json new file mode 100644 index 0000000..edcaef2 --- /dev/null +++ b/components.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "new-york", + "rsc": true, + "tsx": true, + "tailwind": { + "config": "", + "css": "src/app/globals.css", + "baseColor": "neutral", + "cssVariables": true, + "prefix": "" + }, + "iconLibrary": "lucide", + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks" + }, + "registries": {} +} diff --git a/data/todos.json b/data/todos.json new file mode 100644 index 0000000..f88661f --- /dev/null +++ b/data/todos.json @@ -0,0 +1,24 @@ +{ + "tasks": [ + { + "id": "5786", + "text": "go to gym", + "completed": false + }, + { + "id": "43c1", + "text": "buy lunch", + "completed": false + }, + { + "id": "662d1bae-4480-4981-9c06-1459908fca97", + "text": "go to school", + "completed": false + }, + { + "id": "37d19d5f-0aed-4e23-aa73-e111ab96ddd1", + "text": "ea", + "completed": false + } + ] +} \ No newline at end of file diff --git a/docs/screenshots/.gitkeep b/docs/screenshots/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/docs/screenshots/.gitkeep @@ -0,0 +1 @@ + diff --git a/docs/screenshots/addtask.png b/docs/screenshots/addtask.png new file mode 100644 index 0000000000000000000000000000000000000000..5d1aee334f993d181bee97de6ea4c343392f2b7b GIT binary patch literal 36636 zcmeFZgf^;Y#y^4THi*zh3B`w|HiUN`H% zNSDOYaqjhvFY9~GUvPeYKCtWV^V~5r_slid%)@IHC0TNkt0Z`Mc;s>qA3VmxBShoj z;r9@q1D~7;pdH1-BU7-Dl2VbAl7gx@*qK>ao8sX;eEmU_NK5TIO``5&IbulQ^Y>kG zP^O#D-$Qip7Nj8`-VhSs{Pr>#AxlfGR~cw1t$FX#C`mIyO5fR3bve%zm0VcJO|#q* z2Z2R-&v?!q%ubvfJI*FKb|mPY!;=Ysv9wB;;5A3gwi-(j3{kyP8%pJd;oo_FhH&Wo zOOh)>A|eDZIGwGpROy>vb}VNoDkzpaK8V(i4Sdo z+VP3Q)4y6>ANbIKcRf$zr-Fd3#!n}Kn!YtE##X;wN<5QT7_^fRRz$S1Okl*)XH;j6 zEP8U|?fqp6l%2uE6H4^v_0m@o&y@ThB}E*ED$P#b=?%DZ_C?$EoQ|}~X5__JoSM9w zC!9?urB!+}KduQDbQk{mi259FG|n)iK(1+Y6}^_a@KzPFg!g>vqH1j|Nm1eZkLN9Y z`!q6t)W_n}pr}>;sgaYmws6vG9mO>f1l}aQGI9tQRG@D*)nvj0|)W81Y;2z-*B&_b-qoJPq zCvV7a*o>2p|9&)1MMem_z>mCq_X4jU^Sgb|)ZdqhNa~XyuaStSdNAMo%a>rso4gv0 za{hNQ-IOL|TUk#W>Wl+7VRxHf4Yv5)Tu>o={e#lv#!28qyg1108`8MXCzG3g%bNbA zF@g9p!grbD_~zxvn9g04dR_lObPTf7SiMf{wiVERcJ4=_pSu@^Rg9&WiUE>GDMDP9 z{xIlQ!>4N$BFR3#VctEpxfHhK0^`5&#)v*kna01OBaj`V?r3N{`q5_lW`-P{`eupt^47hG z3Ldx^GaSRak=|m~ax+GI&zk!X5jgCX)n##Mv~jqR9It;z_Q=DNy7xr?o>nfr{8jCl zAC6V|`D+>ZdPDYj7u@PJzrM|n=OXgaxr2At^+D!)+Du_RXK0-e(HRNvb9IDTc)HQy zq|b;Z>KF-;ypXd~_xPj9QaWEO>0L}1$F6r3(aHT}su1D} zgggXEyvR3l(Mq>i-c!0!a%_X6uX=(R7J0g0$T&)0uKUN16R-i zXoHKdO<)ety*Hm85-jQ2uZs)hpFf%_dW#&&^WM8NVc6M^;>_TFN`^<42>s zpIMYC*Sn+hRr65r>G*Hnp*wfzW5q*d<qFVpqKD>{9c&2!3LzHtzxZCYy=tRx zyWOUw|0yq&8!n_<_QW;cHqJIYF)T6L;L`+I^`q((4|>iJ)Ap$%2W<{5BJDwKMw!du zKf)m4S|Xop(KD2G7}>>xrC^Nw*3JUF_r$PHkeI)jPs_B+@Yx_ls8}e3FW&ac@b3_# zormLZCzxL`%gZoa+l!;LG_kv6b*J@drE0cnKI*l7AgayHZ=G%0mMZdftz7AMod{zV z{d5I2xZ3Llo!;qm-vZ2#o(p$nym#!lv6%^tW%`{_vjMa1?y+xT^;OMYNqhRFpU*Zi zH6U`OgQdgMvS!>`ha*cOYqeE#?rLajEai6SRF{;ZlnM>3#|@AAWG4OX)SjwYIW|Sw zE}4tAm$qzwrtc0jjxsL$zWPqwa?LEs6mH?$jqm)-_03&tho_9vmuG|@iF~%~BbSY3 z9z@ll2G(n+TG_s4HD}c?>^*JmW=qiwl@Q$zE{b!^+q^J0YV7pwWhmR#-aE5t!PUWC zX+1NGTKhvkP@CTb!@Pek{$O_*U-sw?T@akGLFopMn!8fCmU||6Mg^qF#x}`>(_Pb7 zx?_H2E}pgicAaCQdC{CFk88eHzMp}wyQs&U+uF8|NQYUx+gO-Ag?F1bp~R?{h}Uq9 zMUAev=waI-p^v%`#Ua!(-xObNC(j8_yf??c5EjgsZ5KT80k|06k?yKC-2Bn@W8_C7r0k9Mb=LdmKmPofec$eP=-z!F@>?=tw_eruziDBx$MGH~utk-lAKw5n}wwnBAD6DeQFuy{BN< z6``B9u48e#&v&WU%c!iW-k;}s9fIyd$D+&RkaF1(A}k?^yyjnDnKYQlIT(|$-Q+Vh zf3${9e!axvl3tNUlVOl#a@*ot>ShEv>ztB=$SXc+-Wipv*SXkiTt`^%y-$AB71yCW z89l-L>-->T((6NMD`|ZMUhJ@pu@UsFUp{dB z;#k@)J)7QX6JyS2*Im`IcYQOPR)zK#=Wa=J`BUfarB`yKaWq$WVr%Drx?Z2`r?H}G z4YuRlHmEW^U-O_a)n;KRjV{uMjq=0c<3&9kjeU!lXTv;`;d?cQ2Q@QST1Pd$@nqR@s(Dj8?^(Y5p*~wbUmsq!C9^Z(8L=}vJ^Ie|+}h_! z$BCq)H(NiyH!UPROlpxF^|sx=cs!#7H-IN8Kxwy5NDN^mCExLW%y8q)f5+qfS@Tvz zwOVpn=s|VHitGXaus`PS#zV>iX%bB3I206Av*cYf8OKwfba0`sY%JnfmbzS2UAm9$ES8qyHh(U;Dhte9%?({ z;nCd0{@}|!zVRE3KWOnp%SlU7LB!b3hTF)*4q?jeX7da?4xX5s2zYB_>SP3Uv$3{y z6mb)0`g4T{c#r*bMiaD5=i9CKF^Y7ci z|HPS|IypTP;o)(0b>()w&28sk&ci1xEX>2p&%@8p1+L(7bhmXfa^tdfWd7G6{~70j zsiU!j#WN=hJ6kArTqA^?vy(Uz6LzBi{`=QDP2DX1naS4i-`fHkW-!k zQg$|APA7?f^!4wXPk;IE8^w6ATR$a=f64jJr$EpWBw{@ORhk5e&(kY!fgZ0}JWzfD zUV)YU`L_Um-vU3_SMVbqBzumr0K96*J-GM84S#w3d^Ej!g5;|4(E01u=WpcP8#a9- z01Xm(UiYJ63d+m-30isKQ(*<{(lx{PAYW0fqyBJD<^jNxsrt>{|Hiiu3sOT2v2%?r=dNR_`AD?!WOKfqRAF<+FsQ4T0m*WfudQ4*2S7y*IOQfcO`%Uq!E-8zVVhe4Rfx)Af#@^qD7=Z*&Y8kg^UrO(m?9Iky zkP8ka4_MLYJ9QVMFUqGj(!#|W_nCq@-^qktRTs5=^;ZLX3A8{XY&6E0VhVq-aRXT#~N@X=CgaiI~Z*I7In_5+4rA zKmj`cM#BA3n=<`@Ga5P;H|_k@m)2g4;4B*!K#Gn-bc*ljX#_9j*ZS1G-rig!X>@qK zcxAk zcL5zs-tb9o^W(d9f$z~mZTJ7eH%{rWHdY#V66b9veoOXCOKsZ>ZECJIPz@F`I#Czv zZ5J)PFh>*ll?W@FGUlh8L5cOTk9st2 z5+Y17f8UtEtil-B7(wx8(FrN)39QtC?ov4-)%uF(Pb(|g0eHU_0e3a()gf5UZltD~ z0M{k<#3gbRL5TWaZp4&8>Pq0*&@yyIir*7%2nVpCmjtNQ`DV*|xTbUU{2dbXr!hmn z-1@}9`Qc?cVPqH?dQmEu-wQKGf^L~-!;MsgBJzfrXHc2dDmg{_u#}8k;7S<%8@GQ3 zFeaAowwR=>8ZqLy63DzYQVb%xR<-GIR@;xf^qi-GxxC9@uOXN^-8VR~0TPm9z z_nuoMm(HMu;EZPdcC?)?@`FjzOaYC^Nzje;vgHHXuuB zuEjIC`zvOaBGHbq<$3%K%w4KTExu;<1~p#;dtIo8%wz4pGeR*NZ zuyj_01;TMo+f-|@lfxFA;D>+ba3addz%x80ZWPH^HdzrgZFyfN^0Pbmo<__ZSE8m~ zxE1mL`%U>UPRqw+ML|oZmcm1uEn`x{A8F?oh0s^e8cN?sYN zw?4ktyCp%B85u2%7RevQ_vR1lrzGJ~j>MqoL|D+Nyn_q`_|*;;m*`ZyP6#=~M@ zoX=Wn*40bBX09eHa_9}iI4PREObZn~)0>!Z&jhGklcA>^8u7BfBu;+rt~u07nJk>4 z({HHxNjo11?#plaeMcnY3lE$&@Pn#)x6Ux9TUSlk?&%Oq9V5go$)nYw>XzT?Kxo}Hc=P`<|hDj$Q? z67yy-oT&^fROL*dPa8O6q$#dlBY6@E&Va|wQJk?< zsFB1)N)mg&aw>=zy`GH#bnr<1XfZoqiB|8~J(rHC+QXSULn^s_ibSekRKWz_&*U7I z9rt*zQnblYDd{Dd=ZQcV7muD(8S<4I$XIuj(DktL=Kbv>f|B^+mh z%+Iix=h+IwF6-BBL4xP3?~I|kYmOJ6lzRCNI^{qmXg!QR`$&!ZjA*W&Ko z6lwM%&#a|5#Rv}6XvKg4YV4dGJl=O`v=R_8gCCqPb_Pz$kQ_azx##7390zAD4ZmZ; zKldBgwNcZ|^ZZ_1)2fUh*M!nsFeNB zy%{21?xIbISn0XAg1JV(ht%@KJXDs#@wCkBDvUwYjOo2!3*20gTBx(Ra|9pA(HlP_ z{1s;P>v?c3Sqs{A>(UaMm(x;>42`I~o5Kh1^qqFIU$F8;DcDzA?@g5t1ZXDPfWT6~ z-q1ZCKUE{MM1bP|ipws+s0lyQ1WLyVk`!HCq02n_mpysSpT(;Bf_J`yG>#_bwU9DK zS_UynUh+9HLg-IEp)Yb|4jh7Oe25&C;Dd#=z!0edsV9%w9jJGNbawo;R9kU9&J*oq z39?{3&PdysCz6Yg$#V8}!X5S=b4IK!t(95t9p}wxEde{5fLQ6TIhf*3ei=+Yq$IlX zUfkEWX{7oE>88I{U+$l?TzTNUw0Ry)h~QcqjWY1Cr~r7~YDe3?k-GOio0{dQpT0%E zGtq(Aio*n7)3u1%_Bc(?czxG#ft9MwjuIP=(*~1C`;_IkWxB$V^Qe(7bl^g6mro}k z&a|N0+3+Lw>cfrJ1(2R7N9j4pjkr#F_nO7oL<){QYly^j5I^k@-x(Xh4C+|rI!$`- z^p_G<_IzHtu=tkxvu|?Rn~5sRi7I9PV%hJkdyY?mmL`y#s(ADt zG%!zqtS8j-6E?q*MTlU|nylH$Gl51D-CsZWuI$5amGGL1wbYJ-ygR~sGj37=zWbHd zL*J%bnpTlQ^6=SJAzQtCV<}XMdVRl&fhz!R@;hUW%DEM5z9$F0J2gAiBQC7D#AuPM z5;2bd?g06g>dVRTLGO3gBt6gP{O~t96pb~9GdyKZzf@PQ6QSM_AtsNv%d9q$Gn-yB zwf4hP9_xbMD?E{Gc~M+&vBCY{SU&SopiMPqK>U6ZLP&J8?RGD~4F+QZCQDLR^r#sv zZ{;6M?9>R2+c(jdw3hAXmXCz$6fi-o@ITA{gV*No1BV1~c`IAc$7mR*=7Ol!f$zzXK$~dD@U4$?}3a`Q8r#Z(^ED^-u1K^_`7~ zE6Y_qq@Ksm?s`gD-+eE-#sJt|Ld5#j<-yuxj1I-PZRLuG*B;-6G0(MXi=I@u5`L)? z{`d9j>oNWt6$GeHInJkz*(n^X#dE~rmKAV&Fer^RPjzz*ci3hR5%G zo{sbQVa$}!tYT~JH@B{PL}?bi>HQa)e)ssE?D*!}@D#Q2FRa-4dfHU_m;y{ZjF~zS zy=XVhRsQRp1<2((I5qU0`}e2L*fvGMn3F@?+Y{ZUUbhL1Jo6(Ld z+(F3m(Bnz;2HILeb)NgL8Gtt;>M-a)7T4g&98I7)6cSu#89?uniAg1PWir`oVyALF56#riioI{L+uHSaY~c*RBwhv!PtZF8mlu{nt-pX1G>4C2PCTpT$C z_rb8$J-`L@455tasIyio4^}ICjRNQ+Um5K+Fq?gZU10V8 zV)lX*C>Sln>!PTPX{*$4j+WfqHoS$-k-8CLJxC zml%7WMdVi4u6%RmAf*bFe)gqTNi$ z{CEa#*)+Y922c_&U99G)wpRIS#ZpgR<*Lq5k)goEonRvu#@#xi!t&y&8ono+AQG&p zm#RVsJ}+%oxEsl~?NDzfHaegwWlb<06n5n^kqcYB%AG<*AH(>3HERI(F=|`MHK{=P z!h41TF2^VA+xC$LsYNCoB0Rh}>3;x@W?bpG%jifspA+A#K^&l1Y~WRCw2oEP)AVc2 z+cSfsz9&bXFXQ+I2kBkMR7H6-&XJ&*ev4uH)I8%Izg;m;RrX#~6W<>G$AQ6~!-R;GaxMj9$KwiuO>}rEpzx5C;j3=mS@?%5{go zlNGWw1>>xN-UZ(G65P5iDq5a%HjJGcBSl1U_s4SvN1qwfX^-sOQl0Rh&jD0d5E^$< z!$vxToTfDpPol^hIaYHh(7=ICi4*DYPz91Z>?Tut*|ILSF5dvrhzB8m0W1- zjo_$t(Ntdg-~kCbuVV3Yai_#VYP2LLT;ga!*_=_bx$Nklcmzs&qX5&44}6kRV?=7v z5+V5PG}k%a@#WauN0u51jtM1Gi1Pj+7 zj!O#VQ(&C_h2K;L5qGb8GtYA4@H5GA0O^g7Rruw{!E%Dnpa6Qg-RPyhx3L4l#c|4V=@S11M(W95#Wn^G<0n~9BDiE zt1ks_jpR|Fr&37xB!@|Ps#G}WHme&|Ms^ERahTe1PAFt)c7Wb%oDiXZHLyKi_;%cz z>fHfVg?$4rE?+RH4_Zzu|E$reg{dVXF zzoP)bY2ym0!_P|twnOL^!!s!O@kZ1_xbLB{VEr+WM}&drN(uhj07yMl9Oe>SmBJ;D z-D>A#VKfa4(~8x*Z|**M;qvD0i}tk@?CXIqI1fB z{qtS8__o%zbK@b?dLtST-5iq&!Q2&3gM^aL?Z1#wVDjA_HXrQB{$q|KGE(JCMSTYry1So2o@ayTJd33X2Zze(cQUeDGuw%eU1jv?5%qvSg7tOD6yQ=Hd5hXii zIe;Kt$jV6kOr7>d#j;~ZR+W6?D7-QMo=n#!_{0Pb3*lcER8{z9 zpr<6Zj@|;u2=yhq$)nAb24BnmUyH}OqI?Q8g6SZdF{k@6+y!J6?KQ;1nbym}?zKUV ze&k#JTJXWwN1?O22jM5X;ZDEni3XK`;RHEnC3SKs1$j^Ib+}s2>EhrPApo^2vIGM1 zxCv0)WN5*0r{1j}eiQ>9-zz6Dc}@Tb4wN3~ycT*pakT2XbJq(H25Bi_BJ86=zQ>2f z03c<6EGtWcWr8zEZf2?W@s+a^9!t5!z!uZ6(Y0g)^)E{iw-u?A@op9{`ucJ?_$_AB zvC(uYI}|ue>y@CSlf$`Q+M3_5MqKPoK^4bhvt5X1brJL7`!2s}n_MIhUz^V)`BWU%yo zmkR*9$#LWsKh7Pav#Wah>Q3XwS9|sQFwX5Va1O+Y_CtT<-4(mj(!|?HOuG~XYJ4J% zv^O_RTe-^G78x0@+~U4%*7lIkcLX3i?XhtV!2cZZw{k|j3gKhaKDv0%{OESSa@Zu` zbOwXVXIwyT_vDbkf-sIURz?@64A7+r$X#2@_K(@Yu$)!`)a9?2@#XAa!&qj6EX^#O zeC)$MyTw_6@b-wWOx<4FKZ@ z$MRes&dRRK^kXXk+u*z}^RLScoTb(4ntr!#HlFCY8iQ~{kWqzpu}xI4U-;0boXN<4 z#nJC*Q}V>o=k7shS=ZE3+?so*XJJ{RfzRHIQv2f=-X}W6vif>hpgZi%eLEpEzPUqb7GysT{760lQkb(|KBemL2sOvSo(s<#BLJVlEnbI?%ZN%SV0Ww*TjRIn9cvOU=g~6X^gEywI8@=E8v>i#mvbL4g-9510;fL zKz1Mx>V&2)ViP?<$?X0-7m9x|3f-zv)c}0D0QM*?a}~)9>VnZNe-^AlpKP`^P+Xiq4|11s-4efT%-QLX|}zq8|WjC~RPRiTPG6;blK_gH;@kapIn~=E!*sHgiCAv9qygY!)nxU--0`ZU z54!}$d|x1V0!Vd`u=p|Maz0 z)1dHl`C^nA0qX8t`COuW1gr9D_WtCvGNigSfdxW8J<6ME&d z+rYRz&&J2|MBy{sOn84jrRb+mqhlUeBc~YKYH(R_%`qn5+|h=5r|Fs&AEhs$0$(bR z{~pMb8lACF>GpOB!;ZvKPEn8d&Uh5!Lcw8n93b-@E0zmeJ>s|LQ^M1uRZa$U?b=&r ziHw_nehgrUZ67WDO2UyU4sw+`7^kF=zfL07Ib$OU^^?YHrj#1r-t_M>J+<#BJv`jC z5rhO6uD|L8bWMpy=TI3KI6cm;Mp*ip1&&Y4z~*ArXLUCZflmWg-Yb2sW)XmhHy~j^ zEtC55iSgIG8Jb@TIRno!f32ZkHmAQo5mZ)c)*kx-!Hpu`+to1WIi&|E~WMSl=U;D~+d(8GJuS z45XKl>%S>?7D0gexoo#8jk`jBkkkw2jL|#Z#`3zxBH2VYPxHF?1f~E=nl^q`HGr}} zvSpMt<#9HUiLD>JYnL!g!;X(H`Wok30Fl+e?Fl0ex!$(e@k_+p`f*oSM@&MDmVwlU z+HnC1mDulWJw5F~pfJOqV2h-4gSqCUK*r-EW&Odp<$@c?Xr-=)Ft9wUKAz>jXnOtY zKtn-h*ESvzgS(|Bvh?2I-d!9FHlVNbsX9>#J3>Cgf(34wwhjUo=np9h=DrCQ=&b6h zL5;h|E;XRz-i84JEHmCVdG@bwOMpYkvl)5yIU1$_Emfg!{*Jr9tA(FE-X~K{6&g~2fKi$gP0-Q5eyAMZ%CbtI_Gupy*g?#`}XO~pZLiG7*yk} zKex6bRs$wcs`0oIa0&wwa2&C`oAd-ofUe_s*5I%4wZIA+TE_VR{ydKsNiXtH!QG>Z z2ADx3=jsgB1}wLnN^na9kAMK#hnGS1A3J_Q#4TI{!{L?Aqjg3b^!_Tjg(N?RSre|0 z?harN0iCOIxD2il(YeABxr2v3t|{g8n)Hs z4=GeKXdu5i*Qtz}JPk7N3C1~i0f|&Rga}TZ z1+SJ^I&gH3w516w`}QrAF6x!>xP~&AsARsYPZm1x3ONKn*&nnHaUu)<3fu3} zvT7R@iqa9w>@?67V6QS)Ix0tiaCpU&!cn>=Yj?i0BJ2TzCEs2=jE1qX{2`+ThSs z#7_AzFMS7Ww^58~AK!?KyloiBVaA+#vZlsZ*tw%x;G<%RX zPAL|Mk+u467Fy+?WOM+!+-wiqr4Dp{aGU%+O6XF;IXm@q(;ZVVm%%5He zN`L8F18e~4tLa#}C8b1EnkO3?Vq4f8;SVeX1N3zKYC)e{fKI-I%=FCD*`m7GX2oE_3*i5J689C=QA> z7J$bt35x)uNq+}rhcr-RN~d=j`sgx-Q|BUv+~RoFE-;u%{B8j5d$imdVei8Sp_BCS zisd!BKinGj&>cAxSWtGPc=pf80F(l6YS1F0!QkI$=cNuhq-;Tpp#{h_tPjHG@NsZL zviI55+LL1^zz?Kd7Q6yaXlp1qbZv{~vsft^w4Efml&ApJs4LLHCWcy28apJmz0ax+ z0p0FXQ#N%Bj8Ui^D9gnWXC3tH#&?YI1ysL=ZmuS@6rev7yKwT2jRuccn6*~9=qy0r z7f8{F#DZuo$w)91$nH}w3zlO^!QFuGxWR((90!C4p$8a`;b-4>pXnZ(X&uv1EjAq@ z5()qW`}o2CT9cWiUtVamthc@DvaLBA%j1?I2dm7c`GuSxyVU zh#`jx99-Mlfl?R(rEk&ru7dm{rx%3d*|kI*$Oh9T{e>J71@yo&Im%6x(^ralyo>%k->n3G`uCI;670Hi(1iklYY(-BWZSzUJ_TewVsP zAqjRzvMzdmwa4XBgX?~C{TXjW!wFLZ;y(eZX5aq^*Yz3wSsoAeI`~g+!B6V6V0kjd zXDWnoBS{7TA@?fZlYeQ6wCfyLJI=tS1QoSW+1GKddk@eW7nI}Aa1}=Jyf^-Aeu+Kh@`_C*s7|< zxbvW500;wL^(j7mL_`V3Uen1b!GT|xJiRb`SmAuz-PS3Q} z)rocCM*vnbk6b57xxYXa;{%lglNGNc7oX;Is~&8wJz; zfg($)%pt+%fivLrDA3sytA_JaMz#ayCl~eYs`okn+#IR!02B_@Rtsn>8YjO$8WtIC z1}O|7BF%FGWQrdEcTsLIcQnJ}E9VOef<;G^9s(r(1KQ>Z#j~+i+ahKCqB>Vt#@*)< z7N&xEIzB(^kz-8*n=CbQX7D{+FP{GtoUX2^UoyCUyW=i1mSM)$r7iNSw-=qoT#5@X zklQ_FJ*CeNSZzK%{HD7cr59q1$JseWqS2LO|tee>rK24t4& zrGxAW__e~;E&VD5s30Kewg3UZcd#*C)F}~%Z56&_KZUlw`xDSxu^Mo1jD+15wipPa z0v|Tm0=TEPknekBh4sMOtp1kRuHotq`gw9xbnOxV!HQTUGyN@89)vN^ZRutMTK45# zY_STPT>nAInNpk)EQ&4u(%(GVSW7`!vdPlr5cCz9me#D*9HgU+o6BpoCCjjij*Yq&(!et(XAl_wAxN5(jt*)Vc6GSf~3lKa)xhIV$DSUqW zIf35ets%`Z;E&JrOdgF-npQIX7CBfhD#B1H-Mvnlg>7kfnvF51QC>hXbUL*0HT7*{ zGy`sJVKKw7IFp`raTTcKJq)>Ui$g? zeR$ayreCiM!^JipZks*17W{gtcDIqo%ygp#L(NhRs^$xz`$c~J-t*|?<1Q%*MQj~Z zd1*%|QK-WgAS<;hE*g2Sd;F4;6I(i<%vW>-=qER3&Ki{~t)M5-1s$cW zH?$`>u33bd?xi=2ZvXmIR&pSZei=5#zzmuzAw*{&B!*h;f9~ z;`|?%xt33U%_`wvTCC0ny@V{u;U8a9>NJi%!bmY2H%|@LY?p9e8v*>g)lU^MlPY?b z#jK2UK>Bl#CNhb!bMrZ^gR*za{ba1Z*!-1eKiA)0KnEF(zLjOrjw{PKHk#%t20)ZU z`psp#LY!v}yZ*lx;?EALoC@OT0VS0r#ln-}PM^|kFTO*&miKJK+oPZh=Tby(6MC~9 zK-c9I#-pd(W?Bl(wEz^G{Zt`SzP8NYgB$|uj3E~YEnBVG@6X>Bmeo=yWu!W2(lvqa z_e7o3)t@`%j#MbI0mq;FPb_=8+UN3zW%AEaizG)+1qbrg`zV}aw6ktZ+C}^Va3oG# z&C9v)a$sYJ7-ukMSJn*M{yj?>Tvo+&gAQQSYl|hn00+EK0``#3n&idL;n>2KVM4XO zBk~a)2Bb5^d3t{Q}lw z4+jlRH#V8+0~=}inU~p%uKDc#)PAEid(HF|0?mxXMt{#gt~_5O-!f^0^9U+|Fgf_<`#w=fW%cSoqa~cch5YmNyAcKMa~#j9uX7+zEZZwfQaGn&BmOq2hl*4@@Qivb$FigxZukpt-=F9Q?T; zmtoU|**H4}UI>T8ZZJ&o|<;qc3P;dlzOK)d7thG_NbQ$PCatkm-{Dmwaw%0WdyGk=3kFE5`Xqmk3#G>>?(*QG+$;+H-WS0 z#=4rK@%*ZdNBiG|YTlBMhy098+G{f}JU_ST7<&Y`b!_3ONN94glgsD)#!D)tW`cS| zOjU=jHA;FL^?VBDRjo=trL}$x@E1Z*R>vm{ryZ3Ha9E|VJnT9T4M&^YNm-%5M|0^> zu*Zw5K)1oMH%AVEuA_lD-o`AojC8<2^Hy4VLtQ}rVJ5|9>^1|QAd0%`ePsg((MOQ& z#GlSK`hv)O@<=c6%2GvVuS|% zOsBlzUmwk9>@n_Z6uwiDOn(aG7K2BytnX3%iKcc3VO?nyyC>iY{*#lY=96?hJQyDK z3G0<{(nD&~gr;@IW@*^5FXY~Xi#KU6QI2zdFXjCH(2>J>c&u4Bw>-AA;(c66u8fdt znS&#h;-HJZm1>Vhj-LJ<1@_RYGcO8W7`dHyUhkCt#l$&Dlr()9ARHw;*Cy<^*S2)? zHpnJB#X3D178`d2Zf7)M`;+M-znV6Mxs3;XX5`*HsK)^4HYX#AKnGr8U!F(jrD`3mWxaC^Fu2wlPAYJHVZvzf`)Z?aU#y2 zL$BQaw!gh%MJH&@8@j?Ox%V2gINmB)TQTgU4BG4rET=(7V==bV%=RRZIjjI1Rs^4R zLCbjju&n|vph`Rn^lip?Fx0f1nG(jHknNM@TQLE`oId-YOu?j`=jiD2do`s6m#UEt z5Qgj~_Xo=KO3qM-b%DC?1JU_pzcHWAMDg)`(BGAy4=}gw0l=iC;8~j{n*&ME{e4dN z%d?N8N1zIC4Ql+Uw>RdNU}=1u@R~7`Y!oBFC@vtfjAW{&EZ7B zK#DBIPSSQsuJj3a>(>onk`=aqASvo|l{{CwJx#opE%v!>FkGi8m$Cnx>37mCD1;ee zHE@UYocs&{NP}3(fWFfG2~(g3O(8bm@IKGZ zmIReYJ5AsASbflRY*qN!&cD5x16x%l`)z(L-9&M zQ{VXm7PO9kPI4KsNIUV%qzPo}ssOOFGNBgW%@NQR@Ps{E&>u8%b=g)dq(45IsP>FI z-W(7~e)F5>c#5auh+@CgW^`E|zW>f5cP8X^M?nLH`QG{H9wDbyPspxTOJ8hp!NLuigp?J$WqYXRB`F+GT>;ih1_A!iA{!` z_fcQ7GGPjHJUYeA;L%4blKQO&?`h6TlDye6d4Ip;_hT-Fks9wxeaCizRkkcp5^FeK z%s+0C31^_UO<(rW)QrNWW!t;c;iKt_aeCt7xk5%?3Cr}kAZlsA7SO9T2exx5$7GBW zV-h>%o#mSt*%H3Y4#4bLf}Y)Qad41ExVQ?vz{7=0`&1ao4$xtkA-bk$=MjPJ_!$5C zK%i%S{ju!OKSltK58Ykp@D291$Kp z9J?NdAJoQ;67ruZwiXyQAd=RU6n=zj!oB-1J;kg|*5(a3=Or#aewfKRzo;!}J2szK z5s_ukx!jwf+;3KDJ^UDDkkXXx@|=Vi`W%no-@o3l;}f9t%b0EJsLOml+j<~Hq@XfT zjpT(670T1g#3!_*hC)VfQVabE(ybjhxK}+(0tp0961vKCU;WQu{~8v?O-PJ(8UOYL zUvq4~Jeu>$HA3WNq}I6%E`6E*TK}K1AL;-f81-!IIfw00>KgNkEGc$K=}xjof6Yz8 zg*A%pCah8LY~8S${&5~nj2^jr^ySW9bL*VN&K>h-Zj0&@_cdDV+!J$mr=@V`&XfXk z)9U=0Tf~+;70%ncUo|^OT7Z(4gWzBcxY!ltpSo< zyt(RO3Zus*ayNHDgCyr}pV{tT3&s$0Y8BK~BU9}H&cdUf=t_V;G=jkx9dU9JBDBBA z=dLkhHOHq&DSkbjwec%5dizKX;iXrL@s0VygkzX*obgZiyhEjw1K993PqGw7J@^%r z15Hh@Lt0xBENvu#mM#Z=@U(f19P%fp(=!w_X@-a{q(f9N=aWvL?fg5E?y66dV^s%Lgea0-~aB)Ge z&S6>HqX;t;LhfzORT6P-#r^`F32>5zL#uZ>J4=I|faNY4Ew=!@6!M$n7Vt@8H2>AW zT>Z)cETaXea<)`f^j1>M?QOucRlpN(T(X*kbLWNp*S%pCZz5e6V1zv$eiRa4wyt|K z`deHZkpQHE_3t0`+E*f%Sdm)kwwkRX^3cd`n8Iz7nU)WwK1chHZ_S?JV+_jGLVbOO z@bKOM{S~Djr2y$Q{dkHubhsqUxF2fSSORPUUwB+puLTZOrpX~6 ziqY84pq0Zy9Wg#a6I%C+l&4nw&>z)u7-6Nupnx7fUP=zHuf!VUs1t-JZt^eAnM2`c z#&P8CVAJKxtJlJL9+FiGVBVI5uC^371|SFH+<*p?9f>qvE(| z_5Lk$sC(e+Bam_ZQ*3*Qi$hDc#sXY(@|Rbp!8&ez$e8_uOEs$CfuJ+W`716{Y$dIw zzAsv+WKrZpEGxJQM`ZBUTw6v5n^*uxk{_a!&&h{4QKWCLEGP$&5P+O)>J>#Gvj554 zF#7SD4&@V*Y`n}C`~TXt?vFIm*HgFz%ys^7k45Y)T4TR9hlmQpg;`_*+T~o(OGz zt%jo&_C?6397Zbzpa!mx8X=ucU^Qx5d2oQt{F8z$X^T-&1;w}4*Y#jrA2=;@{ zjgZb5iFkA4hhL($KClgS89vf59-~&!Pi0PJ{-H_CkkTB*KZfgMSEcnm3Hi!Jc?BYc z72Jk;43Z%^64n7kY1*nEvbcSml%F}nTXQ&o1v&ahk(@6MQ5@V8U|8fD_tYda-9_d} zd>*)ya;aw@!MPbu{Z+h#h*)UWzH<(gQfQq3kFbj0Ze>FbKPdUcX=Mt_8ealWxG*g^ zuS@cGm+h37r3cYp3++-8Vu-7H|0pxxpIfFnPn%(cYeJ$aaGv6XO-noVG7YUvOibn_ zs%0c;?>IXnvG5IuVi$s3N-K|Q#ohoPNisTuEI?)6g@17FZ^W$@dg!JSwN-Fmy?b^< zZ4&U3x0l~uQ#qKDbQC`-7(5TBfd2IE2(rh=#WaXpyqa&ySHL-N zh6cI-$q7JTXh)k9&D0YST_)Fuh4UfsK4^s zZ)bd^;@&Q2D6;4T#$>mv1wRIh7P2~d_z1Mq01fg%=M~rHxj#|GQqyyE5>w)u7T+Jg zd3!zv=?nAzsAhCHwy(WU1(n;K8K{HYgN(DYF}a&PTr@rPoMk73*R+*})_r41Y=Mmt zC;0TW0wIu+75w3*h@7M1b*aQto6ZqiKtC47;HL40ggfL+Gq?20d%J`vJ=VZ<%JO#Y zy87war-Io$L*I9r+ZE&ENH$MWm`JPvRvscp+dPo-eKo>C+A<$y>QJG}=8#Mh7#o{C zG3hot(p7kC=(rLu_!9jUf9*uJFtn~JL3^_?I+pcrj@V+?o^iRFy6!_=ibm8mq_$&3 z^)zqjFQf3fZHSU!i7=1|+^nst*$i;@F@OLihx>gRObrt?vq!w?gZseyaxgQGS=ZJ# z9Gk^9-y}Az0iX%x0+NGw-SLSSfMAUPB-tjbs`7>s31J4Kh;Xn(8B1*O`Knn5oIZH= z&dQfco#PG7mg&l9UJq6=BF&7Ohv&Tl9Nq$ddd@$dvSN3!9_{QYx_v@nKPp$fzr0Fz zT^n|OOSrma@v%tNMP_<>`uc?A4>L7<@rAN)REYa3m!u?`Agx-An9ZJrPCNrilF z!#}3)RCq%l<98rhttml5iJRZseLz}_WMc2JR{pEep*un4 zk+D+wkC5z6V1;!qC`xu?6Ly*-F6zD$*QCqY1@$^{<@1@v$3#mek8?>_KapE3jaf78 zE%)*;AxX?0M(*6Trj)!q6=V}bi_R)-sPN;*W_~n?5+HBnfKU+Z1@*Hg7lId?6IBUu z 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 literal 0 HcmV?d00001 diff --git a/docs/screenshots/delete.png b/docs/screenshots/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..381dd6ebcc365844cf8b15b3ac040ca8f57d7b20 GIT binary patch literal 39564 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 literal 0 HcmV?d00001 diff --git a/docs/screenshots/edit.png b/docs/screenshots/edit.png new file mode 100644 index 0000000000000000000000000000000000000000..967525f8ec7f90d6fd3d6d240555a626058bf4a4 GIT binary patch literal 44942 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

IWbWEmVt|F*g0D?=q7T&K1@Cux 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 xX9Qn&gFiz_zZ>{sUrvJ4^ro literal 0 HcmV?d00001 diff --git a/eslint.config.mjs b/eslint.config.mjs index 05e726d..719cea2 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,18 +1,25 @@ -import { defineConfig, globalIgnores } from "eslint/config"; -import nextVitals from "eslint-config-next/core-web-vitals"; -import nextTs from "eslint-config-next/typescript"; +import { dirname } from "path"; +import { fileURLToPath } from "url"; +import { FlatCompat } from "@eslint/eslintrc"; -const eslintConfig = defineConfig([ - ...nextVitals, - ...nextTs, - // Override default ignores of eslint-config-next. - globalIgnores([ - // Default ignores of eslint-config-next: - ".next/**", - "out/**", - "build/**", - "next-env.d.ts", - ]), -]); +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const compat = new FlatCompat({ + baseDirectory: __dirname, +}); + +const eslintConfig = [ + ...compat.extends("next/core-web-vitals", "next/typescript"), + { + ignores: [ + "node_modules/**", + ".next/**", + "out/**", + "build/**", + "next-env.d.ts", + ], + }, +]; export default eslintConfig; diff --git a/package-lock.json b/package-lock.json index 5e53a25..41b95e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,25 +1,41 @@ { - "name": "nextjs", + "name": "a_todoapp", "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "nextjs", + "name": "a_todoapp", "version": "0.1.0", "dependencies": { - "next": "16.1.6", - "react": "19.2.3", - "react-dom": "19.2.3" + "@radix-ui/react-alert-dialog": "^1.1.15", + "@radix-ui/react-dialog": "^1.1.15", + "@radix-ui/react-slot": "^1.2.3", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "framer-motion": "^12.23.24", + "json-server": "^1.0.0-beta.3", + "lucide-react": "^0.546.0", + "next": "15.5.4", + "postcss": "^8.5.6", + "react": "19.1.0", + "react-dom": "19.1.0", + "react-hook-form": "^7.65.0", + "react-icons": "^5.5.0", + "tailwind-merge": "^3.3.1", + "uuid": "^13.0.0", + "zustand": "^5.0.8" }, "devDependencies": { - "@tailwindcss/postcss": "^4", + "@eslint/eslintrc": "^3", + "@tailwindcss/postcss": "^4.1.14", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", "eslint": "^9", - "eslint-config-next": "16.1.6", - "tailwindcss": "^4", + "eslint-config-next": "15.5.4", + "tailwindcss": "^4.0.0", + "tw-animate-css": "^1.4.0", "typescript": "^5" } }, @@ -36,251 +52,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.29.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@emnapi/core": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", - "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.5.0.tgz", + "integrity": "sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==", "dev": true, "license": "MIT", "optional": true, @@ -290,9 +65,9 @@ } }, "node_modules/@emnapi/runtime": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", - "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz", + "integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==", "license": "MIT", "optional": true, "dependencies": { @@ -311,9 +86,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", "dev": true, "license": "MIT", "dependencies": { @@ -343,9 +118,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, "license": "MIT", "engines": { @@ -353,13 +128,13 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", + "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^2.1.7", + "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" }, @@ -368,22 +143,22 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.0.tgz", + "integrity": "sha512-WUFvV4WoIwW8Bv0KeKCIIEgdSiFOsulyN0xrMu+7z43q/hkOLXjvb5u7UC9jDxvRzcrbEmuZBX5yJZz1741jog==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.17.0" + "@eslint/core": "^0.16.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.16.0.tgz", + "integrity": "sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -394,20 +169,20 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.4.tgz", - "integrity": "sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "^6.14.0", + "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", - "minimatch": "^3.1.3", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { @@ -418,9 +193,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.39.3", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.3.tgz", - "integrity": "sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==", + "version": "9.37.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.37.0.tgz", + "integrity": "sha512-jaS+NJ+hximswBG6pjNX0uEJZkrT0zwpVi3BA3vX22aFGjJjmgSTSmPpZCRKmoBL5VY/M6p0xsSJx7rk7sy5gg==", "dev": true, "license": "MIT", "engines": { @@ -431,9 +206,9 @@ } }, "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -441,13 +216,13 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.0.tgz", + "integrity": "sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.17.0", + "@eslint/core": "^0.16.0", "levn": "^0.4.1" }, "engines": { @@ -507,9 +282,9 @@ } }, "node_modules/@img/colour": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", - "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", + "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", "license": "MIT", "optional": true, "engines": { @@ -517,9 +292,9 @@ } }, "node_modules/@img/sharp-darwin-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", - "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.4.tgz", + "integrity": "sha512-sitdlPzDVyvmINUdJle3TNHl+AG9QcwiAMsXmccqsCOMZNIdW2/7S26w0LyU8euiLVzFBL3dXPwVCq/ODnf2vA==", "cpu": [ "arm64" ], @@ -535,13 +310,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.2.4" + "@img/sharp-libvips-darwin-arm64": "1.2.3" } }, "node_modules/@img/sharp-darwin-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", - "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.4.tgz", + "integrity": "sha512-rZheupWIoa3+SOdF/IcUe1ah4ZDpKBGWcsPX6MT0lYniH9micvIU7HQkYTfrx5Xi8u+YqwLtxC/3vl8TQN6rMg==", "cpu": [ "x64" ], @@ -557,13 +332,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.2.4" + "@img/sharp-libvips-darwin-x64": "1.2.3" } }, "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", - "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.3.tgz", + "integrity": "sha512-QzWAKo7kpHxbuHqUC28DZ9pIKpSi2ts2OJnoIGI26+HMgq92ZZ4vk8iJd4XsxN+tYfNJxzH6W62X5eTcsBymHw==", "cpu": [ "arm64" ], @@ -577,9 +352,9 @@ } }, "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", - "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.3.tgz", + "integrity": "sha512-Ju+g2xn1E2AKO6YBhxjj+ACcsPQRHT0bhpglxcEf+3uyPY+/gL8veniKoo96335ZaPo03bdDXMv0t+BBFAbmRA==", "cpu": [ "x64" ], @@ -593,9 +368,9 @@ } }, "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", - "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.3.tgz", + "integrity": "sha512-x1uE93lyP6wEwGvgAIV0gP6zmaL/a0tGzJs/BIDDG0zeBhMnuUPm7ptxGhUbcGs4okDJrk4nxgrmxpib9g6HpA==", "cpu": [ "arm" ], @@ -609,9 +384,9 @@ } }, "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", - "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.3.tgz", + "integrity": "sha512-I4RxkXU90cpufazhGPyVujYwfIm9Nk1QDEmiIsaPwdnm013F7RIceaCc87kAH+oUB1ezqEvC6ga4m7MSlqsJvQ==", "cpu": [ "arm64" ], @@ -625,9 +400,9 @@ } }, "node_modules/@img/sharp-libvips-linux-ppc64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", - "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.3.tgz", + "integrity": "sha512-Y2T7IsQvJLMCBM+pmPbM3bKT/yYJvVtLJGfCs4Sp95SjvnFIjynbjzsa7dY1fRJX45FTSfDksbTp6AGWudiyCg==", "cpu": [ "ppc64" ], @@ -640,26 +415,10 @@ "url": "https://opencollective.com/libvips" } }, - "node_modules/@img/sharp-libvips-linux-riscv64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", - "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", - "cpu": [ - "riscv64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", - "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.3.tgz", + "integrity": "sha512-RgWrs/gVU7f+K7P+KeHFaBAJlNkD1nIZuVXdQv6S+fNA6syCcoboNjsV2Pou7zNlVdNQoQUpQTk8SWDHUA3y/w==", "cpu": [ "s390x" ], @@ -673,9 +432,9 @@ } }, "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", - "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.3.tgz", + "integrity": "sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg==", "cpu": [ "x64" ], @@ -689,9 +448,9 @@ } }, "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", - "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.3.tgz", + "integrity": "sha512-F9q83RZ8yaCwENw1GieztSfj5msz7GGykG/BA+MOUefvER69K/ubgFHNeSyUu64amHIYKGDs4sRCMzXVj8sEyw==", "cpu": [ "arm64" ], @@ -705,9 +464,9 @@ } }, "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", - "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.3.tgz", + "integrity": "sha512-U5PUY5jbc45ANM6tSJpsgqmBF/VsL6LnxJmIf11kB7J5DctHgqm0SkuXzVWtIY90GnJxKnC/JT251TDnk1fu/g==", "cpu": [ "x64" ], @@ -721,9 +480,9 @@ } }, "node_modules/@img/sharp-linux-arm": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", - "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.4.tgz", + "integrity": "sha512-Xyam4mlqM0KkTHYVSuc6wXRmM7LGN0P12li03jAnZ3EJWZqj83+hi8Y9UxZUbxsgsK1qOEwg7O0Bc0LjqQVtxA==", "cpu": [ "arm" ], @@ -739,13 +498,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.2.4" + "@img/sharp-libvips-linux-arm": "1.2.3" } }, "node_modules/@img/sharp-linux-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", - "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.4.tgz", + "integrity": "sha512-YXU1F/mN/Wu786tl72CyJjP/Ngl8mGHN1hST4BGl+hiW5jhCnV2uRVTNOcaYPs73NeT/H8Upm3y9582JVuZHrQ==", "cpu": [ "arm64" ], @@ -761,13 +520,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.2.4" + "@img/sharp-libvips-linux-arm64": "1.2.3" } }, "node_modules/@img/sharp-linux-ppc64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", - "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.4.tgz", + "integrity": "sha512-F4PDtF4Cy8L8hXA2p3TO6s4aDt93v+LKmpcYFLAVdkkD3hSxZzee0rh6/+94FpAynsuMpLX5h+LRsSG3rIciUQ==", "cpu": [ "ppc64" ], @@ -783,35 +542,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-ppc64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-riscv64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", - "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", - "cpu": [ - "riscv64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-riscv64": "1.2.4" + "@img/sharp-libvips-linux-ppc64": "1.2.3" } }, "node_modules/@img/sharp-linux-s390x": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", - "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.4.tgz", + "integrity": "sha512-qVrZKE9Bsnzy+myf7lFKvng6bQzhNUAYcVORq2P7bDlvmF6u2sCmK2KyEQEBdYk+u3T01pVsPrkj943T1aJAsw==", "cpu": [ "s390x" ], @@ -827,13 +564,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.2.4" + "@img/sharp-libvips-linux-s390x": "1.2.3" } }, "node_modules/@img/sharp-linux-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", - "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.4.tgz", + "integrity": "sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A==", "cpu": [ "x64" ], @@ -849,13 +586,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.2.4" + "@img/sharp-libvips-linux-x64": "1.2.3" } }, "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", - "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.4.tgz", + "integrity": "sha512-8hDVvW9eu4yHWnjaOOR8kHVrew1iIX+MUgwxSuH2XyYeNRtLUe4VNioSqbNkB7ZYQJj9rUTT4PyRscyk2PXFKA==", "cpu": [ "arm64" ], @@ -871,13 +608,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + "@img/sharp-libvips-linuxmusl-arm64": "1.2.3" } }, "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", - "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.4.tgz", + "integrity": "sha512-lU0aA5L8QTlfKjpDCEFOZsTYGn3AEiO6db8W5aQDxj0nQkVrZWmN3ZP9sYKWJdtq3PWPhUNlqehWyXpYDcI9Sg==", "cpu": [ "x64" ], @@ -893,20 +630,20 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + "@img/sharp-libvips-linuxmusl-x64": "1.2.3" } }, "node_modules/@img/sharp-wasm32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", - "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.4.tgz", + "integrity": "sha512-33QL6ZO/qpRyG7woB/HUALz28WnTMI2W1jgX3Nu2bypqLIKx/QKMILLJzJjI+SIbvXdG9fUnmrxR7vbi1sTBeA==", "cpu": [ "wasm32" ], "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", "optional": true, "dependencies": { - "@emnapi/runtime": "^1.7.0" + "@emnapi/runtime": "^1.5.0" }, "engines": { "node": "^18.17.0 || ^20.3.0 || >=21.0.0" @@ -916,9 +653,9 @@ } }, "node_modules/@img/sharp-win32-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", - "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.4.tgz", + "integrity": "sha512-2Q250do/5WXTwxW3zjsEuMSv5sUU4Tq9VThWKlU2EYLm4MB7ZeMwF+SFJutldYODXF6jzc6YEOC+VfX0SZQPqA==", "cpu": [ "arm64" ], @@ -935,9 +672,9 @@ } }, "node_modules/@img/sharp-win32-ia32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", - "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.4.tgz", + "integrity": "sha512-3ZeLue5V82dT92CNL6rsal6I2weKw1cYu+rGKm8fOCCtJTR2gYeUfY3FqUnIJsMUPIH68oS5jmZ0NiJ508YpEw==", "cpu": [ "ia32" ], @@ -954,9 +691,9 @@ } }, "node_modules/@img/sharp-win32-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", - "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.4.tgz", + "integrity": "sha512-xIyj4wpYs8J18sVN3mSQjwrw7fKUqRw+Z5rnHNCy5fYTxigBz81u5mOMPmFumwjcn8+ld1ppptMBCLic1nz6ig==", "cpu": [ "x64" ], @@ -972,6 +709,19 @@ "url": "https://opencollective.com/libvips" } }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -1036,15 +786,15 @@ } }, "node_modules/@next/env": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/env/-/env-16.1.6.tgz", - "integrity": "sha512-N1ySLuZjnAtN3kFnwhAwPvZah8RJxKasD7x1f8shFqhncnWZn4JMfg37diLNuoHsLAlrDfM3g4mawVdtAG8XLQ==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-15.5.4.tgz", + "integrity": "sha512-27SQhYp5QryzIT5uO8hq99C69eLQ7qkzkDPsk3N+GuS2XgOgoYEeOav7Pf8Tn4drECOVDsDg8oj+/DVy8qQL2A==", "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.1.6.tgz", - "integrity": "sha512-/Qq3PTagA6+nYVfryAtQ7/9FEr/6YVyvOtl6rZnGsbReGLf0jZU6gkpr1FuChAQpvV46a78p4cmHOVP8mbfSMQ==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-15.5.4.tgz", + "integrity": "sha512-SR1vhXNNg16T4zffhJ4TS7Xn7eq4NfKfcOsRwea7RIAHrjRpI9ALYbamqIJqkAhowLlERffiwk0FMvTLNdnVtw==", "dev": true, "license": "MIT", "dependencies": { @@ -1052,9 +802,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.1.6.tgz", - "integrity": "sha512-wTzYulosJr/6nFnqGW7FrG3jfUUlEf8UjGA0/pyypJl42ExdVgC6xJgcXQ+V8QFn6niSG2Pb8+MIG1mZr2vczw==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.5.4.tgz", + "integrity": "sha512-nopqz+Ov6uvorej8ndRX6HlxCYWCO3AHLfKK2TYvxoSB2scETOcfm/HSS3piPqc3A+MUgyHoqE6je4wnkjfrOA==", "cpu": [ "arm64" ], @@ -1068,9 +818,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.1.6.tgz", - "integrity": "sha512-BLFPYPDO+MNJsiDWbeVzqvYd4NyuRrEYVB5k2N3JfWncuHAy2IVwMAOlVQDFjj+krkWzhY2apvmekMkfQR0CUQ==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.5.4.tgz", + "integrity": "sha512-QOTCFq8b09ghfjRJKfb68kU9k2K+2wsC4A67psOiMn849K9ZXgCSRQr0oVHfmKnoqCbEmQWG1f2h1T2vtJJ9mA==", "cpu": [ "x64" ], @@ -1084,9 +834,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.1.6.tgz", - "integrity": "sha512-OJYkCd5pj/QloBvoEcJ2XiMnlJkRv9idWA/j0ugSuA34gMT6f5b7vOiCQHVRpvStoZUknhl6/UxOXL4OwtdaBw==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.5.4.tgz", + "integrity": "sha512-eRD5zkts6jS3VfE/J0Kt1VxdFqTnMc3QgO5lFE5GKN3KDI/uUpSyK3CjQHmfEkYR4wCOl0R0XrsjpxfWEA++XA==", "cpu": [ "arm64" ], @@ -1100,9 +850,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.1.6.tgz", - "integrity": "sha512-S4J2v+8tT3NIO9u2q+S0G5KdvNDjXfAv06OhfOzNDaBn5rw84DGXWndOEB7d5/x852A20sW1M56vhC/tRVbccQ==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.5.4.tgz", + "integrity": "sha512-TOK7iTxmXFc45UrtKqWdZ1shfxuL4tnVAOuuJK4S88rX3oyVV4ZkLjtMT85wQkfBrOOvU55aLty+MV8xmcJR8A==", "cpu": [ "arm64" ], @@ -1116,9 +866,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.1.6.tgz", - "integrity": "sha512-2eEBDkFlMMNQnkTyPBhQOAyn2qMxyG2eE7GPH2WIDGEpEILcBPI/jdSv4t6xupSP+ot/jkfrCShLAa7+ZUPcJQ==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.5.4.tgz", + "integrity": "sha512-7HKolaj+481FSW/5lL0BcTkA4Ueam9SPYWyN/ib/WGAFZf0DGAN8frNpNZYFHtM4ZstrHZS3LY3vrwlIQfsiMA==", "cpu": [ "x64" ], @@ -1132,9 +882,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.1.6.tgz", - "integrity": "sha512-oicJwRlyOoZXVlxmIMaTq7f8pN9QNbdes0q2FXfRsPhfCi8n8JmOZJm5oo1pwDaFbnnD421rVU409M3evFbIqg==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.5.4.tgz", + "integrity": "sha512-nlQQ6nfgN0nCO/KuyEUwwOdwQIGjOs4WNMjEUtpIQJPR2NUfmGpW2wkJln1d4nJ7oUzd1g4GivH5GoEPBgfsdw==", "cpu": [ "x64" ], @@ -1148,9 +898,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.1.6.tgz", - "integrity": "sha512-gQmm8izDTPgs+DCWH22kcDmuUp7NyiJgEl18bcr8irXA5N2m2O+JQIr6f3ct42GOs9c0h8QF3L5SzIxcYAAXXw==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.5.4.tgz", + "integrity": "sha512-PcR2bN7FlM32XM6eumklmyWLLbu2vs+D7nJX8OAIoWy69Kef8mfiN4e8TUv2KohprwifdpFKPzIP1njuCjD0YA==", "cpu": [ "arm64" ], @@ -1164,9 +914,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.1.6.tgz", - "integrity": "sha512-NRfO39AIrzBnixKbjuo2YiYhB6o9d8v/ymU9m/Xk8cyVk+k7XylniXkHwjs4s70wedVffc6bQNbufk5v0xEm0A==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.5.4.tgz", + "integrity": "sha512-1ur2tSHZj8Px/KMAthmuI9FMp/YFusMMGoRNJaRZMOlSkgvLjzosSdQI0cJAKogdHl3qXUQKL9MGaYvKwA7DXg==", "cpu": [ "x64" ], @@ -1227,117 +977,501 @@ "node": ">=12.4.0" } }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", "license": "MIT" }, - "node_modules/@swc/helpers": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", - "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.8.0" - } + "node_modules/@radix-ui/primitive": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", + "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==", + "license": "MIT" }, - "node_modules/@tailwindcss/node": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.1.tgz", - "integrity": "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==", - "dev": true, + "node_modules/@radix-ui/react-alert-dialog": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.1.15.tgz", + "integrity": "sha512-oTVLkEw5GpdRe29BqJ0LSDFWI3qu0vR1M0mUkOQWDIUnY/QIkLpgDMWuKxP94c2NAC2LGcgVhG1ImF3jkZ5wXw==", "license": "MIT", "dependencies": { - "@jridgewell/remapping": "^2.3.5", - "enhanced-resolve": "^5.19.0", - "jiti": "^2.6.1", - "lightningcss": "1.31.1", - "magic-string": "^0.30.21", - "source-map-js": "^1.2.1", - "tailwindcss": "4.2.1" + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dialog": "1.1.15", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/@tailwindcss/oxide": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.1.tgz", - "integrity": "sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw==", - "dev": true, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", "license": "MIT", - "engines": { - "node": ">= 20" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.2.1", - "@tailwindcss/oxide-darwin-arm64": "4.2.1", - "@tailwindcss/oxide-darwin-x64": "4.2.1", - "@tailwindcss/oxide-freebsd-x64": "4.2.1", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.1", - "@tailwindcss/oxide-linux-arm64-gnu": "4.2.1", - "@tailwindcss/oxide-linux-arm64-musl": "4.2.1", - "@tailwindcss/oxide-linux-x64-gnu": "4.2.1", - "@tailwindcss/oxide-linux-x64-musl": "4.2.1", - "@tailwindcss/oxide-wasm32-wasi": "4.2.1", - "@tailwindcss/oxide-win32-arm64-msvc": "4.2.1", - "@tailwindcss/oxide-win32-x64-msvc": "4.2.1" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.1.tgz", - "integrity": "sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg==", - "cpu": [ - "arm64" - ], - "dev": true, + "node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 20" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.1.tgz", - "integrity": "sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 20" + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz", + "integrity": "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.1.tgz", - "integrity": "sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz", + "integrity": "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==", "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 20" - } + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-escape-keydown": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz", + "integrity": "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", + "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", + "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", + "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", + "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", + "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", + "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-effect-event": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", + "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", + "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", + "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.13.0.tgz", + "integrity": "sha512-2ih5qGw5SZJ+2fLZxP6Lr6Na2NTIgPRL/7Kmyuw0uIyBQnuhQ8fi8fzUTd38eIQmqp+GYLC00cI6WgtqHxBwmw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.14.tgz", + "integrity": "sha512-hpz+8vFk3Ic2xssIA3e01R6jkmsAhvkQdXlEbRTk6S10xDAtiQiM3FyvZVGsucefq764euO/b8WUW9ysLdThHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.0", + "lightningcss": "1.30.1", + "magic-string": "^0.30.19", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.14" + } + }, + "node_modules/@tailwindcss/node/node_modules/tailwindcss": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.14.tgz", + "integrity": "sha512-b7pCxjGO98LnxVkKjaZSDeNuljC4ueKUddjENJOADtubtdo8llTaJy7HwBMeLNSSo2N5QIAgklslK1+Ir8r6CA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.14.tgz", + "integrity": "sha512-23yx+VUbBwCg2x5XWdB8+1lkPajzLmALEfMb51zZUBYaYVPDQvBSD/WYDqiVyBIo2BZFa3yw1Rpy3G2Jp+K0dw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.4", + "tar": "^7.5.1" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.14", + "@tailwindcss/oxide-darwin-arm64": "4.1.14", + "@tailwindcss/oxide-darwin-x64": "4.1.14", + "@tailwindcss/oxide-freebsd-x64": "4.1.14", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.14", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.14", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.14", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.14", + "@tailwindcss/oxide-linux-x64-musl": "4.1.14", + "@tailwindcss/oxide-wasm32-wasi": "4.1.14", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.14", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.14" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.14.tgz", + "integrity": "sha512-a94ifZrGwMvbdeAxWoSuGcIl6/DOP5cdxagid7xJv6bwFp3oebp7y2ImYsnZBMTwjn5Ev5xESvS3FFYUGgPODQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.14.tgz", + "integrity": "sha512-HkFP/CqfSh09xCnrPJA7jud7hij5ahKyWomrC3oiO2U9i0UjP17o9pJbxUN0IJ471GTQQmzwhp0DEcpbp4MZTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.14.tgz", + "integrity": "sha512-eVNaWmCgdLf5iv6Qd3s7JI5SEFBFRtfm6W0mphJYXgvnDEAZ5sZzqmI06bK6xo0IErDHdTA5/t7d4eTfWbWOFw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } }, "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.1.tgz", - "integrity": "sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.14.tgz", + "integrity": "sha512-QWLoRXNikEuqtNb0dhQN6wsSVVjX6dmUFzuuiL09ZeXju25dsei2uIPl71y2Ic6QbNBsB4scwBoFnlBfabHkEw==", "cpu": [ "x64" ], @@ -1348,13 +1482,13 @@ "freebsd" ], "engines": { - "node": ">= 20" + "node": ">= 10" } }, "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.1.tgz", - "integrity": "sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.14.tgz", + "integrity": "sha512-VB4gjQni9+F0VCASU+L8zSIyjrLLsy03sjcR3bM0V2g4SNamo0FakZFKyUQ96ZVwGK4CaJsc9zd/obQy74o0Fw==", "cpu": [ "arm" ], @@ -1365,153 +1499,398 @@ "linux" ], "engines": { - "node": ">= 20" + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.14.tgz", + "integrity": "sha512-qaEy0dIZ6d9vyLnmeg24yzA8XuEAD9WjpM5nIM1sUgQ/Zv7cVkharPDQcmm/t/TvXoKo/0knI3me3AGfdx6w1w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.14.tgz", + "integrity": "sha512-ISZjT44s59O8xKsPEIesiIydMG/sCXoMBCqsphDm/WcbnuWLxxb+GcvSIIA5NjUw6F8Tex7s5/LM2yDy8RqYBQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.14.tgz", + "integrity": "sha512-02c6JhLPJj10L2caH4U0zF8Hji4dOeahmuMl23stk0MU1wfd1OraE7rOloidSF8W5JTHkFdVo/O7uRUJJnUAJg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.14.tgz", + "integrity": "sha512-TNGeLiN1XS66kQhxHG/7wMeQDOoL0S33x9BgmydbrWAb9Qw0KYdd8o1ifx4HOGDWhVmJ+Ul+JQ7lyknQFilO3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.14.tgz", + "integrity": "sha512-uZYAsaW/jS/IYkd6EWPJKW/NlPNSkWkBlaeVBi/WsFQNP05/bzkebUL8FH1pdsqx4f2fH/bWFcUABOM9nfiJkQ==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.5.0", + "@emnapi/runtime": "^1.5.0", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.0.5", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.14.tgz", + "integrity": "sha512-Az0RnnkcvRqsuoLH2Z4n3JfAef0wElgzHD5Aky/e+0tBUxUhIeIqFBTMNQvmMRSP15fWwmvjBxZ3Q8RhsDnxAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.14.tgz", + "integrity": "sha512-ttblVGHgf68kEE4om1n/n44I0yGPkCPbLsqzjvybhpwa6mKKtgFfAzy6btc3HRmuW7nHe0OOrSeNP9sQmmH9XA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/postcss": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.14.tgz", + "integrity": "sha512-BdMjIxy7HUNThK87C7BC8I1rE8BVUsfNQSI5siQ4JK3iIa3w0XyVvVL9SXLWO//CtYTcp1v7zci0fYwJOjB+Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "@tailwindcss/node": "4.1.14", + "@tailwindcss/oxide": "4.1.14", + "postcss": "^8.4.41", + "tailwindcss": "4.1.14" + } + }, + "node_modules/@tailwindcss/postcss/node_modules/tailwindcss": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.14.tgz", + "integrity": "sha512-b7pCxjGO98LnxVkKjaZSDeNuljC4ueKUddjENJOADtubtdo8llTaJy7HwBMeLNSSo2N5QIAgklslK1+Ir8r6CA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tinyhttp/accepts": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@tinyhttp/accepts/-/accepts-2.2.3.tgz", + "integrity": "sha512-9pQN6pJAJOU3McmdJWTcyq7LLFW8Lj5q+DadyKcvp+sxMkEpktKX5sbfJgJuOvjk6+1xWl7pe0YL1US1vaO/1w==", + "license": "MIT", + "dependencies": { + "mime": "4.0.4", + "negotiator": "^0.6.3" + }, + "engines": { + "node": ">=12.20.0" + }, + "funding": { + "type": "individual", + "url": "https://github.com/tinyhttp/tinyhttp?sponsor=1" + } + }, + "node_modules/@tinyhttp/app": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@tinyhttp/app/-/app-2.5.2.tgz", + "integrity": "sha512-DcB3Y8GQppLQlO2VxRYF7LzTEAoZb+VRQXuIsErcu2fNaM1xdx6NQZDso5rlZUiaeg6KYYRfU34N4XkZbv6jSA==", + "license": "MIT", + "dependencies": { + "@tinyhttp/cookie": "2.1.1", + "@tinyhttp/proxy-addr": "2.2.1", + "@tinyhttp/req": "2.2.5", + "@tinyhttp/res": "2.2.5", + "@tinyhttp/router": "2.2.3", + "header-range-parser": "1.1.3", + "regexparam": "^2.0.2" + }, + "engines": { + "node": ">=14.21.3" + }, + "funding": { + "type": "individual", + "url": "https://github.com/tinyhttp/tinyhttp?sponsor=1" + } + }, + "node_modules/@tinyhttp/content-disposition": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@tinyhttp/content-disposition/-/content-disposition-2.2.2.tgz", + "integrity": "sha512-crXw1txzrS36huQOyQGYFvhTeLeG0Si1xu+/l6kXUVYpE0TjFjEZRqTbuadQLfKGZ0jaI+jJoRyqaWwxOSHW2g==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + }, + "funding": { + "type": "individual", + "url": "https://github.com/tinyhttp/tinyhttp?sponsor=1" + } + }, + "node_modules/@tinyhttp/content-type": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@tinyhttp/content-type/-/content-type-0.1.4.tgz", + "integrity": "sha512-dl6f3SHIJPYbhsW1oXdrqOmLSQF/Ctlv3JnNfXAE22kIP7FosqJHxkz/qj2gv465prG8ODKH5KEyhBkvwrueKQ==", + "license": "MIT", + "engines": { + "node": ">=12.4" + } + }, + "node_modules/@tinyhttp/cookie": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@tinyhttp/cookie/-/cookie-2.1.1.tgz", + "integrity": "sha512-h/kL9jY0e0Dvad+/QU3efKZww0aTvZJslaHj3JTPmIPC9Oan9+kYqmh3M6L5JUQRuTJYFK2nzgL2iJtH2S+6dA==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + }, + "funding": { + "type": "individual", + "url": "https://github.com/tinyhttp/tinyhttp?sponsor=1" + } + }, + "node_modules/@tinyhttp/cookie-signature": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@tinyhttp/cookie-signature/-/cookie-signature-2.1.1.tgz", + "integrity": "sha512-VDsSMY5OJfQJIAtUgeQYhqMPSZptehFSfvEEtxr+4nldPA8IImlp3QVcOVuK985g4AFR4Hl1sCbWCXoqBnVWnw==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/@tinyhttp/cors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@tinyhttp/cors/-/cors-2.0.1.tgz", + "integrity": "sha512-qrmo6WJuaiCzKWagv2yA/kw6hIISfF/hOqPWwmI6w0o8apeTMmRN3DoCFvQ/wNVuWVdU5J4KU7OX8aaSOEq51A==", + "license": "MIT", + "dependencies": { + "@tinyhttp/vary": "^0.1.3" + }, + "engines": { + "node": ">=12.20 || 14.x || >=16" + } + }, + "node_modules/@tinyhttp/encode-url": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@tinyhttp/encode-url/-/encode-url-2.1.1.tgz", + "integrity": "sha512-AhY+JqdZ56qV77tzrBm0qThXORbsVjs/IOPgGCS7x/wWnsa/Bx30zDUU/jPAUcSzNOzt860x9fhdGpzdqbUeUw==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/@tinyhttp/etag": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@tinyhttp/etag/-/etag-2.1.2.tgz", + "integrity": "sha512-j80fPKimGqdmMh6962y+BtQsnYPVCzZfJw0HXjyH70VaJBHLKGF+iYhcKqzI3yef6QBNa8DKIPsbEYpuwApXTw==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" } }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.1.tgz", - "integrity": "sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ==", - "cpu": [ - "arm64" - ], - "dev": true, + "node_modules/@tinyhttp/forwarded": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@tinyhttp/forwarded/-/forwarded-2.1.2.tgz", + "integrity": "sha512-9H/eulJ68ElY/+zYpTpNhZ7vxGV+cnwaR6+oQSm7bVgZMyuQfgROW/qvZuhmgDTIxnGMXst+Ba4ij6w6Krcs3w==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">= 20" + "node": ">=12.20.0" } }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.1.tgz", - "integrity": "sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ==", - "cpu": [ - "arm64" - ], - "dev": true, + "node_modules/@tinyhttp/logger": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@tinyhttp/logger/-/logger-2.1.0.tgz", + "integrity": "sha512-Ma1fJ9CwUbn9r61/4HW6+nflsVoslpOnCrfQ6UeZq7GGIgwLzofms3HoSVG7M+AyRMJpxlfcDdbH5oFVroDMKA==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "colorette": "^2.0.20", + "dayjs": "^1.11.13", + "http-status-emojis": "^2.2.0" + }, "engines": { - "node": ">= 20" + "node": ">=14.18 || >=16.20" } }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.1.tgz", - "integrity": "sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/@tinyhttp/proxy-addr": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@tinyhttp/proxy-addr/-/proxy-addr-2.2.1.tgz", + "integrity": "sha512-BicqMqVI91hHq2BQmnqJUh0FQUnx7DncwSGgu2ghlh+JZG2rHK2ZN/rXkfhrx1rrUw6hnd0L36O8GPMh01+dDQ==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@tinyhttp/forwarded": "2.1.2", + "ipaddr.js": "^2.2.0" + }, "engines": { - "node": ">= 20" + "node": ">=12.20.0" } }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.1.tgz", - "integrity": "sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/@tinyhttp/req": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@tinyhttp/req/-/req-2.2.5.tgz", + "integrity": "sha512-trfsXwtmsNjMcGKcLJ+45h912kLRqBQCQD06ams3Tq0kf4gHLxjHjoYOC1Z9yGjOn81XllRx8wqvnvr+Kbe3gw==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@tinyhttp/accepts": "2.2.3", + "@tinyhttp/type-is": "2.2.4", + "@tinyhttp/url": "2.1.1", + "header-range-parser": "^1.1.3" + }, "engines": { - "node": ">= 20" + "node": ">=12.20.0" } }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.1.tgz", - "integrity": "sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "dev": true, + "node_modules/@tinyhttp/res": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@tinyhttp/res/-/res-2.2.5.tgz", + "integrity": "sha512-yBsqjWygpuKAVz4moWlP4hqzwiDDqfrn2mA0wviJAcgvGiyOErtlQwXY7aj3aPiCpURvxvEFO//Gdy6yV+xEpA==", "license": "MIT", - "optional": true, "dependencies": { - "@emnapi/core": "^1.8.1", - "@emnapi/runtime": "^1.8.1", - "@emnapi/wasi-threads": "^1.1.0", - "@napi-rs/wasm-runtime": "^1.1.1", - "@tybys/wasm-util": "^0.10.1", - "tslib": "^2.8.1" + "@tinyhttp/content-disposition": "2.2.2", + "@tinyhttp/cookie": "2.1.1", + "@tinyhttp/cookie-signature": "2.1.1", + "@tinyhttp/encode-url": "2.1.1", + "@tinyhttp/req": "2.2.5", + "@tinyhttp/send": "2.2.3", + "@tinyhttp/vary": "^0.1.3", + "es-escape-html": "^0.1.1", + "mime": "4.0.4" }, "engines": { - "node": ">=14.0.0" + "node": ">=12.20.0" } }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.1.tgz", - "integrity": "sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA==", - "cpu": [ - "arm64" - ], - "dev": true, + "node_modules/@tinyhttp/router": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@tinyhttp/router/-/router-2.2.3.tgz", + "integrity": "sha512-O0MQqWV3Vpg/uXsMYg19XsIgOhwjyhTYWh51Qng7bxqXixxx2PEvZWnFjP7c84K7kU/nUX41KpkEBTLnznk9/Q==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">= 20" + "node": ">=12.20.0" } }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.1.tgz", - "integrity": "sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/@tinyhttp/send": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@tinyhttp/send/-/send-2.2.3.tgz", + "integrity": "sha512-o4cVHHGQ8WjVBS8UT0EE/2WnjoybrfXikHwsRoNlG1pfrC/Sd01u1N4Te8cOd/9aNGLr4mGxWb5qTm2RRtEi7g==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "@tinyhttp/content-type": "^0.1.4", + "@tinyhttp/etag": "2.1.2", + "mime": "4.0.4" + }, "engines": { - "node": ">= 20" + "node": ">=12.20.0" } }, - "node_modules/@tailwindcss/postcss": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.2.1.tgz", - "integrity": "sha512-OEwGIBnXnj7zJeonOh6ZG9woofIjGrd2BORfvE5p9USYKDCZoQmfqLcfNiRWoJlRWLdNPn2IgVZuWAOM4iTYMw==", - "dev": true, + "node_modules/@tinyhttp/type-is": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@tinyhttp/type-is/-/type-is-2.2.4.tgz", + "integrity": "sha512-7F328NheridwjIfefBB2j1PEcKKABpADgv7aCJaE8x8EON77ZFrAkI3Rir7pGjopV7V9MBmW88xUQigBEX2rmQ==", "license": "MIT", "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.2.1", - "@tailwindcss/oxide": "4.2.1", - "postcss": "^8.5.6", - "tailwindcss": "4.2.1" + "@tinyhttp/content-type": "^0.1.4", + "mime": "4.0.4" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/@tinyhttp/url": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@tinyhttp/url/-/url-2.1.1.tgz", + "integrity": "sha512-POJeq2GQ5jI7Zrdmj22JqOijB5/GeX+LEX7DUdml1hUnGbJOTWDx7zf2b5cCERj7RoXL67zTgyzVblBJC+NJWg==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/@tinyhttp/vary": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@tinyhttp/vary/-/vary-0.1.3.tgz", + "integrity": "sha512-SoL83sQXAGiHN1jm2VwLUWQSQeDAAl1ywOm6T0b0Cg1CZhVsjoiZadmjhxF6FHCCY7OHHVaLnTgSMxTPIDLxMg==", + "license": "MIT", + "engines": { + "node": ">=12.20" } }, "node_modules/@tybys/wasm-util": { @@ -1547,9 +1926,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.19.37", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.37.tgz", - "integrity": "sha512-8kzdPJ3FsNsVIurqBs7oodNnCEVbni9yUEkaHbgptDACOPW04jimGagZ51E6+lXUwJjgnBw+hyko/lkFWCldqw==", + "version": "20.19.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.21.tgz", + "integrity": "sha512-CsGG2P3I5y48RPMfprQGfy4JPRZ6csfC3ltBZSRItG3ngggmNY/qs2uZKp4p9VbrpqNNSMzUZNFZKzgOGnd/VA==", "dev": true, "license": "MIT", "dependencies": { @@ -1557,41 +1936,43 @@ } }, "node_modules/@types/react": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", - "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", - "dev": true, + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz", + "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==", + "devOptional": true, "license": "MIT", "peer": true, "dependencies": { - "csstype": "^3.2.2" + "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", - "dev": true, + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.1.tgz", + "integrity": "sha512-/EEvYBdT3BflCWvTMO7YkYBHVE9Ci6XdqZciZANQgKpaiDRGOLIlRo91jbTNRQjgPFWVaRxcYc0luVNFitz57A==", + "devOptional": true, "license": "MIT", + "peer": true, "peerDependencies": { "@types/react": "^19.2.0" } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.1.tgz", - "integrity": "sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==", + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.0.tgz", + "integrity": "sha512-hA8gxBq4ukonVXPy0OKhiaUh/68D0E88GSmtC1iAEnGaieuDi38LhS7jdCHRLi6ErJBNDGCzvh5EnzdPwUc0DA==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.56.1", - "@typescript-eslint/type-utils": "8.56.1", - "@typescript-eslint/utils": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1", - "ignore": "^7.0.5", + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.46.0", + "@typescript-eslint/type-utils": "8.46.0", + "@typescript-eslint/utils": "8.46.0", + "@typescript-eslint/visitor-keys": "8.46.0", + "graphemer": "^1.4.0", + "ignore": "^7.0.0", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1601,8 +1982,8 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.56.1", - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "@typescript-eslint/parser": "^8.46.0", + "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, @@ -1617,18 +1998,18 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.56.1.tgz", - "integrity": "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==", + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.46.0.tgz", + "integrity": "sha512-n1H6IcDhmmUEG7TNVSspGmiHHutt7iVKtZwRppD7e04wha5MrkV1h3pti9xQLcCMt6YWsncpoT0HMjkH1FNwWQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1", - "debug": "^4.4.3" + "@typescript-eslint/scope-manager": "8.46.0", + "@typescript-eslint/types": "8.46.0", + "@typescript-eslint/typescript-estree": "8.46.0", + "@typescript-eslint/visitor-keys": "8.46.0", + "debug": "^4.3.4" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1638,20 +2019,20 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.56.1.tgz", - "integrity": "sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==", + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.46.0.tgz", + "integrity": "sha512-OEhec0mH+U5Je2NZOeK1AbVCdm0ChyapAyTeXVIYTPXDJ3F07+cu87PPXcGoYqZ7M9YJVvFnfpGg1UmCIqM+QQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.56.1", - "@typescript-eslint/types": "^8.56.1", - "debug": "^4.4.3" + "@typescript-eslint/tsconfig-utils": "^8.46.0", + "@typescript-eslint/types": "^8.46.0", + "debug": "^4.3.4" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1665,14 +2046,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.56.1.tgz", - "integrity": "sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==", + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.46.0.tgz", + "integrity": "sha512-lWETPa9XGcBes4jqAMYD9fW0j4n6hrPtTJwWDmtqgFO/4HF4jmdH/Q6wggTw5qIT5TXjKzbt7GsZUBnWoO3dqw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1" + "@typescript-eslint/types": "8.46.0", + "@typescript-eslint/visitor-keys": "8.46.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1683,9 +2064,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.1.tgz", - "integrity": "sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==", + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.0.tgz", + "integrity": "sha512-WrYXKGAHY836/N7zoK/kzi6p8tXFhasHh8ocFL9VZSAkvH956gfeRfcnhs3xzRy8qQ/dq3q44v1jvQieMFg2cw==", "dev": true, "license": "MIT", "engines": { @@ -1700,17 +2081,17 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.56.1.tgz", - "integrity": "sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==", + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.46.0.tgz", + "integrity": "sha512-hy+lvYV1lZpVs2jRaEYvgCblZxUoJiPyCemwbQZ+NGulWkQRy0HRPYAoef/CNSzaLt+MLvMptZsHXHlkEilaeg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1", - "@typescript-eslint/utils": "8.56.1", - "debug": "^4.4.3", - "ts-api-utils": "^2.4.0" + "@typescript-eslint/types": "8.46.0", + "@typescript-eslint/typescript-estree": "8.46.0", + "@typescript-eslint/utils": "8.46.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1720,14 +2101,14 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.56.1.tgz", - "integrity": "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==", + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.46.0.tgz", + "integrity": "sha512-bHGGJyVjSE4dJJIO5yyEWt/cHyNwga/zXGJbJJ8TiO01aVREK6gCTu3L+5wrkb1FbDkQ+TKjMNe9R/QQQP9+rA==", "dev": true, "license": "MIT", "engines": { @@ -1739,21 +2120,22 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.1.tgz", - "integrity": "sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==", + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.46.0.tgz", + "integrity": "sha512-ekDCUfVpAKWJbRfm8T1YRrCot1KFxZn21oV76v5Fj4tr7ELyk84OS+ouvYdcDAwZL89WpEkEj2DKQ+qg//+ucg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.56.1", - "@typescript-eslint/tsconfig-utils": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1", - "debug": "^4.4.3", - "minimatch": "^10.2.2", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.4.0" + "@typescript-eslint/project-service": "8.46.0", + "@typescript-eslint/tsconfig-utils": "8.46.0", + "@typescript-eslint/types": "8.46.0", + "@typescript-eslint/visitor-keys": "8.46.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1766,69 +2148,73 @@ "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^4.0.2" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" }, "engines": { - "node": "18 || 20 || >=22" + "node": ">=8.6.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "ISC", "dependencies": { - "brace-expansion": "^5.0.2" + "is-glob": "^4.0.1" }, "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 6" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@typescript-eslint/utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.56.1.tgz", - "integrity": "sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==", + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.46.0.tgz", + "integrity": "sha512-nD6yGWPj1xiOm4Gk0k6hLSZz2XkNXhuYmyIrOWcHoPuAhjT9i5bAG+xbWPgFeNR8HPHHtpNKdYUXJl/D3x7f5g==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1" + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.46.0", + "@typescript-eslint/types": "8.46.0", + "@typescript-eslint/typescript-estree": "8.46.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1838,19 +2224,19 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.1.tgz", - "integrity": "sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==", + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.46.0.tgz", + "integrity": "sha512-FrvMpAK+hTbFy7vH5j1+tMYHMSKLE6RzluFJlkFNKD0p9YsUT75JlBSmr5so3QRzvMwU5/bIEdeNrxm8du8l3Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.56.1", - "eslint-visitor-keys": "^5.0.0" + "@typescript-eslint/types": "8.46.0", + "eslint-visitor-keys": "^4.2.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1860,19 +2246,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/@unrs/resolver-binding-android-arm-eabi": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", @@ -2143,9 +2516,9 @@ ] }, "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", "peer": true, @@ -2167,9 +2540,9 @@ } }, "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", "dependencies": { @@ -2206,6 +2579,18 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/aria-query": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", @@ -2410,9 +2795,9 @@ } }, "node_modules/axe-core": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.1.tgz", - "integrity": "sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.0.tgz", + "integrity": "sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==", "dev": true, "license": "MPL-2.0", "engines": { @@ -2436,18 +2821,6 @@ "dev": true, "license": "MIT" }, - "node_modules/baseline-browser-mapping": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", - "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.cjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/brace-expansion": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", @@ -2472,41 +2845,6 @@ "node": ">=8" } }, - "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, "node_modules/call-bind": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", @@ -2568,9 +2906,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001777", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001777.tgz", - "integrity": "sha512-tmN+fJxroPndC74efCdp12j+0rk0RHwV5Jwa1zWaFVyw2ZxAuPeG8ZgWC3Wz7uSjT3qMRQ5XHZ4COgQmsCMJAQ==", + "version": "1.0.30001750", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001750.tgz", + "integrity": "sha512-cuom0g5sdX6rw00qOoLNSFCJ9/mYIsuSOA+yzpDw8eopiFqcVwQvZHqov0vmEighRxX++cfC0Vg1G+1Iy/mSpQ==", "funding": [ { "type": "opencollective", @@ -2604,12 +2942,58 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, "node_modules/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", "license": "MIT" }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -2630,6 +3014,12 @@ "dev": true, "license": "MIT" }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2637,13 +3027,6 @@ "dev": true, "license": "MIT" }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -2660,10 +3043,10 @@ } }, "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "dev": true, + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "devOptional": true, "license": "MIT" }, "node_modules/damerau-levenshtein": { @@ -2727,6 +3110,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/dayjs": { + "version": "1.11.18", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.18.tgz", + "integrity": "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==", + "license": "MIT" + }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", @@ -2798,6 +3187,12 @@ "node": ">=8" } }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" + }, "node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -2811,6 +3206,21 @@ "node": ">=0.10.0" } }, + "node_modules/dot-prop": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-9.0.0.tgz", + "integrity": "sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^4.18.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -2826,13 +3236,6 @@ "node": ">= 0.4" } }, - "node_modules/electron-to-chromium": { - "version": "1.5.307", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.307.tgz", - "integrity": "sha512-5z3uFKBWjiNR44nFcYdkcXjKMbg5KXNdciu7mhTPo9tB7NbqSNP2sSnGR+fqknZSCwKkBN+oxiiajWs4dT6ORg==", - "dev": true, - "license": "ISC" - }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", @@ -2841,23 +3244,23 @@ "license": "MIT" }, "node_modules/enhanced-resolve": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz", - "integrity": "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==", + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.3.0" + "tapable": "^2.2.0" }, "engines": { "node": ">=10.13.0" } }, "node_modules/es-abstract": { - "version": "1.24.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", - "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", "dev": true, "license": "MIT", "dependencies": { @@ -2943,28 +3346,37 @@ "node": ">= 0.4" } }, + "node_modules/es-escape-html": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/es-escape-html/-/es-escape-html-0.1.1.tgz", + "integrity": "sha512-yUx1o+8RsG7UlszmYPtks+dm6Lho2m8lgHMOsLJQsFI0R8XwUJwiMhM1M4E/S8QLeGyf6MkDV/pWgjQ0tdTSyQ==", + "license": "MIT", + "engines": { + "node": ">=12.x" + } + }, "node_modules/es-iterator-helpers": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz", - "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.8", - "call-bound": "^1.0.4", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "es-abstract": "^1.24.1", + "es-abstract": "^1.23.6", "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.1.0", + "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", - "get-intrinsic": "^1.3.0", + "get-intrinsic": "^1.2.6", "globalthis": "^1.0.4", "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", "has-proto": "^1.2.0", "has-symbols": "^1.1.0", "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.5", + "iterator.prototype": "^1.1.4", "safe-array-concat": "^1.1.3" }, "engines": { @@ -3031,16 +3443,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -3055,25 +3457,26 @@ } }, "node_modules/eslint": { - "version": "9.39.3", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.3.tgz", - "integrity": "sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==", + "version": "9.37.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.37.0.tgz", + "integrity": "sha512-XyLmROnACWqSxiGYArdef1fItQd47weqB7iwtfr9JHwRrqIXZdcFMvvEcL9xHCmL0SNsOvF0c42lWyM1U5dgig==", "dev": true, "license": "MIT", "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", + "@eslint/config-array": "^0.21.0", + "@eslint/config-helpers": "^0.4.0", + "@eslint/core": "^0.16.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.3", - "@eslint/plugin-kit": "^0.4.1", + "@eslint/js": "9.37.0", + "@eslint/plugin-kit": "^0.4.0", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", @@ -3116,24 +3519,25 @@ } }, "node_modules/eslint-config-next": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.1.6.tgz", - "integrity": "sha512-vKq40io2B0XtkkNDYyleATwblNt8xuh3FWp8SpSz3pt7P01OkBFlKsJZ2mWt5WsCySlDQLckb1zMY9yE9Qy0LA==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-15.5.4.tgz", + "integrity": "sha512-BzgVVuT3kfJes8i2GHenC1SRJ+W3BTML11lAOYFOOPzrk2xp66jBOAGEFRw+3LkYCln5UzvFsLhojrshb5Zfaw==", "dev": true, "license": "MIT", "dependencies": { - "@next/eslint-plugin-next": "16.1.6", + "@next/eslint-plugin-next": "15.5.4", + "@rushstack/eslint-patch": "^1.10.3", + "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.32.0", + "eslint-plugin-import": "^2.31.0", "eslint-plugin-jsx-a11y": "^6.10.0", "eslint-plugin-react": "^7.37.0", - "eslint-plugin-react-hooks": "^7.0.0", - "globals": "16.4.0", - "typescript-eslint": "^8.46.0" + "eslint-plugin-react-hooks": "^5.0.0" }, "peerDependencies": { - "eslint": ">=9.0.0", + "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", "typescript": ">=3.3.1" }, "peerDependenciesMeta": { @@ -3142,19 +3546,6 @@ } } }, - "node_modules/eslint-config-next/node_modules/globals": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", - "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", @@ -3246,6 +3637,7 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -3284,6 +3676,16 @@ "ms": "^2.1.1" } }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-plugin-jsx-a11y": { "version": "6.10.2", "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", @@ -3348,49 +3750,46 @@ } }, "node_modules/eslint-plugin-react-hooks": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", - "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/core": "^7.24.4", - "@babel/parser": "^7.24.4", - "hermes-parser": "^0.25.1", - "zod": "^3.25.0 || ^4.0.0", - "zod-validation-error": "^3.5.0 || ^4.0.0" - }, "engines": { - "node": ">=18" + "node": ">=10" }, "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", - "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", - "node-exports-info": "^1.6.0", - "object-keys": "^1.1.1", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, - "engines": { - "node": ">= 0.4" - }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-scope": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", @@ -3440,9 +3839,9 @@ } }, "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -3485,6 +3884,18 @@ "node": ">=0.10.0" } }, + "node_modules/eta": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-3.5.0.tgz", + "integrity": "sha512-e3x3FBvGzeCIHhF+zhK8FZA2vC5uFn6b4HJjegUbIWrDb4mJ7JjTGMJY9VGIbRVpmSwHopNiaJibhjIr+HfLug==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3537,9 +3948,9 @@ "license": "MIT" }, "node_modules/fastq": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", - "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, "license": "ISC", "dependencies": { @@ -3604,9 +4015,9 @@ } }, "node_modules/flatted": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.4.tgz", - "integrity": "sha512-3+mMldrTAPdta5kjX2G2J7iX4zxtnwpdA8Tr2ZSjkyPSanvbZAcy6flmtnXbEybHrDcU9641lxrMfFuUxVz9vA==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true, "license": "ISC" }, @@ -3626,6 +4037,33 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/framer-motion": { + "version": "12.23.24", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.23.24.tgz", + "integrity": "sha512-HMi5HRoRCTou+3fb3h9oTLyJGBxHfW+HnNE25tAXOvVx/IvwMHK0cx7IR4a2ZU6sh3IX1Z+4ts32PcYBOqka8w==", + "license": "MIT", + "dependencies": { + "motion-dom": "^12.23.23", + "motion-utils": "^12.23.6", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -3677,16 +4115,6 @@ "node": ">= 0.4" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -3712,6 +4140,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/get-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", @@ -3745,9 +4182,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.13.6", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", - "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.12.0.tgz", + "integrity": "sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==", "dev": true, "license": "MIT", "dependencies": { @@ -3820,6 +4257,13 @@ "dev": true, "license": "ISC" }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -3914,23 +4358,21 @@ "node": ">= 0.4" } }, - "node_modules/hermes-estree": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", - "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", - "dev": true, - "license": "MIT" - }, - "node_modules/hermes-parser": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", - "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", - "dev": true, + "node_modules/header-range-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/header-range-parser/-/header-range-parser-1.1.3.tgz", + "integrity": "sha512-B9zCFt3jH8g09LR1vHL4pcAn8yMEtlSlOUdQemzHMRKMImNIhhszdeosYFfNW0WXKQtXIlWB+O4owHJKvEJYaA==", "license": "MIT", - "dependencies": { - "hermes-estree": "0.25.1" + "engines": { + "node": ">=12.22.0" } }, + "node_modules/http-status-emojis": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/http-status-emojis/-/http-status-emojis-2.2.0.tgz", + "integrity": "sha512-ompKtgwpx8ff0hsbpIB7oE4ax1LXoHmftsHHStMELX56ivG3GhofTX8ZHWlUaFKfGjcGjw6G3rPk7dJRXMmbbg==", + "license": "MIT" + }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", @@ -3968,6 +4410,15 @@ "node": ">=0.8.19" } }, + "node_modules/inflection": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-3.0.2.tgz", + "integrity": "sha512-+Bg3+kg+J6JUWn8J6bzFmOWkTQ6L/NHfDRSYU+EVvuKHDxUDHAXgqixHfVlzuBQaPOTac8hn43aPhMNk6rMe3g==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/internal-slot": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", @@ -3983,6 +4434,15 @@ "node": ">= 0.4" } }, + "node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", @@ -4064,19 +4524,6 @@ "semver": "^7.7.1" } }, - "node_modules/is-bun-module/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -4448,9 +4895,9 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "license": "MIT", "dependencies": { @@ -4460,19 +4907,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -4487,6 +4921,57 @@ "dev": true, "license": "MIT" }, + "node_modules/json-server": { + "version": "1.0.0-beta.3", + "resolved": "https://registry.npmjs.org/json-server/-/json-server-1.0.0-beta.3.tgz", + "integrity": "sha512-DwE69Ep5ccwIJZBUIWEENC30Yj8bwr4Ax9W9VoIWAYnB8Sj4ReptscO8/DRHv/nXwVlmb3Bk73Ls86+VZdYkkA==", + "license": "SEE LICENSE IN ./LICENSE", + "dependencies": { + "@tinyhttp/app": "^2.4.0", + "@tinyhttp/cors": "^2.0.1", + "@tinyhttp/logger": "^2.0.0", + "chalk": "^5.3.0", + "chokidar": "^4.0.1", + "dot-prop": "^9.0.0", + "eta": "^3.5.0", + "inflection": "^3.0.0", + "json5": "^2.2.3", + "lowdb": "^7.0.1", + "milliparsec": "^4.0.0", + "sirv": "^2.0.4", + "sort-on": "^6.1.0" + }, + "bin": { + "json-server": "lib/bin.js" + }, + "engines": { + "node": ">=18.3" + } + }, + "node_modules/json-server/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/json-server/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", @@ -4495,16 +4980,16 @@ "license": "MIT" }, "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, "bin": { "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" } }, "node_modules/jsx-ast-utils": { @@ -4568,9 +5053,9 @@ } }, "node_modules/lightningcss": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", - "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", + "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", "dev": true, "license": "MPL-2.0", "dependencies": { @@ -4584,44 +5069,22 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-android-arm64": "1.31.1", - "lightningcss-darwin-arm64": "1.31.1", - "lightningcss-darwin-x64": "1.31.1", - "lightningcss-freebsd-x64": "1.31.1", - "lightningcss-linux-arm-gnueabihf": "1.31.1", - "lightningcss-linux-arm64-gnu": "1.31.1", - "lightningcss-linux-arm64-musl": "1.31.1", - "lightningcss-linux-x64-gnu": "1.31.1", - "lightningcss-linux-x64-musl": "1.31.1", - "lightningcss-win32-arm64-msvc": "1.31.1", - "lightningcss-win32-x64-msvc": "1.31.1" - } - }, - "node_modules/lightningcss-android-arm64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", - "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "lightningcss-darwin-arm64": "1.30.1", + "lightningcss-darwin-x64": "1.30.1", + "lightningcss-freebsd-x64": "1.30.1", + "lightningcss-linux-arm-gnueabihf": "1.30.1", + "lightningcss-linux-arm64-gnu": "1.30.1", + "lightningcss-linux-arm64-musl": "1.30.1", + "lightningcss-linux-x64-gnu": "1.30.1", + "lightningcss-linux-x64-musl": "1.30.1", + "lightningcss-win32-arm64-msvc": "1.30.1", + "lightningcss-win32-x64-msvc": "1.30.1" } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", - "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", + "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", "cpu": [ "arm64" ], @@ -4640,9 +5103,9 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", - "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", + "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", "cpu": [ "x64" ], @@ -4661,9 +5124,9 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", - "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", + "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", "cpu": [ "x64" ], @@ -4682,9 +5145,9 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", - "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", + "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", "cpu": [ "arm" ], @@ -4703,9 +5166,9 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", - "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", + "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", "cpu": [ "arm64" ], @@ -4724,9 +5187,9 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", - "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", + "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", "cpu": [ "arm64" ], @@ -4745,9 +5208,9 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", - "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", + "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", "cpu": [ "x64" ], @@ -4766,9 +5229,9 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", - "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", + "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", "cpu": [ "x64" ], @@ -4787,9 +5250,9 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", - "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", + "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", "cpu": [ "arm64" ], @@ -4808,9 +5271,9 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", - "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", + "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", "cpu": [ "x64" ], @@ -4864,20 +5327,34 @@ "loose-envify": "cli.js" } }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", + "node_modules/lowdb": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-7.0.1.tgz", + "integrity": "sha512-neJAj8GwF0e8EpycYIDFqEPcx9Qz4GUho20jWFR7YiFeXzF1YMLdxB36PypcTSPMA+4+LvgyMacYhlr18Zlymw==", + "license": "MIT", "dependencies": { - "yallist": "^3.0.2" + "steno": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/lucide-react": { + "version": "0.546.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.546.0.tgz", + "integrity": "sha512-Z94u6fKT43lKeYHiVyvyR8fT7pwCzDu7RyMPpTvh054+xahSgj4HFQ+NmflvzdXsoAjYGdCguGaFKYuvq0ThCQ==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "version": "0.30.19", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", + "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", "dev": true, "license": "MIT", "dependencies": { @@ -4918,10 +5395,34 @@ "node": ">=8.6" } }, + "node_modules/milliparsec": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/milliparsec/-/milliparsec-4.0.0.tgz", + "integrity": "sha512-/wk9d4Z6/9ZvoEH/6BI4TrTCgmkpZPuSRN/6fI9aUHOfXdNTuj/VhLS7d+NqG26bi6L9YmGXutVYvWC8zQ0qtA==", + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/mime": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.4.tgz", + "integrity": "sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==", + "funding": [ + "https://github.com/sponsors/broofa" + ], + "license": "MIT", + "bin": { + "mime": "bin/cli.js" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -4941,6 +5442,53 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/motion-dom": { + "version": "12.23.23", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.23.23.tgz", + "integrity": "sha512-n5yolOs0TQQBRUFImrRfs/+6X4p3Q4n1dUEqt/H58Vx7OW6RF+foWEgmTVDhIWJIMXOuNNL0apKH2S16en9eiA==", + "license": "MIT", + "dependencies": { + "motion-utils": "^12.23.6" + } + }, + "node_modules/motion-utils": { + "version": "12.23.6", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.23.6.tgz", + "integrity": "sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==", + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -4989,15 +5537,23 @@ "dev": true, "license": "MIT" }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/next": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/next/-/next-16.1.6.tgz", - "integrity": "sha512-hkyRkcu5x/41KoqnROkfTm2pZVbKxvbZRuNvKXLRXxs3VfyO0WhY50TQS40EuKO9SW3rBj/sF3WbVwDACeMZyw==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/next/-/next-15.5.4.tgz", + "integrity": "sha512-xH4Yjhb82sFYQfY3vbkJfgSDgXvBB6a8xPs9i35k6oZJRoQRihZH+4s9Yo2qsWpzBmZ3lPXaJ2KPXLfkvW4LnA==", "license": "MIT", "dependencies": { - "@next/env": "16.1.6", + "@next/env": "15.5.4", "@swc/helpers": "0.5.15", - "baseline-browser-mapping": "^2.8.3", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" @@ -5006,18 +5562,18 @@ "next": "dist/bin/next" }, "engines": { - "node": ">=20.9.0" + "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "16.1.6", - "@next/swc-darwin-x64": "16.1.6", - "@next/swc-linux-arm64-gnu": "16.1.6", - "@next/swc-linux-arm64-musl": "16.1.6", - "@next/swc-linux-x64-gnu": "16.1.6", - "@next/swc-linux-x64-musl": "16.1.6", - "@next/swc-win32-arm64-msvc": "16.1.6", - "@next/swc-win32-x64-msvc": "16.1.6", - "sharp": "^0.34.4" + "@next/swc-darwin-arm64": "15.5.4", + "@next/swc-darwin-x64": "15.5.4", + "@next/swc-linux-arm64-gnu": "15.5.4", + "@next/swc-linux-arm64-musl": "15.5.4", + "@next/swc-linux-x64-gnu": "15.5.4", + "@next/swc-linux-x64-musl": "15.5.4", + "@next/swc-win32-arm64-msvc": "15.5.4", + "@next/swc-win32-x64-msvc": "15.5.4", + "sharp": "^0.34.3" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -5067,34 +5623,8 @@ "source-map-js": "^1.0.2" }, "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/node-exports-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", - "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array.prototype.flatmap": "^1.3.3", - "es-errors": "^1.3.0", - "object.entries": "^1.1.9", - "semver": "^6.3.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/node-releases": { - "version": "2.0.36", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", - "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", - "dev": true, - "license": "MIT" + "node": "^10 || ^12 || >=14" + } }, "node_modules/object-assign": { "version": "4.1.1", @@ -5357,10 +5887,9 @@ } }, "node_modules/postcss": { - "version": "8.5.8", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", - "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", - "dev": true, + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "funding": [ { "type": "opencollective", @@ -5439,9 +5968,9 @@ "license": "MIT" }, "node_modules/react": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", - "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", + "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", "license": "MIT", "peer": true, "engines": { @@ -5449,16 +5978,41 @@ } }, "node_modules/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", + "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", "license": "MIT", "peer": true, "dependencies": { - "scheduler": "^0.27.0" + "scheduler": "^0.26.0" + }, + "peerDependencies": { + "react": "^19.1.0" + } + }, + "node_modules/react-hook-form": { + "version": "7.65.0", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.65.0.tgz", + "integrity": "sha512-xtOzDz063WcXvGWaHgLNrNzlsdFgtUWcb32E6WFaGTd7kPZG3EeDusjdZfUsPwKCKVXy1ZlntifaHZ4l8pAsmw==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-hook-form" }, "peerDependencies": { - "react": "^19.2.3" + "react": "^16.8.0 || ^17 || ^18 || ^19" + } + }, + "node_modules/react-icons": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.5.0.tgz", + "integrity": "sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==", + "license": "MIT", + "peerDependencies": { + "react": "*" } }, "node_modules/react-is": { @@ -5468,6 +6022,88 @@ "dev": true, "license": "MIT" }, + "node_modules/react-remove-scroll": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.1.tgz", + "integrity": "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==", + "license": "MIT", + "dependencies": { + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "license": "MIT", + "dependencies": { + "react-style-singleton": "^2.2.2", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "license": "MIT", + "dependencies": { + "get-nonce": "^1.0.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -5512,14 +6148,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/regexparam": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-2.0.2.tgz", + "integrity": "sha512-A1PeDEYMrkLrfyOwv2jwihXbo9qxdGD3atBYQA9JJgreAx8/7rC6IUkWOw2NQlOxLp2wL0ifQbh1HuidDfYA6w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.16.1", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -5644,19 +6289,22 @@ } }, "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", "license": "MIT" }, "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "devOptional": true, "license": "ISC", "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/set-function-length": { @@ -5709,16 +6357,16 @@ } }, "node_modules/sharp": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", - "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.4.tgz", + "integrity": "sha512-FUH39xp3SBPnxWvd5iib1X8XY7J0K0X7d93sie9CJg2PO8/7gmg89Nve6OjItK53/MlAushNNxteBYfM6DEuoA==", "hasInstallScript": true, "license": "Apache-2.0", "optional": true, "dependencies": { "@img/colour": "^1.0.0", - "detect-libc": "^2.1.2", - "semver": "^7.7.3" + "detect-libc": "^2.1.0", + "semver": "^7.7.2" }, "engines": { "node": "^18.17.0 || ^20.3.0 || >=21.0.0" @@ -5727,43 +6375,28 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.34.5", - "@img/sharp-darwin-x64": "0.34.5", - "@img/sharp-libvips-darwin-arm64": "1.2.4", - "@img/sharp-libvips-darwin-x64": "1.2.4", - "@img/sharp-libvips-linux-arm": "1.2.4", - "@img/sharp-libvips-linux-arm64": "1.2.4", - "@img/sharp-libvips-linux-ppc64": "1.2.4", - "@img/sharp-libvips-linux-riscv64": "1.2.4", - "@img/sharp-libvips-linux-s390x": "1.2.4", - "@img/sharp-libvips-linux-x64": "1.2.4", - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", - "@img/sharp-libvips-linuxmusl-x64": "1.2.4", - "@img/sharp-linux-arm": "0.34.5", - "@img/sharp-linux-arm64": "0.34.5", - "@img/sharp-linux-ppc64": "0.34.5", - "@img/sharp-linux-riscv64": "0.34.5", - "@img/sharp-linux-s390x": "0.34.5", - "@img/sharp-linux-x64": "0.34.5", - "@img/sharp-linuxmusl-arm64": "0.34.5", - "@img/sharp-linuxmusl-x64": "0.34.5", - "@img/sharp-wasm32": "0.34.5", - "@img/sharp-win32-arm64": "0.34.5", - "@img/sharp-win32-ia32": "0.34.5", - "@img/sharp-win32-x64": "0.34.5" - } - }, - "node_modules/sharp/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "license": "ISC", - "optional": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "@img/sharp-darwin-arm64": "0.34.4", + "@img/sharp-darwin-x64": "0.34.4", + "@img/sharp-libvips-darwin-arm64": "1.2.3", + "@img/sharp-libvips-darwin-x64": "1.2.3", + "@img/sharp-libvips-linux-arm": "1.2.3", + "@img/sharp-libvips-linux-arm64": "1.2.3", + "@img/sharp-libvips-linux-ppc64": "1.2.3", + "@img/sharp-libvips-linux-s390x": "1.2.3", + "@img/sharp-libvips-linux-x64": "1.2.3", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.3", + "@img/sharp-libvips-linuxmusl-x64": "1.2.3", + "@img/sharp-linux-arm": "0.34.4", + "@img/sharp-linux-arm64": "0.34.4", + "@img/sharp-linux-ppc64": "0.34.4", + "@img/sharp-linux-s390x": "0.34.4", + "@img/sharp-linux-x64": "0.34.4", + "@img/sharp-linuxmusl-arm64": "0.34.4", + "@img/sharp-linuxmusl-x64": "0.34.4", + "@img/sharp-wasm32": "0.34.4", + "@img/sharp-win32-arm64": "0.34.4", + "@img/sharp-win32-ia32": "0.34.4", + "@img/sharp-win32-x64": "0.34.4" } }, "node_modules/shebang-command": { @@ -5865,6 +6498,35 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sort-on": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/sort-on/-/sort-on-6.1.1.tgz", + "integrity": "sha512-PB8pVvXAoRBijBCvuKJnmo06D8mSnQlLij0abfB2VdOpfFm29sPGYD4ft2prUPo1AZXTnkn3pP48AppRWyMkrw==", + "license": "MIT", + "dependencies": { + "dot-prop": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -5881,6 +6543,18 @@ "dev": true, "license": "MIT" }, + "node_modules/steno": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/steno/-/steno-4.0.2.tgz", + "integrity": "sha512-yhPIQXjrlt1xv7dyPQg2P17URmXbuM5pdGkpiMB3RenprfiBlvK415Lctfe0eshk90oA7/tNq7WEiMK8RSP39A==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, "node_modules/stop-iteration-iterator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", @@ -6080,10 +6754,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tailwind-merge": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz", + "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, "node_modules/tailwindcss": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.1.tgz", - "integrity": "sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.0.tgz", + "integrity": "sha512-ULRPI3A+e39T7pSaf1xoi58AqqJxVCLg8F/uM5A3FadUbnyDTgltVnXJvdkTjwCOGA6NazqHVcwPJC5h2vRYVQ==", "dev": true, "license": "MIT" }, @@ -6101,6 +6785,23 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/tar": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz", + "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/tinyglobby": { "version": "0.2.15", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", @@ -6163,10 +6864,19 @@ "node": ">=8.0" } }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/ts-api-utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", - "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", "dev": true, "license": "MIT", "engines": { @@ -6189,25 +6899,22 @@ "strip-bom": "^3.0.0" } }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, + "node_modules/tw-animate-css": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/tw-animate-css/-/tw-animate-css-1.4.0.tgz", + "integrity": "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Wombosvideo" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -6221,6 +6928,18 @@ "node": ">= 0.8.0" } }, + "node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/typed-array-buffer": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", @@ -6314,30 +7033,6 @@ "node": ">=14.17" } }, - "node_modules/typescript-eslint": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.56.1.tgz", - "integrity": "sha512-U4lM6pjmBX7J5wk4szltF7I1cGBHXZopnAXCMXb3+fZ3B/0Z3hq3wS/CCUB2NZBNAExK92mCU2tEohWuwVMsDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "8.56.1", - "@typescript-eslint/parser": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1", - "@typescript-eslint/utils": "8.56.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, "node_modules/unbox-primitive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", @@ -6399,45 +7094,70 @@ "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" } }, - "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", "license": "MIT", "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" + "tslib": "^2.0.0" }, - "bin": { - "update-browserslist-db": "cli.js" + "engines": { + "node": ">=10" }, "peerDependencies": { - "browserslist": ">= 4.21.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/use-sidecar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "license": "MIT", "dependencies": { - "punycode": "^2.1.0" + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/uuid": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", + "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist-node/bin/uuid" } }, "node_modules/which": { @@ -6524,9 +7244,9 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.20", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", - "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, "license": "MIT", "dependencies": { @@ -6556,11 +7276,14 @@ } }, "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", "dev": true, - "license": "ISC" + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } }, "node_modules/yocto-queue": { "version": "0.1.0", @@ -6575,28 +7298,33 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/zod": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", - "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", - "dev": true, - "license": "MIT", - "peer": true, - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-validation-error": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", - "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", - "dev": true, + "node_modules/zustand": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.8.tgz", + "integrity": "sha512-gyPKpIaxY9XcO2vSMrLbiER7QMAMGOQZVRdJ6Zi782jkbzZygq5GI9nG8g+sMgitRtndwaBSl7uiqC49o1SSiw==", "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=12.20.0" }, "peerDependencies": { - "zod": "^3.25.0 || ^4.0.0" + "@types/react": ">=18.0.0", + "immer": ">=9.0.6", + "react": ">=18.0.0", + "use-sync-external-store": ">=1.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + }, + "use-sync-external-store": { + "optional": true + } } } } diff --git a/package.json b/package.json index 6236940..5c06078 100644 --- a/package.json +++ b/package.json @@ -1,26 +1,43 @@ { - "name": "nextjs", + "name": "a_todoapp", "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev", - "build": "next build", + "dev": "next dev --turbopack", + "build": "next build --turbopack", "start": "next start", - "lint": "eslint" + "lint": "eslint", + "api": "json-server -w data/todos.json -p 3001" }, "dependencies": { - "next": "16.1.6", - "react": "19.2.3", - "react-dom": "19.2.3" + "@radix-ui/react-alert-dialog": "^1.1.15", + "@radix-ui/react-dialog": "^1.1.15", + "@radix-ui/react-slot": "^1.2.3", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "framer-motion": "^12.23.24", + "json-server": "^1.0.0-beta.3", + "lucide-react": "^0.546.0", + "next": "15.5.4", + "postcss": "^8.5.6", + "react": "19.1.0", + "react-dom": "19.1.0", + "react-hook-form": "^7.65.0", + "react-icons": "^5.5.0", + "tailwind-merge": "^3.3.1", + "uuid": "^13.0.0", + "zustand": "^5.0.8" }, "devDependencies": { - "@tailwindcss/postcss": "^4", + "@eslint/eslintrc": "^3", + "@tailwindcss/postcss": "^4.1.14", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", "eslint": "^9", - "eslint-config-next": "16.1.6", - "tailwindcss": "^4", + "eslint-config-next": "15.5.4", + "tailwindcss": "^4.0.0", + "tw-animate-css": "^1.4.0", "typescript": "^5" } } diff --git a/postcss.config.mjs b/postcss.config.mjs index 61e3684..5f04293 100644 --- a/postcss.config.mjs +++ b/postcss.config.mjs @@ -4,4 +4,4 @@ const config = { }, }; -export default config; +export default config; \ No newline at end of file diff --git a/src/app/TasksInitializer.tsx b/src/app/TasksInitializer.tsx new file mode 100644 index 0000000..0d3df3e --- /dev/null +++ b/src/app/TasksInitializer.tsx @@ -0,0 +1,24 @@ +"use client"; + +import { useEffect } from "react"; +import { useTasks, type Task } from "../store/userTasks"; +import AddTask from "../components/ui/component/AddTask"; +import TodoList from "../components/ui/component/TodoList"; + +export default function TasksInitializer({ tasks }: { tasks: Task[] }) { + const setInitial = useTasks(s => s.setInitial); + + useEffect(() => { + setInitial(tasks); + }, [tasks, setInitial]); + + return ( +

+
+

Todo list App

+ +
+ +
+ ); +} diff --git a/app/favicon.ico b/src/app/favicon.ico similarity index 100% rename from app/favicon.ico rename to src/app/favicon.ico diff --git a/src/app/globals.css b/src/app/globals.css new file mode 100644 index 0000000..f4c1e9b --- /dev/null +++ b/src/app/globals.css @@ -0,0 +1,120 @@ +@import "tailwindcss"; +@import "tw-animate-css"; + +@custom-variant dark (&:is(.dark *)); + +@theme inline { + --radius-sm: calc(var(--radius) - 4px); + --radius-md: calc(var(--radius) - 2px); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) + 4px); + --color-background: var(--background); + --color-foreground: var(--foreground); + --color-card: var(--card); + --color-card-foreground: var(--card-foreground); + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-border: var(--border); + --color-input: var(--input); + --color-ring: var(--ring); + --color-chart-1: var(--chart-1); + --color-chart-2: var(--chart-2); + --color-chart-3: var(--chart-3); + --color-chart-4: var(--chart-4); + --color-chart-5: var(--chart-5); + --color-sidebar: var(--sidebar); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-ring: var(--sidebar-ring); +} + +:root { + --radius: 0.625rem; + --background: oklch(1 0 0); + --foreground: oklch(0.145 0 0); + --card: oklch(1 0 0); + --card-foreground: oklch(0.145 0 0); + --popover: oklch(1 0 0); + --popover-foreground: oklch(0.145 0 0); + --primary: oklch(0.205 0 0); + --primary-foreground: oklch(0.985 0 0); + --secondary: oklch(0.97 0 0); + --secondary-foreground: oklch(0.205 0 0); + --muted: oklch(0.97 0 0); + --muted-foreground: oklch(0.556 0 0); + --accent: oklch(0.97 0 0); + --accent-foreground: oklch(0.205 0 0); + --destructive: oklch(0.577 0.245 27.325); + --border: oklch(0.922 0 0); + --input: oklch(0.922 0 0); + --ring: oklch(0.708 0 0); + --chart-1: oklch(0.646 0.222 41.116); + --chart-2: oklch(0.6 0.118 184.704); + --chart-3: oklch(0.398 0.07 227.392); + --chart-4: oklch(0.828 0.189 84.429); + --chart-5: oklch(0.769 0.188 70.08); + --sidebar: oklch(0.985 0 0); + --sidebar-foreground: oklch(0.145 0 0); + --sidebar-primary: oklch(0.205 0 0); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.97 0 0); + --sidebar-accent-foreground: oklch(0.205 0 0); + --sidebar-border: oklch(0.922 0 0); + --sidebar-ring: oklch(0.708 0 0); +} + +.dark { + --background: oklch(0.145 0 0); + --foreground: oklch(0.985 0 0); + --card: oklch(0.205 0 0); + --card-foreground: oklch(0.985 0 0); + --popover: oklch(0.205 0 0); + --popover-foreground: oklch(0.985 0 0); + --primary: oklch(0.922 0 0); + --primary-foreground: oklch(0.205 0 0); + --secondary: oklch(0.269 0 0); + --secondary-foreground: oklch(0.985 0 0); + --muted: oklch(0.269 0 0); + --muted-foreground: oklch(0.708 0 0); + --accent: oklch(0.269 0 0); + --accent-foreground: oklch(0.985 0 0); + --destructive: oklch(0.704 0.191 22.216); + --border: oklch(1 0 0 / 10%); + --input: oklch(1 0 0 / 15%); + --ring: oklch(0.556 0 0); + --chart-1: oklch(0.488 0.243 264.376); + --chart-2: oklch(0.696 0.17 162.48); + --chart-3: oklch(0.769 0.188 70.08); + --chart-4: oklch(0.627 0.265 303.9); + --chart-5: oklch(0.645 0.246 16.439); + --sidebar: oklch(0.205 0 0); + --sidebar-foreground: oklch(0.985 0 0); + --sidebar-primary: oklch(0.488 0.243 264.376); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.269 0 0); + --sidebar-accent-foreground: oklch(0.985 0 0); + --sidebar-border: oklch(1 0 0 / 10%); + --sidebar-ring: oklch(0.556 0 0); +} + +@layer base { + * { + @apply border-border outline-ring/50; + } + body { + @apply bg-background text-foreground; + } +} diff --git a/app/layout.tsx b/src/app/layout.tsx similarity index 89% rename from app/layout.tsx rename to src/app/layout.tsx index f7fa87e..aee0c47 100644 --- a/app/layout.tsx +++ b/src/app/layout.tsx @@ -13,8 +13,8 @@ const geistMono = Geist_Mono({ }); export const metadata: Metadata = { - title: "Create Next App", - description: "Generated by create next app", + title: "A Todo App", + description: "Learn Next js", }; export default function RootLayout({ diff --git a/src/app/page.tsx b/src/app/page.tsx new file mode 100644 index 0000000..3e17589 --- /dev/null +++ b/src/app/page.tsx @@ -0,0 +1,8 @@ +import { getAllTodos } from "../../api" +import StoreHydrator from "./TasksInitializer"; +import type { Task } from "../store/userTasks"; + +export default async function Home() { + const tasks = (await getAllTodos()) as Task[]; + return ; +} diff --git a/src/components/ui/alert-dialog.tsx b/src/components/ui/alert-dialog.tsx new file mode 100644 index 0000000..7b719e7 --- /dev/null +++ b/src/components/ui/alert-dialog.tsx @@ -0,0 +1,157 @@ +"use client" + +import * as React from "react" +import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog" + +import { cn } from "@/lib/utils" +import { buttonVariants } from "@/components/ui/button" + +function AlertDialog({ + ...props +}: React.ComponentProps) { + return +} + +function AlertDialogTrigger({ + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AlertDialogPortal({ + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AlertDialogOverlay({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AlertDialogContent({ + className, + ...props +}: React.ComponentProps) { + return ( + + + + + ) +} + +function AlertDialogHeader({ + className, + ...props +}: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function AlertDialogFooter({ + className, + ...props +}: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function AlertDialogTitle({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AlertDialogDescription({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AlertDialogAction({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AlertDialogCancel({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { + AlertDialog, + AlertDialogPortal, + AlertDialogOverlay, + AlertDialogTrigger, + AlertDialogContent, + AlertDialogHeader, + AlertDialogFooter, + AlertDialogTitle, + AlertDialogDescription, + AlertDialogAction, + AlertDialogCancel, +} diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx new file mode 100644 index 0000000..21409a0 --- /dev/null +++ b/src/components/ui/button.tsx @@ -0,0 +1,60 @@ +import * as React from "react" +import { Slot } from "@radix-ui/react-slot" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const buttonVariants = cva( + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", + { + variants: { + variant: { + default: "bg-primary text-primary-foreground hover:bg-primary/90", + destructive: + "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60", + outline: + "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50", + secondary: + "bg-secondary text-secondary-foreground hover:bg-secondary/80", + ghost: + "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-9 px-4 py-2 has-[>svg]:px-3", + sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5", + lg: "h-10 rounded-md px-6 has-[>svg]:px-4", + icon: "size-9", + "icon-sm": "size-8", + "icon-lg": "size-10", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + } +) + +function Button({ + className, + variant, + size, + asChild = false, + ...props +}: React.ComponentProps<"button"> & + VariantProps & { + asChild?: boolean + }) { + const Comp = asChild ? Slot : "button" + + return ( + + ) +} + +export { Button, buttonVariants } diff --git a/src/components/ui/component/AddTask.tsx b/src/components/ui/component/AddTask.tsx new file mode 100644 index 0000000..58ff44e --- /dev/null +++ b/src/components/ui/component/AddTask.tsx @@ -0,0 +1,60 @@ + +"use client"; +import React, { useState } from "react"; +import { useRouter } from "next/navigation"; +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { + Dialog, DialogContent, DialogHeader, DialogTitle, + DialogTrigger, DialogFooter +} from "@/components/ui/dialog"; +import { addTask } from "@/services/todoservices"; + +export default function AddTask() { + const router = useRouter(); + const [open, setOpen] = useState(false); + const [value, setValue] = useState(""); + + async function onSubmit(e: React.FormEvent) { + e.preventDefault(); + const text = value.trim(); + if (!text) return; // ignore empty + try { + await addTask(text); + setValue(""); + setOpen(false); + router.refresh(); + } catch (err) { + alert("Add failed"); + console.error(err); + } + } + + return ( + + + + + + + + Add task + + +
+ setValue(e.target.value)} + placeholder="Task title..." + /> + + + + +
+
+
+ ); +} diff --git a/src/components/ui/component/Task.tsx b/src/components/ui/component/Task.tsx new file mode 100644 index 0000000..e7786e6 --- /dev/null +++ b/src/components/ui/component/Task.tsx @@ -0,0 +1,112 @@ + +"use client"; +import { useState,FormEvent} from "react"; +import { useRouter } from "next/navigation"; +import { ITask } from "../../../types/tasks"; + +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { + Dialog, + DialogTrigger, + DialogContent, + DialogHeader, + DialogTitle, + DialogFooter, +} from "@/components/ui/dialog"; + +import { + AlertDialog, AlertDialogTrigger, AlertDialogContent, + AlertDialogHeader, AlertDialogTitle, AlertDialogFooter, + AlertDialogCancel, AlertDialogAction, +} from "@/components/ui/alert-dialog"; + +import { updateTask, deleteTask } from "@/services/todoservices"; + +const API_BASE = "http://localhost:3001"; + +export default function TaskRow({ task }: { task: ITask }) { + const router = useRouter(); + +const [editOpen, setEditOpen] = useState(false); +const [delOpen, setDelOpen] = useState(false); + +const [value, setValue] = useState(task.text); + + async function saveEdit(e: FormEvent) { + e.preventDefault(); + try { + await updateTask(task.id, {text:value}); + setEditOpen(false); + router.refresh(); + } catch { + alert("Update failed"); + } +} + +async function confirmDelete() { + try { + await deleteTask(task.id); + setDelOpen(false); + router.refresh(); + } catch { + alert("Delete failed"); + } +} + + return ( + + {/* text */} + {task.text} + + {/* Actions */} + +
+ {/* Edit */} + + + + + + + Edit task + + +
+ ) => setValue(e.target.value)} + /> + + + + +
+
+
+ + + {/* delete */} + + +
+ +
+
+ + + Delete this task? + + + Cancel + Delete + + +
+
+ + + ); +} diff --git a/src/components/ui/component/TodoList.tsx b/src/components/ui/component/TodoList.tsx new file mode 100644 index 0000000..3edc335 --- /dev/null +++ b/src/components/ui/component/TodoList.tsx @@ -0,0 +1,35 @@ +import React from 'react' +import { ITask } from '../../../types/tasks' +import Task from './Task' + +interface TodoListProps{ + tasks:ITask[] +} + +const TodoList:React.FC = ({tasks}) => { + return ( +
+ + + + + + + {/* head */} + + + + + + + + {tasks.map((task) =>( + + ))} + +
TasksActions
+
+ ) +} + +export default TodoList \ No newline at end of file diff --git a/src/components/ui/dialog.tsx b/src/components/ui/dialog.tsx new file mode 100644 index 0000000..d9ccec9 --- /dev/null +++ b/src/components/ui/dialog.tsx @@ -0,0 +1,143 @@ +"use client" + +import * as React from "react" +import * as DialogPrimitive from "@radix-ui/react-dialog" +import { XIcon } from "lucide-react" + +import { cn } from "@/lib/utils" + +function Dialog({ + ...props +}: React.ComponentProps) { + return +} + +function DialogTrigger({ + ...props +}: React.ComponentProps) { + return +} + +function DialogPortal({ + ...props +}: React.ComponentProps) { + return +} + +function DialogClose({ + ...props +}: React.ComponentProps) { + return +} + +function DialogOverlay({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function DialogContent({ + className, + children, + showCloseButton = true, + ...props +}: React.ComponentProps & { + showCloseButton?: boolean +}) { + return ( + + + + {children} + {showCloseButton && ( + + + Close + + )} + + + ) +} + +function DialogHeader({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function DialogFooter({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function DialogTitle({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function DialogDescription({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { + Dialog, + DialogClose, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogOverlay, + DialogPortal, + DialogTitle, + DialogTrigger, +} diff --git a/src/components/ui/input.tsx b/src/components/ui/input.tsx new file mode 100644 index 0000000..8916905 --- /dev/null +++ b/src/components/ui/input.tsx @@ -0,0 +1,21 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +function Input({ className, type, ...props }: React.ComponentProps<"input">) { + return ( + + ) +} + +export { Input } diff --git a/src/lib/utils.ts b/src/lib/utils.ts new file mode 100644 index 0000000..bd0c391 --- /dev/null +++ b/src/lib/utils.ts @@ -0,0 +1,6 @@ +import { clsx, type ClassValue } from "clsx" +import { twMerge } from "tailwind-merge" + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)) +} diff --git a/src/services/todoservices.ts b/src/services/todoservices.ts new file mode 100644 index 0000000..796c57e --- /dev/null +++ b/src/services/todoservices.ts @@ -0,0 +1,55 @@ +// manage api call + +export type Task = { + id: string; + text: string; + completed: boolean; +}; + +const API_BASE = + process.env.NEXT_PUBLIC_API_BASE?.replace(/\/$/, "") || "http://localhost:3001"; + +async function handle(res: Response): Promise { + if (!res.ok) { + let msg = `HTTP ${res.status}`; + try { + const data = await res.json(); + if (data?.message) msg = data.message; + } catch {} + throw new Error(msg); + } + return res.json() as Promise; +} + +export async function getTasks(opts?: RequestInit): Promise { + const res = await fetch(`${API_BASE}/tasks`, { cache: "no-store", ...opts }); + return handle(res); +} + +export async function addTask(text: string) { + const id = crypto.randomUUID(); + const res = await fetch(`${API_BASE}/tasks`, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ id, text, completed: false }), + }); + if (!res.ok) throw new Error("Add failed"); + return res.json(); +} + +export async function updateTask( + id: string, + patch: Partial> +): Promise { + const res = await fetch(`${API_BASE}/tasks/${id}`, { + method: "PATCH", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(patch), + }); + return handle(res); +} + +export async function deleteTask(id: string): Promise { + const res = await fetch(`${API_BASE}/tasks/${id}`, { method: "DELETE" }); + await handle(res); +} diff --git a/src/store/userTasks.ts b/src/store/userTasks.ts new file mode 100644 index 0000000..025ab05 --- /dev/null +++ b/src/store/userTasks.ts @@ -0,0 +1,74 @@ +import { create } from "zustand"; + +// type of task +export type Task = { id: string; text: string; completed: boolean }; + +export type State = { + tasks: Task[]; + loading: boolean; + error?: string; +}; +export type Actions = { + setInitial: (tasks: Task[]) => void; + fetchTasks: () => Promise; + addTask: (text: string) => Promise; + updateTask: (t: Task) => Promise; + deleteTask: (id: string) => Promise; + toggleTask: (id: string) => Promise; +}; + +// backend address +const API_BASE = + process.env.NEXT_PUBLIC_API_BASE ?? "http://127.0.0.1:3001"; + +export const useTasks = create((set, get) => ({ + tasks: [], + loading: false, + error: undefined, + + setInitial: (tasks) => set({ tasks }), + + fetchTasks: async () => { + set({ loading: true, error: undefined }); + try { + const res = await fetch(`${API_BASE}/tasks`, { cache: "no-store" }); + if (!res.ok) throw new Error(`HTTP ${res.status}`); + set({ tasks: (await res.json()) as Task[], loading: false }); + } catch (e: any) { + set({ loading: false, error: e?.message ?? "fetch failed" }); + } + }, + + addTask: async (text) => { + const body: Task = { id: crypto.randomUUID(), text, completed: false }; + const res = await fetch(`${API_BASE}/tasks`, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(body), + }); + if (!res.ok) throw new Error("add failed"); + set({ tasks: [body, ...get().tasks] }); + }, + + updateTask: async (t) => { + const res = await fetch(`${API_BASE}/tasks/${t.id}`, { + method: "PUT", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(t), + }); + if (!res.ok) throw new Error("update failed"); + set({ tasks: get().tasks.map((x) => (x.id === t.id ? t : x)) }); + }, + + deleteTask: async (id) => { + const res = await fetch(`${API_BASE}/tasks/${id}`, { method: "DELETE" }); + if (!res.ok) throw new Error("delete failed"); + set({ tasks: get().tasks.filter((x) => x.id !== id) }); + }, + + toggleTask: async (id) => { + const t = get().tasks.find((x) => x.id === id); + if (!t) return; + await get().updateTask({ ...t, completed: !t.completed }); + }, +})); diff --git a/tsconfig.json b/tsconfig.json index 3a13f90..c133409 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,7 +11,7 @@ "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, - "jsx": "react-jsx", + "jsx": "preserve", "incremental": true, "plugins": [ { @@ -19,16 +19,9 @@ } ], "paths": { - "@/*": ["./*"] + "@/*": ["./src/*"] } }, - "include": [ - "next-env.d.ts", - "**/*.ts", - "**/*.tsx", - ".next/types/**/*.ts", - ".next/dev/types/**/*.ts", - "**/*.mts" - ], + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], "exclude": ["node_modules"] } diff --git a/types/tasks.ts b/types/tasks.ts new file mode 100644 index 0000000..dda020e --- /dev/null +++ b/types/tasks.ts @@ -0,0 +1,4 @@ +export interface ITask{ + id : string, + text : string +} \ No newline at end of file