@kaitranntt/ccs 7.49.1-dev.1 → 7.49.1-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
- package/dist/cliproxy/config/env-builder.js +67 -11
- package/dist/cliproxy/config/env-builder.js.map +1 -1
- package/dist/cliproxy/config/generator.d.ts.map +1 -1
- package/dist/cliproxy/config/generator.js +2 -0
- package/dist/cliproxy/config/generator.js.map +1 -1
- package/dist/cliproxy/model-catalog.d.ts.map +1 -1
- package/dist/cliproxy/model-catalog.js +18 -0
- package/dist/cliproxy/model-catalog.js.map +1 -1
- package/dist/cliproxy/model-config.d.ts.map +1 -1
- package/dist/cliproxy/model-config.js +3 -2
- package/dist/cliproxy/model-config.js.map +1 -1
- package/dist/ui/assets/{accounts-DbmA5iYY.js → accounts-DIqClJ7z.js} +1 -1
- package/dist/ui/assets/{alert-dialog-DT_kgUDK.js → alert-dialog-YcmZPFim.js} +1 -1
- package/dist/ui/assets/{api-ro9Lnh_-.js → api-BWyCgbMh.js} +1 -1
- package/dist/ui/assets/{auth-section-DZ2OPcoI.js → auth-section-Amm4rwiS.js} +1 -1
- package/dist/ui/assets/{backups-section--2pdKSs0.js → backups-section-DmAsqMfq.js} +1 -1
- package/dist/ui/assets/{checkbox-BMdNQ7X_.js → checkbox-Cfg9kbJX.js} +1 -1
- package/dist/ui/assets/{cliproxy-B9uR8iF6.js → cliproxy-B-q7RjS2.js} +1 -1
- package/dist/ui/assets/{cliproxy-control-panel-Deg_B3hN.js → cliproxy-control-panel-BliRTkbb.js} +1 -1
- package/dist/ui/assets/{confirm-dialog-CMHHwyas.js → confirm-dialog-CRcV2Yc4.js} +1 -1
- package/dist/ui/assets/{copilot-CVh1DbSA.js → copilot-EarFqUyJ.js} +1 -1
- package/dist/ui/assets/{cursor-DRBFQ_RE.js → cursor-Dbe4Wtw2.js} +1 -1
- package/dist/ui/assets/{globalenv-section-xw9fmXe4.js → globalenv-section-CBp73q9k.js} +1 -1
- package/dist/ui/assets/{health-Bnku3GJ1.js → health-Cvr359ff.js} +1 -1
- package/dist/ui/assets/{index-iFDDSmnp.js → index-8n-yIlea.js} +2 -2
- package/dist/ui/assets/{index-CZjixMBC.js → index-B5aulDs4.js} +1 -1
- package/dist/ui/assets/{index-BAql78vO.js → index-CLBNUja8.js} +1 -1
- package/dist/ui/assets/{index-DxJ6n3Xj.js → index-Cp8K9_TQ.js} +1 -1
- package/dist/ui/assets/{index-Cp2yf_L9.js → index-DTDftvd-.js} +1 -1
- package/dist/ui/assets/{proxy-status-widget-ZhF4kV0r.js → proxy-status-widget-C0G0aOCW.js} +1 -1
- package/dist/ui/assets/{separator-DzLyZSZA.js → separator-CdOKc0gJ.js} +1 -1
- package/dist/ui/assets/{shared-kmlEwIM6.js → shared-zsUXmES2.js} +1 -1
- package/dist/ui/assets/{switch-fbWM-cTI.js → switch-B2ALi24E.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/dist/utils/hooks/image-analyzer-profile-hook-injector.d.ts.map +1 -1
- package/dist/utils/hooks/image-analyzer-profile-hook-injector.js +2 -1
- package/dist/utils/hooks/image-analyzer-profile-hook-injector.js.map +1 -1
- package/dist/utils/websearch/profile-hook-injector.d.ts.map +1 -1
- package/dist/utils/websearch/profile-hook-injector.js +2 -1
- package/dist/utils/websearch/profile-hook-injector.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-CLBNUja8.js","assets/radix-ui-DKgfU5rd.js","assets/react-vendor-CNOkPC89.js","assets/switch-B2ALi24E.js","assets/icons-DGASzt3M.js","assets/tanstack-5ndrQy-j.js","assets/notifications-B2HqRBj7.js","assets/utils-CzKF5WmX.js","assets/form-utils-C-pVd1--.js","assets/code-highlight-BRUf_pqB.js","assets/globalenv-section-CBp73q9k.js","assets/index-DTDftvd-.js","assets/index-B5aulDs4.js","assets/default-ports-1QQSffYX.js","assets/proxy-status-widget-C0G0aOCW.js","assets/alert-dialog-YcmZPFim.js","assets/auth-section-Amm4rwiS.js","assets/backups-section-DmAsqMfq.js","assets/index-Cp8K9_TQ.js","assets/charts-BBPXh0Ar.js","assets/api-BWyCgbMh.js","assets/confirm-dialog-CRcV2Yc4.js","assets/separator-CdOKc0gJ.js","assets/cliproxy-B-q7RjS2.js","assets/checkbox-Cfg9kbJX.js","assets/cliproxy-control-panel-BliRTkbb.js","assets/copilot-EarFqUyJ.js","assets/cursor-Dbe4Wtw2.js","assets/accounts-DIqClJ7z.js","assets/health-Cvr359ff.js","assets/shared-zsUXmES2.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{j as i,S as Jr,R as _g,C as Dg,a as kg,T as Rg,D as Ug,P as Lg,O as Bg,b as z0,c as _0,d as D0,e as k0,f as R0,A as U0,g as L0,h as B0,i as H0,k as q0,l as Y0,m as K0,n as G0,I as Q0,o as Hg,V as V0,p as X0,q as qg,r as P0,L as Yg,s as Kg,t as Gg,u as W0,v as Z0,w as Qg,x as I0,y as Vg,z as Xg,B as $0,E as Pg,F as J0,G as Wg,H as Zg,J as F0,K as eb,M as Ig,N as tb,Q as nb,U as ab,W as lb,X as $g,Y as sb,Z as ib,_ as rb}from"./radix-ui-DKgfU5rd.js";import{e as Jg,f as ob,r as y,u as td,O as Vu,N as cb,h as nd,L as Xu,R as ub,g as db,i as fb,c as ee,B as mb,j as hb,k as Kt}from"./react-vendor-CNOkPC89.js";import{Q as pb,u as zt,a as ct,b as mt,c as gb}from"./tanstack-5ndrQy-j.js";import{t as le,T as xb}from"./notifications-B2HqRBj7.js";import{L as En,X as hs,P as yb,H as vb,C as bb,K as Fg,G as Sb,Z as ex,a as tx,F as nx,U as ax,A as bi,S as Nb,b as Fr,c as jb,M as wb,E as eo,d as to,B as Cb,R as Si,W as Eb,e as Mb,f as Tb,g as Ab,h as Dp,i as kp,j as fs,k as ad,l as Wr,m as lx,n as Ob,o as zb,p as Ni,q as no,r as ld,s as _b,t as Db,u as ao,v as kb,T as pa,w as Rb,x as Ub,I as lo,y as Lb,z as Bb,D as Hb,J as qb,N as Yb,O as Kb,Q as Gb,V as sd,Y as so,_ as id,$ as Rp,a0 as Qb,a1 as rd,a2 as Vb,a3 as Xb,a4 as Pb,a5 as Wb,a6 as Up,a7 as Zb,a8 as Ib}from"./icons-DGASzt3M.js";import{t as $b,c as Jb,a as io,e as di,f as hi,b as Fb,d as eS,g as tS,h as nS,i as aS,j as lS,k as sS,l as iS,m as rS,n as oS,o as cS,p as uS,q as dS,r as fS,s as mS,u as hS,v as pS,w as gS,x as xS,y as yS,z as vS,A as bS,B as SS,C as NS,D as jS,E as wS,F as CS,G as ES,H as MS,I as TS,J as AS}from"./utils-CzKF5WmX.js";import{o as Lp,s as Bp,p as OS,a as zS,$ as _S,b as sx,c as DS,d as hl,u as kS,e as RS}from"./form-utils-C-pVd1--.js";import{H as US,t as Hp}from"./code-highlight-BRUf_pqB.js";(function(){const l=document.createElement("link").relList;if(l&&l.supports&&l.supports("modulepreload"))return;for(const d of document.querySelectorAll('link[rel="modulepreload"]'))c(d);new MutationObserver(d=>{for(const f of d)if(f.type==="childList")for(const m of f.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&c(m)}).observe(document,{childList:!0,subtree:!0});function r(d){const f={};return d.integrity&&(f.integrity=d.integrity),d.referrerPolicy&&(f.referrerPolicy=d.referrerPolicy),d.crossOrigin==="use-credentials"?f.credentials="include":d.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function c(d){if(d.ep)return;d.ep=!0;const f=r(d);fetch(d.href,f)}})();var Tu={exports:{}},fi={},Au={exports:{}},Ou={};var qp;function LS(){return qp||(qp=1,(function(a){function l(k,U){var J=k.length;k.push(U);e:for(;0<J;){var ce=J-1>>>1,ve=k[ce];if(0<d(ve,U))k[ce]=U,k[J]=ve,J=ce;else break e}}function r(k){return k.length===0?null:k[0]}function c(k){if(k.length===0)return null;var U=k[0],J=k.pop();if(J!==U){k[0]=J;e:for(var ce=0,ve=k.length,_e=ve>>>1;ce<_e;){var ze=2*(ce+1)-1,W=k[ze],I=ze+1,ne=k[I];if(0>d(W,J))I<ve&&0>d(ne,W)?(k[ce]=ne,k[I]=J,ce=I):(k[ce]=W,k[ze]=J,ce=ze);else if(I<ve&&0>d(ne,J))k[ce]=ne,k[I]=J,ce=I;else break e}}return U}function d(k,U){var J=k.sortIndex-U.sortIndex;return J!==0?J:k.id-U.id}if(a.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;a.unstable_now=function(){return f.now()}}else{var m=Date,p=m.now();a.unstable_now=function(){return m.now()-p}}var g=[],b=[],C=1,v=null,S=3,M=!1,T=!1,R=!1,_=!1,z=typeof setTimeout=="function"?setTimeout:null,B=typeof clearTimeout=="function"?clearTimeout:null,Q=typeof setImmediate<"u"?setImmediate:null;function q(k){for(var U=r(b);U!==null;){if(U.callback===null)c(b);else if(U.startTime<=k)c(b),U.sortIndex=U.expirationTime,l(g,U);else break;U=r(b)}}function H(k){if(R=!1,q(k),!T)if(r(g)!==null)T=!0,N||(N=!0,re());else{var U=r(b);U!==null&&ye(H,U.startTime-k)}}var N=!1,G=-1,P=5,F=-1;function ie(){return _?!0:!(a.unstable_now()-F<P)}function be(){if(_=!1,N){var k=a.unstable_now();F=k;var U=!0;try{e:{T=!1,R&&(R=!1,B(G),G=-1),M=!0;var J=S;try{t:{for(q(k),v=r(g);v!==null&&!(v.expirationTime>k&&ie());){var ce=v.callback;if(typeof ce=="function"){v.callback=null,S=v.priorityLevel;var ve=ce(v.expirationTime<=k);if(k=a.unstable_now(),typeof ve=="function"){v.callback=ve,q(k),U=!0;break t}v===r(g)&&c(g),q(k)}else c(g);v=r(g)}if(v!==null)U=!0;else{var _e=r(b);_e!==null&&ye(H,_e.startTime-k),U=!1}}break e}finally{v=null,S=J,M=!1}U=void 0}}finally{U?re():N=!1}}}var re;if(typeof Q=="function")re=function(){Q(be)};else if(typeof MessageChannel<"u"){var Be=new MessageChannel,Se=Be.port2;Be.port1.onmessage=be,re=function(){Se.postMessage(null)}}else re=function(){z(be,0)};function ye(k,U){G=z(function(){k(a.unstable_now())},U)}a.unstable_IdlePriority=5,a.unstable_ImmediatePriority=1,a.unstable_LowPriority=4,a.unstable_NormalPriority=3,a.unstable_Profiling=null,a.unstable_UserBlockingPriority=2,a.unstable_cancelCallback=function(k){k.callback=null},a.unstable_forceFrameRate=function(k){0>k||125<k?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):P=0<k?Math.floor(1e3/k):5},a.unstable_getCurrentPriorityLevel=function(){return S},a.unstable_next=function(k){switch(S){case 1:case 2:case 3:var U=3;break;default:U=S}var J=S;S=U;try{return k()}finally{S=J}},a.unstable_requestPaint=function(){_=!0},a.unstable_runWithPriority=function(k,U){switch(k){case 1:case 2:case 3:case 4:case 5:break;default:k=3}var J=S;S=k;try{return U()}finally{S=J}},a.unstable_scheduleCallback=function(k,U,J){var ce=a.unstable_now();switch(typeof J=="object"&&J!==null?(J=J.delay,J=typeof J=="number"&&0<J?ce+J:ce):J=ce,k){case 1:var ve=-1;break;case 2:ve=250;break;case 5:ve=1073741823;break;case 4:ve=1e4;break;default:ve=5e3}return ve=J+ve,k={id:C++,callback:U,priorityLevel:k,startTime:J,expirationTime:ve,sortIndex:-1},J>ce?(k.sortIndex=J,l(b,k),r(g)===null&&k===r(b)&&(R?(B(G),G=-1):R=!0,ye(H,J-ce))):(k.sortIndex=ve,l(g,k),T||M||(T=!0,N||(N=!0,re()))),k},a.unstable_shouldYield=ie,a.unstable_wrapCallback=function(k){var U=S;return function(){var J=S;S=U;try{return k.apply(this,arguments)}finally{S=J}}}})(Ou)),Ou}var Yp;function BS(){return Yp||(Yp=1,Au.exports=LS()),Au.exports}var Kp;function HS(){if(Kp)return fi;Kp=1;var a=BS(),l=Jg(),r=ob();function c(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function d(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function f(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function m(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function p(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function g(e){if(f(e)!==e)throw Error(c(188))}function b(e){var t=e.alternate;if(!t){if(t=f(e),t===null)throw Error(c(188));return t!==e?null:e}for(var n=e,s=t;;){var o=n.return;if(o===null)break;var u=o.alternate;if(u===null){if(s=o.return,s!==null){n=s;continue}break}if(o.child===u.child){for(u=o.child;u;){if(u===n)return g(o),e;if(u===s)return g(o),t;u=u.sibling}throw Error(c(188))}if(n.return!==s.return)n=o,s=u;else{for(var h=!1,x=o.child;x;){if(x===n){h=!0,n=o,s=u;break}if(x===s){h=!0,s=o,n=u;break}x=x.sibling}if(!h){for(x=u.child;x;){if(x===n){h=!0,n=u,s=o;break}if(x===s){h=!0,s=u,n=o;break}x=x.sibling}if(!h)throw Error(c(189))}}if(n.alternate!==s)throw Error(c(190))}if(n.tag!==3)throw Error(c(188));return n.stateNode.current===n?e:t}function C(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=C(e),t!==null)return t;e=e.sibling}return null}var v=Object.assign,S=Symbol.for("react.element"),M=Symbol.for("react.transitional.element"),T=Symbol.for("react.portal"),R=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),z=Symbol.for("react.profiler"),B=Symbol.for("react.consumer"),Q=Symbol.for("react.context"),q=Symbol.for("react.forward_ref"),H=Symbol.for("react.suspense"),N=Symbol.for("react.suspense_list"),G=Symbol.for("react.memo"),P=Symbol.for("react.lazy"),F=Symbol.for("react.activity"),ie=Symbol.for("react.memo_cache_sentinel"),be=Symbol.iterator;function re(e){return e===null||typeof e!="object"?null:(e=be&&e[be]||e["@@iterator"],typeof e=="function"?e:null)}var Be=Symbol.for("react.client.reference");function Se(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Be?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case R:return"Fragment";case z:return"Profiler";case _:return"StrictMode";case H:return"Suspense";case N:return"SuspenseList";case F:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case T:return"Portal";case Q:return e.displayName||"Context";case B:return(e._context.displayName||"Context")+".Consumer";case q:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case G:return t=e.displayName||null,t!==null?t:Se(e.type)||"Memo";case P:t=e._payload,e=e._init;try{return Se(e(t))}catch{}}return null}var ye=Array.isArray,k=l.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,J={pending:!1,data:null,method:null,action:null},ce=[],ve=-1;function _e(e){return{current:e}}function ze(e){0>ve||(e.current=ce[ve],ce[ve]=null,ve--)}function W(e,t){ve++,ce[ve]=e.current,e.current=t}var I=_e(null),ne=_e(null),$=_e(null),te=_e(null);function me(e,t){switch(W($,t),W(ne,e),W(I,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?np(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=np(t),e=ap(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}ze(I),W(I,e)}function Oe(){ze(I),ze(ne),ze($)}function Ke(e){e.memoizedState!==null&&W(te,e);var t=I.current,n=ap(t,e.type);t!==n&&(W(ne,e),W(I,n))}function yt(e){ne.current===e&&(ze(I),ze(ne)),te.current===e&&(ze(te),ri._currentValue=J)}var vt,Qe;function tt(e){if(vt===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);vt=t&&t[1]||"",Qe=-1<n.stack.indexOf(`
|
|
3
3
|
at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
4
4
|
`+vt+e+Qe}var kt=!1;function Vt(e,t){if(!e||kt)return"";kt=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var s={DetermineComponentFrameRoot:function(){try{if(t){var X=function(){throw Error()};if(Object.defineProperty(X.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(X,[])}catch(L){var D=L}Reflect.construct(e,[],X)}else{try{X.call()}catch(L){D=L}e.call(X.prototype)}}else{try{throw Error()}catch(L){D=L}(X=e())&&typeof X.catch=="function"&&X.catch(function(){})}}catch(L){if(L&&D&&typeof L.stack=="string")return[L.stack,D.stack]}return[null,null]}};s.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var o=Object.getOwnPropertyDescriptor(s.DetermineComponentFrameRoot,"name");o&&o.configurable&&Object.defineProperty(s.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var u=s.DetermineComponentFrameRoot(),h=u[0],x=u[1];if(h&&x){var j=h.split(`
|
|
@@ -44,4 +44,4 @@ Error generating stack: `+s.message+`
|
|
|
44
44
|
`).map(function(bs,Ss){return Ss>=_t&&Ss<=Qn?oe+bs:bs}).join(`
|
|
45
45
|
`),selectionStart:xe&&/\S/.test(xe)?Me+oe.length:Me,selectionEnd:nt+oe.length*(Qn-_t+1)})}else{var Nt=Me+oe.length;An({value:he.substring(0,Me)+oe+he.substring(nt),selectionStart:Nt,selectionEnd:Nt})}else if(Z.key==="Backspace"){var Zt=Me!==nt,vn=he.substring(0,Me);if(vn.endsWith(oe)&&!Zt){Z.preventDefault();var Nt=Me-oe.length;An({value:he.substring(0,Me-oe.length)+he.substring(nt),selectionStart:Nt,selectionEnd:Nt})}}else if(Z.key==="Enter"){if(Me===nt){var ys=Wt(he,Me).pop(),Ia=ys?.match(/^\s+/);if(Ia?.[0]){Z.preventDefault();var vs=`
|
|
46
46
|
`+Ia[0],Nt=Me+vs.length;An({value:he.substring(0,Me)+vs+he.substring(nt),selectionStart:Nt,selectionEnd:Nt})}}}else if(Z.keyCode===b||Z.keyCode===C||Z.keyCode===v||Z.keyCode===S){var rn=void 0;Z.keyCode===b&&Z.shiftKey?rn=["(",")"]:Z.keyCode===C?Z.shiftKey?rn=["{","}"]:rn=["[","]"]:Z.keyCode===v?Z.shiftKey?rn=['"','"']:rn=["'","'"]:Z.keyCode===S&&!Z.shiftKey&&(rn=["`","`"]),Me!==nt&&rn&&(Z.preventDefault(),An({value:he.substring(0,Me)+rn[0]+he.substring(Me,nt)+rn[1]+he.substring(nt),selectionStart:Me,selectionEnd:nt+2}))}else(_?Z.metaKey&&Z.keyCode===p:Z.ctrlKey&&Z.keyCode===p)&&!Z.shiftKey&&!Z.altKey?(Z.preventDefault(),Nl()):(_?Z.metaKey&&Z.keyCode===p&&Z.shiftKey:R?Z.ctrlKey&&Z.keyCode===m:Z.ctrlKey&&Z.keyCode===p&&Z.shiftKey)&&!Z.altKey?(Z.preventDefault(),gs()):Z.keyCode===g&&Z.ctrlKey&&(!_||Z.shiftKey)&&(Z.preventDefault(),xa(function(Vn){return!Vn}))}},Gn=function(Z){var Ee=Z.currentTarget,he=Ee.value,Me=Ee.selectionStart,nt=Ee.selectionEnd;Kn({value:he,selectionStart:Me,selectionEnd:nt},!0),I(he)};return f.useEffect(function(){Za()},[Za]),f.useImperativeHandle(G,function(){return{get session(){return{history:je.current}},set session(Z){je.current=Z.history}}},[]),f.createElement("div",a({},qn,{style:a(a({},q.container),yt)}),f.createElement("pre",a({className:me,"aria-hidden":"true",style:a(a(a({},q.editor),q.highlight),Yn)},typeof ut=="string"?{dangerouslySetInnerHTML:{__html:ut+"<br />"}}:{children:ut})),f.createElement("textarea",{ref:function(Z){return Xt.current=Z},style:a(a(a({},q.editor),q.textarea),Yn),className:z+(tt?" ".concat(tt):""),id:kt,value:Vt,onChange:Gn,onKeyDown:xs,onClick:ve,onKeyUp:W,onFocus:_e,onBlur:ce,disabled:F,form:ie,maxLength:k,minLength:U,name:J,placeholder:te,readOnly:Oe,required:Ke,autoFocus:P,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"data-gramm":!1}),f.createElement("style",{dangerouslySetInnerHTML:{__html:B}}))}),q={container:{position:"relative",textAlign:"left",boxSizing:"border-box",padding:0,overflow:"hidden"},textarea:{position:"absolute",top:0,left:0,height:"100%",width:"100%",resize:"none",color:"inherit",overflow:"hidden",MozOsxFontSmoothing:"grayscale",WebkitFontSmoothing:"antialiased",WebkitTextFillColor:"transparent"},highlight:{position:"relative",pointerEvents:"none"},editor:{margin:0,border:0,background:"none",boxSizing:"inherit",display:"inherit",fontFamily:"inherit",fontSize:"inherit",fontStyle:"inherit",fontVariantLigatures:"inherit",fontWeight:"inherit",letterSpacing:"inherit",lineHeight:"inherit",tabSize:"inherit",textIndent:"inherit",textRendering:"inherit",textTransform:"inherit",whiteSpace:"pre-wrap",wordBreak:"keep-all",overflowWrap:"break-word"}};return Gt.default=Q,Gt}var UC=RC();const LC=db(UC),BC=[/^ANTHROPIC_AUTH_TOKEN$/,/_API_KEY$/,/_AUTH_TOKEN$/,/_SECRET$/,/_SECRET_KEY$/,/^API_KEY$/,/^AUTH_TOKEN$/,/^SECRET$/,/_PASSWORD$/,/^PASSWORD$/,/_CREDENTIAL$/,/_PRIVATE_KEY$/];function HC(a){return BC.some(l=>l.test(a))}function qC(a){if(!a.trim())return{valid:!0};try{return JSON.parse(a),{valid:!0}}catch(l){const c=l.message,d=c.match(/position (\d+)/);if(d){const f=parseInt(d[1],10),m=a.substring(0,f).split(`
|
|
47
|
-
`);return{valid:!1,error:c,line:m.length}}return{valid:!1,error:c}}}function Ix({value:a,onChange:l,language:r="json",readonly:c=!1,className:d,minHeight:f="300px"}){const{isDark:m}=hx(),[p,g]=y.useState(!1),[b,C]=y.useState(!0),v=y.useMemo(()=>r==="json"?qC(a):{valid:!0},[a,r]),S=y.useCallback(M=>i.jsx(US,{theme:m?Hp.nightOwl:Hp.github,code:M,language:r,children:({tokens:T,getLineProps:R,getTokenProps:_})=>{let z=!1;return i.jsx(i.Fragment,{children:T.map((B,Q)=>i.jsx("div",{...R({line:B}),className:Y(v.line===Q+1&&"bg-destructive/20"),children:B.map((q,H)=>{let N=!1;if(q.types.includes("property")){const P=q.content.replace(/['"]/g,"");HC(P)?z=!0:z=!1}else(q.types.includes("string")||q.types.includes("number")||q.types.includes("boolean"))&&z?(N=!0,z=!1):q.types.includes("punctuation")&&q.content!==":"&&q.content!=="["&&q.content!=="{"&&(z=!1);const G=_({token:q});return N&&b&&(G.className=Y(G.className,"blur-[3px] select-none opacity-70 transition-all duration-200")),i.jsx("span",{...G},H)})},Q))})}}),[m,r,v.line,b]);return i.jsxs("div",{className:Y("flex flex-col",d),children:[i.jsxs("div",{className:Y("relative rounded-md border overflow-hidden","bg-muted/30",p&&"ring-2 ring-ring ring-offset-2 ring-offset-background",c&&"opacity-70 cursor-not-allowed",!v.valid&&"border-destructive"),style:{minHeight:f},children:[i.jsx(LC,{value:a,onValueChange:c?()=>{}:l,highlight:S,padding:12,disabled:c,onFocus:()=>g(!0),onBlur:()=>g(!1),textareaClassName:Y("focus:outline-none font-mono text-sm",c&&"cursor-not-allowed"),preClassName:"font-mono text-sm",style:{fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",fontSize:"0.875rem",minHeight:f}},m?"dark-editor":"light-editor"),i.jsx("div",{className:"absolute top-2 right-2 z-10 opacity-50 hover:opacity-100 transition-opacity",children:i.jsx(ot,{variant:"ghost",size:"icon",className:"h-6 w-6 bg-background/50 hover:bg-background border shadow-sm rounded-full",onClick:()=>C(!b),title:b?"Reveal sensitive values":"Mask sensitive values",children:b?i.jsx(to,{className:"h-3 w-3"}):i.jsx(eo,{className:"h-3 w-3"})})})]}),i.jsxs("div",{className:"flex items-center gap-2 mt-2 text-xs",children:[v.valid?i.jsxs("span",{className:"flex items-center gap-1 text-muted-foreground",children:[i.jsx(no,{className:"w-3 h-3 text-green-500"}),"Valid ",r.toUpperCase()]}):i.jsxs("span",{className:"flex items-center gap-1 text-destructive",children:[i.jsx(rd,{className:"w-3 h-3"}),v.error,v.line&&` (line ${v.line})`]}),c&&i.jsx("span",{className:"ml-auto text-muted-foreground",children:"(Read-only)"})]})]})}const Ud=Object.freeze(Object.defineProperty({__proto__:null,CodeEditor:Ix},Symbol.toStringTag,{value:"Module"})),YC={webSearchConfig:null,webSearchStatus:null,webSearchLoading:!0,webSearchStatusLoading:!0,webSearchSaving:!1,webSearchError:null,webSearchSuccess:!1,globalEnvConfig:null,globalEnvLoading:!0,globalEnvSaving:!1,globalEnvError:null,globalEnvSuccess:!1,proxyConfig:null,proxyLoading:!0,proxySaving:!1,proxyError:null,proxySuccess:!1,proxyTestResult:null,proxyTesting:!1,rawConfig:null,rawConfigLoading:!1};function KC(a,l){switch(l.type){case"SET_WEBSEARCH_CONFIG":return{...a,webSearchConfig:l.payload};case"SET_WEBSEARCH_STATUS":return{...a,webSearchStatus:l.payload};case"SET_WEBSEARCH_LOADING":return{...a,webSearchLoading:l.payload};case"SET_WEBSEARCH_STATUS_LOADING":return{...a,webSearchStatusLoading:l.payload};case"SET_WEBSEARCH_SAVING":return{...a,webSearchSaving:l.payload};case"SET_WEBSEARCH_ERROR":return{...a,webSearchError:l.payload};case"SET_WEBSEARCH_SUCCESS":return{...a,webSearchSuccess:l.payload};case"SET_GLOBALENV_CONFIG":return{...a,globalEnvConfig:l.payload};case"SET_GLOBALENV_LOADING":return{...a,globalEnvLoading:l.payload};case"SET_GLOBALENV_SAVING":return{...a,globalEnvSaving:l.payload};case"SET_GLOBALENV_ERROR":return{...a,globalEnvError:l.payload};case"SET_GLOBALENV_SUCCESS":return{...a,globalEnvSuccess:l.payload};case"SET_PROXY_CONFIG":return{...a,proxyConfig:l.payload};case"SET_PROXY_LOADING":return{...a,proxyLoading:l.payload};case"SET_PROXY_SAVING":return{...a,proxySaving:l.payload};case"SET_PROXY_ERROR":return{...a,proxyError:l.payload};case"SET_PROXY_SUCCESS":return{...a,proxySuccess:l.payload};case"SET_PROXY_TEST_RESULT":return{...a,proxyTestResult:l.payload};case"SET_PROXY_TESTING":return{...a,proxyTesting:l.payload};case"SET_RAW_CONFIG":return{...a,rawConfig:l.payload};case"SET_RAW_CONFIG_LOADING":return{...a,rawConfigLoading:l.payload};default:return a}}const $x=y.createContext(null);function GC({children:a}){const[l,r]=y.useReducer(KC,YC);return i.jsx($x.Provider,{value:{state:l,dispatch:r},children:a})}function Jx(){const a=y.useContext($x);if(!a)throw new Error("useSettingsContext must be used within a SettingsProvider");return a}function QC(){const{dispatch:a}=Jx(),l=y.useCallback(N=>a({type:"SET_WEBSEARCH_CONFIG",payload:N}),[a]),r=y.useCallback(N=>a({type:"SET_WEBSEARCH_STATUS",payload:N}),[a]),c=y.useCallback(N=>a({type:"SET_WEBSEARCH_LOADING",payload:N}),[a]),d=y.useCallback(N=>a({type:"SET_WEBSEARCH_STATUS_LOADING",payload:N}),[a]),f=y.useCallback(N=>a({type:"SET_WEBSEARCH_SAVING",payload:N}),[a]),m=y.useCallback(N=>a({type:"SET_WEBSEARCH_ERROR",payload:N}),[a]),p=y.useCallback(N=>a({type:"SET_WEBSEARCH_SUCCESS",payload:N}),[a]),g=y.useCallback(N=>a({type:"SET_GLOBALENV_CONFIG",payload:N}),[a]),b=y.useCallback(N=>a({type:"SET_GLOBALENV_LOADING",payload:N}),[a]),C=y.useCallback(N=>a({type:"SET_GLOBALENV_SAVING",payload:N}),[a]),v=y.useCallback(N=>a({type:"SET_GLOBALENV_ERROR",payload:N}),[a]),S=y.useCallback(N=>a({type:"SET_GLOBALENV_SUCCESS",payload:N}),[a]),M=y.useCallback(N=>a({type:"SET_PROXY_CONFIG",payload:N}),[a]),T=y.useCallback(N=>a({type:"SET_PROXY_LOADING",payload:N}),[a]),R=y.useCallback(N=>a({type:"SET_PROXY_SAVING",payload:N}),[a]),_=y.useCallback(N=>a({type:"SET_PROXY_ERROR",payload:N}),[a]),z=y.useCallback(N=>a({type:"SET_PROXY_SUCCESS",payload:N}),[a]),B=y.useCallback(N=>a({type:"SET_PROXY_TEST_RESULT",payload:N}),[a]),Q=y.useCallback(N=>a({type:"SET_PROXY_TESTING",payload:N}),[a]),q=y.useCallback(N=>a({type:"SET_RAW_CONFIG",payload:N}),[a]),H=y.useCallback(N=>a({type:"SET_RAW_CONFIG_LOADING",payload:N}),[a]);return y.useMemo(()=>({setWebSearchConfig:l,setWebSearchStatus:r,setWebSearchLoading:c,setWebSearchStatusLoading:d,setWebSearchSaving:f,setWebSearchError:m,setWebSearchSuccess:p,setGlobalEnvConfig:g,setGlobalEnvLoading:b,setGlobalEnvSaving:C,setGlobalEnvError:v,setGlobalEnvSuccess:S,setProxyConfig:M,setProxyLoading:T,setProxySaving:R,setProxyError:_,setProxySuccess:z,setProxyTestResult:B,setProxyTesting:Q,setRawConfig:q,setRawConfigLoading:H}),[l,r,c,d,f,m,p,g,b,C,v,S,M,T,R,_,z,B,Q,q,H])}function VC(){const[a,l]=fb(),r=a.get("tab")?.toLowerCase(),c=r==="globalenv"?"globalenv":r==="proxy"?"proxy":r==="auth"?"auth":r==="thinking"?"thinking":r==="backups"?"backups":"websearch",d=y.useCallback(f=>{l({tab:f},{replace:!0})},[l]);return{activeTab:c,setActiveTab:d}}function XC(){const{state:a}=Jx(),l=QC(),[r,c]=y.useState(!1),d=y.useCallback(async()=>{try{l.setRawConfigLoading(!0);const m=await fetch("/api/config/raw");if(!m.ok){l.setRawConfig(null);return}const p=await m.text();l.setRawConfig(p)}catch{l.setRawConfig(null)}finally{l.setRawConfigLoading(!1)}},[l]),f=y.useCallback(async()=>{if(a.rawConfig)try{await navigator.clipboard.writeText(a.rawConfig),c(!0),setTimeout(()=>c(!1),2e3)}catch{}},[a.rawConfig]);return{rawConfig:a.rawConfig,loading:a.rawConfigLoading,copied:r,fetchRawConfig:d,copyToClipboard:f}}const PC=[{value:"websearch",label:"Web",icon:Vb},{value:"globalenv",label:"Env",icon:id},{value:"thinking",label:"Think",icon:Xb},{value:"proxy",label:"Proxy",icon:Pb},{value:"auth",label:"Auth",icon:ad},{value:"backups",label:"Backup",icon:Wb}];function gg({activeTab:a,onTabChange:l}){return i.jsx(qx,{value:a,onValueChange:r=>l(r),children:i.jsx(_d,{className:"grid w-full grid-cols-6",children:PC.map(({value:r,label:c,icon:d})=>i.jsxs($r,{value:r,className:"gap-1.5 px-1 text-xs",children:[i.jsx(d,{className:"h-3.5 w-3.5 shrink-0"}),i.jsx("span",{className:"truncate",children:c})]},r))})})}function xg(){return i.jsxs("div",{className:"flex-1 p-5 space-y-6",children:[i.jsx(Ye,{className:"h-4 w-2/3"}),i.jsx("div",{className:"p-4 rounded-lg border",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Ye,{className:"h-5 w-32"}),i.jsx(Ye,{className:"h-4 w-48"})]}),i.jsx(Ye,{className:"h-6 w-10 rounded-full"})]})}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Ye,{className:"h-5 w-24"}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Ye,{className:"h-20 w-full rounded-lg"}),i.jsx(Ye,{className:"h-20 w-full rounded-lg"}),i.jsx(Ye,{className:"h-20 w-full rounded-lg"})]})]})]})}function Fx(a,l=3,r=1e3){return a().catch(c=>{if(l<=0)throw c;return new Promise(d=>setTimeout(d,r)).then(()=>Fx(a,l-1,r*2))})}function ps(a){return y.lazy(()=>Fx(a))}const yg=ps(()=>St(()=>import("./index-BAql78vO.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]))),vg=ps(()=>St(()=>import("./globalenv-section-xw9fmXe4.js"),__vite__mapDeps([10,1,2,3,4,5,6,7,8,9]))),bg=ps(()=>St(()=>import("./index-Cp2yf_L9.js"),__vite__mapDeps([11,1,2,3,4,5,6,7,8,9]))),Sg=ps(()=>St(()=>import("./index-CZjixMBC.js"),__vite__mapDeps([12,1,2,3,13,4,14,15,5,6,7,8,9]))),Ng=ps(()=>St(()=>import("./auth-section-DZ2OPcoI.js"),__vite__mapDeps([16,1,2,4,5,6,7,8,9]))),jg=ps(()=>St(()=>import("./backups-section--2pdKSs0.js"),__vite__mapDeps([17,1,2,15,4,5,6,7,8,9])));class wg extends y.Component{constructor(l){super(l),this.state={hasError:!1,error:null}}static getDerivedStateFromError(l){return{hasError:!0,error:l}}render(){return this.state.hasError?i.jsx("div",{className:"flex-1 flex items-center justify-center text-muted-foreground",children:i.jsxs("div",{className:"text-center p-6 max-w-md",children:[i.jsx(rd,{className:"w-12 h-12 mx-auto mb-4 text-destructive"}),i.jsx("p",{className:"font-medium text-foreground mb-2",children:"Failed to load section"}),i.jsx("p",{className:"text-sm mb-4",children:this.state.error?.message||"Unknown error occurred"}),i.jsxs(ot,{variant:"outline",onClick:()=>window.location.reload(),className:"inline-flex items-center gap-2",children:[i.jsx(Si,{className:"w-4 h-4"}),"Reload page"]})]})}):this.props.children}}function WC(){const{activeTab:a,setActiveTab:l}=VC(),{rawConfig:r,loading:c,copied:d,fetchRawConfig:f,copyToClipboard:m}=XC();y.useEffect(()=>{f()},[f]);const p=g=>{y.startTransition(()=>{l(g)})};return i.jsxs("div",{className:"h-[calc(100vh-100px)]",children:[i.jsxs("div",{className:"md:hidden h-full flex flex-col",children:[i.jsx("div",{className:"border-b bg-background p-4",children:i.jsx(gg,{activeTab:a,onTabChange:p})}),i.jsx(wg,{children:i.jsxs(y.Suspense,{fallback:i.jsx(xg,{}),children:[a==="websearch"&&i.jsx(yg,{}),a==="globalenv"&&i.jsx(vg,{}),a==="thinking"&&i.jsx(bg,{}),a==="proxy"&&i.jsx(Sg,{}),a==="auth"&&i.jsx(Ng,{}),a==="backups"&&i.jsx(jg,{})]})})]}),i.jsxs(Td,{direction:"horizontal",className:"h-full hidden md:flex",children:[i.jsx(ji,{defaultSize:40,minSize:30,maxSize:55,children:i.jsxs("div",{className:"h-full border-r flex flex-col bg-muted/30 relative",children:[i.jsx("div",{className:"p-5 border-b bg-background",children:i.jsx(gg,{activeTab:a,onTabChange:p})}),i.jsx(wg,{children:i.jsxs(y.Suspense,{fallback:i.jsx(xg,{}),children:[a==="websearch"&&i.jsx(yg,{}),a==="globalenv"&&i.jsx(vg,{}),a==="thinking"&&i.jsx(bg,{}),a==="proxy"&&i.jsx(Sg,{}),a==="auth"&&i.jsx(Ng,{}),a==="backups"&&i.jsx(jg,{})]})})]})}),i.jsx(Ad,{className:"w-2 bg-border hover:bg-primary/20 transition-colors cursor-col-resize flex items-center justify-center group",children:i.jsx(ao,{className:"w-3 h-3 text-muted-foreground group-hover:text-primary"})}),i.jsx(ji,{defaultSize:60,minSize:35,children:i.jsxs("div",{className:"h-full flex flex-col",children:[i.jsxs("div",{className:"p-4 border-b bg-background flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx(Up,{className:"w-5 h-5 text-primary"}),i.jsxs("div",{children:[i.jsx("h2",{className:"font-semibold",children:"config.yaml"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"~/.ccs/config.yaml"})]})]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(ot,{variant:"outline",size:"sm",onClick:m,disabled:!r,children:d?i.jsxs(i.Fragment,{children:[i.jsx(fs,{className:"w-4 h-4 mr-1"}),"Copied"]}):i.jsxs(i.Fragment,{children:[i.jsx(Wr,{className:"w-4 h-4 mr-1"}),"Copy"]})}),i.jsx(ot,{variant:"outline",size:"sm",onClick:f,disabled:c,children:i.jsx(Si,{className:`w-4 h-4 ${c?"animate-spin":""}`})})]})]}),i.jsx("div",{className:"flex-1 overflow-auto",children:c?i.jsxs("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:[i.jsx(Si,{className:"w-5 h-5 animate-spin mr-2"}),"Loading..."]}):r?i.jsx(Ix,{value:r,onChange:()=>{},language:"yaml",readonly:!0,minHeight:"auto",className:"min-h-full"}):i.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:i.jsxs("div",{className:"text-center",children:[i.jsx(Up,{className:"w-12 h-12 mx-auto mb-3 opacity-30"}),i.jsx("p",{children:"Config file not found"}),i.jsx("code",{className:"text-sm bg-muted px-2 py-1 rounded mt-2 inline-block",children:"ccs migrate"})]})})})]})})]})]})}function ZC(){return i.jsx(GC,{children:i.jsx(WC,{})})}const IC=Object.freeze(Object.defineProperty({__proto__:null,SettingsPage:ZC},Symbol.toStringTag,{value:"Module"})),KM=sb,GM=rb,QM=ib,$C=y.forwardRef(({className:a,align:l="center",sideOffset:r=4,...c},d)=>i.jsx(lb,{children:i.jsx($g,{ref:d,align:l,sideOffset:r,className:Y("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...c})}));$C.displayName=$g.displayName;function JC(a,l,r="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:a,timeZoneName:r}).format(l).split(/\s/g).slice(2).join(" ")}const FC={},yi={};function gl(a,l){try{const c=(FC[a]||=new Intl.DateTimeFormat("en-US",{timeZone:a,timeZoneName:"longOffset"}).format)(l).split("GMT")[1];return c in yi?yi[c]:Cg(c,c.split(":"))}catch{if(a in yi)return yi[a];const r=a?.match(e2);return r?Cg(a,r.slice(1)):NaN}}const e2=/([+-]\d\d):?(\d\d)?/;function Cg(a,l){const r=+(l[0]||0),c=+(l[1]||0),d=+(l[2]||0)/60;return yi[a]=r*60+c>0?r*60+c+d:r*60-c-d}class Ln extends Date{constructor(...l){super(),l.length>1&&typeof l[l.length-1]=="string"&&(this.timeZone=l.pop()),this.internal=new Date,isNaN(gl(this.timeZone,this))?this.setTime(NaN):l.length?typeof l[0]=="number"&&(l.length===1||l.length===2&&typeof l[1]!="number")?this.setTime(l[0]):typeof l[0]=="string"?this.setTime(+new Date(l[0])):l[0]instanceof Date?this.setTime(+l[0]):(this.setTime(+new Date(...l)),ey(this),ed(this)):this.setTime(Date.now())}static tz(l,...r){return r.length?new Ln(...r,l):new Ln(Date.now(),l)}withTimeZone(l){return new Ln(+this,l)}getTimezoneOffset(){const l=-gl(this.timeZone,this);return l>0?Math.floor(l):Math.ceil(l)}setTime(l){return Date.prototype.setTime.apply(this,arguments),ed(this),+this}[Symbol.for("constructDateFrom")](l){return new Ln(+new Date(l),this.timeZone)}}const Eg=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(a=>{if(!Eg.test(a))return;const l=a.replace(Eg,"$1UTC");Ln.prototype[l]&&(a.startsWith("get")?Ln.prototype[a]=function(){return this.internal[l]()}:(Ln.prototype[a]=function(){return Date.prototype[l].apply(this.internal,arguments),t2(this),+this},Ln.prototype[l]=function(){return Date.prototype[l].apply(this,arguments),ed(this),+this}))});function ed(a){a.internal.setTime(+a),a.internal.setUTCSeconds(a.internal.getUTCSeconds()-Math.round(-gl(a.timeZone,a)*60))}function t2(a){Date.prototype.setFullYear.call(a,a.internal.getUTCFullYear(),a.internal.getUTCMonth(),a.internal.getUTCDate()),Date.prototype.setHours.call(a,a.internal.getUTCHours(),a.internal.getUTCMinutes(),a.internal.getUTCSeconds(),a.internal.getUTCMilliseconds()),ey(a)}function ey(a){const l=gl(a.timeZone,a),r=l>0?Math.floor(l):Math.ceil(l),c=new Date(+a);c.setUTCHours(c.getUTCHours()-1);const d=-new Date(+a).getTimezoneOffset(),f=-new Date(+c).getTimezoneOffset(),m=d-f,p=Date.prototype.getHours.apply(a)!==a.internal.getUTCHours();m&&p&&a.internal.setUTCMinutes(a.internal.getUTCMinutes()+m);const g=d-r;g&&Date.prototype.setUTCMinutes.call(a,Date.prototype.getUTCMinutes.call(a)+g);const b=new Date(+a);b.setUTCSeconds(0);const C=d>0?b.getSeconds():(b.getSeconds()-60)%60,v=Math.round(-(gl(a.timeZone,a)*60))%60;(v||C)&&(a.internal.setUTCSeconds(a.internal.getUTCSeconds()+v),Date.prototype.setUTCSeconds.call(a,Date.prototype.getUTCSeconds.call(a)+v+C));const S=gl(a.timeZone,a),M=S>0?Math.floor(S):Math.ceil(S),R=-new Date(+a).getTimezoneOffset()-M,_=M!==r,z=R-g;if(_&&z){Date.prototype.setUTCMinutes.call(a,Date.prototype.getUTCMinutes.call(a)+z);const B=gl(a.timeZone,a),Q=B>0?Math.floor(B):Math.ceil(B),q=M-Q;q&&(a.internal.setUTCMinutes(a.internal.getUTCMinutes()+q),Date.prototype.setUTCMinutes.call(a,Date.prototype.getUTCMinutes.call(a)+q))}}class fa extends Ln{static tz(l,...r){return r.length?new fa(...r,l):new fa(Date.now(),l)}toISOString(){const[l,r,c]=this.tzComponents(),d=`${l}${r}:${c}`;return this.internal.toISOString().slice(0,-1)+d}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[l,r,c,d]=this.internal.toUTCString().split(" ");return`${l?.slice(0,-1)} ${c} ${r} ${d}`}toTimeString(){const l=this.internal.toUTCString().split(" ")[4],[r,c,d]=this.tzComponents();return`${l} GMT${r}${c}${d} (${JC(this.timeZone,this)})`}toLocaleString(l,r){return Date.prototype.toLocaleString.call(this,l,{...r,timeZone:r?.timeZone||this.timeZone})}toLocaleDateString(l,r){return Date.prototype.toLocaleDateString.call(this,l,{...r,timeZone:r?.timeZone||this.timeZone})}toLocaleTimeString(l,r){return Date.prototype.toLocaleTimeString.call(this,l,{...r,timeZone:r?.timeZone||this.timeZone})}tzComponents(){const l=this.getTimezoneOffset(),r=l>0?"-":"+",c=String(Math.floor(Math.abs(l)/60)).padStart(2,"0"),d=String(Math.abs(l)%60).padStart(2,"0");return[r,c,d]}withTimeZone(l){return new fa(+this,l)}[Symbol.for("constructDateFrom")](l){return new fa(+new Date(l),this.timeZone)}}const Mg=5,n2=4;function a2(a,l){const r=l.startOfMonth(a),c=r.getDay()>0?r.getDay():7,d=l.addDays(a,-c+1),f=l.addDays(d,Mg*7-1);return l.getMonth(a)===l.getMonth(f)?Mg:n2}function ty(a,l){const r=l.startOfMonth(a),c=r.getDay();return c===1?r:c===0?l.addDays(r,-6):l.addDays(r,-1*(c-1))}function l2(a,l){const r=ty(a,l),c=a2(a,l);return l.addDays(r,c*7-1)}const ny={...di,labels:{labelDayButton:(a,l,r,c)=>{let d;c&&typeof c.format=="function"?d=c.format.bind(c):d=(m,p)=>hi(m,p,{locale:di,...r});let f=d(a,"PPPP");return l.today&&(f=`Today, ${f}`),l.selected&&(f=`${f}, selected`),f},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:a=>`Week ${a}`,labelYearDropdown:"Choose the Year",labelGrid:(a,l,r)=>{let c;return r&&typeof r.format=="function"?c=r.format.bind(r):c=(d,f)=>hi(d,f,{locale:di,...l}),c(a,"LLLL yyyy")},labelGridcell:(a,l,r,c)=>{let d;c&&typeof c.format=="function"?d=c.format.bind(c):d=(m,p)=>hi(m,p,{locale:di,...r});let f=d(a,"PPPP");return l?.today&&(f=`Today, ${f}`),f},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(a,l,r)=>{let c;return r&&typeof r.format=="function"?c=r.format.bind(r):c=(d,f)=>hi(d,f,{locale:di,...l}),c(a,"cccc")}}};class sn{constructor(l,r){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?fa.tz(this.options.timeZone):new this.Date,this.newDate=(c,d,f)=>this.overrides?.newDate?this.overrides.newDate(c,d,f):this.options.timeZone?new fa(c,d,f,this.options.timeZone):new Date(c,d,f),this.addDays=(c,d)=>this.overrides?.addDays?this.overrides.addDays(c,d):Fb(c,d),this.addMonths=(c,d)=>this.overrides?.addMonths?this.overrides.addMonths(c,d):eS(c,d),this.addWeeks=(c,d)=>this.overrides?.addWeeks?this.overrides.addWeeks(c,d):tS(c,d),this.addYears=(c,d)=>this.overrides?.addYears?this.overrides.addYears(c,d):nS(c,d),this.differenceInCalendarDays=(c,d)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(c,d):aS(c,d),this.differenceInCalendarMonths=(c,d)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(c,d):lS(c,d),this.eachMonthOfInterval=c=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(c):sS(c),this.eachYearOfInterval=c=>{const d=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(c):iS(c),f=new Set(d.map(p=>this.getYear(p)));if(f.size===d.length)return d;const m=[];return f.forEach(p=>{m.push(new Date(p,0,1))}),m},this.endOfBroadcastWeek=c=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(c):l2(c,this),this.endOfISOWeek=c=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(c):rS(c),this.endOfMonth=c=>this.overrides?.endOfMonth?this.overrides.endOfMonth(c):oS(c),this.endOfWeek=(c,d)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(c,d):cS(c,this.options),this.endOfYear=c=>this.overrides?.endOfYear?this.overrides.endOfYear(c):uS(c),this.format=(c,d,f)=>{const m=this.overrides?.format?this.overrides.format(c,d,this.options):hi(c,d,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(m):m},this.getISOWeek=c=>this.overrides?.getISOWeek?this.overrides.getISOWeek(c):dS(c),this.getMonth=(c,d)=>this.overrides?.getMonth?this.overrides.getMonth(c,this.options):fS(c,this.options),this.getYear=(c,d)=>this.overrides?.getYear?this.overrides.getYear(c,this.options):mS(c,this.options),this.getWeek=(c,d)=>this.overrides?.getWeek?this.overrides.getWeek(c,this.options):hS(c,this.options),this.isAfter=(c,d)=>this.overrides?.isAfter?this.overrides.isAfter(c,d):pS(c,d),this.isBefore=(c,d)=>this.overrides?.isBefore?this.overrides.isBefore(c,d):gS(c,d),this.isDate=c=>this.overrides?.isDate?this.overrides.isDate(c):xS(c),this.isSameDay=(c,d)=>this.overrides?.isSameDay?this.overrides.isSameDay(c,d):yS(c,d),this.isSameMonth=(c,d)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(c,d):vS(c,d),this.isSameYear=(c,d)=>this.overrides?.isSameYear?this.overrides.isSameYear(c,d):bS(c,d),this.max=c=>this.overrides?.max?this.overrides.max(c):SS(c),this.min=c=>this.overrides?.min?this.overrides.min(c):NS(c),this.setMonth=(c,d)=>this.overrides?.setMonth?this.overrides.setMonth(c,d):jS(c,d),this.setYear=(c,d)=>this.overrides?.setYear?this.overrides.setYear(c,d):wS(c,d),this.startOfBroadcastWeek=(c,d)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(c,this):ty(c,this),this.startOfDay=c=>this.overrides?.startOfDay?this.overrides.startOfDay(c):CS(c),this.startOfISOWeek=c=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(c):ES(c),this.startOfMonth=c=>this.overrides?.startOfMonth?this.overrides.startOfMonth(c):MS(c),this.startOfWeek=(c,d)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(c,this.options):TS(c,this.options),this.startOfYear=c=>this.overrides?.startOfYear?this.overrides.startOfYear(c):AS(c),this.options={locale:ny,...l},this.overrides=r}getDigitMap(){const{numerals:l="latn"}=this.options,r=new Intl.NumberFormat("en-US",{numberingSystem:l}),c={};for(let d=0;d<10;d++)c[d.toString()]=r.format(d);return c}replaceDigits(l){const r=this.getDigitMap();return l.replace(/\d/g,c=>r[c]||c)}formatNumber(l){return this.replaceDigits(l.toString())}getMonthYearOrder(){const l=this.options.locale?.code;return l&&sn.yearFirstLocales.has(l)?"year-first":"month-first"}formatMonthYear(l){const{locale:r,timeZone:c,numerals:d}=this.options,f=r?.code;if(f&&sn.yearFirstLocales.has(f))try{return new Intl.DateTimeFormat(f,{month:"long",year:"numeric",timeZone:c,numberingSystem:d}).format(l)}catch{}const m=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(l,m)}}sn.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);const Hn=new sn;class ay{constructor(l,r,c=Hn){this.date=l,this.displayMonth=r,this.outside=!!(r&&!c.isSameMonth(l,r)),this.dateLib=c,this.isoDate=c.format(l,"yyyy-MM-dd"),this.displayMonthId=c.format(r,"yyyy-MM"),this.dateMonthId=c.format(l,"yyyy-MM")}isEqualTo(l){return this.dateLib.isSameDay(l.date,this.date)&&this.dateLib.isSameMonth(l.displayMonth,this.displayMonth)}}class s2{constructor(l,r){this.date=l,this.weeks=r}}class i2{constructor(l,r){this.days=r,this.weekNumber=l}}function r2(a){return ee.createElement("button",{...a})}function o2(a){return ee.createElement("span",{...a})}function c2(a){const{size:l=24,orientation:r="left",className:c}=a;return ee.createElement("svg",{className:c,width:l,height:l,viewBox:"0 0 24 24"},r==="up"&&ee.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),r==="down"&&ee.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),r==="left"&&ee.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),r==="right"&&ee.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function u2(a){const{day:l,modifiers:r,...c}=a;return ee.createElement("td",{...c})}function d2(a){const{day:l,modifiers:r,...c}=a,d=ee.useRef(null);return ee.useEffect(()=>{r.focused&&d.current?.focus()},[r.focused]),ee.createElement("button",{ref:d,...c})}var ue;(function(a){a.Root="root",a.Chevron="chevron",a.Day="day",a.DayButton="day_button",a.CaptionLabel="caption_label",a.Dropdowns="dropdowns",a.Dropdown="dropdown",a.DropdownRoot="dropdown_root",a.Footer="footer",a.MonthGrid="month_grid",a.MonthCaption="month_caption",a.MonthsDropdown="months_dropdown",a.Month="month",a.Months="months",a.Nav="nav",a.NextMonthButton="button_next",a.PreviousMonthButton="button_previous",a.Week="week",a.Weeks="weeks",a.Weekday="weekday",a.Weekdays="weekdays",a.WeekNumber="week_number",a.WeekNumberHeader="week_number_header",a.YearsDropdown="years_dropdown"})(ue||(ue={}));var lt;(function(a){a.disabled="disabled",a.hidden="hidden",a.outside="outside",a.focused="focused",a.today="today"})(lt||(lt={}));var wn;(function(a){a.range_end="range_end",a.range_middle="range_middle",a.range_start="range_start",a.selected="selected"})(wn||(wn={}));var ln;(function(a){a.weeks_before_enter="weeks_before_enter",a.weeks_before_exit="weeks_before_exit",a.weeks_after_enter="weeks_after_enter",a.weeks_after_exit="weeks_after_exit",a.caption_after_enter="caption_after_enter",a.caption_after_exit="caption_after_exit",a.caption_before_enter="caption_before_enter",a.caption_before_exit="caption_before_exit"})(ln||(ln={}));function f2(a){const{options:l,className:r,components:c,classNames:d,...f}=a,m=[d[ue.Dropdown],r].join(" "),p=l?.find(({value:g})=>g===f.value);return ee.createElement("span",{"data-disabled":f.disabled,className:d[ue.DropdownRoot]},ee.createElement(c.Select,{className:m,...f},l?.map(({value:g,label:b,disabled:C})=>ee.createElement(c.Option,{key:g,value:g,disabled:C},b))),ee.createElement("span",{className:d[ue.CaptionLabel],"aria-hidden":!0},p?.label,ee.createElement(c.Chevron,{orientation:"down",size:18,className:d[ue.Chevron]})))}function m2(a){return ee.createElement("div",{...a})}function h2(a){return ee.createElement("div",{...a})}function p2(a){const{calendarMonth:l,displayIndex:r,...c}=a;return ee.createElement("div",{...c},a.children)}function g2(a){const{calendarMonth:l,displayIndex:r,...c}=a;return ee.createElement("div",{...c})}function x2(a){return ee.createElement("table",{...a})}function y2(a){return ee.createElement("div",{...a})}const ly=y.createContext(void 0);function Ei(){const a=y.useContext(ly);if(a===void 0)throw new Error("useDayPicker() must be used within a custom component.");return a}function v2(a){const{components:l}=Ei();return ee.createElement(l.Dropdown,{...a})}function b2(a){const{onPreviousClick:l,onNextClick:r,previousMonth:c,nextMonth:d,...f}=a,{components:m,classNames:p,labels:{labelPrevious:g,labelNext:b}}=Ei(),C=y.useCallback(S=>{d&&r?.(S)},[d,r]),v=y.useCallback(S=>{c&&l?.(S)},[c,l]);return ee.createElement("nav",{...f},ee.createElement(m.PreviousMonthButton,{type:"button",className:p[ue.PreviousMonthButton],tabIndex:c?void 0:-1,"aria-disabled":c?void 0:!0,"aria-label":g(c),onClick:v},ee.createElement(m.Chevron,{disabled:c?void 0:!0,className:p[ue.Chevron],orientation:"left"})),ee.createElement(m.NextMonthButton,{type:"button",className:p[ue.NextMonthButton],tabIndex:d?void 0:-1,"aria-disabled":d?void 0:!0,"aria-label":b(d),onClick:C},ee.createElement(m.Chevron,{disabled:d?void 0:!0,orientation:"right",className:p[ue.Chevron]})))}function S2(a){const{components:l}=Ei();return ee.createElement(l.Button,{...a})}function N2(a){return ee.createElement("option",{...a})}function j2(a){const{components:l}=Ei();return ee.createElement(l.Button,{...a})}function w2(a){const{rootRef:l,...r}=a;return ee.createElement("div",{...r,ref:l})}function C2(a){return ee.createElement("select",{...a})}function E2(a){const{week:l,...r}=a;return ee.createElement("tr",{...r})}function M2(a){return ee.createElement("th",{...a})}function T2(a){return ee.createElement("thead",{"aria-hidden":!0},ee.createElement("tr",{...a}))}function A2(a){const{week:l,...r}=a;return ee.createElement("th",{...r})}function O2(a){return ee.createElement("th",{...a})}function z2(a){return ee.createElement("tbody",{...a})}function _2(a){const{components:l}=Ei();return ee.createElement(l.Dropdown,{...a})}const D2=Object.freeze(Object.defineProperty({__proto__:null,Button:r2,CaptionLabel:o2,Chevron:c2,Day:u2,DayButton:d2,Dropdown:f2,DropdownNav:m2,Footer:h2,Month:p2,MonthCaption:g2,MonthGrid:x2,Months:y2,MonthsDropdown:v2,Nav:b2,NextMonthButton:S2,Option:N2,PreviousMonthButton:j2,Root:w2,Select:C2,Week:E2,WeekNumber:A2,WeekNumberHeader:O2,Weekday:M2,Weekdays:T2,Weeks:z2,YearsDropdown:_2},Symbol.toStringTag,{value:"Module"}));function ma(a,l,r=!1,c=Hn){let{from:d,to:f}=a;const{differenceInCalendarDays:m,isSameDay:p}=c;return d&&f?(m(f,d)<0&&([d,f]=[f,d]),m(l,d)>=(r?1:0)&&m(f,l)>=(r?1:0)):!r&&f?p(f,l):!r&&d?p(d,l):!1}function Ld(a){return!!(a&&typeof a=="object"&&"before"in a&&"after"in a)}function xo(a){return!!(a&&typeof a=="object"&&"from"in a)}function Bd(a){return!!(a&&typeof a=="object"&&"after"in a)}function Hd(a){return!!(a&&typeof a=="object"&&"before"in a)}function sy(a){return!!(a&&typeof a=="object"&&"dayOfWeek"in a)}function iy(a,l){return Array.isArray(a)&&a.every(l.isDate)}function ha(a,l,r=Hn){const c=Array.isArray(l)?l:[l],{isSameDay:d,differenceInCalendarDays:f,isAfter:m}=r;return c.some(p=>{if(typeof p=="boolean")return p;if(r.isDate(p))return d(a,p);if(iy(p,r))return p.some(g=>d(a,g));if(xo(p))return ma(p,a,!1,r);if(sy(p))return Array.isArray(p.dayOfWeek)?p.dayOfWeek.includes(a.getDay()):p.dayOfWeek===a.getDay();if(Ld(p)){const g=f(p.before,a),b=f(p.after,a),C=g>0,v=b<0;return m(p.before,p.after)?v&&C:C||v}return Bd(p)?f(a,p.after)>0:Hd(p)?f(p.before,a)>0:typeof p=="function"?p(a):!1})}function k2(a,l,r,c,d){const{disabled:f,hidden:m,modifiers:p,showOutsideDays:g,broadcastCalendar:b,today:C=d.today()}=l,{isSameDay:v,isSameMonth:S,startOfMonth:M,isBefore:T,endOfMonth:R,isAfter:_}=d,z=r&&M(r),B=c&&R(c),Q={[lt.focused]:[],[lt.outside]:[],[lt.disabled]:[],[lt.hidden]:[],[lt.today]:[]},q={};for(const H of a){const{date:N,displayMonth:G}=H,P=!!(G&&!S(N,G)),F=!!(z&&T(N,z)),ie=!!(B&&_(N,B)),be=!!(f&&ha(N,f,d)),re=!!(m&&ha(N,m,d))||F||ie||!b&&!g&&P||b&&g===!1&&P,Be=v(N,C);P&&Q.outside.push(H),be&&Q.disabled.push(H),re&&Q.hidden.push(H),Be&&Q.today.push(H),p&&Object.keys(p).forEach(Se=>{const ye=p?.[Se];ye&&ha(N,ye,d)&&(q[Se]?q[Se].push(H):q[Se]=[H])})}return H=>{const N={[lt.focused]:!1,[lt.disabled]:!1,[lt.hidden]:!1,[lt.outside]:!1,[lt.today]:!1},G={};for(const P in Q){const F=Q[P];N[P]=F.some(ie=>ie===H)}for(const P in q)G[P]=q[P].some(F=>F===H);return{...N,...G}}}function R2(a,l,r={}){return Object.entries(a).filter(([,d])=>d===!0).reduce((d,[f])=>(r[f]?d.push(r[f]):l[lt[f]]?d.push(l[lt[f]]):l[wn[f]]&&d.push(l[wn[f]]),d),[l[ue.Day]])}function U2(a){return{...D2,...a}}function L2(a){const l={"data-mode":a.mode??void 0,"data-required":"required"in a?a.required:void 0,"data-multiple-months":a.numberOfMonths&&a.numberOfMonths>1||void 0,"data-week-numbers":a.showWeekNumber||void 0,"data-broadcast-calendar":a.broadcastCalendar||void 0,"data-nav-layout":a.navLayout||void 0};return Object.entries(a).forEach(([r,c])=>{r.startsWith("data-")&&(l[r]=c)}),l}function B2(){const a={};for(const l in ue)a[ue[l]]=`rdp-${ue[l]}`;for(const l in lt)a[lt[l]]=`rdp-${lt[l]}`;for(const l in wn)a[wn[l]]=`rdp-${wn[l]}`;for(const l in ln)a[ln[l]]=`rdp-${ln[l]}`;return a}function ry(a,l,r){return(r??new sn(l)).formatMonthYear(a)}const H2=ry;function q2(a,l,r){return(r??new sn(l)).format(a,"d")}function Y2(a,l=Hn){return l.format(a,"LLLL")}function K2(a,l,r){return(r??new sn(l)).format(a,"cccccc")}function G2(a,l=Hn){return a<10?l.formatNumber(`0${a.toLocaleString()}`):l.formatNumber(`${a.toLocaleString()}`)}function Q2(){return""}function oy(a,l=Hn){return l.format(a,"yyyy")}const V2=oy,X2=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:ry,formatDay:q2,formatMonthCaption:H2,formatMonthDropdown:Y2,formatWeekNumber:G2,formatWeekNumberHeader:Q2,formatWeekdayName:K2,formatYearCaption:V2,formatYearDropdown:oy},Symbol.toStringTag,{value:"Module"}));function P2(a){return a?.formatMonthCaption&&!a.formatCaption&&(a.formatCaption=a.formatMonthCaption),a?.formatYearCaption&&!a.formatYearDropdown&&(a.formatYearDropdown=a.formatYearCaption),{...X2,...a}}function qd(a,l,r,c){let d=(c??new sn(r)).format(a,"PPPP");return l.today&&(d=`Today, ${d}`),l.selected&&(d=`${d}, selected`),d}const W2=qd;function Yd(a,l,r){return(r??new sn(l)).formatMonthYear(a)}const Z2=Yd;function cy(a,l,r,c){let d=(c??new sn(r)).format(a,"PPPP");return l?.today&&(d=`Today, ${d}`),d}function uy(a){return"Choose the Month"}function dy(){return""}const I2="Go to the Next Month";function fy(a,l){return I2}function my(a){return"Go to the Previous Month"}function hy(a,l,r){return(r??new sn(l)).format(a,"cccc")}function py(a,l){return`Week ${a}`}function gy(a){return"Week Number"}function xy(a){return"Choose the Year"}const $2=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:Z2,labelDay:W2,labelDayButton:qd,labelGrid:Yd,labelGridcell:cy,labelMonthDropdown:uy,labelNav:dy,labelNext:fy,labelPrevious:my,labelWeekNumber:py,labelWeekNumberHeader:gy,labelWeekday:hy,labelYearDropdown:xy},Symbol.toStringTag,{value:"Module"})),jn=(a,l,r)=>l||(r?typeof r=="function"?r:(...c)=>r:a);function J2(a,l){const r=l.locale?.labels??{};return{...$2,...a??{},labelDayButton:jn(qd,a?.labelDayButton,r.labelDayButton),labelMonthDropdown:jn(uy,a?.labelMonthDropdown,r.labelMonthDropdown),labelNext:jn(fy,a?.labelNext,r.labelNext),labelPrevious:jn(my,a?.labelPrevious,r.labelPrevious),labelWeekNumber:jn(py,a?.labelWeekNumber,r.labelWeekNumber),labelYearDropdown:jn(xy,a?.labelYearDropdown,r.labelYearDropdown),labelGrid:jn(Yd,a?.labelGrid,r.labelGrid),labelGridcell:jn(cy,a?.labelGridcell,r.labelGridcell),labelNav:jn(dy,a?.labelNav,r.labelNav),labelWeekNumberHeader:jn(gy,a?.labelWeekNumberHeader,r.labelWeekNumberHeader),labelWeekday:jn(hy,a?.labelWeekday,r.labelWeekday)}}function F2(a,l,r,c,d){const{startOfMonth:f,startOfYear:m,endOfYear:p,eachMonthOfInterval:g,getMonth:b}=d;return g({start:m(a),end:p(a)}).map(S=>{const M=c.formatMonthDropdown(S,d),T=b(S),R=l&&S<f(l)||r&&S>f(r)||!1;return{value:T,label:M,disabled:R}})}function eE(a,l={},r={}){let c={...l?.[ue.Day]};return Object.entries(a).filter(([,d])=>d===!0).forEach(([d])=>{c={...c,...r?.[d]}}),c}function tE(a,l,r,c){const d=c??a.today(),f=r?a.startOfBroadcastWeek(d,a):l?a.startOfISOWeek(d):a.startOfWeek(d),m=[];for(let p=0;p<7;p++){const g=a.addDays(f,p);m.push(g)}return m}function nE(a,l,r,c,d=!1){if(!a||!l)return;const{startOfYear:f,endOfYear:m,eachYearOfInterval:p,getYear:g}=c,b=f(a),C=m(l),v=p({start:b,end:C});return d&&v.reverse(),v.map(S=>{const M=r.formatYearDropdown(S,c);return{value:g(S),label:M,disabled:!1}})}const Mi=a=>a instanceof HTMLElement?a:null,Yu=a=>[...a.querySelectorAll("[data-animated-month]")??[]],aE=a=>Mi(a.querySelector("[data-animated-month]")),Ku=a=>Mi(a.querySelector("[data-animated-caption]")),Gu=a=>Mi(a.querySelector("[data-animated-weeks]")),lE=a=>Mi(a.querySelector("[data-animated-nav]")),sE=a=>Mi(a.querySelector("[data-animated-weekdays]"));function iE(a,l,{classNames:r,months:c,focused:d,dateLib:f}){const m=y.useRef(null),p=y.useRef(c),g=y.useRef(!1);y.useLayoutEffect(()=>{const b=p.current;if(p.current=c,!l||!a.current||!(a.current instanceof HTMLElement)||c.length===0||b.length===0||c.length!==b.length)return;const C=f.isSameMonth(c[0].date,b[0].date),v=f.isAfter(c[0].date,b[0].date),S=v?r[ln.caption_after_enter]:r[ln.caption_before_enter],M=v?r[ln.weeks_after_enter]:r[ln.weeks_before_enter],T=m.current,R=a.current.cloneNode(!0);if(R instanceof HTMLElement?(Yu(R).forEach(Q=>{if(!(Q instanceof HTMLElement))return;const q=aE(Q);q&&Q.contains(q)&&Q.removeChild(q);const H=Ku(Q);H&&H.classList.remove(S);const N=Gu(Q);N&&N.classList.remove(M)}),m.current=R):m.current=null,g.current||C||d)return;const _=T instanceof HTMLElement?Yu(T):[],z=Yu(a.current);if(z?.every(B=>B instanceof HTMLElement)&&_&&_.every(B=>B instanceof HTMLElement)){g.current=!0,a.current.style.isolation="isolate";const B=lE(a.current);B&&(B.style.zIndex="1"),z.forEach((Q,q)=>{const H=_[q];if(!H)return;Q.style.position="relative",Q.style.overflow="hidden";const N=Ku(Q);N&&N.classList.add(S);const G=Gu(Q);G&&G.classList.add(M);const P=()=>{g.current=!1,a.current&&(a.current.style.isolation=""),B&&(B.style.zIndex=""),N&&N.classList.remove(S),G&&G.classList.remove(M),Q.style.position="",Q.style.overflow="",Q.contains(H)&&Q.removeChild(H)};H.style.pointerEvents="none",H.style.position="absolute",H.style.overflow="hidden",H.setAttribute("aria-hidden","true");const F=sE(H);F&&(F.style.opacity="0");const ie=Ku(H);ie&&(ie.classList.add(v?r[ln.caption_before_exit]:r[ln.caption_after_exit]),ie.addEventListener("animationend",P));const be=Gu(H);be&&be.classList.add(v?r[ln.weeks_before_exit]:r[ln.weeks_after_exit]),Q.insertBefore(H,Q.firstChild)})}})}function rE(a,l,r,c){const d=a[0],f=a[a.length-1],{ISOWeek:m,fixedWeeks:p,broadcastCalendar:g}=r??{},{addDays:b,differenceInCalendarDays:C,differenceInCalendarMonths:v,endOfBroadcastWeek:S,endOfISOWeek:M,endOfMonth:T,endOfWeek:R,isAfter:_,startOfBroadcastWeek:z,startOfISOWeek:B,startOfWeek:Q}=c,q=g?z(d,c):m?B(d):Q(d),H=g?S(f):m?M(T(f)):R(T(f)),N=l&&(g?S(l):m?M(l):R(l)),G=N&&_(H,N)?N:H,P=C(G,q),F=v(f,d)+1,ie=[];for(let Be=0;Be<=P;Be++){const Se=b(q,Be);ie.push(Se)}const re=(g?35:42)*F;if(p&&ie.length<re){const Be=re-ie.length;for(let Se=0;Se<Be;Se++){const ye=b(ie[ie.length-1],1);ie.push(ye)}}return ie}function oE(a){const l=[];return a.reduce((r,c)=>{const d=c.weeks.reduce((f,m)=>f.concat(m.days.slice()),l.slice());return r.concat(d.slice())},l.slice())}function cE(a,l,r,c){const{numberOfMonths:d=1}=r,f=[];for(let m=0;m<d;m++){const p=c.addMonths(a,m);if(l&&p>l)break;f.push(p)}return f}function Tg(a,l,r,c){const{month:d,defaultMonth:f,today:m=c.today(),numberOfMonths:p=1}=a;let g=d||f||m;const{differenceInCalendarMonths:b,addMonths:C,startOfMonth:v}=c;if(r&&b(r,g)<p-1){const S=-1*(p-1);g=C(r,S)}return l&&b(g,l)<0&&(g=l),v(g)}function uE(a,l,r,c){const{addDays:d,endOfBroadcastWeek:f,endOfISOWeek:m,endOfMonth:p,endOfWeek:g,getISOWeek:b,getWeek:C,startOfBroadcastWeek:v,startOfISOWeek:S,startOfWeek:M}=c,T=a.reduce((R,_)=>{const z=r.broadcastCalendar?v(_,c):r.ISOWeek?S(_):M(_),B=r.broadcastCalendar?f(_):r.ISOWeek?m(p(_)):g(p(_)),Q=l.filter(G=>G>=z&&G<=B),q=r.broadcastCalendar?35:42;if(r.fixedWeeks&&Q.length<q){const G=l.filter(P=>{const F=q-Q.length;return P>B&&P<=d(B,F)});Q.push(...G)}const H=Q.reduce((G,P)=>{const F=r.ISOWeek?b(P):C(P),ie=G.find(re=>re.weekNumber===F),be=new ay(P,_,c);return ie?ie.days.push(be):G.push(new i2(F,[be])),G},[]),N=new s2(_,H);return R.push(N),R},[]);return r.reverseMonths?T.reverse():T}function dE(a,l){let{startMonth:r,endMonth:c}=a;const{startOfYear:d,startOfDay:f,startOfMonth:m,endOfMonth:p,addYears:g,endOfYear:b,newDate:C,today:v}=l,{fromYear:S,toYear:M,fromMonth:T,toMonth:R}=a;!r&&T&&(r=T),!r&&S&&(r=l.newDate(S,0,1)),!c&&R&&(c=R),!c&&M&&(c=C(M,11,31));const _=a.captionLayout==="dropdown"||a.captionLayout==="dropdown-years";return r?r=m(r):S?r=C(S,0,1):!r&&_&&(r=d(g(a.today??v(),-100))),c?c=p(c):M?c=C(M,11,31):!c&&_&&(c=b(a.today??v())),[r&&f(r),c&&f(c)]}function fE(a,l,r,c){if(r.disableNavigation)return;const{pagedNavigation:d,numberOfMonths:f=1}=r,{startOfMonth:m,addMonths:p,differenceInCalendarMonths:g}=c,b=d?f:1,C=m(a);if(!l)return p(C,b);if(!(g(l,a)<f))return p(C,b)}function mE(a,l,r,c){if(r.disableNavigation)return;const{pagedNavigation:d,numberOfMonths:f}=r,{startOfMonth:m,addMonths:p,differenceInCalendarMonths:g}=c,b=d?f??1:1,C=m(a);if(!l)return p(C,-b);if(!(g(C,l)<=0))return p(C,-b)}function hE(a){const l=[];return a.reduce((r,c)=>r.concat(c.weeks.slice()),l.slice())}function yo(a,l){const[r,c]=y.useState(a);return[l===void 0?r:l,c]}function pE(a,l){const[r,c]=dE(a,l),{startOfMonth:d,endOfMonth:f}=l,m=Tg(a,r,c,l),[p,g]=yo(m,a.month?m:void 0);y.useEffect(()=>{const q=Tg(a,r,c,l);g(q)},[a.timeZone]);const{months:b,weeks:C,days:v,previousMonth:S,nextMonth:M}=y.useMemo(()=>{const q=cE(p,c,{numberOfMonths:a.numberOfMonths},l),H=rE(q,a.endMonth?f(a.endMonth):void 0,{ISOWeek:a.ISOWeek,fixedWeeks:a.fixedWeeks,broadcastCalendar:a.broadcastCalendar},l),N=uE(q,H,{broadcastCalendar:a.broadcastCalendar,fixedWeeks:a.fixedWeeks,ISOWeek:a.ISOWeek,reverseMonths:a.reverseMonths},l),G=hE(N),P=oE(N),F=mE(p,r,a,l),ie=fE(p,c,a,l);return{months:N,weeks:G,days:P,previousMonth:F,nextMonth:ie}},[l,p.getTime(),c?.getTime(),r?.getTime(),a.disableNavigation,a.broadcastCalendar,a.endMonth?.getTime(),a.fixedWeeks,a.ISOWeek,a.numberOfMonths,a.pagedNavigation,a.reverseMonths]),{disableNavigation:T,onMonthChange:R}=a,_=q=>C.some(H=>H.days.some(N=>N.isEqualTo(q))),z=q=>{if(T)return;let H=d(q);r&&H<d(r)&&(H=d(r)),c&&H>d(c)&&(H=d(c)),g(H),R?.(H)};return{months:b,weeks:C,days:v,navStart:r,navEnd:c,previousMonth:S,nextMonth:M,goToMonth:z,goToDay:q=>{_(q)||z(q.date)}}}var Un;(function(a){a[a.Today=0]="Today",a[a.Selected=1]="Selected",a[a.LastFocused=2]="LastFocused",a[a.FocusedModifier=3]="FocusedModifier"})(Un||(Un={}));function Ag(a){return!a[lt.disabled]&&!a[lt.hidden]&&!a[lt.outside]}function gE(a,l,r,c){let d,f=-1;for(const m of a){const p=l(m);Ag(p)&&(p[lt.focused]&&f<Un.FocusedModifier?(d=m,f=Un.FocusedModifier):c?.isEqualTo(m)&&f<Un.LastFocused?(d=m,f=Un.LastFocused):r(m.date)&&f<Un.Selected?(d=m,f=Un.Selected):p[lt.today]&&f<Un.Today&&(d=m,f=Un.Today))}return d||(d=a.find(m=>Ag(l(m)))),d}function xE(a,l,r,c,d,f,m){const{ISOWeek:p,broadcastCalendar:g}=f,{addDays:b,addMonths:C,addWeeks:v,addYears:S,endOfBroadcastWeek:M,endOfISOWeek:T,endOfWeek:R,max:_,min:z,startOfBroadcastWeek:B,startOfISOWeek:Q,startOfWeek:q}=m;let N={day:b,week:v,month:C,year:S,startOfWeek:G=>g?B(G,m):p?Q(G):q(G),endOfWeek:G=>g?M(G):p?T(G):R(G)}[a](r,l==="after"?1:-1);return l==="before"&&c?N=_([c,N]):l==="after"&&d&&(N=z([d,N])),N}function yy(a,l,r,c,d,f,m,p=0){if(p>365)return;const g=xE(a,l,r.date,c,d,f,m),b=!!(f.disabled&&ha(g,f.disabled,m)),C=!!(f.hidden&&ha(g,f.hidden,m)),v=g,S=new ay(g,v,m);return!b&&!C?S:yy(a,l,S,c,d,f,m,p+1)}function yE(a,l,r,c,d){const{autoFocus:f}=a,[m,p]=y.useState(),g=gE(l.days,r,c||(()=>!1),m),[b,C]=y.useState(f?g:void 0);return{isFocusTarget:R=>!!g?.isEqualTo(R),setFocused:C,focused:b,blur:()=>{p(b),C(void 0)},moveFocus:(R,_)=>{if(!b)return;const z=yy(R,_,b,l.navStart,l.navEnd,a,d);z&&(a.disableNavigation&&!l.days.some(Q=>Q.isEqualTo(z))||(l.goToDay(z),C(z)))}}}function vE(a,l){const{selected:r,required:c,onSelect:d}=a,[f,m]=yo(r,d?r:void 0),p=d?r:f,{isSameDay:g}=l,b=M=>p?.some(T=>g(T,M))??!1,{min:C,max:v}=a;return{selected:p,select:(M,T,R)=>{let _=[...p??[]];if(b(M)){if(p?.length===C||c&&p?.length===1)return;_=p?.filter(z=>!g(z,M))}else p?.length===v?_=[M]:_=[..._,M];return d||m(_),d?.(_,M,T,R),_},isSelected:b}}function bE(a,l,r=0,c=0,d=!1,f=Hn){const{from:m,to:p}=l||{},{isSameDay:g,isAfter:b,isBefore:C}=f;let v;if(!m&&!p)v={from:a,to:r>0?void 0:a};else if(m&&!p)g(m,a)?r===0?v={from:m,to:a}:d?v={from:m,to:void 0}:v=void 0:C(a,m)?v={from:a,to:m}:v={from:m,to:a};else if(m&&p)if(g(m,a)&&g(p,a))d?v={from:m,to:p}:v=void 0;else if(g(m,a))v={from:m,to:r>0?void 0:a};else if(g(p,a))v={from:a,to:r>0?void 0:a};else if(C(a,m))v={from:a,to:p};else if(b(a,m))v={from:m,to:a};else if(b(a,p))v={from:m,to:a};else throw new Error("Invalid range");if(v?.from&&v?.to){const S=f.differenceInCalendarDays(v.to,v.from);c>0&&S>c?v={from:a,to:void 0}:r>1&&S<r&&(v={from:a,to:void 0})}return v}function SE(a,l,r=Hn){const c=Array.isArray(l)?l:[l];let d=a.from;const f=r.differenceInCalendarDays(a.to,a.from),m=Math.min(f,6);for(let p=0;p<=m;p++){if(c.includes(d.getDay()))return!0;d=r.addDays(d,1)}return!1}function Og(a,l,r=Hn){return ma(a,l.from,!1,r)||ma(a,l.to,!1,r)||ma(l,a.from,!1,r)||ma(l,a.to,!1,r)}function NE(a,l,r=Hn){const c=Array.isArray(l)?l:[l];if(c.filter(p=>typeof p!="function").some(p=>typeof p=="boolean"?p:r.isDate(p)?ma(a,p,!1,r):iy(p,r)?p.some(g=>ma(a,g,!1,r)):xo(p)?p.from&&p.to?Og(a,{from:p.from,to:p.to},r):!1:sy(p)?SE(a,p.dayOfWeek,r):Ld(p)?r.isAfter(p.before,p.after)?Og(a,{from:r.addDays(p.after,1),to:r.addDays(p.before,-1)},r):ha(a.from,p,r)||ha(a.to,p,r):Bd(p)||Hd(p)?ha(a.from,p,r)||ha(a.to,p,r):!1))return!0;const m=c.filter(p=>typeof p=="function");if(m.length){let p=a.from;const g=r.differenceInCalendarDays(a.to,a.from);for(let b=0;b<=g;b++){if(m.some(C=>C(p)))return!0;p=r.addDays(p,1)}}return!1}function jE(a,l){const{disabled:r,excludeDisabled:c,selected:d,required:f,onSelect:m}=a,[p,g]=yo(d,m?d:void 0),b=m?d:p;return{selected:b,select:(S,M,T)=>{const{min:R,max:_}=a,z=S?bE(S,b,R,_,f,l):void 0;return c&&r&&z?.from&&z.to&&NE({from:z.from,to:z.to},r,l)&&(z.from=S,z.to=void 0),m||g(z),m?.(z,S,M,T),z},isSelected:S=>b&&ma(b,S,!1,l)}}function wE(a,l){const{selected:r,required:c,onSelect:d}=a,[f,m]=yo(r,d?r:void 0),p=d?r:f,{isSameDay:g}=l;return{selected:p,select:(v,S,M)=>{let T=v;return!c&&p&&p&&g(v,p)&&(T=void 0),d||m(T),d?.(T,v,S,M),T},isSelected:v=>p?g(p,v):!1}}function CE(a,l){const r=wE(a,l),c=vE(a,l),d=jE(a,l);switch(a.mode){case"single":return r;case"multiple":return c;case"range":return d;default:return}}function Ot(a,l){return a instanceof fa&&a.timeZone===l?a:new fa(a,l)}function zg(a,l){return typeof a=="boolean"||typeof a=="function"?a:a instanceof Date?Ot(a,l):Array.isArray(a)?a.map(r=>r instanceof Date?Ot(r,l):r):xo(a)?{...a,from:a.from?Ot(a.from,l):a.from,to:a.to?Ot(a.to,l):a.to}:Ld(a)?{before:Ot(a.before,l),after:Ot(a.after,l)}:Bd(a)?{after:Ot(a.after,l)}:Hd(a)?{before:Ot(a.before,l)}:a}function Qu(a,l){return a&&(Array.isArray(a)?a.map(r=>zg(r,l)):zg(a,l))}function EE(a){let l=a;const r=l.timeZone;if(r&&(l={...a,timeZone:r},l.today&&(l.today=Ot(l.today,r)),l.month&&(l.month=Ot(l.month,r)),l.defaultMonth&&(l.defaultMonth=Ot(l.defaultMonth,r)),l.startMonth&&(l.startMonth=Ot(l.startMonth,r)),l.endMonth&&(l.endMonth=Ot(l.endMonth,r)),l.mode==="single"&&l.selected?l.selected=Ot(l.selected,r):l.mode==="multiple"&&l.selected?l.selected=l.selected?.map(oe=>Ot(oe,r)):l.mode==="range"&&l.selected&&(l.selected={from:l.selected.from?Ot(l.selected.from,r):l.selected.from,to:l.selected.to?Ot(l.selected.to,r):l.selected.to}),l.disabled!==void 0&&(l.disabled=Qu(l.disabled,r)),l.hidden!==void 0&&(l.hidden=Qu(l.hidden,r)),l.modifiers)){const oe={};Object.keys(l.modifiers).forEach(Ne=>{oe[Ne]=Qu(l.modifiers?.[Ne],r)}),l.modifiers=oe}const{components:c,formatters:d,labels:f,dateLib:m,locale:p,classNames:g}=y.useMemo(()=>{const oe={...ny,...l.locale},Ne=new sn({locale:oe,weekStartsOn:l.broadcastCalendar?1:l.weekStartsOn,firstWeekContainsDate:l.firstWeekContainsDate,useAdditionalWeekYearTokens:l.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:l.useAdditionalDayOfYearTokens,timeZone:l.timeZone,numerals:l.numerals},l.dateLib);return{dateLib:Ne,components:U2(l.components),formatters:P2(l.formatters),labels:J2(l.labels,Ne.options),locale:oe,classNames:{...B2(),...l.classNames}}},[l.locale,l.broadcastCalendar,l.weekStartsOn,l.firstWeekContainsDate,l.useAdditionalWeekYearTokens,l.useAdditionalDayOfYearTokens,l.timeZone,l.numerals,l.dateLib,l.components,l.formatters,l.labels,l.classNames]);l.today||(l={...l,today:m.today()});const{captionLayout:b,mode:C,navLayout:v,numberOfMonths:S=1,onDayBlur:M,onDayClick:T,onDayFocus:R,onDayKeyDown:_,onDayMouseEnter:z,onDayMouseLeave:B,onNextClick:Q,onPrevClick:q,showWeekNumber:H,styles:N}=l,{formatCaption:G,formatDay:P,formatMonthDropdown:F,formatWeekNumber:ie,formatWeekNumberHeader:be,formatWeekdayName:re,formatYearDropdown:Be}=d,Se=pE(l,m),{days:ye,months:k,navStart:U,navEnd:J,previousMonth:ce,nextMonth:ve,goToMonth:_e}=Se,ze=k2(ye,l,U,J,m),{isSelected:W,select:I,selected:ne}=CE(l,m)??{},{blur:$,focused:te,isFocusTarget:me,moveFocus:Oe,setFocused:Ke}=yE(l,Se,ze,W??(()=>!1),m),{labelDayButton:yt,labelGridcell:vt,labelGrid:Qe,labelMonthDropdown:tt,labelNav:kt,labelPrevious:Vt,labelNext:qn,labelWeekday:je,labelWeekNumber:Xt,labelWeekNumberHeader:Mn,labelYearDropdown:Pt}=f,xa=y.useMemo(()=>tE(m,l.ISOWeek,l.broadcastCalendar,l.today),[m,l.ISOWeek,l.broadcastCalendar,l.today]),Yn=C!==void 0||T!==void 0,ut=y.useCallback(()=>{ce&&(_e(ce),q?.(ce))},[ce,_e,q]),Wt=y.useCallback(()=>{ve&&(_e(ve),Q?.(ve))},[_e,ve,Q]),Kn=y.useCallback((oe,Ne)=>pe=>{pe.preventDefault(),pe.stopPropagation(),Ke(oe),!Ne.disabled&&(I?.(oe.date,Ne,pe),T?.(oe.date,Ne,pe))},[I,T,Ke]),Za=y.useCallback((oe,Ne)=>pe=>{Ke(oe),R?.(oe.date,Ne,pe)},[R,Ke]),Tn=y.useCallback((oe,Ne)=>pe=>{$(),M?.(oe.date,Ne,pe)},[$,M]),An=y.useCallback((oe,Ne)=>pe=>{const Te={ArrowLeft:[pe.shiftKey?"month":"day",l.dir==="rtl"?"after":"before"],ArrowRight:[pe.shiftKey?"month":"day",l.dir==="rtl"?"before":"after"],ArrowDown:[pe.shiftKey?"year":"week","after"],ArrowUp:[pe.shiftKey?"year":"week","before"],PageUp:[pe.shiftKey?"year":"month","before"],PageDown:[pe.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(Te[pe.key]){pe.preventDefault(),pe.stopPropagation();const[Je,xe]=Te[pe.key];Oe(Je,xe)}_?.(oe.date,Ne,pe)},[Oe,_,l.dir]),Nl=y.useCallback((oe,Ne)=>pe=>{z?.(oe.date,Ne,pe)},[z]),gs=y.useCallback((oe,Ne)=>pe=>{B?.(oe.date,Ne,pe)},[B]),xs=y.useCallback(oe=>Ne=>{const pe=Number(Ne.target.value),Te=m.setMonth(m.startOfMonth(oe),pe);_e(Te)},[m,_e]),Gn=y.useCallback(oe=>Ne=>{const pe=Number(Ne.target.value),Te=m.setYear(m.startOfMonth(oe),pe);_e(Te)},[m,_e]),{className:Z,style:Ee}=y.useMemo(()=>({className:[g[ue.Root],l.className].filter(Boolean).join(" "),style:{...N?.[ue.Root],...l.style}}),[g,l.className,l.style,N]),he=L2(l),Me=y.useRef(null);iE(Me,!!l.animate,{classNames:g,months:k,focused:te,dateLib:m});const nt={dayPickerProps:l,selected:ne,select:I,isSelected:W,months:k,nextMonth:ve,previousMonth:ce,goToMonth:_e,getModifiers:ze,components:c,classNames:g,styles:N,labels:f,formatters:d};return ee.createElement(ly.Provider,{value:nt},ee.createElement(c.Root,{rootRef:l.animate?Me:void 0,className:Z,style:Ee,dir:l.dir,id:l.id,lang:l.lang,nonce:l.nonce,title:l.title,role:l.role,"aria-label":l["aria-label"],"aria-labelledby":l["aria-labelledby"],...he},ee.createElement(c.Months,{className:g[ue.Months],style:N?.[ue.Months]},!l.hideNavigation&&!v&&ee.createElement(c.Nav,{"data-animated-nav":l.animate?"true":void 0,className:g[ue.Nav],style:N?.[ue.Nav],"aria-label":kt(),onPreviousClick:ut,onNextClick:Wt,previousMonth:ce,nextMonth:ve}),k.map((oe,Ne)=>ee.createElement(c.Month,{"data-animated-month":l.animate?"true":void 0,className:g[ue.Month],style:N?.[ue.Month],key:Ne,displayIndex:Ne,calendarMonth:oe},v==="around"&&!l.hideNavigation&&Ne===0&&ee.createElement(c.PreviousMonthButton,{type:"button",className:g[ue.PreviousMonthButton],tabIndex:ce?void 0:-1,"aria-disabled":ce?void 0:!0,"aria-label":Vt(ce),onClick:ut,"data-animated-button":l.animate?"true":void 0},ee.createElement(c.Chevron,{disabled:ce?void 0:!0,className:g[ue.Chevron],orientation:l.dir==="rtl"?"right":"left"})),ee.createElement(c.MonthCaption,{"data-animated-caption":l.animate?"true":void 0,className:g[ue.MonthCaption],style:N?.[ue.MonthCaption],calendarMonth:oe,displayIndex:Ne},b?.startsWith("dropdown")?ee.createElement(c.DropdownNav,{className:g[ue.Dropdowns],style:N?.[ue.Dropdowns]},(()=>{const pe=b==="dropdown"||b==="dropdown-months"?ee.createElement(c.MonthsDropdown,{key:"month",className:g[ue.MonthsDropdown],"aria-label":tt(),classNames:g,components:c,disabled:!!l.disableNavigation,onChange:xs(oe.date),options:F2(oe.date,U,J,d,m),style:N?.[ue.Dropdown],value:m.getMonth(oe.date)}):ee.createElement("span",{key:"month"},F(oe.date,m)),Te=b==="dropdown"||b==="dropdown-years"?ee.createElement(c.YearsDropdown,{key:"year",className:g[ue.YearsDropdown],"aria-label":Pt(m.options),classNames:g,components:c,disabled:!!l.disableNavigation,onChange:Gn(oe.date),options:nE(U,J,d,m,!!l.reverseYears),style:N?.[ue.Dropdown],value:m.getYear(oe.date)}):ee.createElement("span",{key:"year"},Be(oe.date,m));return m.getMonthYearOrder()==="year-first"?[Te,pe]:[pe,Te]})(),ee.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},G(oe.date,m.options,m))):ee.createElement(c.CaptionLabel,{className:g[ue.CaptionLabel],role:"status","aria-live":"polite"},G(oe.date,m.options,m))),v==="around"&&!l.hideNavigation&&Ne===S-1&&ee.createElement(c.NextMonthButton,{type:"button",className:g[ue.NextMonthButton],tabIndex:ve?void 0:-1,"aria-disabled":ve?void 0:!0,"aria-label":qn(ve),onClick:Wt,"data-animated-button":l.animate?"true":void 0},ee.createElement(c.Chevron,{disabled:ve?void 0:!0,className:g[ue.Chevron],orientation:l.dir==="rtl"?"left":"right"})),Ne===S-1&&v==="after"&&!l.hideNavigation&&ee.createElement(c.Nav,{"data-animated-nav":l.animate?"true":void 0,className:g[ue.Nav],style:N?.[ue.Nav],"aria-label":kt(),onPreviousClick:ut,onNextClick:Wt,previousMonth:ce,nextMonth:ve}),ee.createElement(c.MonthGrid,{role:"grid","aria-multiselectable":C==="multiple"||C==="range","aria-label":Qe(oe.date,m.options,m)||void 0,className:g[ue.MonthGrid],style:N?.[ue.MonthGrid]},!l.hideWeekdays&&ee.createElement(c.Weekdays,{"data-animated-weekdays":l.animate?"true":void 0,className:g[ue.Weekdays],style:N?.[ue.Weekdays]},H&&ee.createElement(c.WeekNumberHeader,{"aria-label":Mn(m.options),className:g[ue.WeekNumberHeader],style:N?.[ue.WeekNumberHeader],scope:"col"},be()),xa.map(pe=>ee.createElement(c.Weekday,{"aria-label":je(pe,m.options,m),className:g[ue.Weekday],key:String(pe),style:N?.[ue.Weekday],scope:"col"},re(pe,m.options,m)))),ee.createElement(c.Weeks,{"data-animated-weeks":l.animate?"true":void 0,className:g[ue.Weeks],style:N?.[ue.Weeks]},oe.weeks.map(pe=>ee.createElement(c.Week,{className:g[ue.Week],key:pe.weekNumber,style:N?.[ue.Week],week:pe},H&&ee.createElement(c.WeekNumber,{week:pe,style:N?.[ue.WeekNumber],"aria-label":Xt(pe.weekNumber,{locale:p}),className:g[ue.WeekNumber],scope:"row",role:"rowheader"},ie(pe.weekNumber,m)),pe.days.map(Te=>{const{date:Je}=Te,xe=ze(Te);if(xe[lt.focused]=!xe.hidden&&!!te?.isEqualTo(Te),xe[wn.selected]=W?.(Je)||xe.selected,xo(ne)){const{from:Zt,to:vn}=ne;xe[wn.range_start]=!!(Zt&&vn&&m.isSameDay(Je,Zt)),xe[wn.range_end]=!!(Zt&&vn&&m.isSameDay(Je,vn)),xe[wn.range_middle]=ma(ne,Je,!0,m)}const _t=eE(xe,N,l.modifiersStyles),Qn=R2(xe,g,l.modifiersClassNames),Nt=!Yn&&!xe.hidden?vt(Je,xe,m.options,m):void 0;return ee.createElement(c.Day,{key:`${Te.isoDate}_${Te.displayMonthId}`,day:Te,modifiers:xe,className:Qn.join(" "),style:_t,role:"gridcell","aria-selected":xe.selected||void 0,"aria-label":Nt,"data-day":Te.isoDate,"data-month":Te.outside?Te.dateMonthId:void 0,"data-selected":xe.selected||void 0,"data-disabled":xe.disabled||void 0,"data-hidden":xe.hidden||void 0,"data-outside":Te.outside||void 0,"data-focused":xe.focused||void 0,"data-today":xe.today||void 0},!xe.hidden&&Yn?ee.createElement(c.DayButton,{className:g[ue.DayButton],style:N?.[ue.DayButton],type:"button",day:Te,modifiers:xe,disabled:!xe.focused&&xe.disabled||void 0,"aria-disabled":xe.focused&&xe.disabled||void 0,tabIndex:me(Te)?0:-1,"aria-label":yt(Je,xe,m.options,m),onClick:Kn(Te,xe),onBlur:Tn(Te,xe),onFocus:Za(Te,xe),onKeyDown:An(Te,xe),onMouseEnter:Nl(Te,xe),onMouseLeave:gs(Te,xe)},P(Je,m.options,m)):!xe.hidden&&P(Te.date,m.options,m))})))))))),l.footer&&ee.createElement(c.Footer,{className:g[ue.Footer],style:N?.[ue.Footer],role:"status","aria-live":"polite"},l.footer)))}function ME({className:a,classNames:l,showOutsideDays:r=!0,...c}){return i.jsx(EE,{showOutsideDays:r,className:Y("p-2",a),classNames:{root:"relative",months:"flex flex-col sm:flex-row gap-2 sm:gap-4",month:"flex flex-col gap-2",month_caption:"flex justify-center pt-1 relative items-center h-8",caption_label:"text-sm font-medium",nav:"absolute inset-x-0 top-2 flex items-center justify-between px-1 z-10",button_previous:Y(Qr({variant:"ghost"}),"h-7 w-7 bg-transparent p-0 opacity-70 hover:opacity-100 hover:bg-accent rounded-md"),button_next:Y(Qr({variant:"ghost"}),"h-7 w-7 bg-transparent p-0 opacity-70 hover:opacity-100 hover:bg-accent rounded-md"),month_grid:"w-full border-collapse",weekdays:"flex w-full",weekday:"text-muted-foreground w-8 font-normal text-xs text-center",weeks:"flex flex-col",week:"flex w-full",day:Y("relative h-8 w-8 p-0 text-center text-xs font-normal focus-within:relative focus-within:z-20","hover:bg-accent hover:text-accent-foreground rounded-full select-none"),day_button:Y(Qr({variant:"ghost"}),"h-8 w-8 p-0 font-normal rounded-full text-xs","aria-selected:opacity-100"),range_start:Y("aria-selected:bg-primary aria-selected:text-primary-foreground","aria-selected:rounded-l-full aria-selected:rounded-r-none","aria-selected:hover:bg-primary aria-selected:hover:text-primary-foreground"),range_end:Y("aria-selected:bg-primary aria-selected:text-primary-foreground","aria-selected:rounded-r-full aria-selected:rounded-l-none","aria-selected:hover:bg-primary aria-selected:hover:text-primary-foreground"),range_middle:Y("aria-selected:bg-accent aria-selected:text-accent-foreground","aria-selected:rounded-none"),selected:Y("bg-primary text-primary-foreground rounded-full","hover:bg-primary hover:text-primary-foreground","focus:bg-primary focus:text-primary-foreground"),today:"bg-accent text-accent-foreground rounded-full",outside:"text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30",disabled:"text-muted-foreground opacity-50",hidden:"invisible",...l},components:{Chevron:({orientation:d,className:f,...m})=>{const p=d==="left"?Zb:d==="right"?Fr:d==="up"?sd:so;return i.jsx(p,{className:Y("h-4 w-4",f),...m})}},...c})}ME.displayName="Calendar";const TE=y.lazy(()=>St(()=>Promise.resolve().then(()=>Ud),void 0).then(a=>({default:a.CodeEditor})));function VM({rawJsonContent:a,isRawJsonValid:l,rawJsonEdits:r,rawSettingsEnv:c,onChange:d,missingRequiredFields:f=[]}){const m=f.length>0;return i.jsx(y.Suspense,{fallback:i.jsxs("div",{className:"flex items-center justify-center h-full",children:[i.jsx(En,{className:"w-6 h-6 animate-spin text-muted-foreground"}),i.jsx("span",{className:"ml-2 text-muted-foreground",children:"Loading editor..."})]}),children:i.jsxs("div",{className:"h-full flex flex-col",children:[!l&&r!==null&&i.jsxs("div",{className:"mb-2 px-3 py-2 bg-destructive/10 text-destructive text-sm rounded-md flex items-center gap-2 mx-6 mt-4 shrink-0",children:[i.jsx(hs,{className:"w-4 h-4"}),"Invalid JSON syntax"]}),l&&m&&i.jsxs("div",{className:"mb-2 px-3 py-2 bg-warning/10 text-warning-foreground text-sm rounded-md flex items-start gap-2 mx-6 mt-4 shrink-0 border border-warning/20",children:[i.jsx(pa,{className:"w-4 h-4 mt-0.5 text-amber-500 shrink-0"}),i.jsxs("div",{children:[i.jsx("span",{className:"font-medium text-amber-600 dark:text-amber-400",children:"Missing required fields:"})," ",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded",children:f.join(", ")}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"These fields will use default values at runtime."})]})]}),i.jsx("div",{className:"flex-1 overflow-hidden px-6 pb-4 pt-4",children:i.jsx("div",{className:"h-full border rounded-md overflow-hidden bg-background",children:i.jsx(TE,{value:a,onChange:d,language:"json",minHeight:"100%"})})}),i.jsx("div",{className:"mx-6 mb-4",children:i.jsx("div",{className:"border rounded-md overflow-hidden",children:i.jsx(kd,{profileEnv:c})})})]})})}function AE(){const[a,l]=y.useState(""),[r,c]=y.useState(""),[d,f]=y.useState(null),[m,p]=y.useState(!1),{login:g,authRequired:b,isAuthenticated:C}=ud(),v=nd(),M=td().state?.from?.pathname||"/";if(y.useEffect(()=>{(C||!b)&&v(M,{replace:!0})},[C,b,v,M]),C||!b)return null;const T=async R=>{R.preventDefault(),f(null),p(!0);try{await g(a,r),v(M,{replace:!0})}catch(_){f(_ instanceof Error?_.message:"Login failed")}finally{p(!1)}};return i.jsx("div",{className:"flex min-h-screen items-center justify-center bg-background p-4",children:i.jsxs(SC,{className:"w-full max-w-sm",children:[i.jsxs(NC,{className:"space-y-1 text-center",children:[i.jsx("div",{className:"mx-auto mb-2 flex h-12 w-12 items-center justify-center rounded-full bg-primary/10",children:i.jsx(Ib,{className:"h-6 w-6 text-primary"})}),i.jsx(jC,{className:"text-2xl",children:"CCS Dashboard"}),i.jsx(wC,{children:"Enter your credentials to access the dashboard"})]}),i.jsx(CC,{children:i.jsxs("form",{onSubmit:T,className:"space-y-4",children:[d&&i.jsxs(Od,{variant:"destructive",children:[i.jsx(rd,{className:"h-4 w-4"}),i.jsx(zd,{children:d})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(yn,{htmlFor:"username",children:"Username"}),i.jsx(Rn,{id:"username",type:"text",value:a,onChange:R=>l(R.target.value),placeholder:"Enter username",autoComplete:"username",disabled:m,required:!0})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(yn,{htmlFor:"password",children:"Password"}),i.jsx(Rn,{id:"password",type:"password",value:r,onChange:R=>c(R.target.value),placeholder:"Enter password",autoComplete:"current-password",disabled:m,required:!0})]}),i.jsx(ot,{type:"submit",className:"w-full",disabled:m,children:m?i.jsxs(i.Fragment,{children:[i.jsx(En,{className:"mr-2 h-4 w-4 animate-spin"}),"Signing in..."]}):"Sign In"})]})})]})})}const OE=y.lazy(()=>St(()=>import("./index-DxJ6n3Xj.js"),__vite__mapDeps([18,1,2,4,5,7,19,6,8,9])).then(a=>({default:a.AnalyticsPage}))),zE=y.lazy(()=>St(()=>import("./api-ro9Lnh_-.js"),__vite__mapDeps([20,1,2,5,21,15,6,4,22,7,8,9])).then(a=>({default:a.ApiPage}))),_E=y.lazy(()=>St(()=>import("./cliproxy-B9uR8iF6.js"),__vite__mapDeps([23,1,2,5,13,6,4,24,21,15,22,3,14,7,8,9])).then(a=>({default:a.CliproxyPage}))),DE=y.lazy(()=>St(()=>import("./cliproxy-control-panel-Deg_B3hN.js"),__vite__mapDeps([25,1,2,5,13,4,6,7,8,9])).then(a=>({default:a.CliproxyControlPanelPage}))),kE=y.lazy(()=>St(()=>import("./copilot-CVh1DbSA.js"),__vite__mapDeps([26,1,2,5,21,15,4,22,3,6,7,8,9])).then(a=>({default:a.CopilotPage}))),RE=y.lazy(()=>St(()=>import("./cursor-DRBFQ_RE.js"),__vite__mapDeps([27,1,2,6,5,13,3,22,4,7,8,9])).then(a=>({default:a.CursorPage}))),UE=y.lazy(()=>St(()=>import("./accounts-DbmA5iYY.js"),__vite__mapDeps([28,1,2,5,15,6,4,24,7,8,9])).then(a=>({default:a.AccountsPage}))),LE=y.lazy(()=>St(()=>Promise.resolve().then(()=>IC),void 0).then(a=>({default:a.SettingsPage}))),BE=y.lazy(()=>St(()=>import("./health-Bnku3GJ1.js"),__vite__mapDeps([29,1,2,5,6,4,7,8,9])).then(a=>({default:a.HealthPage}))),HE=y.lazy(()=>St(()=>import("./shared-kmlEwIM6.js"),__vite__mapDeps([30,1,2,4,5,6,7,8,9])).then(a=>({default:a.SharedPage})));function kn(){return i.jsx("div",{className:"flex h-64 items-center justify-center",children:i.jsx(En,{className:"h-8 w-8 animate-spin text-muted-foreground"})})}function qE(){return i.jsx(gb,{client:QS,children:i.jsx(XS,{defaultTheme:"system",storageKey:"vite-ui-theme",children:i.jsx(PS,{children:i.jsx(JS,{children:i.jsxs(mb,{children:[i.jsxs(hb,{children:[i.jsx(Kt,{path:"/login",element:i.jsx(AE,{})}),i.jsx(Kt,{element:i.jsx(FS,{}),children:i.jsxs(Kt,{element:i.jsx(GN,{}),children:[i.jsx(Kt,{path:"/",element:i.jsx(Hw,{})}),i.jsx(Kt,{path:"/analytics",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(OE,{})})}),i.jsx(Kt,{path:"/providers",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(zE,{})})}),i.jsx(Kt,{path:"/cliproxy",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(_E,{})})}),i.jsx(Kt,{path:"/cliproxy/control-panel",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(DE,{})})}),i.jsx(Kt,{path:"/copilot",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(kE,{})})}),i.jsx(Kt,{path:"/cursor",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(RE,{})})}),i.jsx(Kt,{path:"/accounts",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(UE,{})})}),i.jsx(Kt,{path:"/settings",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(LE,{})})}),i.jsx(Kt,{path:"/health",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(BE,{})})}),i.jsx(Kt,{path:"/shared",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(HE,{})})})]})})]}),i.jsx(xb,{position:"top-right"})]})})})})})}const vy=document.getElementById("root");if(!vy)throw new Error("Root element not found. Failed to mount React application.");YS.createRoot(vy).render(i.jsx(y.StrictMode,{children:i.jsx(qE,{})}));export{zC as $,$w as A,Qa as B,SC as C,TM as D,$1 as E,J1 as F,F1 as G,qx as H,Rn as I,_d as J,$r as K,yn as L,Ju as M,zM as N,wC as O,ox as P,DM as Q,_M as R,Ye as S,Va as T,kM as U,Gx as V,RM as W,BM as X,TC as Y,qM as Z,AC as _,CC as a,Hx as a$,P1 as a0,FE as a1,iM as a2,rM as a3,pd as a4,gd as a5,xd as a6,yd as a7,vd as a8,UM as a9,LN as aA,kC as aB,dx as aC,bj as aD,xx as aE,cM as aF,uM as aG,dM as aH,fM as aI,YM as aJ,JE as aK,I1 as aL,tM as aM,nM as aN,W1 as aO,Z1 as aP,aM as aQ,lM as aR,sM as aS,eM as aT,pi as aU,IE as aV,$E as aW,VM as aX,Uw as aY,EM as aZ,Od as a_,MC as aa,LM as ab,Wa as ac,NM as ad,Pe as ae,wM as af,oM as ag,jM as ah,CM as ai,Ip as aj,HM as ak,OC as al,xN as am,bM as an,CN as ao,SM as ap,xj as aq,g1 as ar,x1 as as,co as at,oo as au,uo as av,xl as aw,kN as ax,RN as ay,UN as az,ot as b,zd as b0,Jx as b1,QC as b2,XC as b3,gM as b4,mM as b5,xM as b6,hM as b7,pM as b8,vM as b9,yM as ba,Qr as bb,Y as c,KM as d,GM as e,$C as f,ME as g,ZE as h,NC as i,jC as j,sj as k,ij as l,Sl as m,QM as n,Xa as o,Pa as p,cg as q,eC as r,OM as s,Qw as t,od as u,Iw as v,MM as w,AM as x,Yw as y,Ww as z};
|
|
47
|
+
`);return{valid:!1,error:c,line:m.length}}return{valid:!1,error:c}}}function Ix({value:a,onChange:l,language:r="json",readonly:c=!1,className:d,minHeight:f="300px"}){const{isDark:m}=hx(),[p,g]=y.useState(!1),[b,C]=y.useState(!0),v=y.useMemo(()=>r==="json"?qC(a):{valid:!0},[a,r]),S=y.useCallback(M=>i.jsx(US,{theme:m?Hp.nightOwl:Hp.github,code:M,language:r,children:({tokens:T,getLineProps:R,getTokenProps:_})=>{let z=!1;return i.jsx(i.Fragment,{children:T.map((B,Q)=>i.jsx("div",{...R({line:B}),className:Y(v.line===Q+1&&"bg-destructive/20"),children:B.map((q,H)=>{let N=!1;if(q.types.includes("property")){const P=q.content.replace(/['"]/g,"");HC(P)?z=!0:z=!1}else(q.types.includes("string")||q.types.includes("number")||q.types.includes("boolean"))&&z?(N=!0,z=!1):q.types.includes("punctuation")&&q.content!==":"&&q.content!=="["&&q.content!=="{"&&(z=!1);const G=_({token:q});return N&&b&&(G.className=Y(G.className,"blur-[3px] select-none opacity-70 transition-all duration-200")),i.jsx("span",{...G},H)})},Q))})}}),[m,r,v.line,b]);return i.jsxs("div",{className:Y("flex flex-col",d),children:[i.jsxs("div",{className:Y("relative rounded-md border overflow-hidden","bg-muted/30",p&&"ring-2 ring-ring ring-offset-2 ring-offset-background",c&&"opacity-70 cursor-not-allowed",!v.valid&&"border-destructive"),style:{minHeight:f},children:[i.jsx(LC,{value:a,onValueChange:c?()=>{}:l,highlight:S,padding:12,disabled:c,onFocus:()=>g(!0),onBlur:()=>g(!1),textareaClassName:Y("focus:outline-none font-mono text-sm",c&&"cursor-not-allowed"),preClassName:"font-mono text-sm",style:{fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",fontSize:"0.875rem",minHeight:f}},m?"dark-editor":"light-editor"),i.jsx("div",{className:"absolute top-2 right-2 z-10 opacity-50 hover:opacity-100 transition-opacity",children:i.jsx(ot,{variant:"ghost",size:"icon",className:"h-6 w-6 bg-background/50 hover:bg-background border shadow-sm rounded-full",onClick:()=>C(!b),title:b?"Reveal sensitive values":"Mask sensitive values",children:b?i.jsx(to,{className:"h-3 w-3"}):i.jsx(eo,{className:"h-3 w-3"})})})]}),i.jsxs("div",{className:"flex items-center gap-2 mt-2 text-xs",children:[v.valid?i.jsxs("span",{className:"flex items-center gap-1 text-muted-foreground",children:[i.jsx(no,{className:"w-3 h-3 text-green-500"}),"Valid ",r.toUpperCase()]}):i.jsxs("span",{className:"flex items-center gap-1 text-destructive",children:[i.jsx(rd,{className:"w-3 h-3"}),v.error,v.line&&` (line ${v.line})`]}),c&&i.jsx("span",{className:"ml-auto text-muted-foreground",children:"(Read-only)"})]})]})}const Ud=Object.freeze(Object.defineProperty({__proto__:null,CodeEditor:Ix},Symbol.toStringTag,{value:"Module"})),YC={webSearchConfig:null,webSearchStatus:null,webSearchLoading:!0,webSearchStatusLoading:!0,webSearchSaving:!1,webSearchError:null,webSearchSuccess:!1,globalEnvConfig:null,globalEnvLoading:!0,globalEnvSaving:!1,globalEnvError:null,globalEnvSuccess:!1,proxyConfig:null,proxyLoading:!0,proxySaving:!1,proxyError:null,proxySuccess:!1,proxyTestResult:null,proxyTesting:!1,rawConfig:null,rawConfigLoading:!1};function KC(a,l){switch(l.type){case"SET_WEBSEARCH_CONFIG":return{...a,webSearchConfig:l.payload};case"SET_WEBSEARCH_STATUS":return{...a,webSearchStatus:l.payload};case"SET_WEBSEARCH_LOADING":return{...a,webSearchLoading:l.payload};case"SET_WEBSEARCH_STATUS_LOADING":return{...a,webSearchStatusLoading:l.payload};case"SET_WEBSEARCH_SAVING":return{...a,webSearchSaving:l.payload};case"SET_WEBSEARCH_ERROR":return{...a,webSearchError:l.payload};case"SET_WEBSEARCH_SUCCESS":return{...a,webSearchSuccess:l.payload};case"SET_GLOBALENV_CONFIG":return{...a,globalEnvConfig:l.payload};case"SET_GLOBALENV_LOADING":return{...a,globalEnvLoading:l.payload};case"SET_GLOBALENV_SAVING":return{...a,globalEnvSaving:l.payload};case"SET_GLOBALENV_ERROR":return{...a,globalEnvError:l.payload};case"SET_GLOBALENV_SUCCESS":return{...a,globalEnvSuccess:l.payload};case"SET_PROXY_CONFIG":return{...a,proxyConfig:l.payload};case"SET_PROXY_LOADING":return{...a,proxyLoading:l.payload};case"SET_PROXY_SAVING":return{...a,proxySaving:l.payload};case"SET_PROXY_ERROR":return{...a,proxyError:l.payload};case"SET_PROXY_SUCCESS":return{...a,proxySuccess:l.payload};case"SET_PROXY_TEST_RESULT":return{...a,proxyTestResult:l.payload};case"SET_PROXY_TESTING":return{...a,proxyTesting:l.payload};case"SET_RAW_CONFIG":return{...a,rawConfig:l.payload};case"SET_RAW_CONFIG_LOADING":return{...a,rawConfigLoading:l.payload};default:return a}}const $x=y.createContext(null);function GC({children:a}){const[l,r]=y.useReducer(KC,YC);return i.jsx($x.Provider,{value:{state:l,dispatch:r},children:a})}function Jx(){const a=y.useContext($x);if(!a)throw new Error("useSettingsContext must be used within a SettingsProvider");return a}function QC(){const{dispatch:a}=Jx(),l=y.useCallback(N=>a({type:"SET_WEBSEARCH_CONFIG",payload:N}),[a]),r=y.useCallback(N=>a({type:"SET_WEBSEARCH_STATUS",payload:N}),[a]),c=y.useCallback(N=>a({type:"SET_WEBSEARCH_LOADING",payload:N}),[a]),d=y.useCallback(N=>a({type:"SET_WEBSEARCH_STATUS_LOADING",payload:N}),[a]),f=y.useCallback(N=>a({type:"SET_WEBSEARCH_SAVING",payload:N}),[a]),m=y.useCallback(N=>a({type:"SET_WEBSEARCH_ERROR",payload:N}),[a]),p=y.useCallback(N=>a({type:"SET_WEBSEARCH_SUCCESS",payload:N}),[a]),g=y.useCallback(N=>a({type:"SET_GLOBALENV_CONFIG",payload:N}),[a]),b=y.useCallback(N=>a({type:"SET_GLOBALENV_LOADING",payload:N}),[a]),C=y.useCallback(N=>a({type:"SET_GLOBALENV_SAVING",payload:N}),[a]),v=y.useCallback(N=>a({type:"SET_GLOBALENV_ERROR",payload:N}),[a]),S=y.useCallback(N=>a({type:"SET_GLOBALENV_SUCCESS",payload:N}),[a]),M=y.useCallback(N=>a({type:"SET_PROXY_CONFIG",payload:N}),[a]),T=y.useCallback(N=>a({type:"SET_PROXY_LOADING",payload:N}),[a]),R=y.useCallback(N=>a({type:"SET_PROXY_SAVING",payload:N}),[a]),_=y.useCallback(N=>a({type:"SET_PROXY_ERROR",payload:N}),[a]),z=y.useCallback(N=>a({type:"SET_PROXY_SUCCESS",payload:N}),[a]),B=y.useCallback(N=>a({type:"SET_PROXY_TEST_RESULT",payload:N}),[a]),Q=y.useCallback(N=>a({type:"SET_PROXY_TESTING",payload:N}),[a]),q=y.useCallback(N=>a({type:"SET_RAW_CONFIG",payload:N}),[a]),H=y.useCallback(N=>a({type:"SET_RAW_CONFIG_LOADING",payload:N}),[a]);return y.useMemo(()=>({setWebSearchConfig:l,setWebSearchStatus:r,setWebSearchLoading:c,setWebSearchStatusLoading:d,setWebSearchSaving:f,setWebSearchError:m,setWebSearchSuccess:p,setGlobalEnvConfig:g,setGlobalEnvLoading:b,setGlobalEnvSaving:C,setGlobalEnvError:v,setGlobalEnvSuccess:S,setProxyConfig:M,setProxyLoading:T,setProxySaving:R,setProxyError:_,setProxySuccess:z,setProxyTestResult:B,setProxyTesting:Q,setRawConfig:q,setRawConfigLoading:H}),[l,r,c,d,f,m,p,g,b,C,v,S,M,T,R,_,z,B,Q,q,H])}function VC(){const[a,l]=fb(),r=a.get("tab")?.toLowerCase(),c=r==="globalenv"?"globalenv":r==="proxy"?"proxy":r==="auth"?"auth":r==="thinking"?"thinking":r==="backups"?"backups":"websearch",d=y.useCallback(f=>{l({tab:f},{replace:!0})},[l]);return{activeTab:c,setActiveTab:d}}function XC(){const{state:a}=Jx(),l=QC(),[r,c]=y.useState(!1),d=y.useCallback(async()=>{try{l.setRawConfigLoading(!0);const m=await fetch("/api/config/raw");if(!m.ok){l.setRawConfig(null);return}const p=await m.text();l.setRawConfig(p)}catch{l.setRawConfig(null)}finally{l.setRawConfigLoading(!1)}},[l]),f=y.useCallback(async()=>{if(a.rawConfig)try{await navigator.clipboard.writeText(a.rawConfig),c(!0),setTimeout(()=>c(!1),2e3)}catch{}},[a.rawConfig]);return{rawConfig:a.rawConfig,loading:a.rawConfigLoading,copied:r,fetchRawConfig:d,copyToClipboard:f}}const PC=[{value:"websearch",label:"Web",icon:Vb},{value:"globalenv",label:"Env",icon:id},{value:"thinking",label:"Think",icon:Xb},{value:"proxy",label:"Proxy",icon:Pb},{value:"auth",label:"Auth",icon:ad},{value:"backups",label:"Backup",icon:Wb}];function gg({activeTab:a,onTabChange:l}){return i.jsx(qx,{value:a,onValueChange:r=>l(r),children:i.jsx(_d,{className:"grid w-full grid-cols-6",children:PC.map(({value:r,label:c,icon:d})=>i.jsxs($r,{value:r,className:"gap-1.5 px-1 text-xs",children:[i.jsx(d,{className:"h-3.5 w-3.5 shrink-0"}),i.jsx("span",{className:"truncate",children:c})]},r))})})}function xg(){return i.jsxs("div",{className:"flex-1 p-5 space-y-6",children:[i.jsx(Ye,{className:"h-4 w-2/3"}),i.jsx("div",{className:"p-4 rounded-lg border",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Ye,{className:"h-5 w-32"}),i.jsx(Ye,{className:"h-4 w-48"})]}),i.jsx(Ye,{className:"h-6 w-10 rounded-full"})]})}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Ye,{className:"h-5 w-24"}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Ye,{className:"h-20 w-full rounded-lg"}),i.jsx(Ye,{className:"h-20 w-full rounded-lg"}),i.jsx(Ye,{className:"h-20 w-full rounded-lg"})]})]})]})}function Fx(a,l=3,r=1e3){return a().catch(c=>{if(l<=0)throw c;return new Promise(d=>setTimeout(d,r)).then(()=>Fx(a,l-1,r*2))})}function ps(a){return y.lazy(()=>Fx(a))}const yg=ps(()=>St(()=>import("./index-CLBNUja8.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]))),vg=ps(()=>St(()=>import("./globalenv-section-CBp73q9k.js"),__vite__mapDeps([10,1,2,3,4,5,6,7,8,9]))),bg=ps(()=>St(()=>import("./index-DTDftvd-.js"),__vite__mapDeps([11,1,2,3,4,5,6,7,8,9]))),Sg=ps(()=>St(()=>import("./index-B5aulDs4.js"),__vite__mapDeps([12,1,2,3,13,4,14,15,5,6,7,8,9]))),Ng=ps(()=>St(()=>import("./auth-section-Amm4rwiS.js"),__vite__mapDeps([16,1,2,4,5,6,7,8,9]))),jg=ps(()=>St(()=>import("./backups-section-DmAsqMfq.js"),__vite__mapDeps([17,1,2,15,4,5,6,7,8,9])));class wg extends y.Component{constructor(l){super(l),this.state={hasError:!1,error:null}}static getDerivedStateFromError(l){return{hasError:!0,error:l}}render(){return this.state.hasError?i.jsx("div",{className:"flex-1 flex items-center justify-center text-muted-foreground",children:i.jsxs("div",{className:"text-center p-6 max-w-md",children:[i.jsx(rd,{className:"w-12 h-12 mx-auto mb-4 text-destructive"}),i.jsx("p",{className:"font-medium text-foreground mb-2",children:"Failed to load section"}),i.jsx("p",{className:"text-sm mb-4",children:this.state.error?.message||"Unknown error occurred"}),i.jsxs(ot,{variant:"outline",onClick:()=>window.location.reload(),className:"inline-flex items-center gap-2",children:[i.jsx(Si,{className:"w-4 h-4"}),"Reload page"]})]})}):this.props.children}}function WC(){const{activeTab:a,setActiveTab:l}=VC(),{rawConfig:r,loading:c,copied:d,fetchRawConfig:f,copyToClipboard:m}=XC();y.useEffect(()=>{f()},[f]);const p=g=>{y.startTransition(()=>{l(g)})};return i.jsxs("div",{className:"h-[calc(100vh-100px)]",children:[i.jsxs("div",{className:"md:hidden h-full flex flex-col",children:[i.jsx("div",{className:"border-b bg-background p-4",children:i.jsx(gg,{activeTab:a,onTabChange:p})}),i.jsx(wg,{children:i.jsxs(y.Suspense,{fallback:i.jsx(xg,{}),children:[a==="websearch"&&i.jsx(yg,{}),a==="globalenv"&&i.jsx(vg,{}),a==="thinking"&&i.jsx(bg,{}),a==="proxy"&&i.jsx(Sg,{}),a==="auth"&&i.jsx(Ng,{}),a==="backups"&&i.jsx(jg,{})]})})]}),i.jsxs(Td,{direction:"horizontal",className:"h-full hidden md:flex",children:[i.jsx(ji,{defaultSize:40,minSize:30,maxSize:55,children:i.jsxs("div",{className:"h-full border-r flex flex-col bg-muted/30 relative",children:[i.jsx("div",{className:"p-5 border-b bg-background",children:i.jsx(gg,{activeTab:a,onTabChange:p})}),i.jsx(wg,{children:i.jsxs(y.Suspense,{fallback:i.jsx(xg,{}),children:[a==="websearch"&&i.jsx(yg,{}),a==="globalenv"&&i.jsx(vg,{}),a==="thinking"&&i.jsx(bg,{}),a==="proxy"&&i.jsx(Sg,{}),a==="auth"&&i.jsx(Ng,{}),a==="backups"&&i.jsx(jg,{})]})})]})}),i.jsx(Ad,{className:"w-2 bg-border hover:bg-primary/20 transition-colors cursor-col-resize flex items-center justify-center group",children:i.jsx(ao,{className:"w-3 h-3 text-muted-foreground group-hover:text-primary"})}),i.jsx(ji,{defaultSize:60,minSize:35,children:i.jsxs("div",{className:"h-full flex flex-col",children:[i.jsxs("div",{className:"p-4 border-b bg-background flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx(Up,{className:"w-5 h-5 text-primary"}),i.jsxs("div",{children:[i.jsx("h2",{className:"font-semibold",children:"config.yaml"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"~/.ccs/config.yaml"})]})]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(ot,{variant:"outline",size:"sm",onClick:m,disabled:!r,children:d?i.jsxs(i.Fragment,{children:[i.jsx(fs,{className:"w-4 h-4 mr-1"}),"Copied"]}):i.jsxs(i.Fragment,{children:[i.jsx(Wr,{className:"w-4 h-4 mr-1"}),"Copy"]})}),i.jsx(ot,{variant:"outline",size:"sm",onClick:f,disabled:c,children:i.jsx(Si,{className:`w-4 h-4 ${c?"animate-spin":""}`})})]})]}),i.jsx("div",{className:"flex-1 overflow-auto",children:c?i.jsxs("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:[i.jsx(Si,{className:"w-5 h-5 animate-spin mr-2"}),"Loading..."]}):r?i.jsx(Ix,{value:r,onChange:()=>{},language:"yaml",readonly:!0,minHeight:"auto",className:"min-h-full"}):i.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:i.jsxs("div",{className:"text-center",children:[i.jsx(Up,{className:"w-12 h-12 mx-auto mb-3 opacity-30"}),i.jsx("p",{children:"Config file not found"}),i.jsx("code",{className:"text-sm bg-muted px-2 py-1 rounded mt-2 inline-block",children:"ccs migrate"})]})})})]})})]})]})}function ZC(){return i.jsx(GC,{children:i.jsx(WC,{})})}const IC=Object.freeze(Object.defineProperty({__proto__:null,SettingsPage:ZC},Symbol.toStringTag,{value:"Module"})),KM=sb,GM=rb,QM=ib,$C=y.forwardRef(({className:a,align:l="center",sideOffset:r=4,...c},d)=>i.jsx(lb,{children:i.jsx($g,{ref:d,align:l,sideOffset:r,className:Y("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...c})}));$C.displayName=$g.displayName;function JC(a,l,r="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:a,timeZoneName:r}).format(l).split(/\s/g).slice(2).join(" ")}const FC={},yi={};function gl(a,l){try{const c=(FC[a]||=new Intl.DateTimeFormat("en-US",{timeZone:a,timeZoneName:"longOffset"}).format)(l).split("GMT")[1];return c in yi?yi[c]:Cg(c,c.split(":"))}catch{if(a in yi)return yi[a];const r=a?.match(e2);return r?Cg(a,r.slice(1)):NaN}}const e2=/([+-]\d\d):?(\d\d)?/;function Cg(a,l){const r=+(l[0]||0),c=+(l[1]||0),d=+(l[2]||0)/60;return yi[a]=r*60+c>0?r*60+c+d:r*60-c-d}class Ln extends Date{constructor(...l){super(),l.length>1&&typeof l[l.length-1]=="string"&&(this.timeZone=l.pop()),this.internal=new Date,isNaN(gl(this.timeZone,this))?this.setTime(NaN):l.length?typeof l[0]=="number"&&(l.length===1||l.length===2&&typeof l[1]!="number")?this.setTime(l[0]):typeof l[0]=="string"?this.setTime(+new Date(l[0])):l[0]instanceof Date?this.setTime(+l[0]):(this.setTime(+new Date(...l)),ey(this),ed(this)):this.setTime(Date.now())}static tz(l,...r){return r.length?new Ln(...r,l):new Ln(Date.now(),l)}withTimeZone(l){return new Ln(+this,l)}getTimezoneOffset(){const l=-gl(this.timeZone,this);return l>0?Math.floor(l):Math.ceil(l)}setTime(l){return Date.prototype.setTime.apply(this,arguments),ed(this),+this}[Symbol.for("constructDateFrom")](l){return new Ln(+new Date(l),this.timeZone)}}const Eg=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(a=>{if(!Eg.test(a))return;const l=a.replace(Eg,"$1UTC");Ln.prototype[l]&&(a.startsWith("get")?Ln.prototype[a]=function(){return this.internal[l]()}:(Ln.prototype[a]=function(){return Date.prototype[l].apply(this.internal,arguments),t2(this),+this},Ln.prototype[l]=function(){return Date.prototype[l].apply(this,arguments),ed(this),+this}))});function ed(a){a.internal.setTime(+a),a.internal.setUTCSeconds(a.internal.getUTCSeconds()-Math.round(-gl(a.timeZone,a)*60))}function t2(a){Date.prototype.setFullYear.call(a,a.internal.getUTCFullYear(),a.internal.getUTCMonth(),a.internal.getUTCDate()),Date.prototype.setHours.call(a,a.internal.getUTCHours(),a.internal.getUTCMinutes(),a.internal.getUTCSeconds(),a.internal.getUTCMilliseconds()),ey(a)}function ey(a){const l=gl(a.timeZone,a),r=l>0?Math.floor(l):Math.ceil(l),c=new Date(+a);c.setUTCHours(c.getUTCHours()-1);const d=-new Date(+a).getTimezoneOffset(),f=-new Date(+c).getTimezoneOffset(),m=d-f,p=Date.prototype.getHours.apply(a)!==a.internal.getUTCHours();m&&p&&a.internal.setUTCMinutes(a.internal.getUTCMinutes()+m);const g=d-r;g&&Date.prototype.setUTCMinutes.call(a,Date.prototype.getUTCMinutes.call(a)+g);const b=new Date(+a);b.setUTCSeconds(0);const C=d>0?b.getSeconds():(b.getSeconds()-60)%60,v=Math.round(-(gl(a.timeZone,a)*60))%60;(v||C)&&(a.internal.setUTCSeconds(a.internal.getUTCSeconds()+v),Date.prototype.setUTCSeconds.call(a,Date.prototype.getUTCSeconds.call(a)+v+C));const S=gl(a.timeZone,a),M=S>0?Math.floor(S):Math.ceil(S),R=-new Date(+a).getTimezoneOffset()-M,_=M!==r,z=R-g;if(_&&z){Date.prototype.setUTCMinutes.call(a,Date.prototype.getUTCMinutes.call(a)+z);const B=gl(a.timeZone,a),Q=B>0?Math.floor(B):Math.ceil(B),q=M-Q;q&&(a.internal.setUTCMinutes(a.internal.getUTCMinutes()+q),Date.prototype.setUTCMinutes.call(a,Date.prototype.getUTCMinutes.call(a)+q))}}class fa extends Ln{static tz(l,...r){return r.length?new fa(...r,l):new fa(Date.now(),l)}toISOString(){const[l,r,c]=this.tzComponents(),d=`${l}${r}:${c}`;return this.internal.toISOString().slice(0,-1)+d}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[l,r,c,d]=this.internal.toUTCString().split(" ");return`${l?.slice(0,-1)} ${c} ${r} ${d}`}toTimeString(){const l=this.internal.toUTCString().split(" ")[4],[r,c,d]=this.tzComponents();return`${l} GMT${r}${c}${d} (${JC(this.timeZone,this)})`}toLocaleString(l,r){return Date.prototype.toLocaleString.call(this,l,{...r,timeZone:r?.timeZone||this.timeZone})}toLocaleDateString(l,r){return Date.prototype.toLocaleDateString.call(this,l,{...r,timeZone:r?.timeZone||this.timeZone})}toLocaleTimeString(l,r){return Date.prototype.toLocaleTimeString.call(this,l,{...r,timeZone:r?.timeZone||this.timeZone})}tzComponents(){const l=this.getTimezoneOffset(),r=l>0?"-":"+",c=String(Math.floor(Math.abs(l)/60)).padStart(2,"0"),d=String(Math.abs(l)%60).padStart(2,"0");return[r,c,d]}withTimeZone(l){return new fa(+this,l)}[Symbol.for("constructDateFrom")](l){return new fa(+new Date(l),this.timeZone)}}const Mg=5,n2=4;function a2(a,l){const r=l.startOfMonth(a),c=r.getDay()>0?r.getDay():7,d=l.addDays(a,-c+1),f=l.addDays(d,Mg*7-1);return l.getMonth(a)===l.getMonth(f)?Mg:n2}function ty(a,l){const r=l.startOfMonth(a),c=r.getDay();return c===1?r:c===0?l.addDays(r,-6):l.addDays(r,-1*(c-1))}function l2(a,l){const r=ty(a,l),c=a2(a,l);return l.addDays(r,c*7-1)}const ny={...di,labels:{labelDayButton:(a,l,r,c)=>{let d;c&&typeof c.format=="function"?d=c.format.bind(c):d=(m,p)=>hi(m,p,{locale:di,...r});let f=d(a,"PPPP");return l.today&&(f=`Today, ${f}`),l.selected&&(f=`${f}, selected`),f},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:a=>`Week ${a}`,labelYearDropdown:"Choose the Year",labelGrid:(a,l,r)=>{let c;return r&&typeof r.format=="function"?c=r.format.bind(r):c=(d,f)=>hi(d,f,{locale:di,...l}),c(a,"LLLL yyyy")},labelGridcell:(a,l,r,c)=>{let d;c&&typeof c.format=="function"?d=c.format.bind(c):d=(m,p)=>hi(m,p,{locale:di,...r});let f=d(a,"PPPP");return l?.today&&(f=`Today, ${f}`),f},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(a,l,r)=>{let c;return r&&typeof r.format=="function"?c=r.format.bind(r):c=(d,f)=>hi(d,f,{locale:di,...l}),c(a,"cccc")}}};class sn{constructor(l,r){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?fa.tz(this.options.timeZone):new this.Date,this.newDate=(c,d,f)=>this.overrides?.newDate?this.overrides.newDate(c,d,f):this.options.timeZone?new fa(c,d,f,this.options.timeZone):new Date(c,d,f),this.addDays=(c,d)=>this.overrides?.addDays?this.overrides.addDays(c,d):Fb(c,d),this.addMonths=(c,d)=>this.overrides?.addMonths?this.overrides.addMonths(c,d):eS(c,d),this.addWeeks=(c,d)=>this.overrides?.addWeeks?this.overrides.addWeeks(c,d):tS(c,d),this.addYears=(c,d)=>this.overrides?.addYears?this.overrides.addYears(c,d):nS(c,d),this.differenceInCalendarDays=(c,d)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(c,d):aS(c,d),this.differenceInCalendarMonths=(c,d)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(c,d):lS(c,d),this.eachMonthOfInterval=c=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(c):sS(c),this.eachYearOfInterval=c=>{const d=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(c):iS(c),f=new Set(d.map(p=>this.getYear(p)));if(f.size===d.length)return d;const m=[];return f.forEach(p=>{m.push(new Date(p,0,1))}),m},this.endOfBroadcastWeek=c=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(c):l2(c,this),this.endOfISOWeek=c=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(c):rS(c),this.endOfMonth=c=>this.overrides?.endOfMonth?this.overrides.endOfMonth(c):oS(c),this.endOfWeek=(c,d)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(c,d):cS(c,this.options),this.endOfYear=c=>this.overrides?.endOfYear?this.overrides.endOfYear(c):uS(c),this.format=(c,d,f)=>{const m=this.overrides?.format?this.overrides.format(c,d,this.options):hi(c,d,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(m):m},this.getISOWeek=c=>this.overrides?.getISOWeek?this.overrides.getISOWeek(c):dS(c),this.getMonth=(c,d)=>this.overrides?.getMonth?this.overrides.getMonth(c,this.options):fS(c,this.options),this.getYear=(c,d)=>this.overrides?.getYear?this.overrides.getYear(c,this.options):mS(c,this.options),this.getWeek=(c,d)=>this.overrides?.getWeek?this.overrides.getWeek(c,this.options):hS(c,this.options),this.isAfter=(c,d)=>this.overrides?.isAfter?this.overrides.isAfter(c,d):pS(c,d),this.isBefore=(c,d)=>this.overrides?.isBefore?this.overrides.isBefore(c,d):gS(c,d),this.isDate=c=>this.overrides?.isDate?this.overrides.isDate(c):xS(c),this.isSameDay=(c,d)=>this.overrides?.isSameDay?this.overrides.isSameDay(c,d):yS(c,d),this.isSameMonth=(c,d)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(c,d):vS(c,d),this.isSameYear=(c,d)=>this.overrides?.isSameYear?this.overrides.isSameYear(c,d):bS(c,d),this.max=c=>this.overrides?.max?this.overrides.max(c):SS(c),this.min=c=>this.overrides?.min?this.overrides.min(c):NS(c),this.setMonth=(c,d)=>this.overrides?.setMonth?this.overrides.setMonth(c,d):jS(c,d),this.setYear=(c,d)=>this.overrides?.setYear?this.overrides.setYear(c,d):wS(c,d),this.startOfBroadcastWeek=(c,d)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(c,this):ty(c,this),this.startOfDay=c=>this.overrides?.startOfDay?this.overrides.startOfDay(c):CS(c),this.startOfISOWeek=c=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(c):ES(c),this.startOfMonth=c=>this.overrides?.startOfMonth?this.overrides.startOfMonth(c):MS(c),this.startOfWeek=(c,d)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(c,this.options):TS(c,this.options),this.startOfYear=c=>this.overrides?.startOfYear?this.overrides.startOfYear(c):AS(c),this.options={locale:ny,...l},this.overrides=r}getDigitMap(){const{numerals:l="latn"}=this.options,r=new Intl.NumberFormat("en-US",{numberingSystem:l}),c={};for(let d=0;d<10;d++)c[d.toString()]=r.format(d);return c}replaceDigits(l){const r=this.getDigitMap();return l.replace(/\d/g,c=>r[c]||c)}formatNumber(l){return this.replaceDigits(l.toString())}getMonthYearOrder(){const l=this.options.locale?.code;return l&&sn.yearFirstLocales.has(l)?"year-first":"month-first"}formatMonthYear(l){const{locale:r,timeZone:c,numerals:d}=this.options,f=r?.code;if(f&&sn.yearFirstLocales.has(f))try{return new Intl.DateTimeFormat(f,{month:"long",year:"numeric",timeZone:c,numberingSystem:d}).format(l)}catch{}const m=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(l,m)}}sn.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);const Hn=new sn;class ay{constructor(l,r,c=Hn){this.date=l,this.displayMonth=r,this.outside=!!(r&&!c.isSameMonth(l,r)),this.dateLib=c,this.isoDate=c.format(l,"yyyy-MM-dd"),this.displayMonthId=c.format(r,"yyyy-MM"),this.dateMonthId=c.format(l,"yyyy-MM")}isEqualTo(l){return this.dateLib.isSameDay(l.date,this.date)&&this.dateLib.isSameMonth(l.displayMonth,this.displayMonth)}}class s2{constructor(l,r){this.date=l,this.weeks=r}}class i2{constructor(l,r){this.days=r,this.weekNumber=l}}function r2(a){return ee.createElement("button",{...a})}function o2(a){return ee.createElement("span",{...a})}function c2(a){const{size:l=24,orientation:r="left",className:c}=a;return ee.createElement("svg",{className:c,width:l,height:l,viewBox:"0 0 24 24"},r==="up"&&ee.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),r==="down"&&ee.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),r==="left"&&ee.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),r==="right"&&ee.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function u2(a){const{day:l,modifiers:r,...c}=a;return ee.createElement("td",{...c})}function d2(a){const{day:l,modifiers:r,...c}=a,d=ee.useRef(null);return ee.useEffect(()=>{r.focused&&d.current?.focus()},[r.focused]),ee.createElement("button",{ref:d,...c})}var ue;(function(a){a.Root="root",a.Chevron="chevron",a.Day="day",a.DayButton="day_button",a.CaptionLabel="caption_label",a.Dropdowns="dropdowns",a.Dropdown="dropdown",a.DropdownRoot="dropdown_root",a.Footer="footer",a.MonthGrid="month_grid",a.MonthCaption="month_caption",a.MonthsDropdown="months_dropdown",a.Month="month",a.Months="months",a.Nav="nav",a.NextMonthButton="button_next",a.PreviousMonthButton="button_previous",a.Week="week",a.Weeks="weeks",a.Weekday="weekday",a.Weekdays="weekdays",a.WeekNumber="week_number",a.WeekNumberHeader="week_number_header",a.YearsDropdown="years_dropdown"})(ue||(ue={}));var lt;(function(a){a.disabled="disabled",a.hidden="hidden",a.outside="outside",a.focused="focused",a.today="today"})(lt||(lt={}));var wn;(function(a){a.range_end="range_end",a.range_middle="range_middle",a.range_start="range_start",a.selected="selected"})(wn||(wn={}));var ln;(function(a){a.weeks_before_enter="weeks_before_enter",a.weeks_before_exit="weeks_before_exit",a.weeks_after_enter="weeks_after_enter",a.weeks_after_exit="weeks_after_exit",a.caption_after_enter="caption_after_enter",a.caption_after_exit="caption_after_exit",a.caption_before_enter="caption_before_enter",a.caption_before_exit="caption_before_exit"})(ln||(ln={}));function f2(a){const{options:l,className:r,components:c,classNames:d,...f}=a,m=[d[ue.Dropdown],r].join(" "),p=l?.find(({value:g})=>g===f.value);return ee.createElement("span",{"data-disabled":f.disabled,className:d[ue.DropdownRoot]},ee.createElement(c.Select,{className:m,...f},l?.map(({value:g,label:b,disabled:C})=>ee.createElement(c.Option,{key:g,value:g,disabled:C},b))),ee.createElement("span",{className:d[ue.CaptionLabel],"aria-hidden":!0},p?.label,ee.createElement(c.Chevron,{orientation:"down",size:18,className:d[ue.Chevron]})))}function m2(a){return ee.createElement("div",{...a})}function h2(a){return ee.createElement("div",{...a})}function p2(a){const{calendarMonth:l,displayIndex:r,...c}=a;return ee.createElement("div",{...c},a.children)}function g2(a){const{calendarMonth:l,displayIndex:r,...c}=a;return ee.createElement("div",{...c})}function x2(a){return ee.createElement("table",{...a})}function y2(a){return ee.createElement("div",{...a})}const ly=y.createContext(void 0);function Ei(){const a=y.useContext(ly);if(a===void 0)throw new Error("useDayPicker() must be used within a custom component.");return a}function v2(a){const{components:l}=Ei();return ee.createElement(l.Dropdown,{...a})}function b2(a){const{onPreviousClick:l,onNextClick:r,previousMonth:c,nextMonth:d,...f}=a,{components:m,classNames:p,labels:{labelPrevious:g,labelNext:b}}=Ei(),C=y.useCallback(S=>{d&&r?.(S)},[d,r]),v=y.useCallback(S=>{c&&l?.(S)},[c,l]);return ee.createElement("nav",{...f},ee.createElement(m.PreviousMonthButton,{type:"button",className:p[ue.PreviousMonthButton],tabIndex:c?void 0:-1,"aria-disabled":c?void 0:!0,"aria-label":g(c),onClick:v},ee.createElement(m.Chevron,{disabled:c?void 0:!0,className:p[ue.Chevron],orientation:"left"})),ee.createElement(m.NextMonthButton,{type:"button",className:p[ue.NextMonthButton],tabIndex:d?void 0:-1,"aria-disabled":d?void 0:!0,"aria-label":b(d),onClick:C},ee.createElement(m.Chevron,{disabled:d?void 0:!0,orientation:"right",className:p[ue.Chevron]})))}function S2(a){const{components:l}=Ei();return ee.createElement(l.Button,{...a})}function N2(a){return ee.createElement("option",{...a})}function j2(a){const{components:l}=Ei();return ee.createElement(l.Button,{...a})}function w2(a){const{rootRef:l,...r}=a;return ee.createElement("div",{...r,ref:l})}function C2(a){return ee.createElement("select",{...a})}function E2(a){const{week:l,...r}=a;return ee.createElement("tr",{...r})}function M2(a){return ee.createElement("th",{...a})}function T2(a){return ee.createElement("thead",{"aria-hidden":!0},ee.createElement("tr",{...a}))}function A2(a){const{week:l,...r}=a;return ee.createElement("th",{...r})}function O2(a){return ee.createElement("th",{...a})}function z2(a){return ee.createElement("tbody",{...a})}function _2(a){const{components:l}=Ei();return ee.createElement(l.Dropdown,{...a})}const D2=Object.freeze(Object.defineProperty({__proto__:null,Button:r2,CaptionLabel:o2,Chevron:c2,Day:u2,DayButton:d2,Dropdown:f2,DropdownNav:m2,Footer:h2,Month:p2,MonthCaption:g2,MonthGrid:x2,Months:y2,MonthsDropdown:v2,Nav:b2,NextMonthButton:S2,Option:N2,PreviousMonthButton:j2,Root:w2,Select:C2,Week:E2,WeekNumber:A2,WeekNumberHeader:O2,Weekday:M2,Weekdays:T2,Weeks:z2,YearsDropdown:_2},Symbol.toStringTag,{value:"Module"}));function ma(a,l,r=!1,c=Hn){let{from:d,to:f}=a;const{differenceInCalendarDays:m,isSameDay:p}=c;return d&&f?(m(f,d)<0&&([d,f]=[f,d]),m(l,d)>=(r?1:0)&&m(f,l)>=(r?1:0)):!r&&f?p(f,l):!r&&d?p(d,l):!1}function Ld(a){return!!(a&&typeof a=="object"&&"before"in a&&"after"in a)}function xo(a){return!!(a&&typeof a=="object"&&"from"in a)}function Bd(a){return!!(a&&typeof a=="object"&&"after"in a)}function Hd(a){return!!(a&&typeof a=="object"&&"before"in a)}function sy(a){return!!(a&&typeof a=="object"&&"dayOfWeek"in a)}function iy(a,l){return Array.isArray(a)&&a.every(l.isDate)}function ha(a,l,r=Hn){const c=Array.isArray(l)?l:[l],{isSameDay:d,differenceInCalendarDays:f,isAfter:m}=r;return c.some(p=>{if(typeof p=="boolean")return p;if(r.isDate(p))return d(a,p);if(iy(p,r))return p.some(g=>d(a,g));if(xo(p))return ma(p,a,!1,r);if(sy(p))return Array.isArray(p.dayOfWeek)?p.dayOfWeek.includes(a.getDay()):p.dayOfWeek===a.getDay();if(Ld(p)){const g=f(p.before,a),b=f(p.after,a),C=g>0,v=b<0;return m(p.before,p.after)?v&&C:C||v}return Bd(p)?f(a,p.after)>0:Hd(p)?f(p.before,a)>0:typeof p=="function"?p(a):!1})}function k2(a,l,r,c,d){const{disabled:f,hidden:m,modifiers:p,showOutsideDays:g,broadcastCalendar:b,today:C=d.today()}=l,{isSameDay:v,isSameMonth:S,startOfMonth:M,isBefore:T,endOfMonth:R,isAfter:_}=d,z=r&&M(r),B=c&&R(c),Q={[lt.focused]:[],[lt.outside]:[],[lt.disabled]:[],[lt.hidden]:[],[lt.today]:[]},q={};for(const H of a){const{date:N,displayMonth:G}=H,P=!!(G&&!S(N,G)),F=!!(z&&T(N,z)),ie=!!(B&&_(N,B)),be=!!(f&&ha(N,f,d)),re=!!(m&&ha(N,m,d))||F||ie||!b&&!g&&P||b&&g===!1&&P,Be=v(N,C);P&&Q.outside.push(H),be&&Q.disabled.push(H),re&&Q.hidden.push(H),Be&&Q.today.push(H),p&&Object.keys(p).forEach(Se=>{const ye=p?.[Se];ye&&ha(N,ye,d)&&(q[Se]?q[Se].push(H):q[Se]=[H])})}return H=>{const N={[lt.focused]:!1,[lt.disabled]:!1,[lt.hidden]:!1,[lt.outside]:!1,[lt.today]:!1},G={};for(const P in Q){const F=Q[P];N[P]=F.some(ie=>ie===H)}for(const P in q)G[P]=q[P].some(F=>F===H);return{...N,...G}}}function R2(a,l,r={}){return Object.entries(a).filter(([,d])=>d===!0).reduce((d,[f])=>(r[f]?d.push(r[f]):l[lt[f]]?d.push(l[lt[f]]):l[wn[f]]&&d.push(l[wn[f]]),d),[l[ue.Day]])}function U2(a){return{...D2,...a}}function L2(a){const l={"data-mode":a.mode??void 0,"data-required":"required"in a?a.required:void 0,"data-multiple-months":a.numberOfMonths&&a.numberOfMonths>1||void 0,"data-week-numbers":a.showWeekNumber||void 0,"data-broadcast-calendar":a.broadcastCalendar||void 0,"data-nav-layout":a.navLayout||void 0};return Object.entries(a).forEach(([r,c])=>{r.startsWith("data-")&&(l[r]=c)}),l}function B2(){const a={};for(const l in ue)a[ue[l]]=`rdp-${ue[l]}`;for(const l in lt)a[lt[l]]=`rdp-${lt[l]}`;for(const l in wn)a[wn[l]]=`rdp-${wn[l]}`;for(const l in ln)a[ln[l]]=`rdp-${ln[l]}`;return a}function ry(a,l,r){return(r??new sn(l)).formatMonthYear(a)}const H2=ry;function q2(a,l,r){return(r??new sn(l)).format(a,"d")}function Y2(a,l=Hn){return l.format(a,"LLLL")}function K2(a,l,r){return(r??new sn(l)).format(a,"cccccc")}function G2(a,l=Hn){return a<10?l.formatNumber(`0${a.toLocaleString()}`):l.formatNumber(`${a.toLocaleString()}`)}function Q2(){return""}function oy(a,l=Hn){return l.format(a,"yyyy")}const V2=oy,X2=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:ry,formatDay:q2,formatMonthCaption:H2,formatMonthDropdown:Y2,formatWeekNumber:G2,formatWeekNumberHeader:Q2,formatWeekdayName:K2,formatYearCaption:V2,formatYearDropdown:oy},Symbol.toStringTag,{value:"Module"}));function P2(a){return a?.formatMonthCaption&&!a.formatCaption&&(a.formatCaption=a.formatMonthCaption),a?.formatYearCaption&&!a.formatYearDropdown&&(a.formatYearDropdown=a.formatYearCaption),{...X2,...a}}function qd(a,l,r,c){let d=(c??new sn(r)).format(a,"PPPP");return l.today&&(d=`Today, ${d}`),l.selected&&(d=`${d}, selected`),d}const W2=qd;function Yd(a,l,r){return(r??new sn(l)).formatMonthYear(a)}const Z2=Yd;function cy(a,l,r,c){let d=(c??new sn(r)).format(a,"PPPP");return l?.today&&(d=`Today, ${d}`),d}function uy(a){return"Choose the Month"}function dy(){return""}const I2="Go to the Next Month";function fy(a,l){return I2}function my(a){return"Go to the Previous Month"}function hy(a,l,r){return(r??new sn(l)).format(a,"cccc")}function py(a,l){return`Week ${a}`}function gy(a){return"Week Number"}function xy(a){return"Choose the Year"}const $2=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:Z2,labelDay:W2,labelDayButton:qd,labelGrid:Yd,labelGridcell:cy,labelMonthDropdown:uy,labelNav:dy,labelNext:fy,labelPrevious:my,labelWeekNumber:py,labelWeekNumberHeader:gy,labelWeekday:hy,labelYearDropdown:xy},Symbol.toStringTag,{value:"Module"})),jn=(a,l,r)=>l||(r?typeof r=="function"?r:(...c)=>r:a);function J2(a,l){const r=l.locale?.labels??{};return{...$2,...a??{},labelDayButton:jn(qd,a?.labelDayButton,r.labelDayButton),labelMonthDropdown:jn(uy,a?.labelMonthDropdown,r.labelMonthDropdown),labelNext:jn(fy,a?.labelNext,r.labelNext),labelPrevious:jn(my,a?.labelPrevious,r.labelPrevious),labelWeekNumber:jn(py,a?.labelWeekNumber,r.labelWeekNumber),labelYearDropdown:jn(xy,a?.labelYearDropdown,r.labelYearDropdown),labelGrid:jn(Yd,a?.labelGrid,r.labelGrid),labelGridcell:jn(cy,a?.labelGridcell,r.labelGridcell),labelNav:jn(dy,a?.labelNav,r.labelNav),labelWeekNumberHeader:jn(gy,a?.labelWeekNumberHeader,r.labelWeekNumberHeader),labelWeekday:jn(hy,a?.labelWeekday,r.labelWeekday)}}function F2(a,l,r,c,d){const{startOfMonth:f,startOfYear:m,endOfYear:p,eachMonthOfInterval:g,getMonth:b}=d;return g({start:m(a),end:p(a)}).map(S=>{const M=c.formatMonthDropdown(S,d),T=b(S),R=l&&S<f(l)||r&&S>f(r)||!1;return{value:T,label:M,disabled:R}})}function eE(a,l={},r={}){let c={...l?.[ue.Day]};return Object.entries(a).filter(([,d])=>d===!0).forEach(([d])=>{c={...c,...r?.[d]}}),c}function tE(a,l,r,c){const d=c??a.today(),f=r?a.startOfBroadcastWeek(d,a):l?a.startOfISOWeek(d):a.startOfWeek(d),m=[];for(let p=0;p<7;p++){const g=a.addDays(f,p);m.push(g)}return m}function nE(a,l,r,c,d=!1){if(!a||!l)return;const{startOfYear:f,endOfYear:m,eachYearOfInterval:p,getYear:g}=c,b=f(a),C=m(l),v=p({start:b,end:C});return d&&v.reverse(),v.map(S=>{const M=r.formatYearDropdown(S,c);return{value:g(S),label:M,disabled:!1}})}const Mi=a=>a instanceof HTMLElement?a:null,Yu=a=>[...a.querySelectorAll("[data-animated-month]")??[]],aE=a=>Mi(a.querySelector("[data-animated-month]")),Ku=a=>Mi(a.querySelector("[data-animated-caption]")),Gu=a=>Mi(a.querySelector("[data-animated-weeks]")),lE=a=>Mi(a.querySelector("[data-animated-nav]")),sE=a=>Mi(a.querySelector("[data-animated-weekdays]"));function iE(a,l,{classNames:r,months:c,focused:d,dateLib:f}){const m=y.useRef(null),p=y.useRef(c),g=y.useRef(!1);y.useLayoutEffect(()=>{const b=p.current;if(p.current=c,!l||!a.current||!(a.current instanceof HTMLElement)||c.length===0||b.length===0||c.length!==b.length)return;const C=f.isSameMonth(c[0].date,b[0].date),v=f.isAfter(c[0].date,b[0].date),S=v?r[ln.caption_after_enter]:r[ln.caption_before_enter],M=v?r[ln.weeks_after_enter]:r[ln.weeks_before_enter],T=m.current,R=a.current.cloneNode(!0);if(R instanceof HTMLElement?(Yu(R).forEach(Q=>{if(!(Q instanceof HTMLElement))return;const q=aE(Q);q&&Q.contains(q)&&Q.removeChild(q);const H=Ku(Q);H&&H.classList.remove(S);const N=Gu(Q);N&&N.classList.remove(M)}),m.current=R):m.current=null,g.current||C||d)return;const _=T instanceof HTMLElement?Yu(T):[],z=Yu(a.current);if(z?.every(B=>B instanceof HTMLElement)&&_&&_.every(B=>B instanceof HTMLElement)){g.current=!0,a.current.style.isolation="isolate";const B=lE(a.current);B&&(B.style.zIndex="1"),z.forEach((Q,q)=>{const H=_[q];if(!H)return;Q.style.position="relative",Q.style.overflow="hidden";const N=Ku(Q);N&&N.classList.add(S);const G=Gu(Q);G&&G.classList.add(M);const P=()=>{g.current=!1,a.current&&(a.current.style.isolation=""),B&&(B.style.zIndex=""),N&&N.classList.remove(S),G&&G.classList.remove(M),Q.style.position="",Q.style.overflow="",Q.contains(H)&&Q.removeChild(H)};H.style.pointerEvents="none",H.style.position="absolute",H.style.overflow="hidden",H.setAttribute("aria-hidden","true");const F=sE(H);F&&(F.style.opacity="0");const ie=Ku(H);ie&&(ie.classList.add(v?r[ln.caption_before_exit]:r[ln.caption_after_exit]),ie.addEventListener("animationend",P));const be=Gu(H);be&&be.classList.add(v?r[ln.weeks_before_exit]:r[ln.weeks_after_exit]),Q.insertBefore(H,Q.firstChild)})}})}function rE(a,l,r,c){const d=a[0],f=a[a.length-1],{ISOWeek:m,fixedWeeks:p,broadcastCalendar:g}=r??{},{addDays:b,differenceInCalendarDays:C,differenceInCalendarMonths:v,endOfBroadcastWeek:S,endOfISOWeek:M,endOfMonth:T,endOfWeek:R,isAfter:_,startOfBroadcastWeek:z,startOfISOWeek:B,startOfWeek:Q}=c,q=g?z(d,c):m?B(d):Q(d),H=g?S(f):m?M(T(f)):R(T(f)),N=l&&(g?S(l):m?M(l):R(l)),G=N&&_(H,N)?N:H,P=C(G,q),F=v(f,d)+1,ie=[];for(let Be=0;Be<=P;Be++){const Se=b(q,Be);ie.push(Se)}const re=(g?35:42)*F;if(p&&ie.length<re){const Be=re-ie.length;for(let Se=0;Se<Be;Se++){const ye=b(ie[ie.length-1],1);ie.push(ye)}}return ie}function oE(a){const l=[];return a.reduce((r,c)=>{const d=c.weeks.reduce((f,m)=>f.concat(m.days.slice()),l.slice());return r.concat(d.slice())},l.slice())}function cE(a,l,r,c){const{numberOfMonths:d=1}=r,f=[];for(let m=0;m<d;m++){const p=c.addMonths(a,m);if(l&&p>l)break;f.push(p)}return f}function Tg(a,l,r,c){const{month:d,defaultMonth:f,today:m=c.today(),numberOfMonths:p=1}=a;let g=d||f||m;const{differenceInCalendarMonths:b,addMonths:C,startOfMonth:v}=c;if(r&&b(r,g)<p-1){const S=-1*(p-1);g=C(r,S)}return l&&b(g,l)<0&&(g=l),v(g)}function uE(a,l,r,c){const{addDays:d,endOfBroadcastWeek:f,endOfISOWeek:m,endOfMonth:p,endOfWeek:g,getISOWeek:b,getWeek:C,startOfBroadcastWeek:v,startOfISOWeek:S,startOfWeek:M}=c,T=a.reduce((R,_)=>{const z=r.broadcastCalendar?v(_,c):r.ISOWeek?S(_):M(_),B=r.broadcastCalendar?f(_):r.ISOWeek?m(p(_)):g(p(_)),Q=l.filter(G=>G>=z&&G<=B),q=r.broadcastCalendar?35:42;if(r.fixedWeeks&&Q.length<q){const G=l.filter(P=>{const F=q-Q.length;return P>B&&P<=d(B,F)});Q.push(...G)}const H=Q.reduce((G,P)=>{const F=r.ISOWeek?b(P):C(P),ie=G.find(re=>re.weekNumber===F),be=new ay(P,_,c);return ie?ie.days.push(be):G.push(new i2(F,[be])),G},[]),N=new s2(_,H);return R.push(N),R},[]);return r.reverseMonths?T.reverse():T}function dE(a,l){let{startMonth:r,endMonth:c}=a;const{startOfYear:d,startOfDay:f,startOfMonth:m,endOfMonth:p,addYears:g,endOfYear:b,newDate:C,today:v}=l,{fromYear:S,toYear:M,fromMonth:T,toMonth:R}=a;!r&&T&&(r=T),!r&&S&&(r=l.newDate(S,0,1)),!c&&R&&(c=R),!c&&M&&(c=C(M,11,31));const _=a.captionLayout==="dropdown"||a.captionLayout==="dropdown-years";return r?r=m(r):S?r=C(S,0,1):!r&&_&&(r=d(g(a.today??v(),-100))),c?c=p(c):M?c=C(M,11,31):!c&&_&&(c=b(a.today??v())),[r&&f(r),c&&f(c)]}function fE(a,l,r,c){if(r.disableNavigation)return;const{pagedNavigation:d,numberOfMonths:f=1}=r,{startOfMonth:m,addMonths:p,differenceInCalendarMonths:g}=c,b=d?f:1,C=m(a);if(!l)return p(C,b);if(!(g(l,a)<f))return p(C,b)}function mE(a,l,r,c){if(r.disableNavigation)return;const{pagedNavigation:d,numberOfMonths:f}=r,{startOfMonth:m,addMonths:p,differenceInCalendarMonths:g}=c,b=d?f??1:1,C=m(a);if(!l)return p(C,-b);if(!(g(C,l)<=0))return p(C,-b)}function hE(a){const l=[];return a.reduce((r,c)=>r.concat(c.weeks.slice()),l.slice())}function yo(a,l){const[r,c]=y.useState(a);return[l===void 0?r:l,c]}function pE(a,l){const[r,c]=dE(a,l),{startOfMonth:d,endOfMonth:f}=l,m=Tg(a,r,c,l),[p,g]=yo(m,a.month?m:void 0);y.useEffect(()=>{const q=Tg(a,r,c,l);g(q)},[a.timeZone]);const{months:b,weeks:C,days:v,previousMonth:S,nextMonth:M}=y.useMemo(()=>{const q=cE(p,c,{numberOfMonths:a.numberOfMonths},l),H=rE(q,a.endMonth?f(a.endMonth):void 0,{ISOWeek:a.ISOWeek,fixedWeeks:a.fixedWeeks,broadcastCalendar:a.broadcastCalendar},l),N=uE(q,H,{broadcastCalendar:a.broadcastCalendar,fixedWeeks:a.fixedWeeks,ISOWeek:a.ISOWeek,reverseMonths:a.reverseMonths},l),G=hE(N),P=oE(N),F=mE(p,r,a,l),ie=fE(p,c,a,l);return{months:N,weeks:G,days:P,previousMonth:F,nextMonth:ie}},[l,p.getTime(),c?.getTime(),r?.getTime(),a.disableNavigation,a.broadcastCalendar,a.endMonth?.getTime(),a.fixedWeeks,a.ISOWeek,a.numberOfMonths,a.pagedNavigation,a.reverseMonths]),{disableNavigation:T,onMonthChange:R}=a,_=q=>C.some(H=>H.days.some(N=>N.isEqualTo(q))),z=q=>{if(T)return;let H=d(q);r&&H<d(r)&&(H=d(r)),c&&H>d(c)&&(H=d(c)),g(H),R?.(H)};return{months:b,weeks:C,days:v,navStart:r,navEnd:c,previousMonth:S,nextMonth:M,goToMonth:z,goToDay:q=>{_(q)||z(q.date)}}}var Un;(function(a){a[a.Today=0]="Today",a[a.Selected=1]="Selected",a[a.LastFocused=2]="LastFocused",a[a.FocusedModifier=3]="FocusedModifier"})(Un||(Un={}));function Ag(a){return!a[lt.disabled]&&!a[lt.hidden]&&!a[lt.outside]}function gE(a,l,r,c){let d,f=-1;for(const m of a){const p=l(m);Ag(p)&&(p[lt.focused]&&f<Un.FocusedModifier?(d=m,f=Un.FocusedModifier):c?.isEqualTo(m)&&f<Un.LastFocused?(d=m,f=Un.LastFocused):r(m.date)&&f<Un.Selected?(d=m,f=Un.Selected):p[lt.today]&&f<Un.Today&&(d=m,f=Un.Today))}return d||(d=a.find(m=>Ag(l(m)))),d}function xE(a,l,r,c,d,f,m){const{ISOWeek:p,broadcastCalendar:g}=f,{addDays:b,addMonths:C,addWeeks:v,addYears:S,endOfBroadcastWeek:M,endOfISOWeek:T,endOfWeek:R,max:_,min:z,startOfBroadcastWeek:B,startOfISOWeek:Q,startOfWeek:q}=m;let N={day:b,week:v,month:C,year:S,startOfWeek:G=>g?B(G,m):p?Q(G):q(G),endOfWeek:G=>g?M(G):p?T(G):R(G)}[a](r,l==="after"?1:-1);return l==="before"&&c?N=_([c,N]):l==="after"&&d&&(N=z([d,N])),N}function yy(a,l,r,c,d,f,m,p=0){if(p>365)return;const g=xE(a,l,r.date,c,d,f,m),b=!!(f.disabled&&ha(g,f.disabled,m)),C=!!(f.hidden&&ha(g,f.hidden,m)),v=g,S=new ay(g,v,m);return!b&&!C?S:yy(a,l,S,c,d,f,m,p+1)}function yE(a,l,r,c,d){const{autoFocus:f}=a,[m,p]=y.useState(),g=gE(l.days,r,c||(()=>!1),m),[b,C]=y.useState(f?g:void 0);return{isFocusTarget:R=>!!g?.isEqualTo(R),setFocused:C,focused:b,blur:()=>{p(b),C(void 0)},moveFocus:(R,_)=>{if(!b)return;const z=yy(R,_,b,l.navStart,l.navEnd,a,d);z&&(a.disableNavigation&&!l.days.some(Q=>Q.isEqualTo(z))||(l.goToDay(z),C(z)))}}}function vE(a,l){const{selected:r,required:c,onSelect:d}=a,[f,m]=yo(r,d?r:void 0),p=d?r:f,{isSameDay:g}=l,b=M=>p?.some(T=>g(T,M))??!1,{min:C,max:v}=a;return{selected:p,select:(M,T,R)=>{let _=[...p??[]];if(b(M)){if(p?.length===C||c&&p?.length===1)return;_=p?.filter(z=>!g(z,M))}else p?.length===v?_=[M]:_=[..._,M];return d||m(_),d?.(_,M,T,R),_},isSelected:b}}function bE(a,l,r=0,c=0,d=!1,f=Hn){const{from:m,to:p}=l||{},{isSameDay:g,isAfter:b,isBefore:C}=f;let v;if(!m&&!p)v={from:a,to:r>0?void 0:a};else if(m&&!p)g(m,a)?r===0?v={from:m,to:a}:d?v={from:m,to:void 0}:v=void 0:C(a,m)?v={from:a,to:m}:v={from:m,to:a};else if(m&&p)if(g(m,a)&&g(p,a))d?v={from:m,to:p}:v=void 0;else if(g(m,a))v={from:m,to:r>0?void 0:a};else if(g(p,a))v={from:a,to:r>0?void 0:a};else if(C(a,m))v={from:a,to:p};else if(b(a,m))v={from:m,to:a};else if(b(a,p))v={from:m,to:a};else throw new Error("Invalid range");if(v?.from&&v?.to){const S=f.differenceInCalendarDays(v.to,v.from);c>0&&S>c?v={from:a,to:void 0}:r>1&&S<r&&(v={from:a,to:void 0})}return v}function SE(a,l,r=Hn){const c=Array.isArray(l)?l:[l];let d=a.from;const f=r.differenceInCalendarDays(a.to,a.from),m=Math.min(f,6);for(let p=0;p<=m;p++){if(c.includes(d.getDay()))return!0;d=r.addDays(d,1)}return!1}function Og(a,l,r=Hn){return ma(a,l.from,!1,r)||ma(a,l.to,!1,r)||ma(l,a.from,!1,r)||ma(l,a.to,!1,r)}function NE(a,l,r=Hn){const c=Array.isArray(l)?l:[l];if(c.filter(p=>typeof p!="function").some(p=>typeof p=="boolean"?p:r.isDate(p)?ma(a,p,!1,r):iy(p,r)?p.some(g=>ma(a,g,!1,r)):xo(p)?p.from&&p.to?Og(a,{from:p.from,to:p.to},r):!1:sy(p)?SE(a,p.dayOfWeek,r):Ld(p)?r.isAfter(p.before,p.after)?Og(a,{from:r.addDays(p.after,1),to:r.addDays(p.before,-1)},r):ha(a.from,p,r)||ha(a.to,p,r):Bd(p)||Hd(p)?ha(a.from,p,r)||ha(a.to,p,r):!1))return!0;const m=c.filter(p=>typeof p=="function");if(m.length){let p=a.from;const g=r.differenceInCalendarDays(a.to,a.from);for(let b=0;b<=g;b++){if(m.some(C=>C(p)))return!0;p=r.addDays(p,1)}}return!1}function jE(a,l){const{disabled:r,excludeDisabled:c,selected:d,required:f,onSelect:m}=a,[p,g]=yo(d,m?d:void 0),b=m?d:p;return{selected:b,select:(S,M,T)=>{const{min:R,max:_}=a,z=S?bE(S,b,R,_,f,l):void 0;return c&&r&&z?.from&&z.to&&NE({from:z.from,to:z.to},r,l)&&(z.from=S,z.to=void 0),m||g(z),m?.(z,S,M,T),z},isSelected:S=>b&&ma(b,S,!1,l)}}function wE(a,l){const{selected:r,required:c,onSelect:d}=a,[f,m]=yo(r,d?r:void 0),p=d?r:f,{isSameDay:g}=l;return{selected:p,select:(v,S,M)=>{let T=v;return!c&&p&&p&&g(v,p)&&(T=void 0),d||m(T),d?.(T,v,S,M),T},isSelected:v=>p?g(p,v):!1}}function CE(a,l){const r=wE(a,l),c=vE(a,l),d=jE(a,l);switch(a.mode){case"single":return r;case"multiple":return c;case"range":return d;default:return}}function Ot(a,l){return a instanceof fa&&a.timeZone===l?a:new fa(a,l)}function zg(a,l){return typeof a=="boolean"||typeof a=="function"?a:a instanceof Date?Ot(a,l):Array.isArray(a)?a.map(r=>r instanceof Date?Ot(r,l):r):xo(a)?{...a,from:a.from?Ot(a.from,l):a.from,to:a.to?Ot(a.to,l):a.to}:Ld(a)?{before:Ot(a.before,l),after:Ot(a.after,l)}:Bd(a)?{after:Ot(a.after,l)}:Hd(a)?{before:Ot(a.before,l)}:a}function Qu(a,l){return a&&(Array.isArray(a)?a.map(r=>zg(r,l)):zg(a,l))}function EE(a){let l=a;const r=l.timeZone;if(r&&(l={...a,timeZone:r},l.today&&(l.today=Ot(l.today,r)),l.month&&(l.month=Ot(l.month,r)),l.defaultMonth&&(l.defaultMonth=Ot(l.defaultMonth,r)),l.startMonth&&(l.startMonth=Ot(l.startMonth,r)),l.endMonth&&(l.endMonth=Ot(l.endMonth,r)),l.mode==="single"&&l.selected?l.selected=Ot(l.selected,r):l.mode==="multiple"&&l.selected?l.selected=l.selected?.map(oe=>Ot(oe,r)):l.mode==="range"&&l.selected&&(l.selected={from:l.selected.from?Ot(l.selected.from,r):l.selected.from,to:l.selected.to?Ot(l.selected.to,r):l.selected.to}),l.disabled!==void 0&&(l.disabled=Qu(l.disabled,r)),l.hidden!==void 0&&(l.hidden=Qu(l.hidden,r)),l.modifiers)){const oe={};Object.keys(l.modifiers).forEach(Ne=>{oe[Ne]=Qu(l.modifiers?.[Ne],r)}),l.modifiers=oe}const{components:c,formatters:d,labels:f,dateLib:m,locale:p,classNames:g}=y.useMemo(()=>{const oe={...ny,...l.locale},Ne=new sn({locale:oe,weekStartsOn:l.broadcastCalendar?1:l.weekStartsOn,firstWeekContainsDate:l.firstWeekContainsDate,useAdditionalWeekYearTokens:l.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:l.useAdditionalDayOfYearTokens,timeZone:l.timeZone,numerals:l.numerals},l.dateLib);return{dateLib:Ne,components:U2(l.components),formatters:P2(l.formatters),labels:J2(l.labels,Ne.options),locale:oe,classNames:{...B2(),...l.classNames}}},[l.locale,l.broadcastCalendar,l.weekStartsOn,l.firstWeekContainsDate,l.useAdditionalWeekYearTokens,l.useAdditionalDayOfYearTokens,l.timeZone,l.numerals,l.dateLib,l.components,l.formatters,l.labels,l.classNames]);l.today||(l={...l,today:m.today()});const{captionLayout:b,mode:C,navLayout:v,numberOfMonths:S=1,onDayBlur:M,onDayClick:T,onDayFocus:R,onDayKeyDown:_,onDayMouseEnter:z,onDayMouseLeave:B,onNextClick:Q,onPrevClick:q,showWeekNumber:H,styles:N}=l,{formatCaption:G,formatDay:P,formatMonthDropdown:F,formatWeekNumber:ie,formatWeekNumberHeader:be,formatWeekdayName:re,formatYearDropdown:Be}=d,Se=pE(l,m),{days:ye,months:k,navStart:U,navEnd:J,previousMonth:ce,nextMonth:ve,goToMonth:_e}=Se,ze=k2(ye,l,U,J,m),{isSelected:W,select:I,selected:ne}=CE(l,m)??{},{blur:$,focused:te,isFocusTarget:me,moveFocus:Oe,setFocused:Ke}=yE(l,Se,ze,W??(()=>!1),m),{labelDayButton:yt,labelGridcell:vt,labelGrid:Qe,labelMonthDropdown:tt,labelNav:kt,labelPrevious:Vt,labelNext:qn,labelWeekday:je,labelWeekNumber:Xt,labelWeekNumberHeader:Mn,labelYearDropdown:Pt}=f,xa=y.useMemo(()=>tE(m,l.ISOWeek,l.broadcastCalendar,l.today),[m,l.ISOWeek,l.broadcastCalendar,l.today]),Yn=C!==void 0||T!==void 0,ut=y.useCallback(()=>{ce&&(_e(ce),q?.(ce))},[ce,_e,q]),Wt=y.useCallback(()=>{ve&&(_e(ve),Q?.(ve))},[_e,ve,Q]),Kn=y.useCallback((oe,Ne)=>pe=>{pe.preventDefault(),pe.stopPropagation(),Ke(oe),!Ne.disabled&&(I?.(oe.date,Ne,pe),T?.(oe.date,Ne,pe))},[I,T,Ke]),Za=y.useCallback((oe,Ne)=>pe=>{Ke(oe),R?.(oe.date,Ne,pe)},[R,Ke]),Tn=y.useCallback((oe,Ne)=>pe=>{$(),M?.(oe.date,Ne,pe)},[$,M]),An=y.useCallback((oe,Ne)=>pe=>{const Te={ArrowLeft:[pe.shiftKey?"month":"day",l.dir==="rtl"?"after":"before"],ArrowRight:[pe.shiftKey?"month":"day",l.dir==="rtl"?"before":"after"],ArrowDown:[pe.shiftKey?"year":"week","after"],ArrowUp:[pe.shiftKey?"year":"week","before"],PageUp:[pe.shiftKey?"year":"month","before"],PageDown:[pe.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(Te[pe.key]){pe.preventDefault(),pe.stopPropagation();const[Je,xe]=Te[pe.key];Oe(Je,xe)}_?.(oe.date,Ne,pe)},[Oe,_,l.dir]),Nl=y.useCallback((oe,Ne)=>pe=>{z?.(oe.date,Ne,pe)},[z]),gs=y.useCallback((oe,Ne)=>pe=>{B?.(oe.date,Ne,pe)},[B]),xs=y.useCallback(oe=>Ne=>{const pe=Number(Ne.target.value),Te=m.setMonth(m.startOfMonth(oe),pe);_e(Te)},[m,_e]),Gn=y.useCallback(oe=>Ne=>{const pe=Number(Ne.target.value),Te=m.setYear(m.startOfMonth(oe),pe);_e(Te)},[m,_e]),{className:Z,style:Ee}=y.useMemo(()=>({className:[g[ue.Root],l.className].filter(Boolean).join(" "),style:{...N?.[ue.Root],...l.style}}),[g,l.className,l.style,N]),he=L2(l),Me=y.useRef(null);iE(Me,!!l.animate,{classNames:g,months:k,focused:te,dateLib:m});const nt={dayPickerProps:l,selected:ne,select:I,isSelected:W,months:k,nextMonth:ve,previousMonth:ce,goToMonth:_e,getModifiers:ze,components:c,classNames:g,styles:N,labels:f,formatters:d};return ee.createElement(ly.Provider,{value:nt},ee.createElement(c.Root,{rootRef:l.animate?Me:void 0,className:Z,style:Ee,dir:l.dir,id:l.id,lang:l.lang,nonce:l.nonce,title:l.title,role:l.role,"aria-label":l["aria-label"],"aria-labelledby":l["aria-labelledby"],...he},ee.createElement(c.Months,{className:g[ue.Months],style:N?.[ue.Months]},!l.hideNavigation&&!v&&ee.createElement(c.Nav,{"data-animated-nav":l.animate?"true":void 0,className:g[ue.Nav],style:N?.[ue.Nav],"aria-label":kt(),onPreviousClick:ut,onNextClick:Wt,previousMonth:ce,nextMonth:ve}),k.map((oe,Ne)=>ee.createElement(c.Month,{"data-animated-month":l.animate?"true":void 0,className:g[ue.Month],style:N?.[ue.Month],key:Ne,displayIndex:Ne,calendarMonth:oe},v==="around"&&!l.hideNavigation&&Ne===0&&ee.createElement(c.PreviousMonthButton,{type:"button",className:g[ue.PreviousMonthButton],tabIndex:ce?void 0:-1,"aria-disabled":ce?void 0:!0,"aria-label":Vt(ce),onClick:ut,"data-animated-button":l.animate?"true":void 0},ee.createElement(c.Chevron,{disabled:ce?void 0:!0,className:g[ue.Chevron],orientation:l.dir==="rtl"?"right":"left"})),ee.createElement(c.MonthCaption,{"data-animated-caption":l.animate?"true":void 0,className:g[ue.MonthCaption],style:N?.[ue.MonthCaption],calendarMonth:oe,displayIndex:Ne},b?.startsWith("dropdown")?ee.createElement(c.DropdownNav,{className:g[ue.Dropdowns],style:N?.[ue.Dropdowns]},(()=>{const pe=b==="dropdown"||b==="dropdown-months"?ee.createElement(c.MonthsDropdown,{key:"month",className:g[ue.MonthsDropdown],"aria-label":tt(),classNames:g,components:c,disabled:!!l.disableNavigation,onChange:xs(oe.date),options:F2(oe.date,U,J,d,m),style:N?.[ue.Dropdown],value:m.getMonth(oe.date)}):ee.createElement("span",{key:"month"},F(oe.date,m)),Te=b==="dropdown"||b==="dropdown-years"?ee.createElement(c.YearsDropdown,{key:"year",className:g[ue.YearsDropdown],"aria-label":Pt(m.options),classNames:g,components:c,disabled:!!l.disableNavigation,onChange:Gn(oe.date),options:nE(U,J,d,m,!!l.reverseYears),style:N?.[ue.Dropdown],value:m.getYear(oe.date)}):ee.createElement("span",{key:"year"},Be(oe.date,m));return m.getMonthYearOrder()==="year-first"?[Te,pe]:[pe,Te]})(),ee.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},G(oe.date,m.options,m))):ee.createElement(c.CaptionLabel,{className:g[ue.CaptionLabel],role:"status","aria-live":"polite"},G(oe.date,m.options,m))),v==="around"&&!l.hideNavigation&&Ne===S-1&&ee.createElement(c.NextMonthButton,{type:"button",className:g[ue.NextMonthButton],tabIndex:ve?void 0:-1,"aria-disabled":ve?void 0:!0,"aria-label":qn(ve),onClick:Wt,"data-animated-button":l.animate?"true":void 0},ee.createElement(c.Chevron,{disabled:ve?void 0:!0,className:g[ue.Chevron],orientation:l.dir==="rtl"?"left":"right"})),Ne===S-1&&v==="after"&&!l.hideNavigation&&ee.createElement(c.Nav,{"data-animated-nav":l.animate?"true":void 0,className:g[ue.Nav],style:N?.[ue.Nav],"aria-label":kt(),onPreviousClick:ut,onNextClick:Wt,previousMonth:ce,nextMonth:ve}),ee.createElement(c.MonthGrid,{role:"grid","aria-multiselectable":C==="multiple"||C==="range","aria-label":Qe(oe.date,m.options,m)||void 0,className:g[ue.MonthGrid],style:N?.[ue.MonthGrid]},!l.hideWeekdays&&ee.createElement(c.Weekdays,{"data-animated-weekdays":l.animate?"true":void 0,className:g[ue.Weekdays],style:N?.[ue.Weekdays]},H&&ee.createElement(c.WeekNumberHeader,{"aria-label":Mn(m.options),className:g[ue.WeekNumberHeader],style:N?.[ue.WeekNumberHeader],scope:"col"},be()),xa.map(pe=>ee.createElement(c.Weekday,{"aria-label":je(pe,m.options,m),className:g[ue.Weekday],key:String(pe),style:N?.[ue.Weekday],scope:"col"},re(pe,m.options,m)))),ee.createElement(c.Weeks,{"data-animated-weeks":l.animate?"true":void 0,className:g[ue.Weeks],style:N?.[ue.Weeks]},oe.weeks.map(pe=>ee.createElement(c.Week,{className:g[ue.Week],key:pe.weekNumber,style:N?.[ue.Week],week:pe},H&&ee.createElement(c.WeekNumber,{week:pe,style:N?.[ue.WeekNumber],"aria-label":Xt(pe.weekNumber,{locale:p}),className:g[ue.WeekNumber],scope:"row",role:"rowheader"},ie(pe.weekNumber,m)),pe.days.map(Te=>{const{date:Je}=Te,xe=ze(Te);if(xe[lt.focused]=!xe.hidden&&!!te?.isEqualTo(Te),xe[wn.selected]=W?.(Je)||xe.selected,xo(ne)){const{from:Zt,to:vn}=ne;xe[wn.range_start]=!!(Zt&&vn&&m.isSameDay(Je,Zt)),xe[wn.range_end]=!!(Zt&&vn&&m.isSameDay(Je,vn)),xe[wn.range_middle]=ma(ne,Je,!0,m)}const _t=eE(xe,N,l.modifiersStyles),Qn=R2(xe,g,l.modifiersClassNames),Nt=!Yn&&!xe.hidden?vt(Je,xe,m.options,m):void 0;return ee.createElement(c.Day,{key:`${Te.isoDate}_${Te.displayMonthId}`,day:Te,modifiers:xe,className:Qn.join(" "),style:_t,role:"gridcell","aria-selected":xe.selected||void 0,"aria-label":Nt,"data-day":Te.isoDate,"data-month":Te.outside?Te.dateMonthId:void 0,"data-selected":xe.selected||void 0,"data-disabled":xe.disabled||void 0,"data-hidden":xe.hidden||void 0,"data-outside":Te.outside||void 0,"data-focused":xe.focused||void 0,"data-today":xe.today||void 0},!xe.hidden&&Yn?ee.createElement(c.DayButton,{className:g[ue.DayButton],style:N?.[ue.DayButton],type:"button",day:Te,modifiers:xe,disabled:!xe.focused&&xe.disabled||void 0,"aria-disabled":xe.focused&&xe.disabled||void 0,tabIndex:me(Te)?0:-1,"aria-label":yt(Je,xe,m.options,m),onClick:Kn(Te,xe),onBlur:Tn(Te,xe),onFocus:Za(Te,xe),onKeyDown:An(Te,xe),onMouseEnter:Nl(Te,xe),onMouseLeave:gs(Te,xe)},P(Je,m.options,m)):!xe.hidden&&P(Te.date,m.options,m))})))))))),l.footer&&ee.createElement(c.Footer,{className:g[ue.Footer],style:N?.[ue.Footer],role:"status","aria-live":"polite"},l.footer)))}function ME({className:a,classNames:l,showOutsideDays:r=!0,...c}){return i.jsx(EE,{showOutsideDays:r,className:Y("p-2",a),classNames:{root:"relative",months:"flex flex-col sm:flex-row gap-2 sm:gap-4",month:"flex flex-col gap-2",month_caption:"flex justify-center pt-1 relative items-center h-8",caption_label:"text-sm font-medium",nav:"absolute inset-x-0 top-2 flex items-center justify-between px-1 z-10",button_previous:Y(Qr({variant:"ghost"}),"h-7 w-7 bg-transparent p-0 opacity-70 hover:opacity-100 hover:bg-accent rounded-md"),button_next:Y(Qr({variant:"ghost"}),"h-7 w-7 bg-transparent p-0 opacity-70 hover:opacity-100 hover:bg-accent rounded-md"),month_grid:"w-full border-collapse",weekdays:"flex w-full",weekday:"text-muted-foreground w-8 font-normal text-xs text-center",weeks:"flex flex-col",week:"flex w-full",day:Y("relative h-8 w-8 p-0 text-center text-xs font-normal focus-within:relative focus-within:z-20","hover:bg-accent hover:text-accent-foreground rounded-full select-none"),day_button:Y(Qr({variant:"ghost"}),"h-8 w-8 p-0 font-normal rounded-full text-xs","aria-selected:opacity-100"),range_start:Y("aria-selected:bg-primary aria-selected:text-primary-foreground","aria-selected:rounded-l-full aria-selected:rounded-r-none","aria-selected:hover:bg-primary aria-selected:hover:text-primary-foreground"),range_end:Y("aria-selected:bg-primary aria-selected:text-primary-foreground","aria-selected:rounded-r-full aria-selected:rounded-l-none","aria-selected:hover:bg-primary aria-selected:hover:text-primary-foreground"),range_middle:Y("aria-selected:bg-accent aria-selected:text-accent-foreground","aria-selected:rounded-none"),selected:Y("bg-primary text-primary-foreground rounded-full","hover:bg-primary hover:text-primary-foreground","focus:bg-primary focus:text-primary-foreground"),today:"bg-accent text-accent-foreground rounded-full",outside:"text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30",disabled:"text-muted-foreground opacity-50",hidden:"invisible",...l},components:{Chevron:({orientation:d,className:f,...m})=>{const p=d==="left"?Zb:d==="right"?Fr:d==="up"?sd:so;return i.jsx(p,{className:Y("h-4 w-4",f),...m})}},...c})}ME.displayName="Calendar";const TE=y.lazy(()=>St(()=>Promise.resolve().then(()=>Ud),void 0).then(a=>({default:a.CodeEditor})));function VM({rawJsonContent:a,isRawJsonValid:l,rawJsonEdits:r,rawSettingsEnv:c,onChange:d,missingRequiredFields:f=[]}){const m=f.length>0;return i.jsx(y.Suspense,{fallback:i.jsxs("div",{className:"flex items-center justify-center h-full",children:[i.jsx(En,{className:"w-6 h-6 animate-spin text-muted-foreground"}),i.jsx("span",{className:"ml-2 text-muted-foreground",children:"Loading editor..."})]}),children:i.jsxs("div",{className:"h-full flex flex-col",children:[!l&&r!==null&&i.jsxs("div",{className:"mb-2 px-3 py-2 bg-destructive/10 text-destructive text-sm rounded-md flex items-center gap-2 mx-6 mt-4 shrink-0",children:[i.jsx(hs,{className:"w-4 h-4"}),"Invalid JSON syntax"]}),l&&m&&i.jsxs("div",{className:"mb-2 px-3 py-2 bg-warning/10 text-warning-foreground text-sm rounded-md flex items-start gap-2 mx-6 mt-4 shrink-0 border border-warning/20",children:[i.jsx(pa,{className:"w-4 h-4 mt-0.5 text-amber-500 shrink-0"}),i.jsxs("div",{children:[i.jsx("span",{className:"font-medium text-amber-600 dark:text-amber-400",children:"Missing required fields:"})," ",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded",children:f.join(", ")}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"These fields will use default values at runtime."})]})]}),i.jsx("div",{className:"flex-1 overflow-hidden px-6 pb-4 pt-4",children:i.jsx("div",{className:"h-full border rounded-md overflow-hidden bg-background",children:i.jsx(TE,{value:a,onChange:d,language:"json",minHeight:"100%"})})}),i.jsx("div",{className:"mx-6 mb-4",children:i.jsx("div",{className:"border rounded-md overflow-hidden",children:i.jsx(kd,{profileEnv:c})})})]})})}function AE(){const[a,l]=y.useState(""),[r,c]=y.useState(""),[d,f]=y.useState(null),[m,p]=y.useState(!1),{login:g,authRequired:b,isAuthenticated:C}=ud(),v=nd(),M=td().state?.from?.pathname||"/";if(y.useEffect(()=>{(C||!b)&&v(M,{replace:!0})},[C,b,v,M]),C||!b)return null;const T=async R=>{R.preventDefault(),f(null),p(!0);try{await g(a,r),v(M,{replace:!0})}catch(_){f(_ instanceof Error?_.message:"Login failed")}finally{p(!1)}};return i.jsx("div",{className:"flex min-h-screen items-center justify-center bg-background p-4",children:i.jsxs(SC,{className:"w-full max-w-sm",children:[i.jsxs(NC,{className:"space-y-1 text-center",children:[i.jsx("div",{className:"mx-auto mb-2 flex h-12 w-12 items-center justify-center rounded-full bg-primary/10",children:i.jsx(Ib,{className:"h-6 w-6 text-primary"})}),i.jsx(jC,{className:"text-2xl",children:"CCS Dashboard"}),i.jsx(wC,{children:"Enter your credentials to access the dashboard"})]}),i.jsx(CC,{children:i.jsxs("form",{onSubmit:T,className:"space-y-4",children:[d&&i.jsxs(Od,{variant:"destructive",children:[i.jsx(rd,{className:"h-4 w-4"}),i.jsx(zd,{children:d})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(yn,{htmlFor:"username",children:"Username"}),i.jsx(Rn,{id:"username",type:"text",value:a,onChange:R=>l(R.target.value),placeholder:"Enter username",autoComplete:"username",disabled:m,required:!0})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(yn,{htmlFor:"password",children:"Password"}),i.jsx(Rn,{id:"password",type:"password",value:r,onChange:R=>c(R.target.value),placeholder:"Enter password",autoComplete:"current-password",disabled:m,required:!0})]}),i.jsx(ot,{type:"submit",className:"w-full",disabled:m,children:m?i.jsxs(i.Fragment,{children:[i.jsx(En,{className:"mr-2 h-4 w-4 animate-spin"}),"Signing in..."]}):"Sign In"})]})})]})})}const OE=y.lazy(()=>St(()=>import("./index-Cp8K9_TQ.js"),__vite__mapDeps([18,1,2,4,5,7,19,6,8,9])).then(a=>({default:a.AnalyticsPage}))),zE=y.lazy(()=>St(()=>import("./api-BWyCgbMh.js"),__vite__mapDeps([20,1,2,5,21,15,6,4,22,7,8,9])).then(a=>({default:a.ApiPage}))),_E=y.lazy(()=>St(()=>import("./cliproxy-B-q7RjS2.js"),__vite__mapDeps([23,1,2,5,13,6,4,24,21,15,22,3,14,7,8,9])).then(a=>({default:a.CliproxyPage}))),DE=y.lazy(()=>St(()=>import("./cliproxy-control-panel-BliRTkbb.js"),__vite__mapDeps([25,1,2,5,13,4,6,7,8,9])).then(a=>({default:a.CliproxyControlPanelPage}))),kE=y.lazy(()=>St(()=>import("./copilot-EarFqUyJ.js"),__vite__mapDeps([26,1,2,5,21,15,4,22,3,6,7,8,9])).then(a=>({default:a.CopilotPage}))),RE=y.lazy(()=>St(()=>import("./cursor-Dbe4Wtw2.js"),__vite__mapDeps([27,1,2,6,5,13,3,22,4,7,8,9])).then(a=>({default:a.CursorPage}))),UE=y.lazy(()=>St(()=>import("./accounts-DIqClJ7z.js"),__vite__mapDeps([28,1,2,5,15,6,4,24,7,8,9])).then(a=>({default:a.AccountsPage}))),LE=y.lazy(()=>St(()=>Promise.resolve().then(()=>IC),void 0).then(a=>({default:a.SettingsPage}))),BE=y.lazy(()=>St(()=>import("./health-Cvr359ff.js"),__vite__mapDeps([29,1,2,5,6,4,7,8,9])).then(a=>({default:a.HealthPage}))),HE=y.lazy(()=>St(()=>import("./shared-zsUXmES2.js"),__vite__mapDeps([30,1,2,4,5,6,7,8,9])).then(a=>({default:a.SharedPage})));function kn(){return i.jsx("div",{className:"flex h-64 items-center justify-center",children:i.jsx(En,{className:"h-8 w-8 animate-spin text-muted-foreground"})})}function qE(){return i.jsx(gb,{client:QS,children:i.jsx(XS,{defaultTheme:"system",storageKey:"vite-ui-theme",children:i.jsx(PS,{children:i.jsx(JS,{children:i.jsxs(mb,{children:[i.jsxs(hb,{children:[i.jsx(Kt,{path:"/login",element:i.jsx(AE,{})}),i.jsx(Kt,{element:i.jsx(FS,{}),children:i.jsxs(Kt,{element:i.jsx(GN,{}),children:[i.jsx(Kt,{path:"/",element:i.jsx(Hw,{})}),i.jsx(Kt,{path:"/analytics",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(OE,{})})}),i.jsx(Kt,{path:"/providers",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(zE,{})})}),i.jsx(Kt,{path:"/cliproxy",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(_E,{})})}),i.jsx(Kt,{path:"/cliproxy/control-panel",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(DE,{})})}),i.jsx(Kt,{path:"/copilot",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(kE,{})})}),i.jsx(Kt,{path:"/cursor",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(RE,{})})}),i.jsx(Kt,{path:"/accounts",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(UE,{})})}),i.jsx(Kt,{path:"/settings",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(LE,{})})}),i.jsx(Kt,{path:"/health",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(BE,{})})}),i.jsx(Kt,{path:"/shared",element:i.jsx(y.Suspense,{fallback:i.jsx(kn,{}),children:i.jsx(HE,{})})})]})})]}),i.jsx(xb,{position:"top-right"})]})})})})})}const vy=document.getElementById("root");if(!vy)throw new Error("Root element not found. Failed to mount React application.");YS.createRoot(vy).render(i.jsx(y.StrictMode,{children:i.jsx(qE,{})}));export{zC as $,$w as A,Qa as B,SC as C,TM as D,$1 as E,J1 as F,F1 as G,qx as H,Rn as I,_d as J,$r as K,yn as L,Ju as M,zM as N,wC as O,ox as P,DM as Q,_M as R,Ye as S,Va as T,kM as U,Gx as V,RM as W,BM as X,TC as Y,qM as Z,AC as _,CC as a,Hx as a$,P1 as a0,FE as a1,iM as a2,rM as a3,pd as a4,gd as a5,xd as a6,yd as a7,vd as a8,UM as a9,LN as aA,kC as aB,dx as aC,bj as aD,xx as aE,cM as aF,uM as aG,dM as aH,fM as aI,YM as aJ,JE as aK,I1 as aL,tM as aM,nM as aN,W1 as aO,Z1 as aP,aM as aQ,lM as aR,sM as aS,eM as aT,pi as aU,IE as aV,$E as aW,VM as aX,Uw as aY,EM as aZ,Od as a_,MC as aa,LM as ab,Wa as ac,NM as ad,Pe as ae,wM as af,oM as ag,jM as ah,CM as ai,Ip as aj,HM as ak,OC as al,xN as am,bM as an,CN as ao,SM as ap,xj as aq,g1 as ar,x1 as as,co as at,oo as au,uo as av,xl as aw,kN as ax,RN as ay,UN as az,ot as b,zd as b0,Jx as b1,QC as b2,XC as b3,gM as b4,mM as b5,xM as b6,hM as b7,pM as b8,vM as b9,yM as ba,Qr as bb,Y as c,KM as d,GM as e,$C as f,ME as g,ZE as h,NC as i,jC as j,sj as k,ij as l,Sl as m,QM as n,Xa as o,Pa as p,cg as q,eC as r,OM as s,Qw as t,od as u,Iw as v,MM as w,AM as x,Yw as y,Ww as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./radix-ui-DKgfU5rd.js";import{r as d}from"./react-vendor-CNOkPC89.js";import{b1 as ye,b2 as je,ae as L,I as T,X as ve,Y as Ne,Z as ke,_ as Ce,$ as z,b as Q,b3 as Pe,b4 as Se,b5 as we,a_ as O,b0 as U,m as Ie}from"./index-iFDDSmnp.js";import{S as _}from"./switch-fbWM-cTI.js";import{C as D}from"./default-ports-1QQSffYX.js";import{aC as ee,R as V,e as Ee,q as te,W as Te,a1 as Le,aD as Ae,aE as _e,T as X,aF as De}from"./icons-DGASzt3M.js";import{P as Re}from"./proxy-status-widget-ZhF4kV0r.js";import{t as Z}from"./notifications-B2HqRBj7.js";import"./tanstack-5ndrQy-j.js";import"./utils-CzKF5WmX.js";import"./form-utils-C-pVd1--.js";import"./code-highlight-BRUf_pqB.js";import"./alert-dialog-DT_kgUDK.js";function Be(){const{state:t}=ye(),s=je(),[n,m]=d.useState(null),[h,b]=d.useState(null),[g,u]=d.useState(null),[v,N]=d.useState(null),[f,k]=d.useState(null),C=d.useCallback(async()=>{try{s.setProxyLoading(!0),s.setProxyError(null);const l=await L.cliproxyServer.get();s.setProxyConfig(l)}catch(l){s.setProxyError(l.message)}finally{s.setProxyLoading(!1)}},[s]),P=d.useCallback(async l=>{const i=t.proxyConfig;if(!i)return;const p={remote:{...i.remote,...l.remote},fallback:{...i.fallback,...l.fallback},local:{...i.local,...l.local}};s.setProxyConfig(p),s.setProxyTestResult(null);try{s.setProxySaving(!0),s.setProxyError(null);const a=await L.cliproxyServer.update(l);s.setProxyConfig(a),s.setProxySuccess(!0),setTimeout(()=>s.setProxySuccess(!1),1500)}catch(a){s.setProxyConfig(i),s.setProxyError(a.message)}finally{s.setProxySaving(!1)}},[t.proxyConfig,s]),S=d.useCallback(async l=>{const{host:i,port:p,protocol:a,authToken:w}=l;if(!i){s.setProxyError("Host is required");return}try{s.setProxyTesting(!0),s.setProxyError(null),s.setProxyTestResult(null);const o=p?parseInt(p,10):void 0,I=await L.cliproxyServer.test({host:i,port:o||void 0,protocol:a,authToken:w||void 0});s.setProxyTestResult(I)}catch(o){s.setProxyError(o.message)}finally{s.setProxyTesting(!1)}},[s]);return{config:t.proxyConfig,loading:t.proxyLoading,saving:t.proxySaving,error:t.proxyError,success:t.proxySuccess,testResult:t.proxyTestResult,testing:t.proxyTesting,editedHost:n,setEditedHost:m,editedPort:h,setEditedPort:b,editedAuthToken:g,setEditedAuthToken:u,editedManagementKey:v,setEditedManagementKey:N,editedLocalPort:f,setEditedLocalPort:k,fetchConfig:C,saveConfig:P,testConnection:S}}function Me({config:t,saving:s,displayLocalPort:n,setEditedLocalPort:m,onSaveLocalPort:h,onSaveConfig:b}){const g=t.local;return e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:"Local Proxy"}),e.jsxs("div",{className:"space-y-3 p-4 rounded-lg border bg-muted/30",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"Port"}),e.jsx(T,{type:"text",inputMode:"numeric",value:n,onChange:u=>m(u.target.value.replace(/\D/g,"")),onBlur:h,placeholder:`${D}`,className:"font-mono max-w-32",disabled:s})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-sm",children:"Auto-start"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Start local proxy automatically when needed"})]}),e.jsx(_,{checked:g.auto_start??!0,onCheckedChange:u=>b({local:{...g,auto_start:u}}),disabled:s})]})]})]})}function Ke({config:t,saving:s,testing:n,testResult:m,displayHost:h,displayPort:b,displayAuthToken:g,displayManagementKey:u,setEditedHost:v,setEditedPort:N,setEditedAuthToken:f,setEditedManagementKey:k,onSaveHost:C,onSavePort:P,onSaveAuthToken:S,onSaveManagementKey:l,onSaveConfig:i,onTestConnection:p}){const a=t.remote,w=o=>o==="https"?443:D;return e.jsxs("div",{className:"space-y-4 p-4 rounded-lg border bg-muted/30",children:[e.jsxs("h4",{className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(ee,{className:"w-4 h-4"}),"Remote Server Configuration"]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"Host"}),e.jsx(T,{value:h,onChange:o=>v(o.target.value),onBlur:C,placeholder:"192.168.1.100 or proxy.example.com",className:"font-mono",disabled:s})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("label",{className:"text-sm text-muted-foreground",children:["Port"," ",e.jsxs("span",{className:"text-xs opacity-70",children:["(default: ",w(t.remote.protocol||"http"),")"]})]}),e.jsx(T,{type:"text",inputMode:"numeric",value:b,onChange:o=>N(o.target.value.replace(/\D/g,"")),onBlur:P,placeholder:`Leave empty for ${w(t.remote.protocol||"http")}`,className:"font-mono",disabled:s})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"Protocol"}),e.jsxs(ve,{value:t.remote.protocol||"http",onValueChange:o=>i({remote:{...a,protocol:o}}),disabled:s,children:[e.jsx(Ne,{children:e.jsx(ke,{})}),e.jsxs(Ce,{children:[e.jsx(z,{value:"http",children:"HTTP"}),e.jsx(z,{value:"https",children:"HTTPS"})]})]})]})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"API Key (optional)"}),e.jsx(T,{type:"password",value:g,onChange:o=>f(o.target.value),onBlur:S,placeholder:"For /v1/* API endpoints",className:"font-mono",disabled:s}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Used for API requests to /v1/chat/completions"})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"Management Key (optional)"}),e.jsx(T,{type:"password",value:u,onChange:o=>k(o.target.value),onBlur:l,placeholder:"For /v0/management/* endpoints",className:"font-mono",disabled:s}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Used for dashboard management APIs. Falls back to API Key if not set."})]}),e.jsxs("div",{className:"space-y-3 pt-2",children:[e.jsx(Q,{onClick:p,disabled:n||!h,variant:"outline",className:"w-full",children:n?e.jsxs(e.Fragment,{children:[e.jsx(V,{className:"w-4 h-4 mr-2 animate-spin"}),"Testing..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Ee,{className:"w-4 h-4 mr-2"}),"Test Connection"]})}),m&&e.jsx("div",{className:`p-3 rounded-md ${m.reachable?"bg-green-50 border border-green-200 dark:bg-green-900/20 dark:border-green-900/50":"bg-red-50 border border-red-200 dark:bg-red-900/20 dark:border-red-900/50"}`,children:e.jsx("div",{className:"flex items-center gap-2",children:m.reachable?e.jsxs(e.Fragment,{children:[e.jsx(te,{className:"w-4 h-4 text-green-600 dark:text-green-400"}),e.jsxs("span",{className:"text-sm font-medium text-green-700 dark:text-green-300",children:["Connected (",m.latencyMs,"ms)"]})]}):e.jsxs(e.Fragment,{children:[e.jsx(Te,{className:"w-4 h-4 text-red-600 dark:text-red-400"}),e.jsx("span",{className:"text-sm font-medium text-red-700 dark:text-red-300",children:m.error||"Connection failed"})]})})})]})]})}const J="ccs_debug_mode",Fe=["kiro","ghcp"];function Qe(){const{config:t,loading:s,saving:n,error:m,success:h,testResult:b,testing:g,editedHost:u,setEditedHost:v,editedPort:N,setEditedPort:f,editedAuthToken:k,setEditedAuthToken:C,editedManagementKey:P,setEditedManagementKey:S,editedLocalPort:l,setEditedLocalPort:i,fetchConfig:p,saveConfig:a,testConnection:w}=Be(),{fetchRawConfig:o}=Pe(),[I,se]=d.useState(()=>{try{return localStorage.getItem(J)==="true"}catch{return!1}}),re=r=>{se(r);try{localStorage.setItem(J,String(r))}catch{}},[y,R]=d.useState("plus"),[ae,oe]=d.useState(!1),B=Se(),{data:ne}=we(),G=ne?.running??!1,M=d.useCallback(async()=>{try{const r=await L.cliproxyServer.getBackend();R(r.backend)}catch(r){console.error("[Proxy] Failed to fetch backend:",r)}},[]),K=d.useCallback(async()=>{try{const c=(await L.cliproxy.list()).variants.some(be=>Fe.includes(be.provider));oe(c)}catch(r){console.error("[Proxy] Failed to check variants:",r)}},[]),W=r=>{const c=y;R(r),B.mutate({backend:r},{onError:()=>{R(c)}})};if(d.useEffect(()=>{if(I&&t){const r={...t,remote:{...t.remote,auth_token:t.remote.auth_token?"[REDACTED]":void 0,management_key:t.remote.management_key?"[REDACTED]":void 0}};console.log("[CCS Debug] Debug mode enabled - proxy config:",r)}},[I,t]),d.useEffect(()=>{p(),o(),M(),K()},[p,o,M,K]),s||!t)return e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground",children:[e.jsx(V,{className:"w-5 h-5 animate-spin"}),e.jsx("span",{children:"Loading..."})]})});const x=t.remote.enabled??!1,A=!x&&G,j=t.remote,E=t.fallback,le=t.remote.host??"",ce=t.remote.port!==void 0?t.remote.port.toString():"",de=t.remote.auth_token??"",ie=t.remote.management_key??"",me=(t.local.port??D).toString(),F=u??le,$=N??ce,H=k??de,Y=P??ie,q=l??me,xe=()=>{const r=u??F;r!==t.remote.host&&a({remote:{...j,host:r}}),v(null)},ue=()=>{const r=(N??$).trim();if(r===""){t.remote.port!==void 0&&a({remote:{...j,port:void 0}}),f(null);return}const c=Number(r);if(!Number.isInteger(c)||c<1||c>65535){Z.error("Port must be an integer between 1 and 65535, or empty for default"),f(null);return}c!==t.remote.port&&a({remote:{...j,port:c}}),f(null)},pe=()=>{const r=k??H;r!==t.remote.auth_token&&a({remote:{...j,auth_token:r}}),C(null)},he=()=>{const r=P??Y;r!==t.remote.management_key&&a({remote:{...j,management_key:r||void 0}}),S(null)},ge=()=>{const r=(l??q).trim(),c=r===""?D:Number(r);if(!Number.isInteger(c)||c<1||c>65535){Z.error("Local port must be an integer between 1 and 65535"),i(null);return}c!==t.local.port&&a({local:{...t.local,port:c}}),i(null)},fe=()=>{w({host:F,port:$,protocol:t.remote.protocol||"http",authToken:H})};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`absolute left-5 right-5 top-20 z-10 transition-all duration-200 ease-out ${m||h?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[m&&e.jsxs(O,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx(Le,{className:"h-4 w-4"}),e.jsx(U,{children:m})]}),h&&e.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-md border border-green-200 bg-green-50 text-green-700 shadow-lg dark:border-green-900/50 dark:bg-green-900/90 dark:text-green-300",children:[e.jsx(te,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:"Saved"})]})]}),e.jsx(Ie,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-6",children:[e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Configure local or remote ",y==="plus"?"CLIProxy Plus":"CLIProxy"," connection for proxy-based profiles"]}),!x&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:"Instance Status"}),e.jsx(Re,{})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:"Connection Mode"}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("button",{onClick:()=>a({remote:{...j,enabled:!1}}),disabled:n,className:`p-4 rounded-lg border-2 text-left transition-all ${x?"border-border hover:border-muted-foreground/50":"border-primary bg-primary/5"}`,children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx(Ae,{className:`w-5 h-5 ${x?"text-muted-foreground":"text-primary"}`}),e.jsx("span",{className:"font-medium",children:"Local"})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Run ",y==="plus"?"CLIProxy Plus":"CLIProxy"," binary on this machine"]})]}),e.jsxs("button",{onClick:()=>a({remote:{...j,enabled:!0}}),disabled:n,className:`p-4 rounded-lg border-2 text-left transition-all ${x?"border-primary bg-primary/5":"border-border hover:border-muted-foreground/50"}`,children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx(ee,{className:`w-5 h-5 ${x?"text-primary":"text-muted-foreground"}`}),e.jsx("span",{className:"font-medium",children:"Remote"})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Connect to a remote ",y==="plus"?"CLIProxy Plus":"CLIProxy"," server"]})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("h3",{className:"text-base font-medium flex items-center gap-2",children:[e.jsx(_e,{className:"w-4 h-4"}),"Backend Binary"]}),!x&&G&&e.jsxs(O,{className:"py-2 border-amber-200 bg-amber-50 dark:border-amber-900/50 dark:bg-amber-900/20 [&>svg]:top-2.5",children:[e.jsx(X,{className:"h-4 w-4 text-amber-600"}),e.jsx(U,{className:"text-amber-700 dark:text-amber-400",children:"Stop the running proxy in Instance Status to switch backend."})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("button",{onClick:()=>W("plus"),disabled:B.isPending||A,className:`p-4 rounded-lg border-2 text-left transition-all ${y==="plus"?"border-primary bg-primary/5":"border-border hover:border-muted-foreground/50"} ${A?"opacity-60 cursor-not-allowed":""}`,children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx("span",{className:"font-medium",children:"CLIProxyAPIPlus"}),e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-400",children:"Default"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Full provider support including Kiro and GitHub Copilot"})]}),e.jsxs("button",{onClick:()=>W("original"),disabled:B.isPending||A,className:`p-4 rounded-lg border-2 text-left transition-all ${y==="original"?"border-primary bg-primary/5":"border-border hover:border-muted-foreground/50"} ${A?"opacity-60 cursor-not-allowed":""}`,children:[e.jsx("div",{className:"flex items-center gap-3 mb-2",children:e.jsx("span",{className:"font-medium",children:"CLIProxyAPI"})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Original binary (Gemini, Codex, Antigravity only)"})]})]}),y==="original"&&ae&&e.jsxs(O,{variant:"destructive",className:"py-2",children:[e.jsx(X,{className:"h-4 w-4"}),e.jsx(U,{children:"Existing Kiro/Copilot variants will not work with CLIProxyAPI. Switch to CLIProxyAPIPlus or remove those variants."})]})]}),x&&e.jsx(Ke,{config:t,saving:n,testing:g,testResult:b,displayHost:F,displayPort:$,displayAuthToken:H,displayManagementKey:Y,setEditedHost:v,setEditedPort:f,setEditedAuthToken:C,setEditedManagementKey:S,onSaveHost:xe,onSavePort:ue,onSaveAuthToken:pe,onSaveManagementKey:he,onSaveConfig:a,onTestConnection:fe}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:"Fallback Settings"}),e.jsxs("div",{className:"space-y-3 p-4 rounded-lg border bg-muted/30",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-sm",children:"Enable fallback to local"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Use local proxy if remote is unreachable"})]}),e.jsx(_,{checked:E.enabled??!0,onCheckedChange:r=>a({fallback:{...E,enabled:r}}),disabled:n||!x})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-sm",children:"Auto-start local proxy"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Automatically start local proxy on fallback"})]}),e.jsx(_,{checked:E.auto_start??!1,onCheckedChange:r=>a({fallback:{...E,auto_start:r}}),disabled:n||!x||!E.enabled})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("h3",{className:"text-base font-medium flex items-center gap-2",children:[e.jsx(De,{className:"w-4 h-4"}),"Advanced"]}),e.jsxs("div",{className:"space-y-3 p-4 rounded-lg border bg-muted/30",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-sm",children:"Debug Mode"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Enable developer diagnostics in browser console"})]}),e.jsx(_,{checked:I,onCheckedChange:re,disabled:n})]}),I&&e.jsx("p",{className:"text-xs text-amber-600 dark:text-amber-400 pl-0.5",children:"Debug mode enabled. Check browser console for detailed logs."})]})]}),!x&&e.jsx(Me,{config:t,saving:n,displayLocalPort:q,setEditedLocalPort:i,onSaveLocalPort:ge,onSaveConfig:a})]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsxs(Q,{variant:"outline",size:"sm",onClick:()=>{p(),o(),M(),K()},disabled:s||n,className:"w-full",children:[e.jsx(V,{className:`w-4 h-4 mr-2 ${s?"animate-spin":""}`}),"Refresh"]})})]})}export{Qe as default};
|
|
1
|
+
import{j as e}from"./radix-ui-DKgfU5rd.js";import{r as d}from"./react-vendor-CNOkPC89.js";import{b1 as ye,b2 as je,ae as L,I as T,X as ve,Y as Ne,Z as ke,_ as Ce,$ as z,b as Q,b3 as Pe,b4 as Se,b5 as we,a_ as O,b0 as U,m as Ie}from"./index-8n-yIlea.js";import{S as _}from"./switch-B2ALi24E.js";import{C as D}from"./default-ports-1QQSffYX.js";import{aC as ee,R as V,e as Ee,q as te,W as Te,a1 as Le,aD as Ae,aE as _e,T as X,aF as De}from"./icons-DGASzt3M.js";import{P as Re}from"./proxy-status-widget-C0G0aOCW.js";import{t as Z}from"./notifications-B2HqRBj7.js";import"./tanstack-5ndrQy-j.js";import"./utils-CzKF5WmX.js";import"./form-utils-C-pVd1--.js";import"./code-highlight-BRUf_pqB.js";import"./alert-dialog-YcmZPFim.js";function Be(){const{state:t}=ye(),s=je(),[n,m]=d.useState(null),[h,b]=d.useState(null),[g,u]=d.useState(null),[v,N]=d.useState(null),[f,k]=d.useState(null),C=d.useCallback(async()=>{try{s.setProxyLoading(!0),s.setProxyError(null);const l=await L.cliproxyServer.get();s.setProxyConfig(l)}catch(l){s.setProxyError(l.message)}finally{s.setProxyLoading(!1)}},[s]),P=d.useCallback(async l=>{const i=t.proxyConfig;if(!i)return;const p={remote:{...i.remote,...l.remote},fallback:{...i.fallback,...l.fallback},local:{...i.local,...l.local}};s.setProxyConfig(p),s.setProxyTestResult(null);try{s.setProxySaving(!0),s.setProxyError(null);const a=await L.cliproxyServer.update(l);s.setProxyConfig(a),s.setProxySuccess(!0),setTimeout(()=>s.setProxySuccess(!1),1500)}catch(a){s.setProxyConfig(i),s.setProxyError(a.message)}finally{s.setProxySaving(!1)}},[t.proxyConfig,s]),S=d.useCallback(async l=>{const{host:i,port:p,protocol:a,authToken:w}=l;if(!i){s.setProxyError("Host is required");return}try{s.setProxyTesting(!0),s.setProxyError(null),s.setProxyTestResult(null);const o=p?parseInt(p,10):void 0,I=await L.cliproxyServer.test({host:i,port:o||void 0,protocol:a,authToken:w||void 0});s.setProxyTestResult(I)}catch(o){s.setProxyError(o.message)}finally{s.setProxyTesting(!1)}},[s]);return{config:t.proxyConfig,loading:t.proxyLoading,saving:t.proxySaving,error:t.proxyError,success:t.proxySuccess,testResult:t.proxyTestResult,testing:t.proxyTesting,editedHost:n,setEditedHost:m,editedPort:h,setEditedPort:b,editedAuthToken:g,setEditedAuthToken:u,editedManagementKey:v,setEditedManagementKey:N,editedLocalPort:f,setEditedLocalPort:k,fetchConfig:C,saveConfig:P,testConnection:S}}function Me({config:t,saving:s,displayLocalPort:n,setEditedLocalPort:m,onSaveLocalPort:h,onSaveConfig:b}){const g=t.local;return e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:"Local Proxy"}),e.jsxs("div",{className:"space-y-3 p-4 rounded-lg border bg-muted/30",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"Port"}),e.jsx(T,{type:"text",inputMode:"numeric",value:n,onChange:u=>m(u.target.value.replace(/\D/g,"")),onBlur:h,placeholder:`${D}`,className:"font-mono max-w-32",disabled:s})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-sm",children:"Auto-start"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Start local proxy automatically when needed"})]}),e.jsx(_,{checked:g.auto_start??!0,onCheckedChange:u=>b({local:{...g,auto_start:u}}),disabled:s})]})]})]})}function Ke({config:t,saving:s,testing:n,testResult:m,displayHost:h,displayPort:b,displayAuthToken:g,displayManagementKey:u,setEditedHost:v,setEditedPort:N,setEditedAuthToken:f,setEditedManagementKey:k,onSaveHost:C,onSavePort:P,onSaveAuthToken:S,onSaveManagementKey:l,onSaveConfig:i,onTestConnection:p}){const a=t.remote,w=o=>o==="https"?443:D;return e.jsxs("div",{className:"space-y-4 p-4 rounded-lg border bg-muted/30",children:[e.jsxs("h4",{className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(ee,{className:"w-4 h-4"}),"Remote Server Configuration"]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"Host"}),e.jsx(T,{value:h,onChange:o=>v(o.target.value),onBlur:C,placeholder:"192.168.1.100 or proxy.example.com",className:"font-mono",disabled:s})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("label",{className:"text-sm text-muted-foreground",children:["Port"," ",e.jsxs("span",{className:"text-xs opacity-70",children:["(default: ",w(t.remote.protocol||"http"),")"]})]}),e.jsx(T,{type:"text",inputMode:"numeric",value:b,onChange:o=>N(o.target.value.replace(/\D/g,"")),onBlur:P,placeholder:`Leave empty for ${w(t.remote.protocol||"http")}`,className:"font-mono",disabled:s})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"Protocol"}),e.jsxs(ve,{value:t.remote.protocol||"http",onValueChange:o=>i({remote:{...a,protocol:o}}),disabled:s,children:[e.jsx(Ne,{children:e.jsx(ke,{})}),e.jsxs(Ce,{children:[e.jsx(z,{value:"http",children:"HTTP"}),e.jsx(z,{value:"https",children:"HTTPS"})]})]})]})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"API Key (optional)"}),e.jsx(T,{type:"password",value:g,onChange:o=>f(o.target.value),onBlur:S,placeholder:"For /v1/* API endpoints",className:"font-mono",disabled:s}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Used for API requests to /v1/chat/completions"})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"Management Key (optional)"}),e.jsx(T,{type:"password",value:u,onChange:o=>k(o.target.value),onBlur:l,placeholder:"For /v0/management/* endpoints",className:"font-mono",disabled:s}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Used for dashboard management APIs. Falls back to API Key if not set."})]}),e.jsxs("div",{className:"space-y-3 pt-2",children:[e.jsx(Q,{onClick:p,disabled:n||!h,variant:"outline",className:"w-full",children:n?e.jsxs(e.Fragment,{children:[e.jsx(V,{className:"w-4 h-4 mr-2 animate-spin"}),"Testing..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Ee,{className:"w-4 h-4 mr-2"}),"Test Connection"]})}),m&&e.jsx("div",{className:`p-3 rounded-md ${m.reachable?"bg-green-50 border border-green-200 dark:bg-green-900/20 dark:border-green-900/50":"bg-red-50 border border-red-200 dark:bg-red-900/20 dark:border-red-900/50"}`,children:e.jsx("div",{className:"flex items-center gap-2",children:m.reachable?e.jsxs(e.Fragment,{children:[e.jsx(te,{className:"w-4 h-4 text-green-600 dark:text-green-400"}),e.jsxs("span",{className:"text-sm font-medium text-green-700 dark:text-green-300",children:["Connected (",m.latencyMs,"ms)"]})]}):e.jsxs(e.Fragment,{children:[e.jsx(Te,{className:"w-4 h-4 text-red-600 dark:text-red-400"}),e.jsx("span",{className:"text-sm font-medium text-red-700 dark:text-red-300",children:m.error||"Connection failed"})]})})})]})]})}const J="ccs_debug_mode",Fe=["kiro","ghcp"];function Qe(){const{config:t,loading:s,saving:n,error:m,success:h,testResult:b,testing:g,editedHost:u,setEditedHost:v,editedPort:N,setEditedPort:f,editedAuthToken:k,setEditedAuthToken:C,editedManagementKey:P,setEditedManagementKey:S,editedLocalPort:l,setEditedLocalPort:i,fetchConfig:p,saveConfig:a,testConnection:w}=Be(),{fetchRawConfig:o}=Pe(),[I,se]=d.useState(()=>{try{return localStorage.getItem(J)==="true"}catch{return!1}}),re=r=>{se(r);try{localStorage.setItem(J,String(r))}catch{}},[y,R]=d.useState("plus"),[ae,oe]=d.useState(!1),B=Se(),{data:ne}=we(),G=ne?.running??!1,M=d.useCallback(async()=>{try{const r=await L.cliproxyServer.getBackend();R(r.backend)}catch(r){console.error("[Proxy] Failed to fetch backend:",r)}},[]),K=d.useCallback(async()=>{try{const c=(await L.cliproxy.list()).variants.some(be=>Fe.includes(be.provider));oe(c)}catch(r){console.error("[Proxy] Failed to check variants:",r)}},[]),W=r=>{const c=y;R(r),B.mutate({backend:r},{onError:()=>{R(c)}})};if(d.useEffect(()=>{if(I&&t){const r={...t,remote:{...t.remote,auth_token:t.remote.auth_token?"[REDACTED]":void 0,management_key:t.remote.management_key?"[REDACTED]":void 0}};console.log("[CCS Debug] Debug mode enabled - proxy config:",r)}},[I,t]),d.useEffect(()=>{p(),o(),M(),K()},[p,o,M,K]),s||!t)return e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground",children:[e.jsx(V,{className:"w-5 h-5 animate-spin"}),e.jsx("span",{children:"Loading..."})]})});const x=t.remote.enabled??!1,A=!x&&G,j=t.remote,E=t.fallback,le=t.remote.host??"",ce=t.remote.port!==void 0?t.remote.port.toString():"",de=t.remote.auth_token??"",ie=t.remote.management_key??"",me=(t.local.port??D).toString(),F=u??le,$=N??ce,H=k??de,Y=P??ie,q=l??me,xe=()=>{const r=u??F;r!==t.remote.host&&a({remote:{...j,host:r}}),v(null)},ue=()=>{const r=(N??$).trim();if(r===""){t.remote.port!==void 0&&a({remote:{...j,port:void 0}}),f(null);return}const c=Number(r);if(!Number.isInteger(c)||c<1||c>65535){Z.error("Port must be an integer between 1 and 65535, or empty for default"),f(null);return}c!==t.remote.port&&a({remote:{...j,port:c}}),f(null)},pe=()=>{const r=k??H;r!==t.remote.auth_token&&a({remote:{...j,auth_token:r}}),C(null)},he=()=>{const r=P??Y;r!==t.remote.management_key&&a({remote:{...j,management_key:r||void 0}}),S(null)},ge=()=>{const r=(l??q).trim(),c=r===""?D:Number(r);if(!Number.isInteger(c)||c<1||c>65535){Z.error("Local port must be an integer between 1 and 65535"),i(null);return}c!==t.local.port&&a({local:{...t.local,port:c}}),i(null)},fe=()=>{w({host:F,port:$,protocol:t.remote.protocol||"http",authToken:H})};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`absolute left-5 right-5 top-20 z-10 transition-all duration-200 ease-out ${m||h?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[m&&e.jsxs(O,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx(Le,{className:"h-4 w-4"}),e.jsx(U,{children:m})]}),h&&e.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-md border border-green-200 bg-green-50 text-green-700 shadow-lg dark:border-green-900/50 dark:bg-green-900/90 dark:text-green-300",children:[e.jsx(te,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:"Saved"})]})]}),e.jsx(Ie,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-6",children:[e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Configure local or remote ",y==="plus"?"CLIProxy Plus":"CLIProxy"," connection for proxy-based profiles"]}),!x&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:"Instance Status"}),e.jsx(Re,{})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:"Connection Mode"}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("button",{onClick:()=>a({remote:{...j,enabled:!1}}),disabled:n,className:`p-4 rounded-lg border-2 text-left transition-all ${x?"border-border hover:border-muted-foreground/50":"border-primary bg-primary/5"}`,children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx(Ae,{className:`w-5 h-5 ${x?"text-muted-foreground":"text-primary"}`}),e.jsx("span",{className:"font-medium",children:"Local"})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Run ",y==="plus"?"CLIProxy Plus":"CLIProxy"," binary on this machine"]})]}),e.jsxs("button",{onClick:()=>a({remote:{...j,enabled:!0}}),disabled:n,className:`p-4 rounded-lg border-2 text-left transition-all ${x?"border-primary bg-primary/5":"border-border hover:border-muted-foreground/50"}`,children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx(ee,{className:`w-5 h-5 ${x?"text-primary":"text-muted-foreground"}`}),e.jsx("span",{className:"font-medium",children:"Remote"})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Connect to a remote ",y==="plus"?"CLIProxy Plus":"CLIProxy"," server"]})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("h3",{className:"text-base font-medium flex items-center gap-2",children:[e.jsx(_e,{className:"w-4 h-4"}),"Backend Binary"]}),!x&&G&&e.jsxs(O,{className:"py-2 border-amber-200 bg-amber-50 dark:border-amber-900/50 dark:bg-amber-900/20 [&>svg]:top-2.5",children:[e.jsx(X,{className:"h-4 w-4 text-amber-600"}),e.jsx(U,{className:"text-amber-700 dark:text-amber-400",children:"Stop the running proxy in Instance Status to switch backend."})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("button",{onClick:()=>W("plus"),disabled:B.isPending||A,className:`p-4 rounded-lg border-2 text-left transition-all ${y==="plus"?"border-primary bg-primary/5":"border-border hover:border-muted-foreground/50"} ${A?"opacity-60 cursor-not-allowed":""}`,children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx("span",{className:"font-medium",children:"CLIProxyAPIPlus"}),e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-400",children:"Default"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Full provider support including Kiro and GitHub Copilot"})]}),e.jsxs("button",{onClick:()=>W("original"),disabled:B.isPending||A,className:`p-4 rounded-lg border-2 text-left transition-all ${y==="original"?"border-primary bg-primary/5":"border-border hover:border-muted-foreground/50"} ${A?"opacity-60 cursor-not-allowed":""}`,children:[e.jsx("div",{className:"flex items-center gap-3 mb-2",children:e.jsx("span",{className:"font-medium",children:"CLIProxyAPI"})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Original binary (Gemini, Codex, Antigravity only)"})]})]}),y==="original"&&ae&&e.jsxs(O,{variant:"destructive",className:"py-2",children:[e.jsx(X,{className:"h-4 w-4"}),e.jsx(U,{children:"Existing Kiro/Copilot variants will not work with CLIProxyAPI. Switch to CLIProxyAPIPlus or remove those variants."})]})]}),x&&e.jsx(Ke,{config:t,saving:n,testing:g,testResult:b,displayHost:F,displayPort:$,displayAuthToken:H,displayManagementKey:Y,setEditedHost:v,setEditedPort:f,setEditedAuthToken:C,setEditedManagementKey:S,onSaveHost:xe,onSavePort:ue,onSaveAuthToken:pe,onSaveManagementKey:he,onSaveConfig:a,onTestConnection:fe}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:"Fallback Settings"}),e.jsxs("div",{className:"space-y-3 p-4 rounded-lg border bg-muted/30",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-sm",children:"Enable fallback to local"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Use local proxy if remote is unreachable"})]}),e.jsx(_,{checked:E.enabled??!0,onCheckedChange:r=>a({fallback:{...E,enabled:r}}),disabled:n||!x})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-sm",children:"Auto-start local proxy"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Automatically start local proxy on fallback"})]}),e.jsx(_,{checked:E.auto_start??!1,onCheckedChange:r=>a({fallback:{...E,auto_start:r}}),disabled:n||!x||!E.enabled})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("h3",{className:"text-base font-medium flex items-center gap-2",children:[e.jsx(De,{className:"w-4 h-4"}),"Advanced"]}),e.jsxs("div",{className:"space-y-3 p-4 rounded-lg border bg-muted/30",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-sm",children:"Debug Mode"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Enable developer diagnostics in browser console"})]}),e.jsx(_,{checked:I,onCheckedChange:re,disabled:n})]}),I&&e.jsx("p",{className:"text-xs text-amber-600 dark:text-amber-400 pl-0.5",children:"Debug mode enabled. Check browser console for detailed logs."})]})]}),!x&&e.jsx(Me,{config:t,saving:n,displayLocalPort:q,setEditedLocalPort:i,onSaveLocalPort:ge,onSaveConfig:a})]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsxs(Q,{variant:"outline",size:"sm",onClick:()=>{p(),o(),M(),K()},disabled:s||n,className:"w-full",children:[e.jsx(V,{className:`w-4 h-4 mr-2 ${s?"animate-spin":""}`}),"Refresh"]})})]})}export{Qe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./radix-ui-DKgfU5rd.js";import{r as i}from"./react-vendor-CNOkPC89.js";import{b1 as P,b2 as $,I as F,b3 as U,a_ as _,b0 as B,m as z,b as O}from"./index-iFDDSmnp.js";import{S as K}from"./switch-fbWM-cTI.js";import{y as q,j as Y,V as D,Y as V,m as J,R as y,a1 as X,q as Z,aB as Q}from"./icons-DGASzt3M.js";import"./tanstack-5ndrQy-j.js";import"./notifications-B2HqRBj7.js";import"./utils-CzKF5WmX.js";import"./form-utils-C-pVd1--.js";import"./code-highlight-BRUf_pqB.js";function ee(){const{state:s}=P(),a=$(),[d,l]=i.useState(""),[o,m]=i.useState(""),[f,h]=i.useState(!1),[j,u]=i.useState(!1),S=i.useCallback(async()=>{try{a.setWebSearchLoading(!0),a.setWebSearchError(null);const t=await fetch("/api/websearch");if(!t.ok)throw new Error("Failed to load WebSearch config");const r=await t.json();a.setWebSearchConfig(r)}catch(t){a.setWebSearchError(t.message)}finally{a.setWebSearchLoading(!1)}},[a]),v=i.useCallback(async()=>{try{a.setWebSearchStatusLoading(!0);const t=await fetch("/api/websearch/status");if(!t.ok)throw new Error("Failed to load status");const r=await t.json();a.setWebSearchStatus(r)}catch{}finally{a.setWebSearchStatusLoading(!1)}},[a]),g=i.useCallback(async t=>{const r=s.webSearchConfig;if(!r)return;const w={...r,...t};a.setWebSearchConfig(w);try{a.setWebSearchSaving(!0),a.setWebSearchError(null);const n=await fetch("/api/websearch",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(w)});if(!n.ok){const k=await n.json();throw new Error(k.error||"Failed to save")}const C=await n.json();a.setWebSearchConfig(C.websearch),a.setWebSearchSuccess(!0),setTimeout(()=>a.setWebSearchSuccess(!1),1500)}catch(n){a.setWebSearchConfig(r),a.setWebSearchError(n.message)}finally{a.setWebSearchSaving(!1)}},[s.webSearchConfig,a]);i.useEffect(()=>{s.webSearchConfig&&(l(s.webSearchConfig.providers?.gemini?.model??"gemini-2.5-flash"),m(s.webSearchConfig.providers?.opencode?.model??"opencode/grok-code"))},[s.webSearchConfig]);const x=i.useCallback(async()=>{const t=s.webSearchConfig?.providers?.gemini?.model??"gemini-2.5-flash";if(d!==t){const r=s.webSearchConfig?.providers||{};await g({providers:{...r,gemini:{...r.gemini,model:d}}}),h(!0),setTimeout(()=>h(!1),2e3)}},[d,s.webSearchConfig,g]),p=i.useCallback(async()=>{const t=s.webSearchConfig?.providers?.opencode?.model??"opencode/grok-code";if(o!==t){const r=s.webSearchConfig?.providers||{};await g({providers:{...r,opencode:{...r.opencode,model:o}}}),u(!0),setTimeout(()=>u(!1),2e3)}},[o,s.webSearchConfig,g]);return{config:s.webSearchConfig,status:s.webSearchStatus,loading:s.webSearchLoading,statusLoading:s.webSearchStatusLoading,saving:s.webSearchSaving,error:s.webSearchError,success:s.webSearchSuccess,geminiModelInput:d,setGeminiModelInput:l,opencodeModelInput:o,setOpencodeModelInput:m,geminiModelSaved:f,opencodeModelSaved:j,fetchConfig:S,fetchStatus:v,saveConfig:g,saveGeminiModel:x,saveOpencodeModel:p}}function A({name:s,label:a,badge:d,badgeColor:l,enabled:o,installed:m,statusLoading:f,saving:h,onToggle:j,modelInput:u,setModelInput:S,onModelBlur:v,modelSaved:g,modelPlaceholder:x,showHint:p,setShowHint:t,installCmd:r,docsUrl:w,hintColor:n}){const C=l==="green"?"bg-green-500/10 text-green-600":l==="blue"?"bg-blue-500/10 text-blue-600":"bg-purple-500/10 text-purple-600",k=n==="amber"?"bg-amber-50 dark:bg-amber-900/20 text-amber-700 dark:text-amber-300":n==="blue"?"bg-blue-50 dark:bg-blue-900/20 text-blue-700 dark:text-blue-300":"bg-purple-50 dark:bg-purple-900/20 text-purple-700 dark:text-purple-300",E=n==="amber"?"bg-amber-100 dark:bg-amber-900/40":n==="blue"?"bg-blue-100 dark:bg-blue-900/40":"bg-purple-100 dark:bg-purple-900/40",I=n==="amber"?"text-amber-600 dark:text-amber-400":n==="blue"?"text-blue-600 dark:text-blue-400":"text-purple-600 dark:text-purple-400",M=s==="opencode"?"OpenCode":s.charAt(0).toUpperCase()+s.slice(1);return e.jsxs("div",{className:`rounded-lg border transition-colors ${o?"border-primary border-l-4":"border-border"}`,children:[e.jsxs("div",{className:"flex items-center justify-between p-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(q,{className:`w-5 h-5 ${o?"text-primary":"text-muted-foreground"}`}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("p",{className:"font-mono font-medium",children:s}),e.jsx("span",{className:`text-xs px-1.5 py-0.5 rounded font-medium ${C}`,children:d}),m?e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-green-500/10 text-green-600 font-medium",children:"installed"}):e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-amber-500/10 text-amber-600 font-medium",children:"not installed"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a})]})]}),e.jsx(K,{checked:o,onCheckedChange:j,disabled:h||!m})]}),o&&u!==void 0&&S&&v&&e.jsx("div",{className:"px-4 pb-4 pt-0",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("label",{className:"text-sm text-muted-foreground whitespace-nowrap",children:"Model:"}),e.jsx(F,{value:u,onChange:W=>S(W.target.value),onBlur:v,placeholder:x,className:"h-8 text-sm font-mono",disabled:h}),g&&e.jsxs("span",{className:"flex items-center gap-1 text-green-600 dark:text-green-400 text-xs animate-in fade-in duration-200",children:[e.jsx(Y,{className:"w-3.5 h-3.5"}),"Saved"]})]})}),!m&&!f&&e.jsxs("div",{className:"px-4 pb-4 pt-0 border-t border-border/50",children:[e.jsxs("button",{onClick:()=>t(!p),className:`flex items-center gap-2 text-sm hover:underline w-full py-2 ${I}`,children:[p?e.jsx(D,{className:"w-4 h-4"}):e.jsx(V,{className:"w-4 h-4"}),"How to install ",M," CLI"]}),p&&e.jsxs("div",{className:`mt-2 p-3 rounded-md text-sm ${k}`,children:[e.jsxs("p",{className:"mb-2",children:["Install globally"," ",d==="GROK_API_KEY"?"(requires xAI API key)":"(FREE tier available)",":"]}),e.jsx("code",{className:`text-sm px-2 py-1 rounded font-mono block mb-2 ${E}`,children:r}),e.jsxs("a",{href:w,target:"_blank",rel:"noopener noreferrer",className:"hover:underline inline-flex items-center gap-1",children:[e.jsx(J,{className:"w-3 h-3"}),"View documentation"]})]})]})]})}function me(){const{config:s,status:a,loading:d,statusLoading:l,saving:o,error:m,success:f,geminiModelInput:h,setGeminiModelInput:j,opencodeModelInput:u,setOpencodeModelInput:S,geminiModelSaved:v,opencodeModelSaved:g,fetchConfig:x,fetchStatus:p,saveConfig:t,saveGeminiModel:r,saveOpencodeModel:w}=ee(),{fetchRawConfig:n}=U(),[C,k]=i.useState(!1),[E,I]=i.useState(!1),[M,W]=i.useState(!1);i.useEffect(()=>{x(),p(),n()},[x,p,n]);const N=s?.providers?.gemini?.enabled??!1,G=s?.providers?.grok?.enabled??!1,L=s?.providers?.opencode?.enabled??!1,H=()=>{const c=s?.providers||{},b=c.gemini?.enabled??!1;t({enabled:!b||G||L,providers:{...c,gemini:{...c.gemini,enabled:!b}}})},R=()=>{const c=s?.providers||{},b=c.grok?.enabled??!1;t({enabled:N||!b||L,providers:{...c,grok:{...c.grok,enabled:!b}}})},T=()=>{const c=s?.providers||{},b=c.opencode?.enabled??!1;t({enabled:N||G||!b,providers:{...c,opencode:{...c.opencode,enabled:!b}}})};return d?e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground",children:[e.jsx(y,{className:"w-5 h-5 animate-spin"}),e.jsx("span",{children:"Loading..."})]})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`absolute left-5 right-5 top-20 z-10 transition-all duration-200 ease-out ${m||f?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[m&&e.jsxs(_,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx(X,{className:"h-4 w-4"}),e.jsx(B,{children:m})]}),f&&e.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-md border border-green-200 bg-green-50 text-green-700 shadow-lg dark:border-green-900/50 dark:bg-green-900/90 dark:text-green-300",children:[e.jsx(Z,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:"Saved"})]})]}),e.jsx(z,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-6",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"CLI-based web search for third-party profiles (gemini, codex, agy, etc.)"}),e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-lg bg-muted/50",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:N?"WebSearch enabled":"WebSearch disabled"}),l?e.jsx("p",{className:"text-sm text-muted-foreground",children:"Checking status..."}):a?.readiness?e.jsx("p",{className:"text-sm text-muted-foreground",children:a.readiness.message}):null]}),e.jsx(O,{variant:"ghost",size:"sm",onClick:p,disabled:l,children:e.jsx(y,{className:`w-4 h-4 ${l?"animate-spin":""}`})})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:"Providers"}),!a?.geminiCli&&!a?.opencodeCli&&!a?.grokCli&&!l&&e.jsxs("div",{className:"flex flex-col items-center justify-center p-8 border-2 border-dashed rounded-lg text-center bg-muted/30",children:[e.jsx(Q,{className:"w-12 h-12 text-muted-foreground mb-3 opacity-30"}),e.jsx("p",{className:"font-medium text-foreground mb-1",children:"No providers configured"}),e.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Install CLI tools to enable web search providers"}),e.jsxs(O,{variant:"outline",size:"sm",onClick:p,children:[e.jsx(y,{className:"w-4 h-4 mr-2"}),"Check for providers"]})]}),e.jsx(A,{name:"gemini",label:"Google Gemini CLI (1000 req/day free)",badge:"FREE",badgeColor:"green",enabled:N,installed:a?.geminiCli?.installed??!1,statusLoading:l,saving:o,onToggle:H,modelInput:h,setModelInput:j,onModelBlur:r,modelSaved:v,modelPlaceholder:"gemini-2.5-flash",showHint:C,setShowHint:k,installCmd:"npm install -g @google/gemini-cli",docsUrl:"https://github.com/google-gemini/gemini-cli",hintColor:"amber"}),e.jsx(A,{name:"opencode",label:"OpenCode (web search via Zen)",badge:"FREE",badgeColor:"green",enabled:L,installed:a?.opencodeCli?.installed??!1,statusLoading:l,saving:o,onToggle:T,modelInput:u,setModelInput:S,onModelBlur:w,modelSaved:g,modelPlaceholder:"opencode/grok-code",showHint:E,setShowHint:I,installCmd:"curl -fsSL https://opencode.ai/install | bash",docsUrl:"https://github.com/sst/opencode",hintColor:"purple"}),e.jsx(A,{name:"grok",label:"xAI Grok CLI (web + X search)",badge:"GROK_API_KEY",badgeColor:"blue",enabled:G,installed:a?.grokCli?.installed??!1,statusLoading:l,saving:o,onToggle:R,showHint:M,setShowHint:W,installCmd:"npm install -g @vibe-kit/grok-cli",docsUrl:"https://github.com/superagent-ai/grok-cli",hintColor:"blue"})]})]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsxs(O,{variant:"outline",size:"sm",onClick:()=>{x(),n()},disabled:d||o,className:"w-full",children:[e.jsx(y,{className:`w-4 h-4 mr-2 ${d?"animate-spin":""}`}),"Refresh"]})})]})}export{me as default};
|
|
1
|
+
import{j as e}from"./radix-ui-DKgfU5rd.js";import{r as i}from"./react-vendor-CNOkPC89.js";import{b1 as P,b2 as $,I as F,b3 as U,a_ as _,b0 as B,m as z,b as O}from"./index-8n-yIlea.js";import{S as K}from"./switch-B2ALi24E.js";import{y as q,j as Y,V as D,Y as V,m as J,R as y,a1 as X,q as Z,aB as Q}from"./icons-DGASzt3M.js";import"./tanstack-5ndrQy-j.js";import"./notifications-B2HqRBj7.js";import"./utils-CzKF5WmX.js";import"./form-utils-C-pVd1--.js";import"./code-highlight-BRUf_pqB.js";function ee(){const{state:s}=P(),a=$(),[d,l]=i.useState(""),[o,m]=i.useState(""),[f,h]=i.useState(!1),[j,u]=i.useState(!1),S=i.useCallback(async()=>{try{a.setWebSearchLoading(!0),a.setWebSearchError(null);const t=await fetch("/api/websearch");if(!t.ok)throw new Error("Failed to load WebSearch config");const r=await t.json();a.setWebSearchConfig(r)}catch(t){a.setWebSearchError(t.message)}finally{a.setWebSearchLoading(!1)}},[a]),v=i.useCallback(async()=>{try{a.setWebSearchStatusLoading(!0);const t=await fetch("/api/websearch/status");if(!t.ok)throw new Error("Failed to load status");const r=await t.json();a.setWebSearchStatus(r)}catch{}finally{a.setWebSearchStatusLoading(!1)}},[a]),g=i.useCallback(async t=>{const r=s.webSearchConfig;if(!r)return;const w={...r,...t};a.setWebSearchConfig(w);try{a.setWebSearchSaving(!0),a.setWebSearchError(null);const n=await fetch("/api/websearch",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(w)});if(!n.ok){const k=await n.json();throw new Error(k.error||"Failed to save")}const C=await n.json();a.setWebSearchConfig(C.websearch),a.setWebSearchSuccess(!0),setTimeout(()=>a.setWebSearchSuccess(!1),1500)}catch(n){a.setWebSearchConfig(r),a.setWebSearchError(n.message)}finally{a.setWebSearchSaving(!1)}},[s.webSearchConfig,a]);i.useEffect(()=>{s.webSearchConfig&&(l(s.webSearchConfig.providers?.gemini?.model??"gemini-2.5-flash"),m(s.webSearchConfig.providers?.opencode?.model??"opencode/grok-code"))},[s.webSearchConfig]);const x=i.useCallback(async()=>{const t=s.webSearchConfig?.providers?.gemini?.model??"gemini-2.5-flash";if(d!==t){const r=s.webSearchConfig?.providers||{};await g({providers:{...r,gemini:{...r.gemini,model:d}}}),h(!0),setTimeout(()=>h(!1),2e3)}},[d,s.webSearchConfig,g]),p=i.useCallback(async()=>{const t=s.webSearchConfig?.providers?.opencode?.model??"opencode/grok-code";if(o!==t){const r=s.webSearchConfig?.providers||{};await g({providers:{...r,opencode:{...r.opencode,model:o}}}),u(!0),setTimeout(()=>u(!1),2e3)}},[o,s.webSearchConfig,g]);return{config:s.webSearchConfig,status:s.webSearchStatus,loading:s.webSearchLoading,statusLoading:s.webSearchStatusLoading,saving:s.webSearchSaving,error:s.webSearchError,success:s.webSearchSuccess,geminiModelInput:d,setGeminiModelInput:l,opencodeModelInput:o,setOpencodeModelInput:m,geminiModelSaved:f,opencodeModelSaved:j,fetchConfig:S,fetchStatus:v,saveConfig:g,saveGeminiModel:x,saveOpencodeModel:p}}function A({name:s,label:a,badge:d,badgeColor:l,enabled:o,installed:m,statusLoading:f,saving:h,onToggle:j,modelInput:u,setModelInput:S,onModelBlur:v,modelSaved:g,modelPlaceholder:x,showHint:p,setShowHint:t,installCmd:r,docsUrl:w,hintColor:n}){const C=l==="green"?"bg-green-500/10 text-green-600":l==="blue"?"bg-blue-500/10 text-blue-600":"bg-purple-500/10 text-purple-600",k=n==="amber"?"bg-amber-50 dark:bg-amber-900/20 text-amber-700 dark:text-amber-300":n==="blue"?"bg-blue-50 dark:bg-blue-900/20 text-blue-700 dark:text-blue-300":"bg-purple-50 dark:bg-purple-900/20 text-purple-700 dark:text-purple-300",E=n==="amber"?"bg-amber-100 dark:bg-amber-900/40":n==="blue"?"bg-blue-100 dark:bg-blue-900/40":"bg-purple-100 dark:bg-purple-900/40",I=n==="amber"?"text-amber-600 dark:text-amber-400":n==="blue"?"text-blue-600 dark:text-blue-400":"text-purple-600 dark:text-purple-400",M=s==="opencode"?"OpenCode":s.charAt(0).toUpperCase()+s.slice(1);return e.jsxs("div",{className:`rounded-lg border transition-colors ${o?"border-primary border-l-4":"border-border"}`,children:[e.jsxs("div",{className:"flex items-center justify-between p-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(q,{className:`w-5 h-5 ${o?"text-primary":"text-muted-foreground"}`}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("p",{className:"font-mono font-medium",children:s}),e.jsx("span",{className:`text-xs px-1.5 py-0.5 rounded font-medium ${C}`,children:d}),m?e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-green-500/10 text-green-600 font-medium",children:"installed"}):e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-amber-500/10 text-amber-600 font-medium",children:"not installed"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a})]})]}),e.jsx(K,{checked:o,onCheckedChange:j,disabled:h||!m})]}),o&&u!==void 0&&S&&v&&e.jsx("div",{className:"px-4 pb-4 pt-0",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("label",{className:"text-sm text-muted-foreground whitespace-nowrap",children:"Model:"}),e.jsx(F,{value:u,onChange:W=>S(W.target.value),onBlur:v,placeholder:x,className:"h-8 text-sm font-mono",disabled:h}),g&&e.jsxs("span",{className:"flex items-center gap-1 text-green-600 dark:text-green-400 text-xs animate-in fade-in duration-200",children:[e.jsx(Y,{className:"w-3.5 h-3.5"}),"Saved"]})]})}),!m&&!f&&e.jsxs("div",{className:"px-4 pb-4 pt-0 border-t border-border/50",children:[e.jsxs("button",{onClick:()=>t(!p),className:`flex items-center gap-2 text-sm hover:underline w-full py-2 ${I}`,children:[p?e.jsx(D,{className:"w-4 h-4"}):e.jsx(V,{className:"w-4 h-4"}),"How to install ",M," CLI"]}),p&&e.jsxs("div",{className:`mt-2 p-3 rounded-md text-sm ${k}`,children:[e.jsxs("p",{className:"mb-2",children:["Install globally"," ",d==="GROK_API_KEY"?"(requires xAI API key)":"(FREE tier available)",":"]}),e.jsx("code",{className:`text-sm px-2 py-1 rounded font-mono block mb-2 ${E}`,children:r}),e.jsxs("a",{href:w,target:"_blank",rel:"noopener noreferrer",className:"hover:underline inline-flex items-center gap-1",children:[e.jsx(J,{className:"w-3 h-3"}),"View documentation"]})]})]})]})}function me(){const{config:s,status:a,loading:d,statusLoading:l,saving:o,error:m,success:f,geminiModelInput:h,setGeminiModelInput:j,opencodeModelInput:u,setOpencodeModelInput:S,geminiModelSaved:v,opencodeModelSaved:g,fetchConfig:x,fetchStatus:p,saveConfig:t,saveGeminiModel:r,saveOpencodeModel:w}=ee(),{fetchRawConfig:n}=U(),[C,k]=i.useState(!1),[E,I]=i.useState(!1),[M,W]=i.useState(!1);i.useEffect(()=>{x(),p(),n()},[x,p,n]);const N=s?.providers?.gemini?.enabled??!1,G=s?.providers?.grok?.enabled??!1,L=s?.providers?.opencode?.enabled??!1,H=()=>{const c=s?.providers||{},b=c.gemini?.enabled??!1;t({enabled:!b||G||L,providers:{...c,gemini:{...c.gemini,enabled:!b}}})},R=()=>{const c=s?.providers||{},b=c.grok?.enabled??!1;t({enabled:N||!b||L,providers:{...c,grok:{...c.grok,enabled:!b}}})},T=()=>{const c=s?.providers||{},b=c.opencode?.enabled??!1;t({enabled:N||G||!b,providers:{...c,opencode:{...c.opencode,enabled:!b}}})};return d?e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground",children:[e.jsx(y,{className:"w-5 h-5 animate-spin"}),e.jsx("span",{children:"Loading..."})]})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`absolute left-5 right-5 top-20 z-10 transition-all duration-200 ease-out ${m||f?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[m&&e.jsxs(_,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx(X,{className:"h-4 w-4"}),e.jsx(B,{children:m})]}),f&&e.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-md border border-green-200 bg-green-50 text-green-700 shadow-lg dark:border-green-900/50 dark:bg-green-900/90 dark:text-green-300",children:[e.jsx(Z,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:"Saved"})]})]}),e.jsx(z,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-6",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"CLI-based web search for third-party profiles (gemini, codex, agy, etc.)"}),e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-lg bg-muted/50",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:N?"WebSearch enabled":"WebSearch disabled"}),l?e.jsx("p",{className:"text-sm text-muted-foreground",children:"Checking status..."}):a?.readiness?e.jsx("p",{className:"text-sm text-muted-foreground",children:a.readiness.message}):null]}),e.jsx(O,{variant:"ghost",size:"sm",onClick:p,disabled:l,children:e.jsx(y,{className:`w-4 h-4 ${l?"animate-spin":""}`})})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:"Providers"}),!a?.geminiCli&&!a?.opencodeCli&&!a?.grokCli&&!l&&e.jsxs("div",{className:"flex flex-col items-center justify-center p-8 border-2 border-dashed rounded-lg text-center bg-muted/30",children:[e.jsx(Q,{className:"w-12 h-12 text-muted-foreground mb-3 opacity-30"}),e.jsx("p",{className:"font-medium text-foreground mb-1",children:"No providers configured"}),e.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Install CLI tools to enable web search providers"}),e.jsxs(O,{variant:"outline",size:"sm",onClick:p,children:[e.jsx(y,{className:"w-4 h-4 mr-2"}),"Check for providers"]})]}),e.jsx(A,{name:"gemini",label:"Google Gemini CLI (1000 req/day free)",badge:"FREE",badgeColor:"green",enabled:N,installed:a?.geminiCli?.installed??!1,statusLoading:l,saving:o,onToggle:H,modelInput:h,setModelInput:j,onModelBlur:r,modelSaved:v,modelPlaceholder:"gemini-2.5-flash",showHint:C,setShowHint:k,installCmd:"npm install -g @google/gemini-cli",docsUrl:"https://github.com/google-gemini/gemini-cli",hintColor:"amber"}),e.jsx(A,{name:"opencode",label:"OpenCode (web search via Zen)",badge:"FREE",badgeColor:"green",enabled:L,installed:a?.opencodeCli?.installed??!1,statusLoading:l,saving:o,onToggle:T,modelInput:u,setModelInput:S,onModelBlur:w,modelSaved:g,modelPlaceholder:"opencode/grok-code",showHint:E,setShowHint:I,installCmd:"curl -fsSL https://opencode.ai/install | bash",docsUrl:"https://github.com/sst/opencode",hintColor:"purple"}),e.jsx(A,{name:"grok",label:"xAI Grok CLI (web + X search)",badge:"GROK_API_KEY",badgeColor:"blue",enabled:G,installed:a?.grokCli?.installed??!1,statusLoading:l,saving:o,onToggle:R,showHint:M,setShowHint:W,installCmd:"npm install -g @vibe-kit/grok-cli",docsUrl:"https://github.com/superagent-ai/grok-cli",hintColor:"blue"})]})]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsxs(O,{variant:"outline",size:"sm",onClick:()=>{x(),n()},disabled:d||o,className:"w-full",children:[e.jsx(y,{className:`w-4 h-4 mr-2 ${d?"animate-spin":""}`}),"Refresh"]})})]})}export{me as default};
|