db-studio 1.2.25 → 1.3.26
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/README.md +24 -0
- package/dist/core-dist/assets/{_baseUniq-CO5fFgqV.js → _baseUniq-Dz8rR54g.js} +1 -1
- package/dist/core-dist/assets/_pathlessLayout-byu8LhC4.js +2 -0
- package/dist/core-dist/assets/_queryId-tsebZ8Os.js +1 -0
- package/dist/core-dist/assets/_table-B9YoPE4g.js +8 -0
- package/dist/core-dist/assets/{arc-B_zMY48V.js → arc-DHQDyHbC.js} +1 -1
- package/dist/core-dist/assets/{architectureDiagram-VXUJARFQ-C9lykiZH.js → architectureDiagram-VXUJARFQ-Dye73hr2.js} +1 -1
- package/dist/core-dist/assets/{blockDiagram-VD42YOAC-DhqK2eyG.js → blockDiagram-VD42YOAC-fyPw9ErW.js} +1 -1
- package/dist/core-dist/assets/{c4Diagram-YG6GDRKO-CQrcwS8f.js → c4Diagram-YG6GDRKO-WorBPjZj.js} +1 -1
- package/dist/core-dist/assets/{cdoe-editor-C6mx2_AO.js → cdoe-editor-DWalt1Bs.js} +1 -1
- package/dist/core-dist/assets/channel-DmNVQLGj.js +1 -0
- package/dist/core-dist/assets/{chunk-4BX2VUAB-CdIpYPgB.js → chunk-4BX2VUAB-BWLeAEPx.js} +1 -1
- package/dist/core-dist/assets/{chunk-55IACEB6-BDNKe4fa.js → chunk-55IACEB6-Sz82sR_e.js} +1 -1
- package/dist/core-dist/assets/{chunk-B4BG7PRW-ZA-ck0YQ.js → chunk-B4BG7PRW-BRJVTFXO.js} +1 -1
- package/dist/core-dist/assets/{chunk-DI55MBZ5-CnVVpZE-.js → chunk-DI55MBZ5-DrMehRNo.js} +1 -1
- package/dist/core-dist/assets/{chunk-FMBD7UC4-CwwWK8-e.js → chunk-FMBD7UC4-DjrshjUM.js} +1 -1
- package/dist/core-dist/assets/{chunk-QN33PNHL-bn39U0qP.js → chunk-QN33PNHL-e_SdNueW.js} +1 -1
- package/dist/core-dist/assets/{chunk-QZHKN3VN-D0fSZNMo.js → chunk-QZHKN3VN-BcgeawM9.js} +1 -1
- package/dist/core-dist/assets/{chunk-TZMSLE5B-BTA4ulM4.js → chunk-TZMSLE5B-WV20vlP_.js} +1 -1
- package/dist/core-dist/assets/classDiagram-2ON5EDUG-BlV3AaHC.js +1 -0
- package/dist/core-dist/assets/classDiagram-v2-WZHVMYZB-BlV3AaHC.js +1 -0
- package/dist/core-dist/assets/clone-BJueq7g1.js +1 -0
- package/dist/core-dist/assets/{code-block-IT6T5CEO-BZv7MYo8.js → code-block-IT6T5CEO-CRNu6zPZ.js} +1 -1
- package/dist/core-dist/assets/{cose-bilkent-S5V4N54A-DQ5fWUqZ.js → cose-bilkent-S5V4N54A-C6XOe5oC.js} +1 -1
- package/dist/core-dist/assets/{dagre-6UL2VRFP-C-VDHjJ-.js → dagre-6UL2VRFP-BnmgBPjC.js} +1 -1
- package/dist/core-dist/assets/{diagram-PSM6KHXK-CdPWaSoG.js → diagram-PSM6KHXK-D6r3FA0m.js} +1 -1
- package/dist/core-dist/assets/{diagram-QEK2KX5R-CI3rBq3-.js → diagram-QEK2KX5R-CXpMzjrs.js} +1 -1
- package/dist/core-dist/assets/{diagram-S2PKOQOG-DrV1l_bS.js → diagram-S2PKOQOG-BolCoLvj.js} +1 -1
- package/dist/core-dist/assets/{erDiagram-Q2GNP2WA-DtHpaqwP.js → erDiagram-Q2GNP2WA-CTifgqt1.js} +1 -1
- package/dist/core-dist/assets/{flowDiagram-NV44I4VS-CWhbqAOb.js → flowDiagram-NV44I4VS-pbbYcDQW.js} +1 -1
- package/dist/core-dist/assets/{ganttDiagram-JELNMOA3-8U2ncuQI.js → ganttDiagram-JELNMOA3-zqJ48H3I.js} +1 -1
- package/dist/core-dist/assets/{gitGraphDiagram-NY62KEGX-rJlyYpVT.js → gitGraphDiagram-NY62KEGX-DxNJIXLP.js} +1 -1
- package/dist/core-dist/assets/{graph-BhgtEUho.js → graph-CjSaMg-K.js} +1 -1
- package/dist/core-dist/assets/icons-D6TH-xEh.js +1 -0
- package/dist/core-dist/assets/index-B11inYe0.js +58 -0
- package/dist/core-dist/assets/index-B3gSG1Yj.js +1 -0
- package/dist/core-dist/assets/index-BVXRwlCM.js +1 -0
- package/dist/core-dist/assets/index-BXRBzRx2.css +1 -0
- package/dist/core-dist/assets/{index-ejQaUr38.js → index-C4O5Rsq1.js} +1 -1
- package/dist/core-dist/assets/index-DelL3Eku.js +1 -0
- package/dist/core-dist/assets/{indexes-D8Eqj5x7.js → indexes-DYSIpFSd.js} +1 -1
- package/dist/core-dist/assets/infoDiagram-WHAUD3N6-CSNF_W-p.js +2 -0
- package/dist/core-dist/assets/{journeyDiagram-XKPGCS4Q-BNSrMmr7.js → journeyDiagram-XKPGCS4Q-BtpTxM-Y.js} +1 -1
- package/dist/core-dist/assets/{kanban-definition-3W4ZIXB7-V9L96KTF.js → kanban-definition-3W4ZIXB7-oYV0rhzZ.js} +1 -1
- package/dist/core-dist/assets/{layout-DNW_OiWL.js → layout-9jAkTDVb.js} +1 -1
- package/dist/core-dist/assets/{linear-DqoQUU19.js → linear-DbUIfB88.js} +1 -1
- package/dist/core-dist/assets/logs-CmJ0Xt6u.js +1 -0
- package/dist/core-dist/assets/{mermaid-VLURNSYL-F8q0N6Y-.js → mermaid-VLURNSYL-D5uFRwCp.js} +4 -4
- package/dist/core-dist/assets/{mermaid.core-Bl5zWzZD.js → mermaid.core-CLOnqD9L.js} +5 -5
- package/dist/core-dist/assets/{min-DDiiHzkP.js → min-CCTBSAVO.js} +1 -1
- package/dist/core-dist/assets/{mindmap-definition-VGOIOE7T-_ZelwEtb.js → mindmap-definition-VGOIOE7T-CCYjDuu4.js} +1 -1
- package/dist/core-dist/assets/{pieDiagram-ADFJNKIX-DlnlOcS9.js → pieDiagram-ADFJNKIX-C7byhore.js} +1 -1
- package/dist/core-dist/assets/{quadrantDiagram-AYHSOK5B-CyVFDRyR.js → quadrantDiagram-AYHSOK5B-CuHjSh6D.js} +1 -1
- package/dist/core-dist/assets/{queries.store-KdEzteJi.js → queries.store-CNqfnc5k.js} +1 -1
- package/dist/core-dist/assets/radix-ui-Cc0cu4Uu.js +51 -0
- package/dist/core-dist/assets/{react-dom-BWKcCUTe.js → react-dom-B7--tMaV.js} +1 -1
- package/dist/core-dist/assets/{requirementDiagram-UZGBJVZJ-jRbu5Vec.js → requirementDiagram-UZGBJVZJ-DLEPg0BV.js} +1 -1
- package/dist/core-dist/assets/{runner-tab-DG4JMrIS.js → runner-tab-BZPeQIxv.js} +3 -3
- package/dist/core-dist/assets/{sankeyDiagram-TZEHDZUN-gKjFH72S.js → sankeyDiagram-TZEHDZUN-DKdNm1Qv.js} +1 -1
- package/dist/core-dist/assets/{schema-Dig80dgQ.js → schema-C6AUjLib.js} +1 -1
- package/dist/core-dist/assets/{scroll-area-BZeWiQjX.js → scroll-area-DdKnqqlw.js} +1 -1
- package/dist/core-dist/assets/{sequenceDiagram-WL72ISMW-CAvLlHWG.js → sequenceDiagram-WL72ISMW-Bbo7kvpu.js} +1 -1
- package/dist/core-dist/assets/{stateDiagram-FKZM4ZOC-pYmj6Lkv.js → stateDiagram-FKZM4ZOC-Cz5Z-x6B.js} +1 -1
- package/dist/core-dist/assets/stateDiagram-v2-4FDKWEC3-CdjqUuw7.js +1 -0
- package/dist/core-dist/assets/{tanstack-I4NcPTsd.js → tanstack-BVOBleBY.js} +2 -2
- package/dist/core-dist/assets/{timeline-definition-IT6M3QCI-D9DODJhX.js → timeline-definition-IT6M3QCI-ByEvAs-P.js} +1 -1
- package/dist/core-dist/assets/{treemap-KMMF4GRG-ClhjKA5M.js → treemap-KMMF4GRG-C1GKyhAV.js} +1 -1
- package/dist/core-dist/assets/{visualizer-CVdpIuSS.js → visualizer-CKiw4rgK.js} +1 -1
- package/dist/core-dist/assets/{xychartDiagram-PRI3JC2R-OT9Z40XT.js → xychartDiagram-PRI3JC2R-CS-C2fw-.js} +1 -1
- package/dist/core-dist/index.html +6 -6
- package/dist/index.js +96 -26
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/core-dist/assets/_pathlessLayout-C3BlW5Hc.js +0 -2
- package/dist/core-dist/assets/_queryId-iSqlGQ2Y.js +0 -1
- package/dist/core-dist/assets/_table-SO2FYYAw.js +0 -8
- package/dist/core-dist/assets/channel-4io835lz.js +0 -1
- package/dist/core-dist/assets/classDiagram-2ON5EDUG-DpPeI05m.js +0 -1
- package/dist/core-dist/assets/classDiagram-v2-WZHVMYZB-DpPeI05m.js +0 -1
- package/dist/core-dist/assets/clone-Cu5G1cWz.js +0 -1
- package/dist/core-dist/assets/icons-cLYU3CQS.js +0 -1
- package/dist/core-dist/assets/index-5l-GokF9.js +0 -1
- package/dist/core-dist/assets/index-B-czu-uB.js +0 -1
- package/dist/core-dist/assets/index-DM_G5wVs.js +0 -58
- package/dist/core-dist/assets/index-Llx5wPe1.css +0 -1
- package/dist/core-dist/assets/index-iREZCpeS.js +0 -1
- package/dist/core-dist/assets/infoDiagram-WHAUD3N6-RphuT4VC.js +0 -2
- package/dist/core-dist/assets/logs-CjN_gOvl.js +0 -1
- package/dist/core-dist/assets/radix-ui-BypjIQUF.js +0 -51
- package/dist/core-dist/assets/stateDiagram-v2-4FDKWEC3-BxqBo7RT.js +0 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{j as a,ah as Js,ai as Gs,aj as Qs,ak as Sn,al as kn,am as jn}from"./radix-ui-Cc0cu4Uu.js";import{a as W,X as rn,B as R,Y as Be,Z as xt,_ as Ke,S as de,o as ue,q as fe,r as he,s as B,C as M,$ as Nn,m as me,a0 as Xs,a1 as le,I as ae,a2 as Se,a3 as Ee,v as Ve,x as Ue,M as Dn,a4 as $e,t as De,a5 as Zs,a6 as er,a7 as rt,a8 as se,y as En,z as On,A as Mn,F as Ne,c as tr,a9 as Bt,aa as nr,ab as Tn,E as sr,G as rr,ac as Pt,n as ar}from"./index-B11inYe0.js";import{u as P,c as Je,T as Ge,a as Qe,b as Xe,p as Fe}from"./index-C4O5Rsq1.js";import{a as D,r as g,U as _n,C as Rn,o as An,V as or,L as Wn,W as Tt,n as zn,Y as Fn,X as yt,Z as lr,_ as ir,A as cr,d as dr,$ as ur,z as fr,a0 as hr,a1 as mr,T as gr,a2 as pr}from"./icons-D6TH-xEh.js";import{S as xr,K as ke,D as yr,a as br,b as Cr,c as wr,d as vr,e as Sr,m as Ye,A as kr,f as jr,g as Nr,h as Dr,i as Er,j as Or,k as Mr,l as Tr}from"./scroll-area-DdKnqqlw.js";import{u as _r,f as Yn,i as Pn,h as nt,e as at,d as ot,g as In,p as Rr}from"./tanstack-BVOBleBY.js";import{f as Ar}from"./format-cell-value-Cn3RA9a1.js";import"./react-dom-B7--tMaV.js";import"./monaco-editor-BMj4E99D.js";const Bn=6048e5,Wr=864e5,an=Symbol.for("constructDateFrom");function J(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&an in e?e[an](t):e instanceof Date?new e.constructor(t):new Date(t)}function H(e,t){return J(t||e,e)}function pt(e,t,n){const s=H(e,n?.in);return isNaN(t)?J(e,NaN):(t&&s.setDate(s.getDate()+t),s)}function Kn(e,t,n){const s=H(e,n?.in);if(isNaN(t))return J(e,NaN);if(!t)return s;const r=s.getDate(),l=J(e,s.getTime());l.setMonth(s.getMonth()+t+1,0);const c=l.getDate();return r>=c?l:(s.setFullYear(l.getFullYear(),l.getMonth(),r),s)}let zr={};function lt(){return zr}function Pe(e,t){const n=lt(),s=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=H(e,t?.in),l=r.getDay(),c=(l<s?7:0)+l-s;return r.setDate(r.getDate()-c),r.setHours(0,0,0,0),r}function st(e,t){return Pe(e,{...t,weekStartsOn:1})}function Vn(e,t){const n=H(e,t?.in),s=n.getFullYear(),r=J(n,0);r.setFullYear(s+1,0,4),r.setHours(0,0,0,0);const l=st(r),c=J(n,0);c.setFullYear(s,0,4),c.setHours(0,0,0,0);const o=st(c);return n.getTime()>=l.getTime()?s+1:n.getTime()>=o.getTime()?s:s-1}function on(e){const t=H(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function He(e,...t){const n=J.bind(null,t.find(s=>typeof s=="object"));return t.map(n)}function Ie(e,t){const n=H(e,t?.in);return n.setHours(0,0,0,0),n}function Kt(e,t,n){const[s,r]=He(n?.in,e,t),l=Ie(s),c=Ie(r),o=+l-on(l),i=+c-on(c);return Math.round((o-i)/Wr)}function Fr(e,t){const n=Vn(e,t),s=J(e,0);return s.setFullYear(n,0,4),s.setHours(0,0,0,0),st(s)}function Yr(e,t,n){return pt(e,t*7,n)}function Pr(e,t,n){return Kn(e,t*12,n)}function Ir(e,t){let n,s=t?.in;return e.forEach(r=>{!s&&typeof r=="object"&&(s=J.bind(null,r));const l=H(r,s);(!n||n<l||isNaN(+l))&&(n=l)}),J(s,n||NaN)}function Br(e,t){let n,s=t?.in;return e.forEach(r=>{!s&&typeof r=="object"&&(s=J.bind(null,r));const l=H(r,s);(!n||n>l||isNaN(+l))&&(n=l)}),J(s,n||NaN)}function Kr(e,t,n){const[s,r]=He(n?.in,e,t);return+Ie(s)==+Ie(r)}function Un(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Vr(e){return!(!Un(e)&&typeof e!="number"||isNaN(+H(e)))}function $n(e,t,n){const[s,r]=He(n?.in,e,t),l=s.getFullYear()-r.getFullYear(),c=s.getMonth()-r.getMonth();return l*12+c}function Ur(e,t){const n=H(e,t?.in),s=n.getMonth();return n.setFullYear(n.getFullYear(),s+1,0),n.setHours(23,59,59,999),n}function Hn(e,t){const[n,s]=He(e,t.start,t.end);return{start:n,end:s}}function $r(e,t){const{start:n,end:s}=Hn(t?.in,e);let r=+n>+s;const l=r?+n:+s,c=r?s:n;c.setHours(0,0,0,0),c.setDate(1);let o=1;const i=[];for(;+c<=l;)i.push(J(n,c)),c.setMonth(c.getMonth()+o);return r?i.reverse():i}function Hr(e,t){const n=H(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function Lr(e,t){const n=H(e,t?.in),s=n.getFullYear();return n.setFullYear(s+1,0,0),n.setHours(23,59,59,999),n}function Ln(e,t){const n=H(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function qr(e,t){const{start:n,end:s}=Hn(t?.in,e);let r=+n>+s;const l=r?+n:+s,c=r?s:n;c.setHours(0,0,0,0),c.setMonth(0,1);let o=1;const i=[];for(;+c<=l;)i.push(J(n,c)),c.setFullYear(c.getFullYear()+o);return r?i.reverse():i}function qn(e,t){const n=lt(),s=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=H(e,t?.in),l=r.getDay(),c=(l<s?-7:0)+6-(l-s);return r.setDate(r.getDate()+c),r.setHours(23,59,59,999),r}function Jr(e,t){return qn(e,{...t,weekStartsOn:1})}const Gr={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Qr=(e,t,n)=>{let s;const r=Gr[e];return typeof r=="string"?s=r:t===1?s=r.one:s=r.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+s:s+" ago":s};function _t(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const Xr={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Zr={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},ea={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},ta={date:_t({formats:Xr,defaultWidth:"full"}),time:_t({formats:Zr,defaultWidth:"full"}),dateTime:_t({formats:ea,defaultWidth:"full"})},na={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},sa=(e,t,n,s)=>na[e];function Ze(e){return(t,n)=>{const s=n?.context?String(n.context):"standalone";let r;if(s==="formatting"&&e.formattingValues){const c=e.defaultFormattingWidth||e.defaultWidth,o=n?.width?String(n.width):c;r=e.formattingValues[o]||e.formattingValues[c]}else{const c=e.defaultWidth,o=n?.width?String(n.width):e.defaultWidth;r=e.values[o]||e.values[c]}const l=e.argumentCallback?e.argumentCallback(t):t;return r[l]}}const ra={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},aa={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},oa={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},la={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},ia={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},ca={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},da=(e,t)=>{const n=Number(e),s=n%100;if(s>20||s<10)switch(s%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},ua={ordinalNumber:da,era:Ze({values:ra,defaultWidth:"wide"}),quarter:Ze({values:aa,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Ze({values:oa,defaultWidth:"wide"}),day:Ze({values:la,defaultWidth:"wide"}),dayPeriod:Ze({values:ia,defaultWidth:"wide",formattingValues:ca,defaultFormattingWidth:"wide"})};function et(e){return(t,n={})=>{const s=n.width,r=s&&e.matchPatterns[s]||e.matchPatterns[e.defaultMatchWidth],l=t.match(r);if(!l)return null;const c=l[0],o=s&&e.parsePatterns[s]||e.parsePatterns[e.defaultParseWidth],i=Array.isArray(o)?ha(o,f=>f.test(c)):fa(o,f=>f.test(c));let d;d=e.valueCallback?e.valueCallback(i):i,d=n.valueCallback?n.valueCallback(d):d;const u=t.slice(c.length);return{value:d,rest:u}}}function fa(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function ha(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function ma(e){return(t,n={})=>{const s=t.match(e.matchPattern);if(!s)return null;const r=s[0],l=t.match(e.parsePattern);if(!l)return null;let c=e.valueCallback?e.valueCallback(l[0]):l[0];c=n.valueCallback?n.valueCallback(c):c;const o=t.slice(r.length);return{value:c,rest:o}}}const ga=/^(\d+)(th|st|nd|rd)?/i,pa=/\d+/i,xa={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},ya={any:[/^b/i,/^(a|c)/i]},ba={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Ca={any:[/1/i,/2/i,/3/i,/4/i]},wa={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},va={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Sa={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},ka={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},ja={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Na={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Da={ordinalNumber:ma({matchPattern:ga,parsePattern:pa,valueCallback:e=>parseInt(e,10)}),era:et({matchPatterns:xa,defaultMatchWidth:"wide",parsePatterns:ya,defaultParseWidth:"any"}),quarter:et({matchPatterns:ba,defaultMatchWidth:"wide",parsePatterns:Ca,defaultParseWidth:"any",valueCallback:e=>e+1}),month:et({matchPatterns:wa,defaultMatchWidth:"wide",parsePatterns:va,defaultParseWidth:"any"}),day:et({matchPatterns:Sa,defaultMatchWidth:"wide",parsePatterns:ka,defaultParseWidth:"any"}),dayPeriod:et({matchPatterns:ja,defaultMatchWidth:"any",parsePatterns:Na,defaultParseWidth:"any"})},ze={code:"en-US",formatDistance:Qr,formatLong:ta,formatRelative:sa,localize:ua,match:Da,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Ea(e,t){const n=H(e,t?.in);return Kt(n,Ln(n))+1}function Vt(e,t){const n=H(e,t?.in),s=+st(n)-+Fr(n);return Math.round(s/Bn)+1}function Jn(e,t){const n=H(e,t?.in),s=n.getFullYear(),r=lt(),l=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,c=J(t?.in||e,0);c.setFullYear(s+1,0,l),c.setHours(0,0,0,0);const o=Pe(c,t),i=J(t?.in||e,0);i.setFullYear(s,0,l),i.setHours(0,0,0,0);const d=Pe(i,t);return+n>=+o?s+1:+n>=+d?s:s-1}function Oa(e,t){const n=lt(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,r=Jn(e,t),l=J(t?.in||e,0);return l.setFullYear(r,0,s),l.setHours(0,0,0,0),Pe(l,t)}function Ut(e,t){const n=H(e,t?.in),s=+Pe(n,t)-+Oa(n,t);return Math.round(s/Bn)+1}function $(e,t){const n=e<0?"-":"",s=Math.abs(e).toString().padStart(t,"0");return n+s}const je={y(e,t){const n=e.getFullYear(),s=n>0?n:1-n;return $(t==="yy"?s%100:s,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):$(n+1,2)},d(e,t){return $(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return n==="am"?"a.m.":"p.m."}},h(e,t){return $(e.getHours()%12||12,t.length)},H(e,t){return $(e.getHours(),t.length)},m(e,t){return $(e.getMinutes(),t.length)},s(e,t){return $(e.getSeconds(),t.length)},S(e,t){const n=t.length,s=e.getMilliseconds(),r=Math.trunc(s*Math.pow(10,n-3));return $(r,t.length)}},Ae={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},ln={G:function(e,t,n){const s=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(s,{width:"abbreviated"});case"GGGGG":return n.era(s,{width:"narrow"});default:return n.era(s,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const s=e.getFullYear(),r=s>0?s:1-s;return n.ordinalNumber(r,{unit:"year"})}return je.y(e,t)},Y:function(e,t,n,s){const r=Jn(e,s),l=r>0?r:1-r;if(t==="YY"){const c=l%100;return $(c,2)}return t==="Yo"?n.ordinalNumber(l,{unit:"year"}):$(l,t.length)},R:function(e,t){const n=Vn(e);return $(n,t.length)},u:function(e,t){const n=e.getFullYear();return $(n,t.length)},Q:function(e,t,n){const s=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(s);case"QQ":return $(s,2);case"Qo":return n.ordinalNumber(s,{unit:"quarter"});case"QQQ":return n.quarter(s,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(s,{width:"narrow",context:"formatting"});default:return n.quarter(s,{width:"wide",context:"formatting"})}},q:function(e,t,n){const s=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(s);case"qq":return $(s,2);case"qo":return n.ordinalNumber(s,{unit:"quarter"});case"qqq":return n.quarter(s,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(s,{width:"narrow",context:"standalone"});default:return n.quarter(s,{width:"wide",context:"standalone"})}},M:function(e,t,n){const s=e.getMonth();switch(t){case"M":case"MM":return je.M(e,t);case"Mo":return n.ordinalNumber(s+1,{unit:"month"});case"MMM":return n.month(s,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(s,{width:"narrow",context:"formatting"});default:return n.month(s,{width:"wide",context:"formatting"})}},L:function(e,t,n){const s=e.getMonth();switch(t){case"L":return String(s+1);case"LL":return $(s+1,2);case"Lo":return n.ordinalNumber(s+1,{unit:"month"});case"LLL":return n.month(s,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(s,{width:"narrow",context:"standalone"});default:return n.month(s,{width:"wide",context:"standalone"})}},w:function(e,t,n,s){const r=Ut(e,s);return t==="wo"?n.ordinalNumber(r,{unit:"week"}):$(r,t.length)},I:function(e,t,n){const s=Vt(e);return t==="Io"?n.ordinalNumber(s,{unit:"week"}):$(s,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):je.d(e,t)},D:function(e,t,n){const s=Ea(e);return t==="Do"?n.ordinalNumber(s,{unit:"dayOfYear"}):$(s,t.length)},E:function(e,t,n){const s=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(s,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(s,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(s,{width:"short",context:"formatting"});default:return n.day(s,{width:"wide",context:"formatting"})}},e:function(e,t,n,s){const r=e.getDay(),l=(r-s.weekStartsOn+8)%7||7;switch(t){case"e":return String(l);case"ee":return $(l,2);case"eo":return n.ordinalNumber(l,{unit:"day"});case"eee":return n.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},c:function(e,t,n,s){const r=e.getDay(),l=(r-s.weekStartsOn+8)%7||7;switch(t){case"c":return String(l);case"cc":return $(l,t.length);case"co":return n.ordinalNumber(l,{unit:"day"});case"ccc":return n.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(r,{width:"narrow",context:"standalone"});case"cccccc":return n.day(r,{width:"short",context:"standalone"});default:return n.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,n){const s=e.getDay(),r=s===0?7:s;switch(t){case"i":return String(r);case"ii":return $(r,t.length);case"io":return n.ordinalNumber(r,{unit:"day"});case"iii":return n.day(s,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(s,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(s,{width:"short",context:"formatting"});default:return n.day(s,{width:"wide",context:"formatting"})}},a:function(e,t,n){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){const s=e.getHours();let r;switch(s===12?r=Ae.noon:s===0?r=Ae.midnight:r=s/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){const s=e.getHours();let r;switch(s>=17?r=Ae.evening:s>=12?r=Ae.afternoon:s>=4?r=Ae.morning:r=Ae.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let s=e.getHours()%12;return s===0&&(s=12),n.ordinalNumber(s,{unit:"hour"})}return je.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):je.H(e,t)},K:function(e,t,n){const s=e.getHours()%12;return t==="Ko"?n.ordinalNumber(s,{unit:"hour"}):$(s,t.length)},k:function(e,t,n){let s=e.getHours();return s===0&&(s=24),t==="ko"?n.ordinalNumber(s,{unit:"hour"}):$(s,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):je.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):je.s(e,t)},S:function(e,t){return je.S(e,t)},X:function(e,t,n){const s=e.getTimezoneOffset();if(s===0)return"Z";switch(t){case"X":return dn(s);case"XXXX":case"XX":return Oe(s);default:return Oe(s,":")}},x:function(e,t,n){const s=e.getTimezoneOffset();switch(t){case"x":return dn(s);case"xxxx":case"xx":return Oe(s);default:return Oe(s,":")}},O:function(e,t,n){const s=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+cn(s,":");default:return"GMT"+Oe(s,":")}},z:function(e,t,n){const s=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+cn(s,":");default:return"GMT"+Oe(s,":")}},t:function(e,t,n){const s=Math.trunc(+e/1e3);return $(s,t.length)},T:function(e,t,n){return $(+e,t.length)}};function cn(e,t=""){const n=e>0?"-":"+",s=Math.abs(e),r=Math.trunc(s/60),l=s%60;return l===0?n+String(r):n+String(r)+t+$(l,2)}function dn(e,t){return e%60===0?(e>0?"-":"+")+$(Math.abs(e)/60,2):Oe(e,t)}function Oe(e,t=""){const n=e>0?"-":"+",s=Math.abs(e),r=$(Math.trunc(s/60),2),l=$(s%60,2);return n+r+t+l}const un=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},Gn=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Ma=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],s=n[1],r=n[2];if(!r)return un(e,t);let l;switch(s){case"P":l=t.dateTime({width:"short"});break;case"PP":l=t.dateTime({width:"medium"});break;case"PPP":l=t.dateTime({width:"long"});break;default:l=t.dateTime({width:"full"});break}return l.replace("{{date}}",un(s,t)).replace("{{time}}",Gn(r,t))},Ta={p:Gn,P:Ma},_a=/^D+$/,Ra=/^Y+$/,Aa=["D","DD","YY","YYYY"];function Wa(e){return _a.test(e)}function za(e){return Ra.test(e)}function Fa(e,t,n){const s=Ya(e,t,n);if(console.warn(s),Aa.includes(e))throw new RangeError(s)}function Ya(e,t,n){const s=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${s} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Pa=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Ia=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Ba=/^'([^]*?)'?$/,Ka=/''/g,Va=/[a-zA-Z]/;function Ce(e,t,n){const s=lt(),r=n?.locale??s.locale??ze,l=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,c=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,o=H(e,n?.in);if(!Vr(o))throw new RangeError("Invalid time value");let i=t.match(Ia).map(u=>{const f=u[0];if(f==="p"||f==="P"){const m=Ta[f];return m(u,r.formatLong)}return u}).join("").match(Pa).map(u=>{if(u==="''")return{isToken:!1,value:"'"};const f=u[0];if(f==="'")return{isToken:!1,value:Ua(u)};if(ln[f])return{isToken:!0,value:u};if(f.match(Va))throw new RangeError("Format string contains an unescaped latin alphabet character `"+f+"`");return{isToken:!1,value:u}});r.localize.preprocessor&&(i=r.localize.preprocessor(o,i));const d={firstWeekContainsDate:l,weekStartsOn:c,locale:r};return i.map(u=>{if(!u.isToken)return u.value;const f=u.value;(!n?.useAdditionalWeekYearTokens&&za(f)||!n?.useAdditionalDayOfYearTokens&&Wa(f))&&Fa(f,t,String(e));const m=ln[f[0]];return m(o,f,r.localize,d)}).join("")}function Ua(e){const t=e.match(Ba);return t?t[1].replace(Ka,"'"):e}function $a(e,t){const n=H(e,t?.in),s=n.getFullYear(),r=n.getMonth(),l=J(n,0);return l.setFullYear(s,r+1,0),l.setHours(0,0,0,0),l.getDate()}function Ha(e,t){return H(e,t?.in).getMonth()}function La(e,t){return H(e,t?.in).getFullYear()}function qa(e,t){return+H(e)>+H(t)}function Ja(e,t){return+H(e)<+H(t)}function Ga(e,t,n){const[s,r]=He(n?.in,e,t);return s.getFullYear()===r.getFullYear()&&s.getMonth()===r.getMonth()}function Qa(e,t,n){const[s,r]=He(n?.in,e,t);return s.getFullYear()===r.getFullYear()}function Xa(e,t,n){const s=H(e,n?.in),r=s.getFullYear(),l=s.getDate(),c=J(e,0);c.setFullYear(r,t,15),c.setHours(0,0,0,0);const o=$a(c);return s.setMonth(t,Math.min(l,o)),s}function Za(e,t,n){const s=H(e,n?.in);return isNaN(+s)?J(e,NaN):(s.setFullYear(t),s)}function eo(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const to={},tt={};function Me(e,t){try{const s=(to[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return s in tt?tt[s]:fn(s,s.split(":"))}catch{if(e in tt)return tt[e];const n=e?.match(no);return n?fn(e,n.slice(1)):NaN}}const no=/([+-]\d\d):?(\d\d)?/;function fn(e,t){const n=+(t[0]||0),s=+(t[1]||0),r=+(t[2]||0)/60;return tt[e]=n*60+s>0?n*60+s+r:n*60-s-r}class pe extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Me(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),Qn(this),It(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new pe(...n,t):new pe(Date.now(),t)}withTimeZone(t){return new pe(+this,t)}getTimezoneOffset(){const t=-Me(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),It(this),+this}[Symbol.for("constructDateFrom")](t){return new pe(+new Date(t),this.timeZone)}}const hn=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!hn.test(e))return;const t=e.replace(hn,"$1UTC");pe.prototype[t]&&(e.startsWith("get")?pe.prototype[e]=function(){return this.internal[t]()}:(pe.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),so(this),+this},pe.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),It(this),+this}))});function It(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-Me(e.timeZone,e)*60))}function so(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),Qn(e)}function Qn(e){const t=Me(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),s=new Date(+e);s.setUTCHours(s.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),l=-new Date(+s).getTimezoneOffset(),c=r-l,o=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();c&&o&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+c);const i=r-n;i&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+i);const d=new Date(+e);d.setUTCSeconds(0);const u=r>0?d.getSeconds():(d.getSeconds()-60)%60,f=Math.round(-(Me(e.timeZone,e)*60))%60;(f||u)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+f),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+f+u));const m=Me(e.timeZone,e),x=m>0?Math.floor(m):Math.ceil(m),k=-new Date(+e).getTimezoneOffset()-x,S=x!==n,v=k-i;if(S&&v){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+v);const w=Me(e.timeZone,e),p=w>0?Math.floor(w):Math.ceil(w),h=x-p;h&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+h),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+h))}}class X extends pe{static tz(t,...n){return n.length?new X(...n,t):new X(Date.now(),t)}toISOString(){const[t,n,s]=this.tzComponents(),r=`${t}${n}:${s}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,s,r]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${s} ${n} ${r}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,s,r]=this.tzComponents();return`${t} GMT${n}${s}${r} (${eo(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",s=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),r=String(Math.abs(t)%60).padStart(2,"0");return[n,s,r]}withTimeZone(t){return new X(+this,t)}[Symbol.for("constructDateFrom")](t){return new X(+new Date(t),this.timeZone)}}const mn=5,ro=4;function ao(e,t){const n=t.startOfMonth(e),s=n.getDay()>0?n.getDay():7,r=t.addDays(e,-s+1),l=t.addDays(r,mn*7-1);return t.getMonth(e)===t.getMonth(l)?mn:ro}function Xn(e,t){const n=t.startOfMonth(e),s=n.getDay();return s===1?n:s===0?t.addDays(n,-6):t.addDays(n,-1*(s-1))}function oo(e,t){const n=Xn(e,t),s=ao(e,t);return t.addDays(n,s*7-1)}const Zn={...ze,labels:{labelDayButton:(e,t,n,s)=>{let r;s&&typeof s.format=="function"?r=s.format.bind(s):r=(c,o)=>Ce(c,o,{locale:ze,...n});let l=r(e,"PPPP");return t.today&&(l=`Today, ${l}`),t.selected&&(l=`${l}, selected`),l},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:"Choose the Year",labelGrid:(e,t,n)=>{let s;return n&&typeof n.format=="function"?s=n.format.bind(n):s=(r,l)=>Ce(r,l,{locale:ze,...t}),s(e,"LLLL yyyy")},labelGridcell:(e,t,n,s)=>{let r;s&&typeof s.format=="function"?r=s.format.bind(s):r=(c,o)=>Ce(c,o,{locale:ze,...n});let l=r(e,"PPPP");return t?.today&&(l=`Today, ${l}`),l},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,t,n)=>{let s;return n&&typeof n.format=="function"?s=n.format.bind(n):s=(r,l)=>Ce(r,l,{locale:ze,...t}),s(e,"cccc")}}};class re{constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?X.tz(this.options.timeZone):new this.Date,this.newDate=(s,r,l)=>this.overrides?.newDate?this.overrides.newDate(s,r,l):this.options.timeZone?new X(s,r,l,this.options.timeZone):new Date(s,r,l),this.addDays=(s,r)=>this.overrides?.addDays?this.overrides.addDays(s,r):pt(s,r),this.addMonths=(s,r)=>this.overrides?.addMonths?this.overrides.addMonths(s,r):Kn(s,r),this.addWeeks=(s,r)=>this.overrides?.addWeeks?this.overrides.addWeeks(s,r):Yr(s,r),this.addYears=(s,r)=>this.overrides?.addYears?this.overrides.addYears(s,r):Pr(s,r),this.differenceInCalendarDays=(s,r)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(s,r):Kt(s,r),this.differenceInCalendarMonths=(s,r)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(s,r):$n(s,r),this.eachMonthOfInterval=s=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(s):$r(s),this.eachYearOfInterval=s=>{const r=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(s):qr(s),l=new Set(r.map(o=>this.getYear(o)));if(l.size===r.length)return r;const c=[];return l.forEach(o=>{c.push(new Date(o,0,1))}),c},this.endOfBroadcastWeek=s=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(s):oo(s,this),this.endOfISOWeek=s=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(s):Jr(s),this.endOfMonth=s=>this.overrides?.endOfMonth?this.overrides.endOfMonth(s):Ur(s),this.endOfWeek=(s,r)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(s,r):qn(s,this.options),this.endOfYear=s=>this.overrides?.endOfYear?this.overrides.endOfYear(s):Lr(s),this.format=(s,r,l)=>{const c=this.overrides?.format?this.overrides.format(s,r,this.options):Ce(s,r,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(c):c},this.getISOWeek=s=>this.overrides?.getISOWeek?this.overrides.getISOWeek(s):Vt(s),this.getMonth=(s,r)=>this.overrides?.getMonth?this.overrides.getMonth(s,this.options):Ha(s,this.options),this.getYear=(s,r)=>this.overrides?.getYear?this.overrides.getYear(s,this.options):La(s,this.options),this.getWeek=(s,r)=>this.overrides?.getWeek?this.overrides.getWeek(s,this.options):Ut(s,this.options),this.isAfter=(s,r)=>this.overrides?.isAfter?this.overrides.isAfter(s,r):qa(s,r),this.isBefore=(s,r)=>this.overrides?.isBefore?this.overrides.isBefore(s,r):Ja(s,r),this.isDate=s=>this.overrides?.isDate?this.overrides.isDate(s):Un(s),this.isSameDay=(s,r)=>this.overrides?.isSameDay?this.overrides.isSameDay(s,r):Kr(s,r),this.isSameMonth=(s,r)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(s,r):Ga(s,r),this.isSameYear=(s,r)=>this.overrides?.isSameYear?this.overrides.isSameYear(s,r):Qa(s,r),this.max=s=>this.overrides?.max?this.overrides.max(s):Ir(s),this.min=s=>this.overrides?.min?this.overrides.min(s):Br(s),this.setMonth=(s,r)=>this.overrides?.setMonth?this.overrides.setMonth(s,r):Xa(s,r),this.setYear=(s,r)=>this.overrides?.setYear?this.overrides.setYear(s,r):Za(s,r),this.startOfBroadcastWeek=(s,r)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(s,this):Xn(s,this),this.startOfDay=s=>this.overrides?.startOfDay?this.overrides.startOfDay(s):Ie(s),this.startOfISOWeek=s=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(s):st(s),this.startOfMonth=s=>this.overrides?.startOfMonth?this.overrides.startOfMonth(s):Hr(s),this.startOfWeek=(s,r)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(s,this.options):Pe(s,this.options),this.startOfYear=s=>this.overrides?.startOfYear?this.overrides.startOfYear(s):Ln(s),this.options={locale:Zn,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),s={};for(let r=0;r<10;r++)s[r.toString()]=n.format(r);return s}replaceDigits(t){const n=this.getDigitMap();return t.replace(/\d/g,s=>n[s]||s)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&re.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:s,numerals:r}=this.options,l=n?.code;if(l&&re.yearFirstLocales.has(l))try{return new Intl.DateTimeFormat(l,{month:"long",year:"numeric",timeZone:s,numberingSystem:r}).format(t)}catch{}const c=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,c)}}re.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 xe=new re;class es{constructor(t,n,s=xe){this.date=t,this.displayMonth=n,this.outside=!!(n&&!s.isSameMonth(t,n)),this.dateLib=s,this.isoDate=s.format(t,"yyyy-MM-dd"),this.displayMonthId=s.format(n,"yyyy-MM"),this.dateMonthId=s.format(t,"yyyy-MM")}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class lo{constructor(t,n){this.date=t,this.weeks=n}}class io{constructor(t,n){this.days=n,this.weekNumber=t}}function co(e){return D.createElement("button",{...e})}function uo(e){return D.createElement("span",{...e})}function fo(e){const{size:t=24,orientation:n="left",className:s}=e;return D.createElement("svg",{className:s,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&D.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&D.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&D.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&D.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function ho(e){const{day:t,modifiers:n,...s}=e;return D.createElement("td",{...s})}function mo(e){const{day:t,modifiers:n,...s}=e,r=D.useRef(null);return D.useEffect(()=>{n.focused&&r.current?.focus()},[n.focused]),D.createElement("button",{ref:r,...s})}var T;(function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"})(T||(T={}));var L;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(L||(L={}));var ce;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(ce||(ce={}));var ne;(function(e){e.weeks_before_enter="weeks_before_enter",e.weeks_before_exit="weeks_before_exit",e.weeks_after_enter="weeks_after_enter",e.weeks_after_exit="weeks_after_exit",e.caption_after_enter="caption_after_enter",e.caption_after_exit="caption_after_exit",e.caption_before_enter="caption_before_enter",e.caption_before_exit="caption_before_exit"})(ne||(ne={}));function go(e){const{options:t,className:n,components:s,classNames:r,...l}=e,c=[r[T.Dropdown],n].join(" "),o=t?.find(({value:i})=>i===l.value);return D.createElement("span",{"data-disabled":l.disabled,className:r[T.DropdownRoot]},D.createElement(s.Select,{className:c,...l},t?.map(({value:i,label:d,disabled:u})=>D.createElement(s.Option,{key:i,value:i,disabled:u},d))),D.createElement("span",{className:r[T.CaptionLabel],"aria-hidden":!0},o?.label,D.createElement(s.Chevron,{orientation:"down",size:18,className:r[T.Chevron]})))}function po(e){return D.createElement("div",{...e})}function xo(e){return D.createElement("div",{...e})}function yo(e){const{calendarMonth:t,displayIndex:n,...s}=e;return D.createElement("div",{...s},e.children)}function bo(e){const{calendarMonth:t,displayIndex:n,...s}=e;return D.createElement("div",{...s})}function Co(e){return D.createElement("table",{...e})}function wo(e){return D.createElement("div",{...e})}const ts=g.createContext(void 0);function it(){const e=g.useContext(ts);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function vo(e){const{components:t}=it();return D.createElement(t.Dropdown,{...e})}function So(e){const{onPreviousClick:t,onNextClick:n,previousMonth:s,nextMonth:r,...l}=e,{components:c,classNames:o,labels:{labelPrevious:i,labelNext:d}}=it(),u=g.useCallback(m=>{r&&n?.(m)},[r,n]),f=g.useCallback(m=>{s&&t?.(m)},[s,t]);return D.createElement("nav",{...l},D.createElement(c.PreviousMonthButton,{type:"button",className:o[T.PreviousMonthButton],tabIndex:s?void 0:-1,"aria-disabled":s?void 0:!0,"aria-label":i(s),onClick:f},D.createElement(c.Chevron,{disabled:s?void 0:!0,className:o[T.Chevron],orientation:"left"})),D.createElement(c.NextMonthButton,{type:"button",className:o[T.NextMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":d(r),onClick:u},D.createElement(c.Chevron,{disabled:r?void 0:!0,orientation:"right",className:o[T.Chevron]})))}function ko(e){const{components:t}=it();return D.createElement(t.Button,{...e})}function jo(e){return D.createElement("option",{...e})}function No(e){const{components:t}=it();return D.createElement(t.Button,{...e})}function Do(e){const{rootRef:t,...n}=e;return D.createElement("div",{...n,ref:t})}function Eo(e){return D.createElement("select",{...e})}function Oo(e){const{week:t,...n}=e;return D.createElement("tr",{...n})}function Mo(e){return D.createElement("th",{...e})}function To(e){return D.createElement("thead",{"aria-hidden":!0},D.createElement("tr",{...e}))}function _o(e){const{week:t,...n}=e;return D.createElement("th",{...n})}function Ro(e){return D.createElement("th",{...e})}function Ao(e){return D.createElement("tbody",{...e})}function Wo(e){const{components:t}=it();return D.createElement(t.Dropdown,{...e})}const zo=Object.freeze(Object.defineProperty({__proto__:null,Button:co,CaptionLabel:uo,Chevron:fo,Day:ho,DayButton:mo,Dropdown:go,DropdownNav:po,Footer:xo,Month:yo,MonthCaption:bo,MonthGrid:Co,Months:wo,MonthsDropdown:vo,Nav:So,NextMonthButton:ko,Option:jo,PreviousMonthButton:No,Root:Do,Select:Eo,Week:Oo,WeekNumber:_o,WeekNumberHeader:Ro,Weekday:Mo,Weekdays:To,Weeks:Ao,YearsDropdown:Wo},Symbol.toStringTag,{value:"Module"}));function we(e,t,n=!1,s=xe){let{from:r,to:l}=e;const{differenceInCalendarDays:c,isSameDay:o}=s;return r&&l?(c(l,r)<0&&([r,l]=[l,r]),c(t,r)>=(n?1:0)&&c(l,t)>=(n?1:0)):!n&&l?o(l,t):!n&&r?o(r,t):!1}function $t(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function bt(e){return!!(e&&typeof e=="object"&&"from"in e)}function Ht(e){return!!(e&&typeof e=="object"&&"after"in e)}function Lt(e){return!!(e&&typeof e=="object"&&"before"in e)}function ns(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function ss(e,t){return Array.isArray(e)&&e.every(t.isDate)}function ve(e,t,n=xe){const s=Array.isArray(t)?t:[t],{isSameDay:r,differenceInCalendarDays:l,isAfter:c}=n;return s.some(o=>{if(typeof o=="boolean")return o;if(n.isDate(o))return r(e,o);if(ss(o,n))return o.some(i=>r(e,i));if(bt(o))return we(o,e,!1,n);if(ns(o))return Array.isArray(o.dayOfWeek)?o.dayOfWeek.includes(e.getDay()):o.dayOfWeek===e.getDay();if($t(o)){const i=l(o.before,e),d=l(o.after,e),u=i>0,f=d<0;return c(o.before,o.after)?f&&u:u||f}return Ht(o)?l(e,o.after)>0:Lt(o)?l(o.before,e)>0:typeof o=="function"?o(e):!1})}function Fo(e,t,n,s,r){const{disabled:l,hidden:c,modifiers:o,showOutsideDays:i,broadcastCalendar:d,today:u=r.today()}=t,{isSameDay:f,isSameMonth:m,startOfMonth:x,isBefore:y,endOfMonth:k,isAfter:S}=r,v=n&&x(n),w=s&&k(s),p={[L.focused]:[],[L.outside]:[],[L.disabled]:[],[L.hidden]:[],[L.today]:[]},h={};for(const b of e){const{date:C,displayMonth:j}=b,E=!!(j&&!m(C,j)),N=!!(v&&y(C,v)),O=!!(w&&S(C,w)),_=!!(l&&ve(C,l,r)),q=!!(c&&ve(C,c,r))||N||O||!d&&!i&&E||d&&i===!1&&E,G=f(C,u);E&&p.outside.push(b),_&&p.disabled.push(b),q&&p.hidden.push(b),G&&p.today.push(b),o&&Object.keys(o).forEach(Y=>{const I=o?.[Y];I&&ve(C,I,r)&&(h[Y]?h[Y].push(b):h[Y]=[b])})}return b=>{const C={[L.focused]:!1,[L.disabled]:!1,[L.hidden]:!1,[L.outside]:!1,[L.today]:!1},j={};for(const E in p){const N=p[E];C[E]=N.some(O=>O===b)}for(const E in h)j[E]=h[E].some(N=>N===b);return{...C,...j}}}function Yo(e,t,n={}){return Object.entries(e).filter(([,r])=>r===!0).reduce((r,[l])=>(n[l]?r.push(n[l]):t[L[l]]?r.push(t[L[l]]):t[ce[l]]&&r.push(t[ce[l]]),r),[t[T.Day]])}function Po(e){return{...zo,...e}}function Io(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([n,s])=>{n.startsWith("data-")&&(t[n]=s)}),t}function qt(){const e={};for(const t in T)e[T[t]]=`rdp-${T[t]}`;for(const t in L)e[L[t]]=`rdp-${L[t]}`;for(const t in ce)e[ce[t]]=`rdp-${ce[t]}`;for(const t in ne)e[ne[t]]=`rdp-${ne[t]}`;return e}function rs(e,t,n){return(n??new re(t)).formatMonthYear(e)}const Bo=rs;function Ko(e,t,n){return(n??new re(t)).format(e,"d")}function Vo(e,t=xe){return t.format(e,"LLLL")}function Uo(e,t,n){return(n??new re(t)).format(e,"cccccc")}function $o(e,t=xe){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function Ho(){return""}function as(e,t=xe){return t.format(e,"yyyy")}const Lo=as,qo=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:rs,formatDay:Ko,formatMonthCaption:Bo,formatMonthDropdown:Vo,formatWeekNumber:$o,formatWeekNumberHeader:Ho,formatWeekdayName:Uo,formatYearCaption:Lo,formatYearDropdown:as},Symbol.toStringTag,{value:"Module"}));function Jo(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...qo,...e}}function Jt(e,t,n,s){let r=(s??new re(n)).format(e,"PPPP");return t.today&&(r=`Today, ${r}`),t.selected&&(r=`${r}, selected`),r}const Go=Jt;function Gt(e,t,n){return(n??new re(t)).formatMonthYear(e)}const Qo=Gt;function os(e,t,n,s){let r=(s??new re(n)).format(e,"PPPP");return t?.today&&(r=`Today, ${r}`),r}function ls(e){return"Choose the Month"}function is(){return""}const Xo="Go to the Next Month";function cs(e,t){return Xo}function ds(e){return"Go to the Previous Month"}function us(e,t,n){return(n??new re(t)).format(e,"cccc")}function fs(e,t){return`Week ${e}`}function hs(e){return"Week Number"}function ms(e){return"Choose the Year"}const Zo=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:Qo,labelDay:Go,labelDayButton:Jt,labelGrid:Gt,labelGridcell:os,labelMonthDropdown:ls,labelNav:is,labelNext:cs,labelPrevious:ds,labelWeekNumber:fs,labelWeekNumberHeader:hs,labelWeekday:us,labelYearDropdown:ms},Symbol.toStringTag,{value:"Module"})),ie=(e,t,n)=>t||(n?typeof n=="function"?n:(...s)=>n:e);function el(e,t){const n=t.locale?.labels??{};return{...Zo,...e??{},labelDayButton:ie(Jt,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:ie(ls,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:ie(cs,e?.labelNext,n.labelNext),labelPrevious:ie(ds,e?.labelPrevious,n.labelPrevious),labelWeekNumber:ie(fs,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:ie(ms,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:ie(Gt,e?.labelGrid,n.labelGrid),labelGridcell:ie(os,e?.labelGridcell,n.labelGridcell),labelNav:ie(is,e?.labelNav,n.labelNav),labelWeekNumberHeader:ie(hs,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:ie(us,e?.labelWeekday,n.labelWeekday)}}function tl(e,t,n,s,r){const{startOfMonth:l,startOfYear:c,endOfYear:o,eachMonthOfInterval:i,getMonth:d}=r;return i({start:c(e),end:o(e)}).map(m=>{const x=s.formatMonthDropdown(m,r),y=d(m),k=t&&m<l(t)||n&&m>l(n)||!1;return{value:y,label:x,disabled:k}})}function nl(e,t={},n={}){let s={...t?.[T.Day]};return Object.entries(e).filter(([,r])=>r===!0).forEach(([r])=>{s={...s,...n?.[r]}}),s}function sl(e,t,n,s){const r=s??e.today(),l=n?e.startOfBroadcastWeek(r,e):t?e.startOfISOWeek(r):e.startOfWeek(r),c=[];for(let o=0;o<7;o++){const i=e.addDays(l,o);c.push(i)}return c}function rl(e,t,n,s,r=!1){if(!e||!t)return;const{startOfYear:l,endOfYear:c,eachYearOfInterval:o,getYear:i}=s,d=l(e),u=c(t),f=o({start:d,end:u});return r&&f.reverse(),f.map(m=>{const x=n.formatYearDropdown(m,s);return{value:i(m),label:x,disabled:!1}})}function al(e,t={}){const{weekStartsOn:n,locale:s}=t,r=n??s?.options?.weekStartsOn??0,l=o=>{const i=typeof o=="number"||typeof o=="string"?new Date(o):o;return new X(i.getFullYear(),i.getMonth(),i.getDate(),12,0,0,e)},c=o=>{const i=l(o);return new Date(i.getFullYear(),i.getMonth(),i.getDate(),0,0,0,0)};return{today:()=>l(X.tz(e)),newDate:(o,i,d)=>new X(o,i,d,12,0,0,e),startOfDay:o=>l(o),startOfWeek:(o,i)=>{const d=l(o),u=i?.weekStartsOn??r,f=(d.getDay()-u+7)%7;return d.setDate(d.getDate()-f),d},startOfISOWeek:o=>{const i=l(o),d=(i.getDay()-1+7)%7;return i.setDate(i.getDate()-d),i},startOfMonth:o=>{const i=l(o);return i.setDate(1),i},startOfYear:o=>{const i=l(o);return i.setMonth(0,1),i},endOfWeek:(o,i)=>{const d=l(o),m=(((i?.weekStartsOn??r)+6)%7-d.getDay()+7)%7;return d.setDate(d.getDate()+m),d},endOfISOWeek:o=>{const i=l(o),d=(7-i.getDay())%7;return i.setDate(i.getDate()+d),i},endOfMonth:o=>{const i=l(o);return i.setMonth(i.getMonth()+1,0),i},endOfYear:o=>{const i=l(o);return i.setMonth(11,31),i},eachMonthOfInterval:o=>{const i=l(o.start),d=l(o.end),u=[],f=new X(i.getFullYear(),i.getMonth(),1,12,0,0,e),m=d.getFullYear()*12+d.getMonth();for(;f.getFullYear()*12+f.getMonth()<=m;)u.push(new X(f,e)),f.setMonth(f.getMonth()+1,1);return u},addDays:(o,i)=>{const d=l(o);return d.setDate(d.getDate()+i),d},addWeeks:(o,i)=>{const d=l(o);return d.setDate(d.getDate()+i*7),d},addMonths:(o,i)=>{const d=l(o);return d.setMonth(d.getMonth()+i),d},addYears:(o,i)=>{const d=l(o);return d.setFullYear(d.getFullYear()+i),d},eachYearOfInterval:o=>{const i=l(o.start),d=l(o.end),u=[],f=new X(i.getFullYear(),0,1,12,0,0,e);for(;f.getFullYear()<=d.getFullYear();)u.push(new X(f,e)),f.setFullYear(f.getFullYear()+1,0,1);return u},getWeek:(o,i)=>{const d=c(o);return Ut(d,{weekStartsOn:i?.weekStartsOn??r,firstWeekContainsDate:i?.firstWeekContainsDate??s?.options?.firstWeekContainsDate??1})},getISOWeek:o=>{const i=c(o);return Vt(i)},differenceInCalendarDays:(o,i)=>{const d=c(o),u=c(i);return Kt(d,u)},differenceInCalendarMonths:(o,i)=>{const d=c(o),u=c(i);return $n(d,u)}}}const ct=e=>e instanceof HTMLElement?e:null,Rt=e=>[...e.querySelectorAll("[data-animated-month]")??[]],ol=e=>ct(e.querySelector("[data-animated-month]")),At=e=>ct(e.querySelector("[data-animated-caption]")),Wt=e=>ct(e.querySelector("[data-animated-weeks]")),ll=e=>ct(e.querySelector("[data-animated-nav]")),il=e=>ct(e.querySelector("[data-animated-weekdays]"));function cl(e,t,{classNames:n,months:s,focused:r,dateLib:l}){const c=g.useRef(null),o=g.useRef(s),i=g.useRef(!1);g.useLayoutEffect(()=>{const d=o.current;if(o.current=s,!t||!e.current||!(e.current instanceof HTMLElement)||s.length===0||d.length===0||s.length!==d.length)return;const u=l.isSameMonth(s[0].date,d[0].date),f=l.isAfter(s[0].date,d[0].date),m=f?n[ne.caption_after_enter]:n[ne.caption_before_enter],x=f?n[ne.weeks_after_enter]:n[ne.weeks_before_enter],y=c.current,k=e.current.cloneNode(!0);if(k instanceof HTMLElement?(Rt(k).forEach(p=>{if(!(p instanceof HTMLElement))return;const h=ol(p);h&&p.contains(h)&&p.removeChild(h);const b=At(p);b&&b.classList.remove(m);const C=Wt(p);C&&C.classList.remove(x)}),c.current=k):c.current=null,i.current||u||r)return;const S=y instanceof HTMLElement?Rt(y):[],v=Rt(e.current);if(v?.every(w=>w instanceof HTMLElement)&&S&&S.every(w=>w instanceof HTMLElement)){i.current=!0,e.current.style.isolation="isolate";const w=ll(e.current);w&&(w.style.zIndex="1"),v.forEach((p,h)=>{const b=S[h];if(!b)return;p.style.position="relative",p.style.overflow="hidden";const C=At(p);C&&C.classList.add(m);const j=Wt(p);j&&j.classList.add(x);const E=()=>{i.current=!1,e.current&&(e.current.style.isolation=""),w&&(w.style.zIndex=""),C&&C.classList.remove(m),j&&j.classList.remove(x),p.style.position="",p.style.overflow="",p.contains(b)&&p.removeChild(b)};b.style.pointerEvents="none",b.style.position="absolute",b.style.overflow="hidden",b.setAttribute("aria-hidden","true");const N=il(b);N&&(N.style.opacity="0");const O=At(b);O&&(O.classList.add(f?n[ne.caption_before_exit]:n[ne.caption_after_exit]),O.addEventListener("animationend",E));const _=Wt(b);_&&_.classList.add(f?n[ne.weeks_before_exit]:n[ne.weeks_after_exit]),p.insertBefore(b,p.firstChild)})}})}function dl(e,t,n,s){const r=e[0],l=e[e.length-1],{ISOWeek:c,fixedWeeks:o,broadcastCalendar:i}=n??{},{addDays:d,differenceInCalendarDays:u,differenceInCalendarMonths:f,endOfBroadcastWeek:m,endOfISOWeek:x,endOfMonth:y,endOfWeek:k,isAfter:S,startOfBroadcastWeek:v,startOfISOWeek:w,startOfWeek:p}=s,h=i?v(r,s):c?w(r):p(r),b=i?m(l):c?x(y(l)):k(y(l)),C=t&&(i?m(t):c?x(t):k(t)),j=C&&S(b,C)?C:b,E=u(j,h),N=f(l,r)+1,O=[];for(let G=0;G<=E;G++){const Y=d(h,G);O.push(Y)}const q=(i?35:42)*N;if(o&&O.length<q){const G=q-O.length;for(let Y=0;Y<G;Y++){const I=d(O[O.length-1],1);O.push(I)}}return O}function ul(e){const t=[];return e.reduce((n,s)=>{const r=s.weeks.reduce((l,c)=>l.concat(c.days.slice()),t.slice());return n.concat(r.slice())},t.slice())}function fl(e,t,n,s){const{numberOfMonths:r=1}=n,l=[];for(let c=0;c<r;c++){const o=s.addMonths(e,c);if(t&&o>t)break;l.push(o)}return l}function gn(e,t,n,s){const{month:r,defaultMonth:l,today:c=s.today(),numberOfMonths:o=1}=e;let i=r||l||c;const{differenceInCalendarMonths:d,addMonths:u,startOfMonth:f}=s;if(n&&d(n,i)<o-1){const m=-1*(o-1);i=u(n,m)}return t&&d(i,t)<0&&(i=t),f(i)}function hl(e,t,n,s){const{addDays:r,endOfBroadcastWeek:l,endOfISOWeek:c,endOfMonth:o,endOfWeek:i,getISOWeek:d,getWeek:u,startOfBroadcastWeek:f,startOfISOWeek:m,startOfWeek:x}=s,y=e.reduce((k,S)=>{const v=n.broadcastCalendar?f(S,s):n.ISOWeek?m(S):x(S),w=n.broadcastCalendar?l(S):n.ISOWeek?c(o(S)):i(o(S)),p=t.filter(j=>j>=v&&j<=w),h=n.broadcastCalendar?35:42;if(n.fixedWeeks&&p.length<h){const j=t.filter(E=>{const N=h-p.length;return E>w&&E<=r(w,N)});p.push(...j)}const b=p.reduce((j,E)=>{const N=n.ISOWeek?d(E):u(E),O=j.find(q=>q.weekNumber===N),_=new es(E,S,s);return O?O.days.push(_):j.push(new io(N,[_])),j},[]),C=new lo(S,b);return k.push(C),k},[]);return n.reverseMonths?y.reverse():y}function ml(e,t){let{startMonth:n,endMonth:s}=e;const{startOfYear:r,startOfDay:l,startOfMonth:c,endOfMonth:o,addYears:i,endOfYear:d,newDate:u,today:f}=t,{fromYear:m,toYear:x,fromMonth:y,toMonth:k}=e;!n&&y&&(n=y),!n&&m&&(n=t.newDate(m,0,1)),!s&&k&&(s=k),!s&&x&&(s=u(x,11,31));const S=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=c(n):m?n=u(m,0,1):!n&&S&&(n=r(i(e.today??f(),-100))),s?s=o(s):x?s=u(x,11,31):!s&&S&&(s=d(e.today??f())),[n&&l(n),s&&l(s)]}function gl(e,t,n,s){if(n.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:l=1}=n,{startOfMonth:c,addMonths:o,differenceInCalendarMonths:i}=s,d=r?l:1,u=c(e);if(!t)return o(u,d);if(!(i(t,e)<l))return o(u,d)}function pl(e,t,n,s){if(n.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:l}=n,{startOfMonth:c,addMonths:o,differenceInCalendarMonths:i}=s,d=r?l??1:1,u=c(e);if(!t)return o(u,-d);if(!(i(u,t)<=0))return o(u,-d)}function xl(e){const t=[];return e.reduce((n,s)=>n.concat(s.weeks.slice()),t.slice())}function Ct(e,t){const[n,s]=g.useState(e);return[t===void 0?n:t,s]}function yl(e,t){const[n,s]=ml(e,t),{startOfMonth:r,endOfMonth:l}=t,c=gn(e,n,s,t),[o,i]=Ct(c,e.month?c:void 0);g.useEffect(()=>{const h=gn(e,n,s,t);i(h)},[e.timeZone]);const{months:d,weeks:u,days:f,previousMonth:m,nextMonth:x}=g.useMemo(()=>{const h=fl(o,s,{numberOfMonths:e.numberOfMonths},t),b=dl(h,e.endMonth?l(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),C=hl(h,b,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),j=xl(C),E=ul(C),N=pl(o,n,e,t),O=gl(o,s,e,t);return{months:C,weeks:j,days:E,previousMonth:N,nextMonth:O}},[t,o.getTime(),s?.getTime(),n?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:y,onMonthChange:k}=e,S=h=>u.some(b=>b.days.some(C=>C.isEqualTo(h))),v=h=>{if(y)return;let b=r(h);n&&b<r(n)&&(b=r(n)),s&&b>r(s)&&(b=r(s)),i(b),k?.(b)};return{months:d,weeks:u,days:f,navStart:n,navEnd:s,previousMonth:m,nextMonth:x,goToMonth:v,goToDay:h=>{S(h)||v(h.date)}}}var ge;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(ge||(ge={}));function pn(e){return!e[L.disabled]&&!e[L.hidden]&&!e[L.outside]}function bl(e,t,n,s){let r,l=-1;for(const c of e){const o=t(c);pn(o)&&(o[L.focused]&&l<ge.FocusedModifier?(r=c,l=ge.FocusedModifier):s?.isEqualTo(c)&&l<ge.LastFocused?(r=c,l=ge.LastFocused):n(c.date)&&l<ge.Selected?(r=c,l=ge.Selected):o[L.today]&&l<ge.Today&&(r=c,l=ge.Today))}return r||(r=e.find(c=>pn(t(c)))),r}function Cl(e,t,n,s,r,l,c){const{ISOWeek:o,broadcastCalendar:i}=l,{addDays:d,addMonths:u,addWeeks:f,addYears:m,endOfBroadcastWeek:x,endOfISOWeek:y,endOfWeek:k,max:S,min:v,startOfBroadcastWeek:w,startOfISOWeek:p,startOfWeek:h}=c;let C={day:d,week:f,month:u,year:m,startOfWeek:j=>i?w(j,c):o?p(j):h(j),endOfWeek:j=>i?x(j):o?y(j):k(j)}[e](n,t==="after"?1:-1);return t==="before"&&s?C=S([s,C]):t==="after"&&r&&(C=v([r,C])),C}function gs(e,t,n,s,r,l,c,o=0){if(o>365)return;const i=Cl(e,t,n.date,s,r,l,c),d=!!(l.disabled&&ve(i,l.disabled,c)),u=!!(l.hidden&&ve(i,l.hidden,c)),f=i,m=new es(i,f,c);return!d&&!u?m:gs(e,t,m,s,r,l,c,o+1)}function wl(e,t,n,s,r){const{autoFocus:l}=e,[c,o]=g.useState(),i=bl(t.days,n,s||(()=>!1),c),[d,u]=g.useState(l?i:void 0);return{isFocusTarget:k=>!!i?.isEqualTo(k),setFocused:u,focused:d,blur:()=>{o(d),u(void 0)},moveFocus:(k,S)=>{if(!d)return;const v=gs(k,S,d,t.navStart,t.navEnd,e,r);v&&(e.disableNavigation&&!t.days.some(p=>p.isEqualTo(v))||(t.goToDay(v),u(v)))}}}function vl(e,t){const{selected:n,required:s,onSelect:r}=e,[l,c]=Ct(n,r?n:void 0),o=r?n:l,{isSameDay:i}=t,d=x=>o?.some(y=>i(y,x))??!1,{min:u,max:f}=e;return{selected:o,select:(x,y,k)=>{let S=[...o??[]];if(d(x)){if(o?.length===u||s&&o?.length===1)return;S=o?.filter(v=>!i(v,x))}else o?.length===f?S=[x]:S=[...S,x];return r||c(S),r?.(S,x,y,k),S},isSelected:d}}function Sl(e,t,n=0,s=0,r=!1,l=xe){const{from:c,to:o}=t||{},{isSameDay:i,isAfter:d,isBefore:u}=l;let f;if(!c&&!o)f={from:e,to:n>0?void 0:e};else if(c&&!o)i(c,e)?n===0?f={from:c,to:e}:r?f={from:c,to:void 0}:f=void 0:u(e,c)?f={from:e,to:c}:f={from:c,to:e};else if(c&&o)if(i(c,e)&&i(o,e))r?f={from:c,to:o}:f=void 0;else if(i(c,e))f={from:c,to:n>0?void 0:e};else if(i(o,e))f={from:e,to:n>0?void 0:e};else if(u(e,c))f={from:e,to:o};else if(d(e,c))f={from:c,to:e};else if(d(e,o))f={from:c,to:e};else throw new Error("Invalid range");if(f?.from&&f?.to){const m=l.differenceInCalendarDays(f.to,f.from);s>0&&m>s?f={from:e,to:void 0}:n>1&&m<n&&(f={from:e,to:void 0})}return f}function kl(e,t,n=xe){const s=Array.isArray(t)?t:[t];let r=e.from;const l=n.differenceInCalendarDays(e.to,e.from),c=Math.min(l,6);for(let o=0;o<=c;o++){if(s.includes(r.getDay()))return!0;r=n.addDays(r,1)}return!1}function xn(e,t,n=xe){return we(e,t.from,!1,n)||we(e,t.to,!1,n)||we(t,e.from,!1,n)||we(t,e.to,!1,n)}function jl(e,t,n=xe){const s=Array.isArray(t)?t:[t];if(s.filter(o=>typeof o!="function").some(o=>typeof o=="boolean"?o:n.isDate(o)?we(e,o,!1,n):ss(o,n)?o.some(i=>we(e,i,!1,n)):bt(o)?o.from&&o.to?xn(e,{from:o.from,to:o.to},n):!1:ns(o)?kl(e,o.dayOfWeek,n):$t(o)?n.isAfter(o.before,o.after)?xn(e,{from:n.addDays(o.after,1),to:n.addDays(o.before,-1)},n):ve(e.from,o,n)||ve(e.to,o,n):Ht(o)||Lt(o)?ve(e.from,o,n)||ve(e.to,o,n):!1))return!0;const c=s.filter(o=>typeof o=="function");if(c.length){let o=e.from;const i=n.differenceInCalendarDays(e.to,e.from);for(let d=0;d<=i;d++){if(c.some(u=>u(o)))return!0;o=n.addDays(o,1)}}return!1}function Nl(e,t){const{disabled:n,excludeDisabled:s,selected:r,required:l,onSelect:c}=e,[o,i]=Ct(r,c?r:void 0),d=c?r:o;return{selected:d,select:(m,x,y)=>{const{min:k,max:S}=e,v=m?Sl(m,d,k,S,l,t):void 0;return s&&n&&v?.from&&v.to&&jl({from:v.from,to:v.to},n,t)&&(v.from=m,v.to=void 0),c||i(v),c?.(v,m,x,y),v},isSelected:m=>d&&we(d,m,!1,t)}}function Dl(e,t){const{selected:n,required:s,onSelect:r}=e,[l,c]=Ct(n,r?n:void 0),o=r?n:l,{isSameDay:i}=t;return{selected:o,select:(f,m,x)=>{let y=f;return!s&&o&&o&&i(f,o)&&(y=void 0),r||c(y),r?.(y,f,m,x),y},isSelected:f=>o?i(o,f):!1}}function El(e,t){const n=Dl(e,t),s=vl(e,t),r=Nl(e,t);switch(e.mode){case"single":return n;case"multiple":return s;case"range":return r;default:return}}function oe(e,t){return e instanceof X&&e.timeZone===t?e:new X(e,t)}function We(e,t,n){return oe(e,t)}function yn(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?We(e,t):Array.isArray(e)?e.map(s=>s instanceof Date?We(s,t):s):bt(e)?{...e,from:e.from?oe(e.from,t):e.from,to:e.to?oe(e.to,t):e.to}:$t(e)?{before:We(e.before,t),after:We(e.after,t)}:Ht(e)?{after:We(e.after,t)}:Lt(e)?{before:We(e.before,t)}:e}function zt(e,t,n){return e&&(Array.isArray(e)?e.map(s=>yn(s,t)):yn(e,t))}function Ol(e){let t=e;const n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&(t.today=oe(t.today,n)),t.month&&(t.month=oe(t.month,n)),t.defaultMonth&&(t.defaultMonth=oe(t.defaultMonth,n)),t.startMonth&&(t.startMonth=oe(t.startMonth,n)),t.endMonth&&(t.endMonth=oe(t.endMonth,n)),t.mode==="single"&&t.selected?t.selected=oe(t.selected,n):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(F=>oe(F,n)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?oe(t.selected.from,n):t.selected.from,to:t.selected.to?oe(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=zt(t.disabled,n)),t.hidden!==void 0&&(t.hidden=zt(t.hidden,n)),t.modifiers)){const F={};Object.keys(t.modifiers).forEach(U=>{F[U]=zt(t.modifiers?.[U],n)}),t.modifiers=F}const{components:s,formatters:r,labels:l,dateLib:c,locale:o,classNames:i}=g.useMemo(()=>{const F={...Zn,...t.locale},U=t.broadcastCalendar?1:t.weekStartsOn,z=t.noonSafe&&t.timeZone?al(t.timeZone,{weekStartsOn:U,locale:F}):void 0,V=t.dateLib&&z?{...z,...t.dateLib}:t.dateLib??z,te=new re({locale:F,weekStartsOn:U,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},V);return{dateLib:te,components:Po(t.components),formatters:Jo(t.formatters),labels:el(t.labels,te.options),locale:F,classNames:{...qt(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.noonSafe,t.components,t.formatters,t.labels,t.classNames]);t.today||(t={...t,today:c.today()});const{captionLayout:d,mode:u,navLayout:f,numberOfMonths:m=1,onDayBlur:x,onDayClick:y,onDayFocus:k,onDayKeyDown:S,onDayMouseEnter:v,onDayMouseLeave:w,onNextClick:p,onPrevClick:h,showWeekNumber:b,styles:C}=t,{formatCaption:j,formatDay:E,formatMonthDropdown:N,formatWeekNumber:O,formatWeekNumberHeader:_,formatWeekdayName:q,formatYearDropdown:G}=r,Y=yl(t,c),{days:I,months:A,navStart:Q,navEnd:qe,previousMonth:Z,nextMonth:ee,goToMonth:be}=Y,kt=Fo(I,t,Q,qe,c),{isSelected:jt,select:Nt,selected:dt}=El(t,c)??{},{blur:Xt,focused:Zt,isFocusTarget:vs,moveFocus:en,setFocused:ut}=wl(t,Y,kt,jt??(()=>!1),c),{labelDayButton:Ss,labelGridcell:ks,labelGrid:js,labelMonthDropdown:Ns,labelNav:tn,labelPrevious:Ds,labelNext:Es,labelWeekday:Os,labelWeekNumber:Ms,labelWeekNumberHeader:Ts,labelYearDropdown:_s}=l,Rs=g.useMemo(()=>sl(c,t.ISOWeek,t.broadcastCalendar,t.today),[c,t.ISOWeek,t.broadcastCalendar,t.today]),nn=u!==void 0||y!==void 0,Dt=g.useCallback(()=>{Z&&(be(Z),h?.(Z))},[Z,be,h]),Et=g.useCallback(()=>{ee&&(be(ee),p?.(ee))},[be,ee,p]),As=g.useCallback((F,U)=>z=>{z.preventDefault(),z.stopPropagation(),ut(F),!U.disabled&&(Nt?.(F.date,U,z),y?.(F.date,U,z))},[Nt,y,ut]),Ws=g.useCallback((F,U)=>z=>{ut(F),k?.(F.date,U,z)},[k,ut]),zs=g.useCallback((F,U)=>z=>{Xt(),x?.(F.date,U,z)},[Xt,x]),Fs=g.useCallback((F,U)=>z=>{const V={ArrowLeft:[z.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[z.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[z.shiftKey?"year":"week","after"],ArrowUp:[z.shiftKey?"year":"week","before"],PageUp:[z.shiftKey?"year":"month","before"],PageDown:[z.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(V[z.key]){z.preventDefault(),z.stopPropagation();const[te,K]=V[z.key];en(te,K)}S?.(F.date,U,z)},[en,S,t.dir]),Ys=g.useCallback((F,U)=>z=>{v?.(F.date,U,z)},[v]),Ps=g.useCallback((F,U)=>z=>{w?.(F.date,U,z)},[w]),Is=g.useCallback(F=>U=>{const z=Number(U.target.value),V=c.setMonth(c.startOfMonth(F),z);be(V)},[c,be]),Bs=g.useCallback(F=>U=>{const z=Number(U.target.value),V=c.setYear(c.startOfMonth(F),z);be(V)},[c,be]),{className:Ks,style:Vs}=g.useMemo(()=>({className:[i[T.Root],t.className].filter(Boolean).join(" "),style:{...C?.[T.Root],...t.style}}),[i,t.className,t.style,C]),Us=Io(t),sn=g.useRef(null);cl(sn,!!t.animate,{classNames:i,months:A,focused:Zt,dateLib:c});const $s={dayPickerProps:t,selected:dt,select:Nt,isSelected:jt,months:A,nextMonth:ee,previousMonth:Z,goToMonth:be,getModifiers:kt,components:s,classNames:i,styles:C,labels:l,formatters:r};return D.createElement(ts.Provider,{value:$s},D.createElement(s.Root,{rootRef:t.animate?sn:void 0,className:Ks,style:Vs,dir:t.dir,id:t.id,lang:t.lang,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"],...Us},D.createElement(s.Months,{className:i[T.Months],style:C?.[T.Months]},!t.hideNavigation&&!f&&D.createElement(s.Nav,{"data-animated-nav":t.animate?"true":void 0,className:i[T.Nav],style:C?.[T.Nav],"aria-label":tn(),onPreviousClick:Dt,onNextClick:Et,previousMonth:Z,nextMonth:ee}),A.map((F,U)=>D.createElement(s.Month,{"data-animated-month":t.animate?"true":void 0,className:i[T.Month],style:C?.[T.Month],key:U,displayIndex:U,calendarMonth:F},f==="around"&&!t.hideNavigation&&U===0&&D.createElement(s.PreviousMonthButton,{type:"button",className:i[T.PreviousMonthButton],tabIndex:Z?void 0:-1,"aria-disabled":Z?void 0:!0,"aria-label":Ds(Z),onClick:Dt,"data-animated-button":t.animate?"true":void 0},D.createElement(s.Chevron,{disabled:Z?void 0:!0,className:i[T.Chevron],orientation:t.dir==="rtl"?"right":"left"})),D.createElement(s.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:i[T.MonthCaption],style:C?.[T.MonthCaption],calendarMonth:F,displayIndex:U},d?.startsWith("dropdown")?D.createElement(s.DropdownNav,{className:i[T.Dropdowns],style:C?.[T.Dropdowns]},(()=>{const z=d==="dropdown"||d==="dropdown-months"?D.createElement(s.MonthsDropdown,{key:"month",className:i[T.MonthsDropdown],"aria-label":Ns(),classNames:i,components:s,disabled:!!t.disableNavigation,onChange:Is(F.date),options:tl(F.date,Q,qe,r,c),style:C?.[T.Dropdown],value:c.getMonth(F.date)}):D.createElement("span",{key:"month"},N(F.date,c)),V=d==="dropdown"||d==="dropdown-years"?D.createElement(s.YearsDropdown,{key:"year",className:i[T.YearsDropdown],"aria-label":_s(c.options),classNames:i,components:s,disabled:!!t.disableNavigation,onChange:Bs(F.date),options:rl(Q,qe,r,c,!!t.reverseYears),style:C?.[T.Dropdown],value:c.getYear(F.date)}):D.createElement("span",{key:"year"},G(F.date,c));return c.getMonthYearOrder()==="year-first"?[V,z]:[z,V]})(),D.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"}},j(F.date,c.options,c))):D.createElement(s.CaptionLabel,{className:i[T.CaptionLabel],role:"status","aria-live":"polite"},j(F.date,c.options,c))),f==="around"&&!t.hideNavigation&&U===m-1&&D.createElement(s.NextMonthButton,{type:"button",className:i[T.NextMonthButton],tabIndex:ee?void 0:-1,"aria-disabled":ee?void 0:!0,"aria-label":Es(ee),onClick:Et,"data-animated-button":t.animate?"true":void 0},D.createElement(s.Chevron,{disabled:ee?void 0:!0,className:i[T.Chevron],orientation:t.dir==="rtl"?"left":"right"})),U===m-1&&f==="after"&&!t.hideNavigation&&D.createElement(s.Nav,{"data-animated-nav":t.animate?"true":void 0,className:i[T.Nav],style:C?.[T.Nav],"aria-label":tn(),onPreviousClick:Dt,onNextClick:Et,previousMonth:Z,nextMonth:ee}),D.createElement(s.MonthGrid,{role:"grid","aria-multiselectable":u==="multiple"||u==="range","aria-label":js(F.date,c.options,c)||void 0,className:i[T.MonthGrid],style:C?.[T.MonthGrid]},!t.hideWeekdays&&D.createElement(s.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:i[T.Weekdays],style:C?.[T.Weekdays]},b&&D.createElement(s.WeekNumberHeader,{"aria-label":Ts(c.options),className:i[T.WeekNumberHeader],style:C?.[T.WeekNumberHeader],scope:"col"},_()),Rs.map(z=>D.createElement(s.Weekday,{"aria-label":Os(z,c.options,c),className:i[T.Weekday],key:String(z),style:C?.[T.Weekday],scope:"col"},q(z,c.options,c)))),D.createElement(s.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:i[T.Weeks],style:C?.[T.Weeks]},F.weeks.map(z=>D.createElement(s.Week,{className:i[T.Week],key:z.weekNumber,style:C?.[T.Week],week:z},b&&D.createElement(s.WeekNumber,{week:z,style:C?.[T.WeekNumber],"aria-label":Ms(z.weekNumber,{locale:o}),className:i[T.WeekNumber],scope:"row",role:"rowheader"},O(z.weekNumber,c)),z.days.map(V=>{const{date:te}=V,K=kt(V);if(K[L.focused]=!K.hidden&&!!Zt?.isEqualTo(V),K[ce.selected]=jt?.(te)||K.selected,bt(dt)){const{from:Ot,to:Mt}=dt;K[ce.range_start]=!!(Ot&&Mt&&c.isSameDay(te,Ot)),K[ce.range_end]=!!(Ot&&Mt&&c.isSameDay(te,Mt)),K[ce.range_middle]=we(dt,te,!0,c)}const Hs=nl(K,C,t.modifiersStyles),Ls=Yo(K,i,t.modifiersClassNames),qs=!nn&&!K.hidden?ks(te,K,c.options,c):void 0;return D.createElement(s.Day,{key:`${V.isoDate}_${V.displayMonthId}`,day:V,modifiers:K,className:Ls.join(" "),style:Hs,role:"gridcell","aria-selected":K.selected||void 0,"aria-label":qs,"data-day":V.isoDate,"data-month":V.outside?V.dateMonthId:void 0,"data-selected":K.selected||void 0,"data-disabled":K.disabled||void 0,"data-hidden":K.hidden||void 0,"data-outside":V.outside||void 0,"data-focused":K.focused||void 0,"data-today":K.today||void 0},!K.hidden&&nn?D.createElement(s.DayButton,{className:i[T.DayButton],style:C?.[T.DayButton],type:"button",day:V,modifiers:K,disabled:!K.focused&&K.disabled||void 0,"aria-disabled":K.focused&&K.disabled||void 0,tabIndex:vs(V)?0:-1,"aria-label":Ss(te,K,c.options,c),onClick:As(V,K),onBlur:zs(V,K),onFocus:Ws(V,K),onKeyDown:Fs(V,K),onMouseEnter:Ys(V,K),onMouseLeave:Ps(V,K)},E(te,c.options,c)):!K.hidden&&E(V.date,c.options,c))})))))))),t.footer&&D.createElement(s.Footer,{className:i[T.Footer],style:C?.[T.Footer],role:"status","aria-live":"polite"},t.footer)))}function Ml({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:s="label",buttonVariant:r="ghost",formatters:l,components:c,...o}){const i=qt();return a.jsx(Ol,{showOutsideDays:n,className:W("p-3 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(6)] bg-background group/calendar [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:s,formatters:{formatMonthDropdown:d=>d.toLocaleString("default",{month:"short"}),...l},classNames:{root:W("w-fit",i.root),months:W("flex gap-4 flex-col md:flex-row relative",i.months),month:W("flex flex-col w-full gap-4",i.month),nav:W("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",i.nav),button_previous:W(rn({variant:r}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",i.button_previous),button_next:W(rn({variant:r}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",i.button_next),month_caption:W("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",i.month_caption),dropdowns:W("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",i.dropdowns),dropdown_root:W("relative cn-calendar-dropdown-root rounded-(--cell-radius)",i.dropdown_root),dropdown:W("absolute bg-popover inset-0 opacity-0",i.dropdown),caption_label:W("select-none font-medium",s==="label"?"text-sm":"cn-calendar-caption-label rounded-(--cell-radius) flex items-center gap-1 text-sm [&>svg]:text-muted-foreground [&>svg]:size-3.5",i.caption_label),table:"w-full border-collapse",weekdays:W("flex",i.weekdays),weekday:W("text-muted-foreground rounded-(--cell-radius) flex-1 font-normal text-[0.8rem] select-none",i.weekday),week:W("flex w-full mt-2",i.week),week_number_header:W("select-none w-(--cell-size)",i.week_number_header),week_number:W("text-[0.8rem] select-none text-muted-foreground",i.week_number),day:W("relative w-full rounded-(--cell-radius) h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-(--cell-radius) group/day aspect-square select-none",o.showWeekNumber?"[&:nth-child(2)[data-selected=true]_button]:rounded-l-(--cell-radius)":"[&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)",i.day),range_start:W("rounded-l-(--cell-radius) bg-muted elative after:bg-muted after:absolute after:inset-y-0 after:w-4 after:right-0 -z-0 isolate",i.range_start),range_middle:W("rounded-none",i.range_middle),range_end:W("rounded-r-(--cell-radius) bg-muted relative after:bg-muted-200 after:absolute after:inset-y-0 after:w-4 after:left-0 -z-0 isolate",i.range_end),today:W("bg-muted text-foreground rounded-(--cell-radius) data-[selected=true]:rounded-none",i.today),outside:W("text-muted-foreground aria-selected:text-muted-foreground",i.outside),disabled:W("text-muted-foreground opacity-50",i.disabled),hidden:W("invisible",i.hidden),...t},components:{Root:({className:d,rootRef:u,...f})=>a.jsx("div",{"data-slot":"calendar",ref:u,className:W(d),...f}),Chevron:({className:d,orientation:u,...f})=>u==="left"?a.jsx(_n,{className:W("size-4",d),...f}):u==="right"?a.jsx(Rn,{className:W("size-4",d),...f}):a.jsx(An,{className:W("size-4",d),...f}),DayButton:Tl,WeekNumber:({children:d,...u})=>a.jsx("td",{...u,children:a.jsx("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:d})}),...c},...o})}function Tl({className:e,day:t,modifiers:n,...s}){const r=qt(),l=g.useRef(null);return g.useEffect(()=>{n.focused&&l.current?.focus()},[n.focused]),a.jsx(R,{ref:l,variant:"ghost",size:"icon","data-day":t.date.toLocaleDateString(),"data-selected-single":n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:W("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-foreground relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-r-(--cell-radius) data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-l-(--cell-radius) [&>span]:text-xs [&>span]:opacity-70",r.day,e),...s})}function mt({value:e,onChange:t,placeholder:n="Pick a date",className:s,disabled:r,startYear:l=1980,endYear:c=new Date().getFullYear()+10,icon:o=!0,isFormatted:i=!0,showTime:d=!1}){const[u,f]=g.useState(!1),m=e?e.getHours():0,x=e?e.getMinutes():0,y=e?e.getSeconds():0,k=(j,E)=>{const N={target:{value:String(j)}};E(N)},S=j=>{j&&e&&(j.setHours(e.getHours()),j.setMinutes(e.getMinutes()),j.setSeconds(e.getSeconds())),t?.(j),d||f(!1)},v=(j,E)=>{const N=e?new Date(e):new Date;j==="hours"&&N.setHours(E),j==="minutes"&&N.setMinutes(E),j==="seconds"&&N.setSeconds(E),t?.(N)},w=j=>{const E=Ie(new Date);switch(j){case"NULL":t?.(null);break;case"NOW":t?.(new Date);break;case"TODAY":t?.(E);break;case"YESTERDAY":t?.(pt(E,-1));break;case"TOMORROW":t?.(pt(E,1));break}},p=Array.from({length:24},(j,E)=>E),h=Array.from({length:60},(j,E)=>E),b=Array.from({length:60},(j,E)=>E),C=e&&e instanceof Date&&!Number.isNaN(e.getTime())?i?d?Ce(e,"dd/MM/yyyy HH:mm:ss"):Ce(e,"dd/MM/yyyy"):d?Ce(e,"yyyy-MM-dd HH:mm:ss"):Ce(e,"yyyy-MM-dd"):e===null?"NULL":n;return a.jsxs(Be,{open:u,onOpenChange:f,children:[a.jsx(xt,{asChild:!0,children:a.jsxs(R,{variant:"outline",className:W("w-[280px] justify-start text-left font-normal",!e&&"text-muted-foreground",s),disabled:r,children:[o&&a.jsx(or,{className:"mr-2 h-4 w-4"}),C]})}),a.jsx(Ke,{className:"w-auto p-0",align:"end",children:a.jsxs("div",{className:"flex",children:[a.jsxs("div",{className:"flex flex-col gap-1 p-2 border-r",children:[a.jsx(R,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>w("NULL"),children:"NULL"}),a.jsx(R,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>w("NOW"),children:"NOW"}),a.jsx(R,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>w("TODAY"),children:"TODAY"}),a.jsx(R,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>w("YESTERDAY"),children:"YESTERDAY"}),a.jsx(R,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>w("TOMORROW"),children:"TOMORROW"})]}),a.jsx(Ml,{components:{Dropdown:j=>a.jsxs(de,{onValueChange:E=>{j.onChange&&k(E,j.onChange)},value:String(j.value),children:[a.jsx(ue,{className:"h-8 w-fit font-medium first-letter:capitalize focus:ring-0 focus:ring-offset-0",children:a.jsx(fe,{})}),a.jsx(he,{children:j.options?.map(E=>a.jsx(B,{value:String(E.value),children:E.label},E.value))})]}),DropdownNav:j=>a.jsx("div",{className:"flex w-full items-center gap-2",children:j.children})},defaultMonth:e||new Date,hideNavigation:!0,mode:"single",onSelect:S,selected:e||void 0,startMonth:new Date(l,0),endMonth:new Date(c,11)}),d&&a.jsxs("div",{className:"flex border-l",children:[a.jsx(Ft,{label:"H",values:p,selected:m,onChange:j=>v("hours",j)}),a.jsx(Ft,{label:"M",values:h,selected:x,onChange:j=>v("minutes",j)}),a.jsx(Ft,{label:"S",values:b,selected:y,onChange:j=>v("seconds",j)})]})]})})]})}function Ft({label:e,values:t,selected:n,onChange:s}){const r=g.useRef(new Map);return g.useEffect(()=>{const l=r.current.get(n);l&&l.scrollIntoView({block:"center",behavior:"auto"})},[n]),a.jsxs("div",{className:"flex flex-col",children:[a.jsx("div",{className:"px-3 py-2 text-xs font-medium text-muted-foreground text-center border-b",children:e}),a.jsx(xr,{className:"h-[224px]",children:a.jsx("div",{className:"flex flex-col p-1",children:t.map(l=>a.jsx("button",{ref:c=>{c&&r.current.set(l,c)},type:"button",onClick:()=>s(l),className:W("w-10 h-8 text-sm rounded-md hover:bg-accent flex items-center justify-center",n===l&&"bg-primary text-primary-foreground hover:bg-primary"),children:l.toString().padStart(2,"0")},l))})})]})}const ft=e=>String(e).padStart(2,"0"),_l=({columnName:e,dataTypeLabel:t,columnDefault:n,enumValues:s,isForeignKey:r,referencedTable:l,referencedColumn:c})=>{const[,o]=P(M.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),{control:i}=Nn(),{openSheet:d,setRecordReference:u}=me(),f=m=>{const x={...m,value:m.value??""};return r?a.jsxs("div",{className:"flex flex-col gap-2",children:[a.jsxs("div",{className:"flex",children:[a.jsx(ae,{id:e,placeholder:n??"",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10",...x}),a.jsx(Je,{delayDuration:0,children:a.jsxs(Ge,{children:[a.jsx(Qe,{asChild:!0,children:a.jsx("button",{"aria-label":"Go to table",className:"inline-flex w-9 items-center justify-center rounded-e-md border border-input bg-background text-muted-foreground/80 text-sm outline-none transition-[color,box-shadow] hover:text-accent-foreground focus:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",type:"button",onClick:()=>{l&&e&&c&&u(l,e,c),d("record-reference"),o(l)},children:a.jsx(Wn,{"aria-hidden":"true",className:"size-4",size:16})})}),a.jsx(Xe,{className:"px-2 py-1 text-xs",children:"Go to table"})]})})]}),a.jsxs("span",{className:"text-xs text-muted-foreground",children:["Has a foreign key relation to"," ",a.jsx("button",{type:"button",className:"font-mono text-primary",onClick:()=>{l&&e&&c&&u(l,e,c),d("record-reference"),o(l)},children:l})," ","table"]})]}):t==="int"||t==="bigint"||t==="smallint"||t==="numeric"||t==="float"||t==="double"||t==="money"?a.jsx(ae,{id:e,type:"number",placeholder:n??"0",...x}):t==="boolean"?a.jsxs(de,{value:m.value,onValueChange:y=>m.onChange(y),children:[a.jsx(ue,{className:"w-full",children:a.jsx(fe,{placeholder:n??"true"})}),a.jsxs(he,{children:[a.jsx(B,{value:"true",children:"true"}),a.jsx(B,{value:"false",children:"false"})]})]}):t==="text"||t==="xml"?a.jsx(Se,{id:e,placeholder:n??"",rows:4,...x}):t==="json"||t==="jsonb"?a.jsx(Se,{id:e,placeholder:n??'{"key": "value"}',rows:6,...x}):t==="date"?a.jsxs("div",{className:"flex",children:[a.jsx(mt,{value:m.value?new Date(m.value):m.value===""?null:void 0,onChange:y=>m.onChange(y?y.toISOString().split("T")[0]:""),placeholder:n??"Select a date",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10"}),a.jsx(Je,{delayDuration:0,children:a.jsxs(Ge,{children:[a.jsx(Qe,{asChild:!0,children:a.jsx("button",{"aria-label":"Set to now",className:"inline-flex w-7 items-center justify-center rounded-e-md border border-input bg-background text-muted-foreground/80 text-sm outline-none transition-[color,box-shadow] hover:text-accent-foreground focus:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",type:"button",onClick:()=>{const y=new Date().toISOString().split("T")[0];m.onChange(y)},children:a.jsx(Tt,{"aria-hidden":"true",className:"size-4",size:16})})}),a.jsx(Xe,{className:"px-2 py-1 text-xs",children:"Set to now"})]})})]}):t==="timestamptz"?a.jsxs("div",{className:"flex",children:[a.jsx(mt,{value:m.value?new Date(m.value):m.value===""?null:void 0,onChange:y=>m.onChange(y?y.toISOString():""),showTime:!0,isFormatted:!1,placeholder:n??"Select a date and time",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10"}),a.jsx(Je,{delayDuration:0,children:a.jsxs(Ge,{children:[a.jsx(Qe,{asChild:!0,children:a.jsx("button",{"aria-label":"Set to now",className:"inline-flex w-7 items-center justify-center rounded-e-md border border-input bg-background text-muted-foreground/80 text-sm outline-none transition-[color,box-shadow] hover:text-accent-foreground focus:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",type:"button",onClick:()=>{const y=new Date().toISOString();m.onChange(y)},children:a.jsx(Tt,{"aria-hidden":"true",className:"size-4",size:16})})}),a.jsx(Xe,{className:"px-2 py-1 text-xs",children:"Set to now"})]})})]}):t==="timestamp"?a.jsxs("div",{className:"flex",children:[a.jsx(mt,{value:m.value?new Date(m.value):m.value===""?null:void 0,onChange:y=>m.onChange(y?y.toISOString():""),showTime:!0,isFormatted:!1,placeholder:n??"Select a date and time",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10"}),a.jsx(Je,{delayDuration:0,children:a.jsxs(Ge,{children:[a.jsx(Qe,{asChild:!0,children:a.jsx("button",{"aria-label":"Set to now",className:"inline-flex w-7 items-center justify-center rounded-e-md border border-input bg-background text-muted-foreground/80 text-sm outline-none transition-[color,box-shadow] hover:text-accent-foreground focus:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",type:"button",onClick:()=>{const y=new Date,k=y.getFullYear(),S=ft(y.getMonth()+1).padStart(2,"0"),v=ft(y.getDate()).padStart(2,"0"),w=ft(y.getHours()).padStart(2,"0"),p=ft(y.getMinutes()).padStart(2,"0");m.onChange(`${k}-${S}-${v}T${w}:${p}`)},children:a.jsx(Tt,{"aria-hidden":"true",className:"size-4",size:16})})}),a.jsx(Xe,{className:"px-2 py-1 text-xs",children:"Set to now"})]})})]}):t==="uuid"?a.jsxs("div",{className:"flex",children:[a.jsx(ae,{id:e,type:"text",placeholder:n??"",pattern:"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10",...x}),a.jsx(Je,{delayDuration:0,children:a.jsxs(Ge,{children:[a.jsx(Qe,{asChild:!0,children:a.jsx("button",{"aria-label":"Generate UUID",className:"inline-flex w-9 items-center justify-center rounded-e-md border border-input bg-background text-muted-foreground/80 text-sm outline-none transition-[color,box-shadow] hover:text-accent-foreground focus:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",type:"button",onClick:()=>{const y=crypto.randomUUID();m.onChange(y)},children:a.jsx(zn,{"aria-hidden":"true",className:"size-4",size:16})})}),a.jsx(Xe,{className:"px-2 py-1 text-xs",children:"Generate UUID"})]})})]}):t==="array"?a.jsx(Se,{id:e,placeholder:n??'["item1", "item2"]',rows:3,...x}):t==="enum"?s&&s.length>0?a.jsxs(de,{value:m.value,onValueChange:y=>m.onChange(y),children:[a.jsx(ue,{className:"w-full",children:a.jsx(fe,{placeholder:n??"Select a value"})}),a.jsx(he,{children:s.map(y=>a.jsx(B,{value:y,children:y},y))})]}):a.jsx(ae,{id:e,placeholder:n??"",...x}):t==="interval"?a.jsx(ae,{id:e,type:"text",placeholder:n??"1 day",...x}):t==="bytea"?a.jsx(ae,{id:e,type:"file",...x}):t==="inet"||t==="cidr"||t==="macaddr"||t==="macaddr8"?a.jsx(ae,{id:e,type:"text",placeholder:t==="inet"?"192.168.1.1":t==="cidr"?"192.168.1.0/24":t==="macaddr"?"08:00:2b:01:02:03":"08:00:2b:01:02:03:04:05",...x}):t==="point"||t==="line"||t==="polygon"?a.jsx(ae,{id:e,type:"text",placeholder:t==="point"?"(x,y)":t==="line"?"{A,B,C}":"((x1,y1),(x2,y2),...)",...x}):a.jsx(ae,{id:e,type:"text",placeholder:n??"",...x})};return a.jsx(Xs,{control:i,name:e,render:({field:m})=>a.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[a.jsxs("div",{className:"col-span-1 flex flex-col gap-1",children:[a.jsx(le,{htmlFor:e,children:e}),a.jsx("span",{className:"text-xs text-muted-foreground",children:t})]}),a.jsx("div",{className:"col-span-2 w-full",children:f(m)})]})},e)},Rl=({tableName:e})=>{const[t,n]=P(M.REFERENCED_TABLE_STATE_KEYS.FILTERS,Fe(p=>p).withDefault([]).withOptions({history:"push"})),[,s]=P(M.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,r]=P(M.REFERENCED_TABLE_STATE_KEYS.DIRECTION),{tableCols:l}=Ee({tableName:e}),[c,o]=g.useState(!1),[i,d]=g.useState([]),u=()=>{const p=l?.[0]?.columnName??"";d([...i,{columnName:p,operator:"=",value:""}])},f=p=>{d(i.filter((h,b)=>b!==p))},m=(p,h)=>{d(i.map((b,C)=>C===p?{...b,columnName:h}:b))},x=(p,h)=>{d(i.map((b,C)=>C===p?{...b,value:h}:b))},y=(p,h)=>{d(i.map((b,C)=>C===p?{...b,operator:h}:b))},k=()=>{d([]),n([]),s(null),r(null),o(!1)},S=()=>{const p=i.filter(h=>h.columnName&&h.operator&&h.value!=="");n(p),s(null),r(null),o(!1)},v=t.length>0,w=p=>{p&&d(t),o(p)};return a.jsxs(Be,{open:c,onOpenChange:w,children:[a.jsx(xt,{asChild:!0,children:a.jsxs(R,{type:"button",variant:"ghost",className:"border-r border-l-0 border-y-0 border-zinc-800 rounded-none text-xs h-full","aria-label":"Filter table data","data-active":v,children:[a.jsx(Fn,{className:"size-4"}),"Filter",v&&a.jsx(ke,{className:"text-[10px] font-normal text-white bg-primary/10 border border-primary/90 px-1.5 py-0.5",children:t.length})]})}),a.jsxs(Ke,{className:"w-md space-y-2",align:"start",children:[a.jsx("div",{className:"flex items-center gap-4",children:a.jsxs(R,{variant:"outline",size:"lg",className:"text-sm",onClick:u,children:["Add filter",i&&i.length>0&&a.jsx(ke,{className:"text-xs font-normal text-white bg-primary/10 border border-primary/90 px-1.5 py-0.5",children:i.length})]})}),a.jsx("div",{className:"flex flex-col gap-4",children:i.length>0?i.map((p,h)=>a.jsxs("div",{className:"flex-1 flex h-9 gap-2",children:[a.jsxs(de,{value:p.columnName,onValueChange:b=>m(h,b),children:[a.jsx(ue,{className:"w-full flex-1",children:a.jsx(fe,{placeholder:"Select column"})}),a.jsx(he,{children:l?.map(b=>a.jsx(B,{value:b.columnName,children:b.columnName},b.columnName))})]}),a.jsxs(de,{value:p.operator,onValueChange:b=>y(h,b),children:[a.jsx(ue,{children:a.jsx(fe,{placeholder:"Op"})}),a.jsxs(he,{children:[a.jsx(B,{value:"=",children:"="}),a.jsx(B,{value:"!=",children:"!="}),a.jsx(B,{value:">",children:">"}),a.jsx(B,{value:">=",children:">="}),a.jsx(B,{value:"<",children:"<"}),a.jsx(B,{value:"<=",children:"<="}),a.jsx(B,{value:"is",children:"is"}),a.jsx(B,{value:"is not",children:"is not"}),a.jsx(B,{value:"like",children:"like"}),a.jsx(B,{value:"not like",children:"not like"}),a.jsx(B,{value:"ilike",children:"ilike"}),a.jsx(B,{value:"not ilike",children:"not ilike"})]})]}),a.jsx(ae,{type:"text",placeholder:"Value",value:p.value,onChange:b=>x(h,b.target.value)}),a.jsx(R,{variant:"ghost",size:"icon",className:"text-xs",onClick:()=>f(h),children:a.jsx(yt,{className:"size-4"})})]},h)):a.jsx("div",{className:"flex-1 flex h-9 gap-2 items-center justify-center",children:a.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"No filters applied"})})}),a.jsxs("div",{className:"gap-2 flex justify-end",children:[a.jsx(R,{variant:"outline",size:"lg",className:"text-sm",onClick:k,children:"Reset"}),a.jsx(R,{variant:"default",size:"lg",className:"text-sm",onClick:S,children:"Apply"})]})]})]})};function Al({className:e,size:t="default",...n}){return a.jsx(Js,{"data-slot":"switch","data-size":t,className:W("data-checked:bg-primary data-unchecked:bg-input focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 dark:data-unchecked:bg-input/80 shrink-0 rounded-full border border-transparent focus-visible:ring-[2px] aria-invalid:ring-[2px] data-[size=default]:h-[16.6px] data-[size=default]:w-[28px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] peer group/switch relative inline-flex items-center transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 data-disabled:cursor-not-allowed data-disabled:opacity-50",e),...n,children:a.jsx(Gs,{"data-slot":"switch-thumb",className:"bg-background dark:data-unchecked:bg-foreground dark:data-checked:bg-primary-foreground rounded-full group-data-[size=default]/switch:size-3.5 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 pointer-events-none block ring-0 transition-transform"})})}const Wl=({tableName:e})=>{const{tableCols:t}=Ee({tableName:e}),[n,s]=P(M.REFERENCED_TABLE_STATE_KEYS.SORT,Fe(w=>w).withDefault([]).withOptions({history:"push"})),[,r]=P(M.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,l]=P(M.REFERENCED_TABLE_STATE_KEYS.DIRECTION),[c,o]=g.useState(!1),[i,d]=g.useState([]),u=()=>{const w=t?.[0]?.columnName??"";d([...i,{columnName:w,direction:"asc"}])},f=w=>{d(i.filter((p,h)=>h!==w))},m=(w,p)=>{d(i.map((h,b)=>b===w?{...h,columnName:p}:h))},x=(w,p)=>{d(i.map((h,b)=>b===w?{...h,direction:p}:h))},y=()=>{d([]),s([]),r(null),l(null),o(!1)},k=()=>{const w=i.filter(p=>p.columnName);s(w),r(null),l(null),o(!1)},S=n.length>0,v=w=>{w&&d(n),o(w)};return a.jsxs(Be,{open:c,onOpenChange:v,children:[a.jsx(xt,{asChild:!0,children:a.jsxs(R,{variant:"ghost",className:"border-r border-l-0 border-y-0 border-zinc-800 rounded-none text-xs h-full",children:[a.jsx(lr,{className:"size-4"}),"Sort",S&&a.jsx(ke,{className:"text-[10px] font-normal text-white bg-primary/10 border border-primary/90 px-1.5 py-0.5",children:n.length})]})}),a.jsxs(Ke,{className:"w-md space-y-2",align:"start",children:[a.jsx("div",{className:"flex items-center gap-4",children:a.jsxs(R,{variant:"outline",size:"lg",className:"text-sm",onClick:u,children:["Add sort",i&&i.length>0&&a.jsx(ke,{className:"text-xs font-normal text-white bg-primary/10 border border-primary/90 px-1.5 py-0.5",children:i.length})]})}),a.jsx("div",{className:"flex flex-col gap-4",children:i.length>0?i.map((w,p)=>a.jsxs("div",{className:"flex-1 flex h-9 gap-2 items-center",children:[a.jsxs(de,{value:w.columnName,onValueChange:h=>m(p,h),children:[a.jsx(ue,{className:"w-full flex-1",children:a.jsx(fe,{placeholder:"Select column"})}),a.jsx(he,{children:t?.map(h=>a.jsx(B,{value:h.columnName,children:h.columnName},h.columnName))})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(le,{htmlFor:`sort-direction-${p}`,children:"Asc"}),a.jsx(Al,{id:`sort-direction-${p}`,checked:w.direction==="desc",onCheckedChange:h=>x(p,h?"desc":"asc")}),a.jsx(le,{htmlFor:`sort-direction-${p}`,children:"Desc"})]}),a.jsx(R,{variant:"ghost",size:"icon",className:"text-xs",onClick:()=>f(p),children:a.jsx(yt,{className:"size-4"})})]},p)):a.jsx("div",{className:"flex-1 flex h-9 gap-2 items-center justify-center",children:a.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"No sorts applied"})})}),a.jsxs("div",{className:"gap-2 flex justify-end",children:[a.jsx(R,{variant:"outline",size:"lg",className:"text-sm",onClick:y,children:"Reset"}),a.jsx(R,{variant:"default",size:"lg",className:"text-sm",onClick:k,children:"Apply"})]})]})]})};function zl({className:e,...t}){return a.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:a.jsx("table",{"data-slot":"table",className:W("w-full caption-bottom text-xs",e),...t})})}function Fl({className:e,...t}){return a.jsx("thead",{"data-slot":"table-header",className:W("[&_tr]:border-b",e),...t})}function Yl({className:e,...t}){return a.jsx("tbody",{"data-slot":"table-body",className:W("[&_tr:last-child]:border-0",e),...t})}function Yt({className:e,...t}){return a.jsx("tr",{"data-slot":"table-row",className:W("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t})}function Pl({className:e,...t}){return a.jsx("th",{"data-slot":"table-head",className:W("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...t})}function bn({className:e,...t}){return a.jsx("td",{"data-slot":"table-cell",className:W("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...t})}const wt=({tableName:e,isReferencedTable:t=!1})=>{const{selectedDatabase:n}=Ve(),[s]=P(M.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),r=e||s,[l]=P(t?M.REFERENCED_TABLE_STATE_KEYS.CURSOR:M.TABLE_STATE_KEYS.CURSOR),[c]=P(t?M.REFERENCED_TABLE_STATE_KEYS.LIMIT.toString():M.TABLE_STATE_KEYS.LIMIT),[o]=P(t?M.REFERENCED_TABLE_STATE_KEYS.DIRECTION:M.TABLE_STATE_KEYS.DIRECTION),[i]=P(M.REFERENCED_TABLE_STATE_KEYS.SORT,Fe(v=>v).withDefault([]).withOptions({history:"push"})),[d]=P(M.TABLE_STATE_KEYS.SORT),[u]=P(M.TABLE_STATE_KEYS.ORDER),[f]=P(t?M.REFERENCED_TABLE_STATE_KEYS.FILTERS:M.TABLE_STATE_KEYS.FILTERS,Fe(v=>v).withDefault([]).withOptions({history:"push"})),{data:m,isLoading:x,isRefetching:y,refetch:k,error:S}=_r({queryKey:[M.CACHE_KEYS.TABLE_DATA,r,l,c,o,t?JSON.stringify(i):d,u,JSON.stringify(f),n],queryFn:async()=>{const v=M.CACHE_KEYS.TABLE_DEFAULT_LIMIT.toString(),w={limit:c?.toString()||v,db:n??void 0};return l&&(w.cursor=l),o&&(w.direction=o),t?i&&i.length>0&&(w.sort=JSON.stringify(i)):(d&&(w.sort=d),u&&(w.order=u)),f&&f.length>0&&(w.filters=JSON.stringify(f)),await Ue.get(`/tables/${r}/data`,{params:w})},select:v=>v.data.data,enabled:!!r});return{tableData:m,isLoadingTableData:x,isRefetchingTableData:y,errorTableData:S,refetchTableData:k}},Il=({tableName:e,referencedColumn:t,columnName:n})=>{const{setValue:s}=Nn(),{closeSheet:r}=me(),{tableCols:l,isLoadingTableCols:c}=Ee({tableName:e}),[o,i]=P(M.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),{tableData:d,isLoadingTableData:u}=wt({tableName:e,isReferencedTable:!0}),[,f]=P(M.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,m]=P(M.REFERENCED_TABLE_STATE_KEYS.DIRECTION),[x,y]=P(M.REFERENCED_TABLE_STATE_KEYS.LIMIT.toString());g.useEffect(()=>{e&&o!==e&&i(e),e&&!x&&y(M.REFERENCED_TABLE_STATE_KEYS.DEFAULT_LIMIT.toString())},[e,o,x,i,y]);const k=()=>{d?.meta?.nextCursor&&(f(d.meta.nextCursor),m("forward"))},S=()=>{d?.meta?.prevCursor&&(f(d.meta.prevCursor),m("backward"))},v=g.useMemo(()=>l?.map(h=>({id:h.columnName,accessorKey:h.columnName,header:h.columnName,cell:({row:b})=>a.jsx("div",{className:"font-medium max-w-[200px] truncate",children:Ar(b.getValue(h.columnName))})}))??[],[l]),w=Yn({columns:v??[],data:d?.data??[],getCoreRowModel:Pn()}),p=h=>{console.log(h.original[t??""]),s(n??"",h.original[t??""]),r("record-reference")};return c||u?a.jsx("div",{className:"flex items-center justify-center h-full",children:a.jsx(Dn,{size:"size-8"})}):a.jsxs("div",{children:[a.jsxs("div",{className:"sticky top-0 left-0 right-0 h-8 border-b border-zinc-800 w-full flex items-center justify-between bg-background z-50",children:[a.jsxs("div",{className:"flex items-center h-full",children:[a.jsx(Rl,{tableName:e}),a.jsx(Wl,{tableName:e})]}),a.jsxs("div",{className:"flex items-center h-full",children:[a.jsx(R,{variant:"ghost",size:"icon",className:"border-l border-r-0 border-y-0 border-zinc-800 rounded-none text-xs h-full aspect-square size-8",onClick:S,disabled:!d?.meta?.hasPreviousPage,children:a.jsx(ir,{className:"size-3"})}),a.jsx(R,{variant:"ghost",size:"icon",className:"border-r border-l border-y-0 border-zinc-800 rounded-none text-xs h-full aspect-square size-8",onClick:k,disabled:!d?.meta?.hasNextPage,children:a.jsx(cr,{className:"size-3"})})]})]}),a.jsxs(zl,{children:[a.jsx(Fl,{children:w.getHeaderGroups().map(h=>a.jsx(Yt,{className:"hover:bg-transparent text-xs sticky top-0 right-0 left-0",children:h.headers.map(b=>a.jsx(Pl,{className:"border-r border-zinc-800",children:b.isPlaceholder?null:nt(b.column.columnDef.header,b.getContext())},b.id))},h.id))}),a.jsx(Yl,{children:w.getRowModel().rows?.length?w.getRowModel().rows.map(h=>a.jsx(Yt,{className:"text-xs cursor-pointer",onClick:()=>p(h),children:h.getVisibleCells().map(b=>a.jsx(bn,{className:"border-r border-zinc-800",children:nt(b.column.columnDef.cell,b.getContext())},b.id))},h.id)):a.jsx(Yt,{children:a.jsx(bn,{className:"h-24 text-center",colSpan:v.length,children:"No results."})})})]})]})},Bl=()=>{const[,e]=P(M.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),[,t]=P(M.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,n]=P(M.REFERENCED_TABLE_STATE_KEYS.DIRECTION),[,s]=P(M.REFERENCED_TABLE_STATE_KEYS.LIMIT.toString()),[,r]=P(M.REFERENCED_TABLE_STATE_KEYS.SORT.toString()),[,l]=P(M.REFERENCED_TABLE_STATE_KEYS.ORDER.toString()),[,c]=P(M.REFERENCED_TABLE_STATE_KEYS.FILTERS,Fe(u=>u).withDefault([]).withOptions({history:"push"})),{closeSheet:o,isSheetOpen:i,recordReferenceData:d}=me();return!d.tableName||!d.referencedColumn?null:a.jsx($e,{title:`View records in the table ${d.tableName}`,size:"max-w-lg!",contentClassName:"p-0",open:i("record-reference"),onOpenChange:u=>{u||(o("record-reference"),e(null),t(null),n(null),s(null),r(null),l(null),c(null))},children:a.jsx(Il,{tableName:d.tableName,referencedColumn:d.referencedColumn??null,columnName:d.columnName??""})})},Kl=({tableName:e})=>{const t=at(),{closeSheet:n}=me(),{selectedDatabase:s}=Ve(),{mutateAsync:r,isPending:l}=ot({mutationFn:async o=>{const i=new URLSearchParams({db:s??""});return(await Ue.post("/records",{tableName:e,data:o},{params:i})).data.data},onSuccess:async o=>{await Promise.all([t.invalidateQueries({queryKey:[M.CACHE_KEYS.TABLE_DATA,e],exact:!1}),t.invalidateQueries({queryKey:[M.CACHE_KEYS.TABLES_LIST]})]),n("add-record"),console.log("Record created successfully:",o)},onError:o=>{console.error("Error creating record:",o)}});return{createRecord:async(o,i)=>{if(!o||Object.keys(o).length===0)throw new Error("At least one field is required");return De.promise(r(o,i),{loading:"Creating record...",success:d=>d||"Record created successfully",error:d=>d.detail||d.message||"Failed to create record"})},isCreatingRecord:l}},Vl=({tableName:e})=>{const{closeSheet:t,isSheetOpen:n}=me(),{tableCols:s,isLoadingTableCols:r}=Ee({tableName:e}),{createRecord:l,isCreatingRecord:c}=Kl({tableName:e}),o=Zs(),i=async m=>{console.log("onSubmit",m),l(m,{onSuccess:()=>{o.reset(),t("add-record")},onError:x=>{console.error("Failed to create record:",x)}})},d=m=>{console.log("onError",m)},u=()=>{o.reset(),t("add-record")};console.log("tableCols",s);const f=()=>s&&s.length>0?a.jsxs(er,{...o,children:[a.jsxs("form",{onSubmit:o.handleSubmit(i,d),className:"flex flex-col h-full",children:[a.jsx("div",{className:"space-y-6",children:s&&s.length>0&&!r?s.map(m=>a.jsx(_l,{...m},m.columnName)):null}),a.jsxs("div",{className:"flex justify-end gap-2 py-6",children:[a.jsx(rt,{asChild:!0,onClick:u,disabled:c,children:a.jsx(R,{variant:"outline",size:"lg",children:"Close"})}),a.jsx(R,{type:"submit",size:"lg",disabled:c||!o.formState.isDirty,children:"Save"})]})]}),a.jsx(Bl,{})]}):a.jsx("div",{className:"flex flex-col h-full",children:a.jsx("div",{className:"space-y-6",children:a.jsx(se,{variant:"info",title:"No columns found",message:"Please add at least one column to the table before adding a record."})})});return a.jsx($e,{title:`Add a new record to the table: ${e}`,open:n("add-record"),onOpenChange:m=>{m||u()},children:f()})},Qt=Qs,vt=g.forwardRef(({className:e,...t},n)=>a.jsx(Sn,{ref:n,className:W("inline-flex h-10 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...t}));vt.displayName=Sn.displayName;const Te=g.forwardRef(({className:e,...t},n)=>a.jsx(kn,{ref:n,className:W("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...t}));Te.displayName=kn.displayName;const _e=g.forwardRef(({className:e,...t},n)=>a.jsx(jn,{ref:n,className:W("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t}));_e.displayName=jn.displayName;const St=({tableName:e})=>{const t=at(),{closeSheet:n}=me(),{selectedDatabase:s}=Ve(),{mutateAsync:r,isPending:l}=ot({mutationFn:async o=>{const i=new URLSearchParams({db:s??""}),d=await Ue.post("/records/bulk",{tableName:e,records:o},{params:i});return console.log("res",d.data.data),d.data.data},onSuccess:async()=>{await Promise.all([t.invalidateQueries({queryKey:[M.CACHE_KEYS.TABLE_DATA,e],exact:!1}),t.invalidateQueries({queryKey:[M.CACHE_KEYS.TABLES_LIST],exact:!1}),t.invalidateQueries({queryKey:[M.CACHE_KEYS.TABLE_COLUMNS,e],exact:!1})]),n("bulk-insert-records")}});return{bulkInsertRecords:async(o,i)=>{if(!o||o.length===0)throw new Error("At least one record is required");return De.promise(r(o),{loading:`Inserting ${o.length} record${o.length!==1?"s":""}...`,success:d=>(i?.onSuccess?.(d),d.failureCount>0?`${d.successCount} records inserted, ${d.failureCount} failed`:d.message),error:d=>(i?.onError?.(d),d.detail||d.message||"Failed to insert records")})},isInserting:l}},Re=e=>{const t=e.trim();if(t.startsWith("[")||t.startsWith("{"))try{const n=JSON.parse(t);if(Array.isArray(n))return n;if(typeof n=="object"&&n!==null)return[n];throw new Error("Invalid JSON format")}catch(n){throw n instanceof SyntaxError?new Error(`Invalid JSON format: ${n.message.replace("JSON.","")}`):n}return Ul(t)},Ul=e=>{const t=e.split(`
|
|
2
|
+
`).filter(c=>c.trim());if(t.length<1)throw new Error("No data to parse");const n=t[0],s=$l(n),r=Cn(n,s).map(c=>c.trim());if(r.length===0)throw new Error("No headers found in CSV");const l=[];for(let c=1;c<t.length;c++){const o=Cn(t[c],s);o.length!==r.length&&console.warn(`Row ${c+1} has ${o.length} values but ${r.length} headers expected`);const i={};r.forEach((d,u)=>{const f=o[u]?.trim()??"";i[d]=Hl(f)}),l.push(i)}if(l.length===0)throw new Error("No records found in CSV");return l},$l=e=>{const t=[","," ",";"];let n=0,s=",";for(const r of t){const l=(e.match(new RegExp(`\\${r}`,"g"))||[]).length;l>n&&(n=l,s=r)}return s},Cn=(e,t)=>{const n=[];let s="",r=!1;for(let l=0;l<e.length;l++){const c=e[l],o=e[l+1];c==='"'?r&&o==='"'?(s+='"',l++):r=!r:c===t&&!r?(n.push(s),s=""):s+=c}return n.push(s),n},Hl=e=>{if(e===""||e==="null")return null;if(e==="true")return!0;if(e==="false")return!1;if(!Number.isNaN(Number(e))&&e!==""){const t=Number(e);if(String(t)===e||e.includes(".")&&!Number.isNaN(parseFloat(e)))return t}if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e)}catch{}return e},Ll=({tableName:e})=>{const{closeSheet:t,isSheetOpen:n}=me(),{bulkInsertRecords:s,isInserting:r}=St({tableName:e}),l=g.useRef(null),[c,o]=g.useState(""),[i,d]=g.useState(null),[u,f]=g.useState([]),[m,x]=g.useState(null),[y,k]=g.useState("file"),S=h=>{const b=h.target.files?.[0];b&&(d(b),f([]),x(null))},v=g.useCallback(()=>{x(null),f([]);try{if(y==="file"&&i){const h=new FileReader;h.onload=b=>{try{const C=b.target?.result,j=Re(C);f(j)}catch(C){x(C instanceof Error?C.message:"Failed to parse file")}},h.readAsText(i)}else if(c.trim()){const h=Re(c);f(h)}else x(y==="file"?"No file selected":"Input is empty")}catch(h){x(h instanceof Error?h.message:"Failed to format data")}},[c,i,y]),w=async()=>{if(u.length===0){x("No records to insert");return}try{await s(u,{onSuccess:()=>{o(""),d(null),f([]),x(null),t("bulk-insert-csv")}})}catch(h){console.error("Error inserting records:",h)}},p=()=>{o(""),d(null),f([]),x(null),t("bulk-insert-csv")};return a.jsx($e,{title:`Add data from CSV into: ${e}`,open:n("bulk-insert-csv"),onOpenChange:h=>{h||p()},children:a.jsxs("div",{className:"flex flex-col h-full gap-4",children:[a.jsx(se,{variant:"info",title:"CSV Import",message:"Enter CSV data with headers. Supports comma, tab, or semicolon delimiters. First row should be column names."}),a.jsxs(Qt,{value:y,onValueChange:h=>k(h),children:[a.jsxs(vt,{className:"grid w-full grid-cols-2",children:[a.jsx(Te,{value:"file",children:"File"}),a.jsx(Te,{value:"text",children:"Text"})]}),a.jsx(_e,{value:"file",className:"flex-1 flex flex-col gap-4",children:a.jsxs("div",{className:"flex flex-col gap-2",children:[a.jsx(le,{htmlFor:"file-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Select CSV file"}),a.jsx("input",{id:"file-input",ref:l,type:"file",accept:".csv",onChange:S,disabled:r,className:"text-sm text-zinc-400 file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-zinc-700 file:text-white hover:file:bg-zinc-600 cursor-pointer disabled:opacity-50"})]})}),a.jsx(_e,{value:"text",className:"flex-1 flex flex-col gap-4",children:a.jsxs("div",{className:"flex-1 flex flex-col",children:[a.jsx(le,{htmlFor:"text-input",className:"text-sm font-medium mb-2 text-zinc-300",children:"Data Input"}),a.jsx(Se,{id:"text-input",value:c,onChange:h=>{o(h.target.value),f([]),x(null)},placeholder:`column1,column2,column3
|
|
3
|
+
value1,value2,value3
|
|
4
|
+
value4,value5,value6`,className:"flex-1 resize-none font-mono text-sm",disabled:r})]})})]}),m&&a.jsx(se,{variant:"error",title:"Parse Error",message:m}),u.length>0&&a.jsx(se,{variant:"success",title:"Ready to Insert",message:`${u.length} record${u.length!==1?"s":""} parsed successfully`}),a.jsxs("div",{className:"flex justify-between gap-2",children:[a.jsx(R,{variant:"secondary",size:"lg",onClick:v,disabled:y==="file"?!i:!c.trim()||r,children:"Format"}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(rt,{asChild:!0,onClick:p,disabled:r,children:a.jsx(R,{variant:"outline",size:"lg",children:"Close"})}),a.jsx(R,{type:"button",size:"lg",onClick:w,disabled:u.length===0||r,children:r?"Inserting...":"Insert"})]})]})]})})},ql=({tableName:e})=>{const{closeSheet:t,isSheetOpen:n}=me(),{bulkInsertRecords:s,isInserting:r}=St({tableName:e}),l=g.useRef(null),[c,o]=g.useState(""),[i,d]=g.useState(null),[u,f]=g.useState([]),[m,x]=g.useState(null),[y,k]=g.useState("file"),S=h=>{const b=h.target.files?.[0];b&&(d(b),f([]),x(null))},v=g.useCallback(()=>{x(null),f([]);try{if(y==="file"&&i){const h=new FileReader;h.onload=b=>{try{const C=b.target?.result,j=Re(C);f(j)}catch(C){x(C instanceof Error?C.message:"Failed to parse file")}},h.readAsText(i)}else if(c.trim()){const h=Re(c);f(h)}else x(y==="file"?"No file selected":"Input is empty")}catch(h){x(h instanceof Error?h.message:"Failed to format data")}},[c,i,y]),w=async()=>{if(u.length===0){x("No records to insert");return}try{await s(u,{onSuccess:()=>{o(""),d(null),f([]),x(null),t("bulk-insert-excel")}})}catch(h){console.error("Error inserting records:",h)}},p=()=>{o(""),d(null),f([]),x(null),t("bulk-insert-excel")};return a.jsx($e,{title:`Add data from Excel into: ${e}`,open:n("bulk-insert-excel"),onOpenChange:h=>{h||p()},children:a.jsxs("div",{className:"flex flex-col h-full gap-4",children:[a.jsx(se,{variant:"info",title:"Excel Import",message:"Upload an Excel file (.xlsx, .xls) with headers in the first row. Column names should match your table schema."}),a.jsxs(Qt,{value:y,onValueChange:h=>k(h),children:[a.jsxs(vt,{className:"grid w-full grid-cols-2",children:[a.jsx(Te,{value:"file",children:"File"}),a.jsx(Te,{value:"text",children:"Text"})]}),a.jsx(_e,{value:"file",className:"flex-1 flex flex-col gap-4",children:a.jsxs("div",{className:"flex flex-col gap-2",children:[a.jsx(le,{htmlFor:"file-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Select Excel file"}),a.jsx("input",{id:"file-input",ref:l,type:"file",accept:".xlsx,.xls",onChange:S,disabled:r,className:"text-sm text-zinc-400 file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-zinc-700 file:text-white hover:file:bg-zinc-600 cursor-pointer disabled:opacity-50"})]})}),a.jsx(_e,{value:"text",className:"flex-1 flex flex-col gap-4",children:a.jsxs("div",{className:"flex-1 flex flex-col",children:[a.jsx(le,{htmlFor:"text-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Data Input"}),a.jsx(Se,{id:"text-input",value:c,onChange:h=>{o(h.target.value),f([]),x(null)},placeholder:`column1 column2 column3
|
|
5
|
+
value1 value2 value3
|
|
6
|
+
value4 value5 value6`,className:"flex-1 resize-none font-mono text-sm",disabled:r})]})})]}),m&&a.jsx(se,{variant:"error",title:"Parse Error",message:m}),u.length>0&&a.jsx(se,{variant:"success",title:"Ready to Insert",message:`${u.length} record${u.length!==1?"s":""} parsed successfully`}),a.jsxs("div",{className:"flex justify-between gap-2",children:[a.jsx(R,{variant:"secondary",size:"lg",onClick:v,disabled:y==="file"?!i:!c.trim()||r,children:"Format"}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(rt,{asChild:!0,onClick:p,disabled:r,children:a.jsx(R,{variant:"outline",size:"lg",children:"Close"})}),a.jsx(R,{type:"button",size:"lg",onClick:w,disabled:u.length===0||r,children:r?"Inserting...":"Insert"})]})]})]})})},Jl=({tableName:e})=>{const{closeSheet:t,isSheetOpen:n}=me(),{bulkInsertRecords:s,isInserting:r}=St({tableName:e}),l=g.useRef(null),[c,o]=g.useState(""),[i,d]=g.useState(null),[u,f]=g.useState([]),[m,x]=g.useState(null),[y,k]=g.useState("file"),S=h=>{const b=h.target.files?.[0];b&&(d(b),f([]),x(null))},v=g.useCallback(()=>{x(null),f([]);try{if(y==="file"&&i){const h=new FileReader;h.onload=b=>{try{const C=b.target?.result,j=Re(C);f(j)}catch(C){x(C instanceof Error?C.message:"Failed to parse file")}},h.readAsText(i)}else if(c.trim()){const h=Re(c);f(h)}else x(y==="file"?"No file selected":"Input is empty")}catch(h){x(h instanceof Error?h.message:"Failed to format data")}},[c,i,y]),w=async()=>{if(u.length===0){x("No records to insert");return}try{await s(u,{onSuccess:()=>{o(""),d(null),f([]),x(null),t("bulk-insert-json")}})}catch(h){console.error("Error inserting records:",h)}},p=()=>{o(""),d(null),f([]),x(null),t("bulk-insert-json")};return a.jsx($e,{title:`Add data from JSON into: ${e}`,open:n("bulk-insert-json"),onOpenChange:h=>{h||p()},children:a.jsxs("div",{className:"flex flex-col h-full gap-4",children:[a.jsx(se,{variant:"info",title:"JSON Import",message:'Enter JSON array or single object. Example: [{"name": "John", "age": 30}, {"name": "Jane", "age": 28}]'}),a.jsxs(Qt,{value:y,onValueChange:h=>k(h),children:[a.jsxs(vt,{className:"grid w-full grid-cols-2",children:[a.jsx(Te,{value:"file",children:"File"}),a.jsx(Te,{value:"text",children:"Text"})]}),a.jsx(_e,{value:"file",className:"flex-1 flex flex-col gap-4",children:a.jsxs("div",{className:"flex flex-col gap-2",children:[a.jsx(le,{htmlFor:"file-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Select JSON file"}),a.jsx("input",{id:"file-input",ref:l,type:"file",accept:".json",onChange:S,disabled:r,className:"text-sm text-zinc-400 file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-zinc-700 file:text-white hover:file:bg-zinc-600 cursor-pointer disabled:opacity-50"})]})}),a.jsx(_e,{value:"text",className:"flex-1 flex flex-col gap-4",children:a.jsxs("div",{className:"flex-1 flex flex-col",children:[a.jsx(le,{htmlFor:"text-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Data Input"}),a.jsx(Se,{id:"text-input",value:c,onChange:h=>{o(h.target.value),f([]),x(null)},placeholder:'[{"column1": "value1", "column2": "value2"}]',className:"flex-1 resize-none font-mono text-sm",disabled:r})]})})]}),m&&a.jsx(se,{variant:"error",title:"Parse Error",message:m}),u.length>0&&a.jsx(se,{variant:"success",title:"Ready to Insert",message:`${u.length} record${u.length!==1?"s":""} parsed successfully`}),a.jsxs("div",{className:"flex justify-between gap-2",children:[a.jsx(R,{variant:"secondary",size:"lg",onClick:v,disabled:y==="file"?!i:!c.trim()||r,children:"Format"}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(rt,{asChild:!0,onClick:p,disabled:r,children:a.jsx(R,{variant:"outline",size:"lg",children:"Close"})}),a.jsx(R,{type:"button",size:"lg",onClick:w,disabled:u.length===0||r,children:r?"Inserting...":"Insert"})]})]})]})})},Gl=({tableName:e})=>{const{closeSheet:t,isSheetOpen:n}=me(),{bulkInsertRecords:s,isInserting:r}=St({tableName:e}),[l,c]=g.useState(""),[o,i]=g.useState([]),[d,u]=g.useState(null),[f,m]=g.useState("auto"),x=g.useCallback(()=>{u(null),i([]);try{if(!l.trim()){u("Input is empty");return}const v=Re(l);i(v)}catch(v){u(v instanceof Error?v.message:"Failed to parse data")}},[l]),y=async()=>{if(o.length===0){u("No records to insert");return}try{await s(o,{onSuccess:()=>{c(""),i([]),u(null)}})}catch(v){console.error("Error inserting records:",v)}},k=()=>{c(""),i([]),u(null),t("bulk-insert-records")},S=()=>{c(""),i([]),u(null)};return a.jsx($e,{title:`Bulk Insert Records into: ${e}`,open:n("bulk-insert-records"),onOpenChange:v=>{v||k()},children:a.jsxs("div",{className:"flex flex-col h-full gap-4",children:[a.jsxs("div",{className:"flex gap-2",children:[a.jsx("button",{onClick:()=>m("auto"),type:"button",className:`px-3 py-1 text-sm rounded-md transition-colors ${f==="auto"?"bg-blue-600 text-white":"bg-zinc-700 text-zinc-300 hover:bg-zinc-600"}`,children:"Auto"}),a.jsx("button",{onClick:()=>m("csv"),type:"button",className:`px-3 py-1 text-sm rounded-md transition-colors ${f==="csv"?"bg-blue-600 text-white":"bg-zinc-700 text-zinc-300 hover:bg-zinc-600"}`,children:"CSV"}),a.jsx("button",{onClick:()=>m("json"),type:"button",className:`px-3 py-1 text-sm rounded-md transition-colors ${f==="json"?"bg-blue-600 text-white":"bg-zinc-700 text-zinc-300 hover:bg-zinc-600"}`,children:"JSON"})]}),a.jsx(se,{variant:"info",title:"Bulk Insert",message:f==="json"?'Enter JSON array or single object. Example: [{"name": "John", "age": 30}, {"name": "Jane", "age": 28}]':"Enter CSV data with headers. Supports comma, tab, or semicolon delimiters. First row should be column names."}),a.jsxs("div",{className:"flex-1 flex flex-col",children:[a.jsx(le,{htmlFor:"text-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Data Input"}),a.jsx(Se,{id:"text-input",value:l,onChange:v=>{c(v.target.value),i([]),u(null)},placeholder:f==="json"?'[{"column1": "value1", "column2": "value2"}]':`column1,column2,column3
|
|
7
|
+
value1,value2,value3
|
|
8
|
+
value4,value5,value6`,className:"flex-1 resize-none font-mono text-sm"})]}),d&&a.jsx(se,{variant:"error",title:"Parse Error",message:d}),o.length>0&&a.jsx(se,{variant:"success",title:"Ready to Insert",message:`${o.length} record${o.length!==1?"s":""} parsed successfully`}),a.jsxs("div",{className:"flex justify-between gap-2",children:[a.jsxs("div",{className:"flex gap-2",children:[a.jsx(R,{variant:"outline",size:"lg",onClick:S,disabled:!l||r,children:"Clear"}),a.jsx(R,{variant:"secondary",size:"lg",onClick:x,disabled:!l||r,children:"Preview"})]}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(rt,{asChild:!0,onClick:k,disabled:r,children:a.jsx(R,{variant:"outline",size:"lg",children:"Close"})}),a.jsx(R,{type:"button",size:"lg",onClick:y,disabled:o.length===0||r,children:r?"Inserting...":"Insert"})]})]})]})})},Ql=()=>{const{openSheet:e}=me();return a.jsxs(En,{children:[a.jsx(On,{asChild:!0,children:a.jsxs(R,{type:"button",variant:"default",className:"h-8! border-l-0 border-y-0 border-r border-zinc-800 rounded-none flex items-center gap-2","aria-label":"Add records to the table",children:[a.jsx(dr,{className:"size-4"}),"Add Record"]})}),a.jsxs(Mn,{align:"start",className:"w-48",children:[a.jsx(Ne,{onClick:()=>e("add-record"),children:"Add Record"}),a.jsx(Ne,{onClick:()=>e("bulk-insert-csv"),children:"Add data from CSV"}),a.jsx(Ne,{onClick:()=>e("bulk-insert-excel"),children:"Add data from Excel"}),a.jsx(Ne,{onClick:()=>e("bulk-insert-json"),children:"Add data from JSON"})]})]})},ht=(e,t)=>`${e.id??JSON.stringify(e)}-${t}`,ye=tr()((e,t)=>({updates:new Map,setUpdate:(n,s,r,l)=>{e(c=>{const o=new Map(c.updates),i=ht(n,s);return r===l?o.delete(i):o.set(i,{rowData:n,columnName:s,newValue:r,originalValue:l}),console.log("setUpdate",{rowData:n,columnName:s,newValue:r,originalValue:l}),{updates:o}})},clearUpdates:()=>e({updates:new Map}),clearUpdate:(n,s)=>{e(r=>{const l=new Map(r.updates);return l.delete(ht(n,s)),{updates:l}})},getUpdates:()=>Array.from(t().updates.values()),getUpdate:(n,s)=>t().updates.get(ht(n,s))??null,hasUpdate:(n,s)=>t().updates.has(ht(n,s)),hasAnyUpdates:()=>t().updates.size>0,getUpdateCount:()=>t().updates.size})),ps=()=>{const e=at(),{table:t}=Bt.useParams(),{clearUpdates:n,getUpdateCount:s}=ye(),{selectedDatabase:r}=Ve(),{mutateAsync:l,isPending:c}=ot({mutationFn:async o=>{if(!t)throw new Error("No table selected");const i={tableName:t,updates:o.map(u=>({rowData:u.rowData,columnName:u.columnName,value:u.newValue}))},d=new URLSearchParams({db:r??""});return Ue.patch("/records",i,{params:d})},onSuccess:async o=>{const i=s();De.success(o.data.data||`${i} ${i===1?"change":"changes"} saved successfully`),n(),await Promise.all([e.invalidateQueries({queryKey:[M.CACHE_KEYS.TABLE_DATA,t],exact:!1})])},onError:o=>{console.error("Update error:",o),De.error("Failed to save changes",{description:o instanceof Error?o.message:"Unknown error occurred"})}});return{updateCell:l,isUpdatingCell:c}},Xl=()=>{const{getUpdateCount:e,clearUpdates:t}=ye(),{isUpdatingCell:n}=ps(),s=g.useCallback(()=>{t()},[t]);return e()===0?null:a.jsx(R,{type:"button",variant:"secondary",className:"h-8! border-l-0 border-y-0 border-r border-zinc-800 rounded-none",onClick:s,"aria-label":"Clear changes to the table",disabled:n,children:"Clear Changes"})},Zl=({tableName:e})=>{const t=at(),{tableCols:n}=Ee({tableName:e}),{selectedDatabase:s}=Ve(),{mutateAsync:r,isPending:l,reset:c,error:o}=ot({mutationFn:async({rowData:u,force:f=!1})=>{if(!e)throw new Error("No active table selected");if(!n||n.length===0)throw new Error("No table columns found");return await ei(e,n,u,f,s||void 0)},onSuccess:async u=>{console.log("result",u),De.success(`Deleted ${u.deletedCount} records from "${e}"`),await Promise.all([t.invalidateQueries({queryKey:[M.CACHE_KEYS.TABLE_DATA,e],exact:!1}),t.invalidateQueries({queryKey:[M.CACHE_KEYS.TABLES_LIST]})])},onError:u=>{console.error("Delete error:",u),u instanceof nr&&u.status===409?De.error(`Cannot delete records from "${e}" due to foreign key constraints, on ${u.response?.data.relatedRecords.map(f=>f.tableName).join(", ")}`):De.error(u instanceof Error?u.message:"Unknown error occurred")}});return{deleteCells:async u=>r({rowData:u,force:!1}),forceDeleteCells:async u=>r({rowData:u,force:!0}),isDeletingCells:l,resetDeleteResult:c,deleteCellsError:o}},ei=async(e,t,n,s,r)=>{const l=s?"/records/force":"/records",c=t.find(d=>d.isPrimaryKey);if(!c)throw new Error("No primary key found for this table");const o=n.map(d=>({columnName:c.columnName,value:d[c.columnName]})),i={tableName:e,primaryKeys:o};try{const d=await Ue.delete(l,{data:i,params:{db:r}});return{deletedCount:d.data.data.deletedCount,fkViolation:d.data.data.fkViolation,relatedRecords:d.data.data.relatedRecords}}catch(d){const u=d;if(console.log("axiosError",u),u.response?.status===409)return{deletedCount:u.response.data.deletedCount};throw d}},ti=({isOpenFkDialog:e,handleDialogClose:t,relatedRecords:n,handleCancelForceDelete:s,handleForceDelete:r,isDeletingCells:l})=>a.jsx(yr,{open:e,onOpenChange:t,children:a.jsxs(br,{className:"max-w-2xl z-500",children:[a.jsxs(Cr,{children:[a.jsx(wr,{children:"Cannot Delete - Foreign Key Constraint"}),a.jsx(vr,{children:"The selected records cannot be deleted because they are referenced by records in other tables. You can either cancel the operation or force delete, which will also delete all related records."})]}),a.jsx(ni,{relatedRecords:n}),a.jsxs(Sr,{className:"gap-2",children:[a.jsx(R,{variant:"outline",onClick:s,disabled:l,children:"Cancel"}),a.jsx(R,{variant:"destructive",onClick:r,disabled:l,children:l?"Deleting...":"Force Delete All"})]})]})}),ni=({relatedRecords:e})=>a.jsx("div",{className:"space-y-4 max-h-64 overflow-y-auto",children:e.map((t,n)=>a.jsxs("div",{className:"border border-zinc-700 rounded-md p-3",children:[a.jsxs("div",{className:"font-medium text-sm mb-2",children:["Table: ",a.jsx("span",{className:"text-primary",children:t.tableName}),a.jsxs("span",{className:"text-muted-foreground ml-2",children:["(",t.records.length," record",t.records.length!==1?"s":"",")"]})]}),a.jsxs("div",{className:"text-xs text-muted-foreground mb-2",children:["References column: ",t.columnName]}),a.jsx("div",{className:"bg-zinc-900 rounded p-2 text-xs overflow-x-auto",children:a.jsxs("pre",{className:"whitespace-pre-wrap",children:[JSON.stringify(t.records.slice(0,5),null,2),t.records.length>5&&a.jsxs("div",{className:"text-muted-foreground mt-2",children:["... and ",t.records.length-5," more"]})]})})]},`${t.tableName}-${t.columnName}-${n}`))}),si=({selectedRows:e,setRowSelection:t,tableName:n})=>{const{deleteCells:s,forceDeleteCells:r,isDeletingCells:l,resetDeleteResult:c}=Zl({tableName:n}),[o,i]=g.useState([]),[d,u]=g.useState(!1),[f,m]=g.useState([]),x=g.useCallback(async()=>{const v=e.map(w=>w.original);try{await s(v),t({})}catch{i(v),m([]),u(!0)}},[s,e,t]),y=async()=>{if(o.length===0)return;const v=await r(o);console.log("Force delete response:",v),v?.deletedCount>0&&(u(!1),i([]),m([]),c(),t({}))},k=g.useCallback(()=>{u(!1),i([]),m([]),c()},[c]),S=v=>{l||(v?u(v):k())};return e?.length===0?null:a.jsxs(a.Fragment,{children:[a.jsxs(R,{type:"button",variant:"destructive",className:"h-8! border-l-0 border-y-0 border-r border-zinc-800 text-white rounded-none",onClick:x,"aria-label":"Delete the selected record",disabled:l,children:["Delete Record",e?.length>1&&a.jsx("span",{className:"ml-1.5 px-1.5 text-[10px] bg-white/20 border border-white/20 rounded",children:e?.length})]}),a.jsx(ti,{isOpenFkDialog:d,handleDialogClose:S,relatedRecords:f,handleCancelForceDelete:k,handleForceDelete:y,isDeletingCells:l})]})},ri=({tableName:e})=>{const[t,n]=P(M.TABLE_STATE_KEYS.FILTERS,Fe(p=>p).withDefault([]).withOptions({history:"push"})),[,s]=P(M.TABLE_STATE_KEYS.CURSOR),[,r]=P(M.TABLE_STATE_KEYS.DIRECTION),{tableCols:l}=Ee({tableName:e}),[c,o]=g.useState(!1),[i,d]=g.useState([]),u=()=>{const p=l?.[0]?.columnName??"";d([...i,{columnName:p,operator:"=",value:""}])},f=p=>{d(i.filter((h,b)=>b!==p))},m=(p,h)=>{d(i.map((b,C)=>C===p?{...b,columnName:h}:b))},x=(p,h)=>{d(i.map((b,C)=>C===p?{...b,value:h}:b))},y=(p,h)=>{d(i.map((b,C)=>C===p?{...b,operator:h}:b))},k=()=>{d([]),n([]),s(null),r(null),o(!1)},S=()=>{const p=i.filter(h=>h.columnName&&h.operator&&h.value!=="");n(p),s(null),r(null),o(!1)},v=t.length>0,w=p=>{p&&d(t),o(p)};return a.jsxs(Be,{open:c,onOpenChange:w,children:[a.jsx(xt,{asChild:!0,children:a.jsx(R,{type:"button",variant:"ghost",className:"size-8! aspect-square border-l-0 border-y-0 border-r border-zinc-800 rounded-none","aria-label":"Filter table data","data-active":v,children:a.jsx(Fn,{className:"size-4"})})}),a.jsxs(Ke,{className:"w-md space-y-2",align:"start",children:[a.jsx("div",{className:"flex items-center gap-4",children:a.jsxs(R,{variant:"outline",size:"lg",className:"text-sm",onClick:u,children:["Add filter",i&&i.length>0&&a.jsx(ke,{className:"text-xs font-normal text-white bg-primary/10 border border-primary/90 px-1.5 py-0.5",children:i.length})]})}),a.jsx("div",{className:"flex flex-col gap-4",children:i.length>0?i.map((p,h)=>a.jsxs("div",{className:"flex-1 flex h-9 gap-2",children:[a.jsxs(de,{value:p.columnName,onValueChange:b=>m(h,b),children:[a.jsx(ue,{className:"w-full flex-1",children:a.jsx(fe,{placeholder:"Select column"})}),a.jsx(he,{children:l?.map(b=>a.jsx(B,{value:b.columnName,children:b.columnName},b.columnName))})]}),a.jsxs(de,{value:p.operator,onValueChange:b=>y(h,b),children:[a.jsx(ue,{children:a.jsx(fe,{placeholder:"Op"})}),a.jsxs(he,{children:[a.jsx(B,{value:"=",children:"="}),a.jsx(B,{value:"!=",children:"!="}),a.jsx(B,{value:">",children:">"}),a.jsx(B,{value:">=",children:">="}),a.jsx(B,{value:"<",children:"<"}),a.jsx(B,{value:"<=",children:"<="}),a.jsx(B,{value:"is",children:"is"}),a.jsx(B,{value:"is not",children:"is not"}),a.jsx(B,{value:"like",children:"like"}),a.jsx(B,{value:"not like",children:"not like"}),a.jsx(B,{value:"ilike",children:"ilike"}),a.jsx(B,{value:"not ilike",children:"not ilike"})]})]}),a.jsx(ae,{type:"text",placeholder:"Value",value:p.value,onChange:b=>x(h,b.target.value)}),a.jsx(R,{variant:"ghost",size:"icon",className:"text-xs",onClick:()=>f(h),children:a.jsx(yt,{className:"size-4"})})]},h)):a.jsx("div",{className:"flex-1 flex h-9 gap-2 items-center justify-center",children:a.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"No filters applied"})})}),a.jsxs("div",{className:"gap-2 flex justify-end",children:[a.jsx(R,{variant:"outline",size:"lg",className:"text-sm",onClick:k,children:"Reset"}),a.jsx(R,{variant:"default",size:"lg",className:"text-sm",onClick:S,children:"Apply"})]})]})]})},ai=({tableName:e})=>{const{refetchTableData:t,isRefetchingTableData:n}=wt({tableName:e}),{refetchTableCols:s,isRefetchingTableCols:r}=Ee({tableName:e}),l=g.useCallback(()=>{Promise.all([t(),s()])},[t,s]);return a.jsx(R,{type:"button",variant:"ghost",className:"size-8! aspect-square border-l-0 border-y-0 border-r border-zinc-800 rounded-none",onClick:l,"aria-label":"Refetch table data and columns",disabled:n||r,children:a.jsx(zn,{className:"size-4"})})},oi=({setRowSelection:e})=>{const{getUpdates:t,getUpdateCount:n}=ye(),{updateCell:s,isUpdatingCell:r}=ps(),l=g.useCallback(async()=>{const o=t();if(o.length!==0){console.log("Saving updates:",o);try{await s(o),e({})}catch(i){console.error("Failed to save updates:",i)}}},[t,s,e]);if(n()===0)return null;const c=n();return a.jsxs(R,{type:"button",variant:"default",className:"h-8! border-l-0 border-y-0 border-r border-zinc-800 rounded-none bg-green-700 text-white hover:bg-green-800",onClick:l,"aria-label":"Save changes to the table",disabled:r,children:["Save Changes",c>0&&a.jsx("span",{className:"ml-1.5 px-1.5 text-[10px] bg-white/20 border border-white/20 rounded",children:c})]})},wn=({selectedRows:e,setRowSelection:t,tableName:n})=>a.jsx("header",{className:"max-h-8 overflow-hidden border-b border-zinc-800 w-full flex items-center justify-between bg-black sticky top-0 left-0 right-0 z-0",children:a.jsxs("div",{className:"flex items-center ",children:[a.jsx(ai,{tableName:n}),a.jsx(ri,{tableName:n}),a.jsx(Ql,{}),a.jsx(oi,{setRowSelection:t}),a.jsx(Xl,{}),a.jsx(si,{tableName:n,selectedRows:e,setRowSelection:t})]})});function Le({table:e,cell:t,rowIndex:n,columnId:s,isEditing:r,isFocused:l,isSelected:c,className:o,onClick:i,onKeyDown:d,...u}){const{getUpdate:f}=ye(),m=e.options.meta,x=t.row.original,y=!!f(x,s),k=g.useCallback(C=>{r||(C.preventDefault(),i?.(C),l?m?.onCellEditingStart?.(n,s):m?.onCellClick?.(n,s,C))},[m,n,s,r,l,i]),S=g.useCallback(C=>{r||m?.onCellContextMenu?.(n,s,C)},[m,n,s,r]),v=g.useCallback(C=>{r||m?.onCellMouseDown?.(n,s,C)},[m,n,s,r]),w=g.useCallback(C=>{r||m?.onCellMouseEnter?.(n,s,C)},[m,n,s,r]),p=g.useCallback(()=>{r||m?.onCellMouseUp?.()},[m,r]),h=g.useCallback(C=>{r||(C.preventDefault(),m?.onCellDoubleClick?.(n,s))},[m,n,s,r]),b=g.useCallback(C=>{if(d?.(C),!C.defaultPrevented&&!(C.key==="ArrowUp"||C.key==="ArrowDown"||C.key==="ArrowLeft"||C.key==="ArrowRight"||C.key==="Home"||C.key==="End"||C.key==="PageUp"||C.key==="PageDown"||C.key==="Tab")&&l&&!r){if(C.key==="F2"||C.key==="Enter"){C.preventDefault(),C.stopPropagation(),m?.onCellEditingStart?.(n,s);return}if(C.key===" "){C.preventDefault(),C.stopPropagation(),m?.onCellEditingStart?.(n,s);return}C.key.length===1&&!C.ctrlKey&&!C.metaKey&&(C.preventDefault(),C.stopPropagation(),m?.onCellEditingStart?.(n,s))}},[d,l,r,m,n,s]);return a.jsx("div",{role:"button","data-slot":"grid-cell-wrapper","data-editing":r?"":void 0,"data-focused":l?"":void 0,"data-selected":c?"":void 0,"data-has-update":y?"":void 0,tabIndex:l&&!r?0:-1,className:W("size-full px-2 py-1.5 text-left text-sm outline-none has-data-[slot=checkbox]:pt-2.5","**:data-[slot=grid-cell-content]:line-clamp-1",{"ring-1 ring-ring ring-inset":l,"bg-primary/10":c&&!r,"cursor-default":!r,"ring-2 ring-primary":y},o),onClick:k,onContextMenu:S,onDoubleClick:h,onMouseDown:v,onMouseEnter:w,onMouseUp:p,onKeyDown:b,...u})}const gt=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:r,isFocused:l,isSelected:c})=>{const{setUpdate:o,clearUpdate:i,getUpdate:d}=ye(),u=e.getValue(),[f,m]=g.useState(()=>u??""),[x,y]=g.useState(!1),k=g.useRef(null),S=g.useRef(null),v=t.options.meta,w=e.row.original,p=s,h=d(w,p),b=h?h.newValue:u??"",C=g.useCallback(()=>{console.log("onSave",{editorValue:f,initialValue:u,columnName:p,rowData:w}),o(w,p,f,u),v?.onCellEditingStop?.(),y(!1)},[v,f,u,p,w,o]),j=g.useCallback(()=>{console.log("onCancel",f,u),m(u??""),i(w,p),v?.onCellEditingStop?.(),y(!1)},[v,u,p,w,i,f]),E=g.useCallback(Y=>{const I=Y.target.value;console.log("onChange",I,p,f,u),m(I)},[p,f,u]),N=g.useCallback(Y=>{y(Y),Y||(f!==u&&o(w,p,f,u),v?.onCellEditingStop?.())},[v,f,u,p,w,o]),O=g.useCallback(Y=>{if(Y.preventDefault(),k.current){k.current.focus();const I=k.current.value.length;k.current.setSelectionRange(I,I)}},[]),_=g.useCallback(Y=>{r&&!x&&(Y.key==="Escape"?(Y.preventDefault(),v?.onCellEditingStop?.()):Y.key==="Tab"&&(Y.preventDefault(),v?.onCellEditingStop?.({direction:Y.shiftKey?"left":"right"})))},[r,x,v]),q=g.useCallback(Y=>{Y.key==="Escape"?(Y.preventDefault(),console.log("onTextareaKeyDown",Y.key,f,u),j()):Y.key==="Enter"&&(Y.ctrlKey||Y.metaKey)&&(Y.preventDefault(),console.log("onTextareaKeyDown",Y.key,f,u),C()),Y.stopPropagation()},[j,C,f,u]),G=g.useCallback(()=>{f!==u&&o(w,p,f,u),v?.onCellEditingStop?.(),y(!1)},[v,f,u,p,w,o]);return g.useEffect(()=>{r&&!x?(m(b),y(!0)):!r&&x&&y(!1)},[r,x,b]),g.useEffect(()=>{l&&!r&&!v?.isScrolling&&S.current&&S.current.focus()},[l,r,v?.isScrolling]),Ye("enter",()=>C()),Ye("esc",()=>j()),a.jsxs(Be,{open:x,onOpenChange:N,children:[a.jsx(Tn,{asChild:!0,children:a.jsx(Le,{ref:S,cell:e,table:t,rowIndex:n,columnId:s,isEditing:r,isFocused:l,isSelected:c,onKeyDown:_,children:a.jsx("span",{"data-slot":"grid-cell-content",children:b})})}),a.jsxs(Ke,{"data-grid-cell-editor":"",align:"start",side:"bottom",sideOffset:0,className:"w-[400px] rounded-none p-0 gap-0",onOpenAutoFocus:O,children:[a.jsx(Se,{ref:k,value:f,onChange:E,onKeyDown:q,onBlur:G,className:"min-h-[150px] resize-none rounded-none border-0 shadow-none focus-visible:ring-0",placeholder:"Enter text..."}),a.jsxs("div",{className:"flex flex-col border-t",children:[a.jsxs(R,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[a.jsx(ke,{className:"text-xs font-normal",children:"⌘↵"}),a.jsx("span",{className:"ml-1 text-xs",children:"Save Changes"})]}),a.jsxs(R,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[a.jsx(ke,{className:"text-xs font-normal",children:"esc"}),a.jsx("span",{className:"ml-1 text-xs",children:"Cancel Changes"})]})]})]})]})});gt.displayName="TableTextCell";const xs=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:r,isFocused:l,isSelected:c})=>{const{setUpdate:o,clearUpdate:i}=ye(),d=e.getValue(),[u,f]=g.useState(()=>d),[m,x]=g.useState(!1),y=g.useRef(null),k=g.useRef(null),S=t.options.meta,v=e.row.original,w=s,p=g.useCallback(()=>{console.log("onSave",{value:u,initialValue:d,columnName:w,rowData:v}),o(v,w,u,d),x(!1),S?.onCellEditingStop?.()},[S,u,d,w,v,o]),h=g.useCallback(()=>{console.log("onCancel",u,d),f(d),i(v,w),x(!1),S?.onCellEditingStop?.()},[S,d,w,v,i,u]),b=g.useCallback(N=>{const O=N.target.value;console.log("onChange",O,w,u,d),f(Number(O)),o(v,w,Number(O),d)},[w,u,d,v,o]),C=g.useCallback(N=>{r&&!m&&(N.key==="Escape"?(N.preventDefault(),S?.onCellEditingStop?.()):N.key==="Tab"&&(N.preventDefault(),u!==d&&o(v,w,u,d),S?.onCellEditingStop?.({direction:N.shiftKey?"left":"right"})))},[r,m,S,u,d,w,v,o]),j=g.useCallback(N=>{N.key==="Escape"?(N.preventDefault(),console.log("onTextInputKeyDown",N.key,u,d),h()):N.key==="Enter"&&(N.ctrlKey||N.metaKey)&&(N.preventDefault(),console.log("onTextInputKeyDown",N.key,u,d),p()),N.stopPropagation()},[h,p,u,d]),E=g.useCallback(()=>{u!==d&&o(v,w,u,d),x(!1),S?.onCellEditingStop?.()},[S,u,d,w,v,o]);return r&&!m&&x(!0),g.useEffect(()=>{l&&!r&&!S?.isScrolling&&k.current&&k.current.focus()},[l,r,S?.isScrolling]),Ye("enter",()=>p()),Ye("esc",()=>h()),a.jsx(Le,{ref:k,cell:e,table:t,rowIndex:n,columnId:s,isEditing:r,isFocused:l,isSelected:c,onKeyDown:C,children:a.jsx(ae,{type:"number",ref:y,value:u||"",onChange:N=>b(N),onKeyDown:N=>j(N),onBlur:E,className:"size-full rounded-none border-none p-0 shadow-none hover:bg-transparent! focus-visible:ring-0 dark:bg-transparent [&_svg]:hidden"})})});xs.displayName="TableNumberCell";const ys=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:r,isFocused:l,isSelected:c})=>{const{setUpdate:o,clearUpdate:i,getUpdate:d}=ye(),u=e.getValue(),[f,m]=g.useState(!1),x=g.useRef(null),y=g.useRef(null),k=g.useRef(r),S=t.options.meta;g.useEffect(()=>{k.current=r},[r]);const v=e.row.original,w=s,p=d(v,w),h=p?p.newValue:u,b=g.useMemo(()=>h==null?"null":h?"true":"false",[h]),C=g.useCallback(_=>{let q;_==="null"?q=null:q=_==="true",o(v,w,q,u),m(!1),S?.onCellEditingStop?.()},[w,v,u,o,S]),j=g.useCallback(()=>{i(v,w),m(!1),S?.onCellEditingStop?.()},[v,w,i,S]),E=g.useCallback(_=>{m(_),!_&&r&&S?.onCellEditingStop?.()},[r,S]),N=g.useCallback(_=>{r&&!f&&(_.key==="Escape"?(_.preventDefault(),j()):_.key==="Tab"&&(_.preventDefault(),j(),S?.onCellEditingStop?.({direction:_.shiftKey?"left":"right"})))},[r,f,S,j]);g.useEffect(()=>{if(r){const _=setTimeout(()=>{k.current&&(m(!0),setTimeout(()=>{k.current&&y.current?.click()},0))},0);return()=>{clearTimeout(_),m(!1)}}},[r]),g.useEffect(()=>{l&&!r&&!S?.isScrolling&&x.current&&x.current.focus()},[l,r,S?.isScrolling]);const O=h==null?"NULL":h?"true":"false";return a.jsx(Le,{ref:x,cell:e,table:t,rowIndex:n,columnId:s,isEditing:r,isFocused:l,isSelected:c,onKeyDown:N,className:"p-0!",children:r?a.jsxs(de,{value:b,onValueChange:C,open:f,onOpenChange:E,children:[a.jsx(ue,{ref:y,className:"size-full px-2 py-1.5 rounded-none border-none p-0 shadow-none hover:bg-transparent! focus-visible:ring-0 dark:bg-transparent [&_svg]:hidden",children:a.jsx(fe,{})}),a.jsxs(he,{"data-grid-cell-editor":"",alignOffset:-8,sideOffset:-8,className:"min-w-[calc(var(--radix-select-trigger-width)+16px)]",onEscapeKeyDown:j,onPointerDownOutside:_=>{_.preventDefault(),m(!1),S?.onCellEditingStop?.()},children:[a.jsx(B,{value:"true",children:"true"}),a.jsx(B,{value:"false",children:"false"}),a.jsx(B,{value:"null",children:"NULL"})]})]}):a.jsx("span",{className:"flex items-center size-full px-2 py-1.5",children:O})})});ys.displayName="TableBooleanCell";const bs=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:r,isFocused:l,isSelected:c})=>{const{setUpdate:o,clearUpdate:i,getUpdate:d}=ye(),u=e.getValue(),[f,m]=g.useState(!1),x=g.useRef(null),y=g.useRef(null),k=g.useRef(r),S=t.options.meta,v=e.column.columnDef.meta?.enumValues;g.useEffect(()=>{k.current=r},[r]);const w=e.row.original,p=s,h=d(w,p),b=h?h.newValue:u,C=g.useCallback(_=>{o(w,p,_==="null"?null:_,u),m(!1),S?.onCellEditingStop?.()},[p,w,u,o,S]),j=g.useCallback(()=>{i(w,p),m(!1),S?.onCellEditingStop?.()},[w,p,i,S]),E=g.useCallback(_=>{m(_),!_&&r&&S?.onCellEditingStop?.()},[r,S]),N=g.useCallback(_=>{r&&!f&&(_.key==="Escape"?(_.preventDefault(),j()):_.key==="Tab"&&(_.preventDefault(),j(),S?.onCellEditingStop?.({direction:_.shiftKey?"left":"right"})))},[r,f,S,j]);g.useEffect(()=>{if(r){const _=setTimeout(()=>{k.current&&(m(!0),setTimeout(()=>{k.current&&y.current?.click()},0))},0);return()=>{clearTimeout(_),m(!1)}}},[r]),g.useEffect(()=>{l&&!r&&!S?.isScrolling&&x.current&&x.current.focus()},[l,r,S?.isScrolling]);const O=b??"NULL";return a.jsx(Le,{ref:x,cell:e,table:t,rowIndex:n,columnId:s,isEditing:r,isFocused:l,isSelected:c,onKeyDown:N,className:"p-0!",children:r?a.jsxs(de,{value:b===null?"null":b,onValueChange:C,open:f,onOpenChange:E,children:[a.jsx(ue,{ref:y,className:"size-full px-2 py-1.5 rounded-none border-none p-0 shadow-none hover:bg-transparent! focus-visible:ring-0 dark:bg-transparent [&_svg]:hidden",children:a.jsx(fe,{})}),a.jsxs(he,{"data-grid-cell-editor":"",alignOffset:-8,sideOffset:-8,className:"min-w-[calc(var(--radix-select-trigger-width)+16px)]",onEscapeKeyDown:j,onPointerDownOutside:_=>{_.preventDefault(),m(!1),S?.onCellEditingStop?.()},children:[v?.map(_=>a.jsx(B,{value:_,children:_},_)),a.jsx(B,{value:"null",children:"NULL"})]})]}):a.jsx("span",{className:"flex items-center size-full px-2 py-1.5 truncate",children:O})})});bs.displayName="TableEnumCell";const Cs=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:r,isFocused:l,isSelected:c})=>{const{setUpdate:o,clearUpdate:i,getUpdate:d}=ye(),u=e.getValue(),f=g.useRef(null),m=t.options.meta,x=e.row.original,y=s,k=d(x,y),S=k?k.newValue:u,v=g.useCallback(h=>{console.log("onDateChange",h,y,u);const b=h?h.toISOString():null;o(x,y,b,u),m?.onCellEditingStop?.()},[y,u,x,o,m]),w=g.useCallback(()=>{console.log("onCancel",S,u),i(x,y),m?.onCellEditingStop?.()},[x,y,i,m,S,u]),p=g.useCallback(h=>{r&&(h.key==="Escape"||h.key==="Tab")&&(h.preventDefault(),w())},[r,w]);return g.useEffect(()=>{l&&!r&&!m?.isScrolling&&f.current&&f.current.focus()},[l,r,m?.isScrolling]),a.jsx(Le,{ref:f,cell:e,table:t,rowIndex:n,columnId:s,isEditing:r,isFocused:l,isSelected:c,onKeyDown:p,className:"p-0!",children:a.jsx(mt,{isFormatted:!1,icon:!1,value:S?new Date(S):void 0,onChange:v,placeholder:"Pick a date",className:"size-full px-2! py-1.5! rounded-none border-none p-0 shadow-none hover:bg-transparent! focus-visible:ring-0 dark:bg-transparent [&_svg]:hidden"})})});Cs.displayName="TableDateCell";const ws=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:r,isFocused:l,isSelected:c})=>{const{setUpdate:o,clearUpdate:i,getUpdate:d}=ye(),u=e.getValue();let f;if(typeof u=="string")try{f=JSON.parse(u),console.warn(`TableJsonCell ${s}: initialValue was a string, parsed it to object`,f)}catch(A){console.error(`TableJsonCell ${s}: Failed to parse initialValue string`,u,A),f={}}else f=u;g.useEffect(()=>{console.log(`TableJsonCell ${s} initialValue:`,typeof f,f)},[f,s]);const[m,x]=g.useState(()=>JSON.stringify(f,null,2)??""),[y,k]=g.useState(!1),S=g.useRef(null),v=g.useRef(null),w=t.options.meta,p=e.row.original,h=s,b=d(p,h),C=b?b.newValue:f,j=JSON.stringify(C),E=g.useCallback(()=>{console.log("onSave",{editorValue:m,initialValue:f,columnName:h,rowData:p});try{const A=JSON.parse(m);console.log("Parsed value:",typeof A,A),console.log("Initial value:",typeof f,f),o(p,h,A,f)}catch(A){console.error("Invalid JSON:",A);return}w?.onCellEditingStop?.(),k(!1)},[w,m,f,h,p,o]),N=g.useCallback(()=>{console.log("onCancel",m,f),x(JSON.stringify(f,null,2)??""),i(p,h),w?.onCellEditingStop?.(),k(!1)},[w,f,h,p,i,m]),O=g.useCallback(A=>{const Q=A.target.value;console.log("onChange",Q,h,m,f),x(Q)},[h,m,f]),_=g.useCallback(A=>{if(k(A),!A){try{const Q=JSON.parse(m);JSON.stringify(Q)!==JSON.stringify(f)&&o(p,h,Q,f)}catch(Q){console.error("Invalid JSON on close:",Q)}w?.onCellEditingStop?.()}},[w,m,f,h,p,o]),q=g.useCallback(A=>{if(A.preventDefault(),S.current){S.current.focus();const Q=S.current.value.length;S.current.setSelectionRange(Q,Q)}},[]),G=g.useCallback(A=>{r&&!y&&(A.key==="Escape"?(A.preventDefault(),w?.onCellEditingStop?.()):A.key==="Tab"&&(A.preventDefault(),w?.onCellEditingStop?.({direction:A.shiftKey?"left":"right"})))},[r,y,w]),Y=g.useCallback(A=>{A.key==="Escape"?(A.preventDefault(),console.log("onTextareaKeyDown",A.key,m,f),N()):A.key==="Enter"&&(A.ctrlKey||A.metaKey)&&(A.preventDefault(),console.log("onTextareaKeyDown",A.key,m,f),E()),A.stopPropagation()},[N,E,m,f]),I=g.useCallback(()=>{try{const A=JSON.parse(m);JSON.stringify(A)!==JSON.stringify(f)&&o(p,h,A,f)}catch(A){console.error("Invalid JSON on blur:",A)}w?.onCellEditingStop?.(),k(!1)},[w,m,f,h,p,o]);return g.useEffect(()=>{r&&!y?(x(JSON.stringify(C,null,2)),k(!0)):!r&&y&&k(!1)},[r,y,C]),g.useEffect(()=>{l&&!r&&!w?.isScrolling&&v.current&&v.current.focus()},[l,r,w?.isScrolling]),Ye("enter",()=>E()),Ye("esc",()=>N()),a.jsxs(Be,{open:y,onOpenChange:_,children:[a.jsx(Tn,{asChild:!0,children:a.jsx(Le,{ref:v,cell:e,table:t,rowIndex:n,columnId:s,isEditing:r,isFocused:l,isSelected:c,onKeyDown:G,children:a.jsx("span",{"data-slot":"grid-cell-content",children:j})})}),a.jsxs(Ke,{"data-grid-cell-editor":"",align:"start",side:"bottom",sideOffset:0,className:"w-[400px] rounded-none p-0 gap-0",onOpenAutoFocus:q,children:[a.jsx(Se,{ref:S,value:m,onChange:O,onKeyDown:Y,onBlur:I,className:"min-h-[150px] resize-none rounded-none border-0 shadow-none focus-visible:ring-0",placeholder:"Enter JSON..."}),a.jsxs("div",{className:"flex flex-col border-t",children:[a.jsxs(R,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[a.jsx(ke,{className:"text-xs font-normal",children:"⌘↵"}),a.jsx("span",{className:"ml-1 text-xs",children:"Save Changes"})]}),a.jsxs(R,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[a.jsx(ke,{className:"text-xs font-normal",children:"esc"}),a.jsx("span",{className:"ml-1 text-xs",children:"Cancel Changes"})]})]})]})]})});ws.displayName="TableJsonCell";const li=({cell:e,table:t})=>{const n=t.options.meta,s=e.row.index,l=t.getRowModel().rows.findIndex(m=>m.original===e.row.original),c=l>=0?l:s,o=e.column.id,i=n?.focusedCell?.rowIndex===c&&n?.focusedCell?.columnId===o,d=n?.editingCell?.rowIndex===c&&n?.editingCell?.columnId===o,u=n?.getIsCellSelected?.(c,o)??!1;switch(e.column.columnDef.meta?.variant){case"text":return a.jsx(gt,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u});case"boolean":return a.jsx(ys,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u});case"number":return a.jsx(xs,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u});case"enum":return a.jsx(bs,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u});case"date":return a.jsx(Cs,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u});case"json":return a.jsx(ws,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u});case"array":return a.jsx(gt,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u});default:return a.jsx(gt,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:i,isSelected:u})}},ii=({columnVirtualizer:e,row:t,rowVirtualizer:n,virtualPaddingLeft:s,virtualPaddingRight:r,virtualRow:l})=>{const c=t.getVisibleCells(),o=e.getVirtualItems();return a.jsxs("tr",{"data-index":l.index,ref:i=>n.measureElement(i),className:"flex absolute w-fit border-b items-center justify-between text-sm hover:bg-accent/20 data-[state=open]:bg-accent/40 [&_svg]:size-4",style:{transform:`translateY(${l.start}px)`},children:[s?a.jsx("td",{style:{display:"flex",width:s}}):null,o.map(i=>{const d=c[i.index];return a.jsx("td",{className:W("flex border-r border-zinc-800 h-8"),style:{width:i.index===0?"40px":d.column.getSize()},children:nt(d.column.columnDef.cell,d.getContext())},d.id)}),r?a.jsx("td",{style:{display:"flex",width:r}}):null]},t.id)},ci=({columnVirtualizer:e,table:t,tableContainerRef:n,virtualPaddingLeft:s,virtualPaddingRight:r})=>{const{rows:l}=t.getRowModel(),c=In({count:l.length,estimateSize:()=>33,getScrollElement:()=>n.current,measureElement:typeof window<"u"&&navigator.userAgent.indexOf("Firefox")===-1?i=>i?.getBoundingClientRect().height:void 0,overscan:5}),o=c.getVirtualItems();return a.jsx("tbody",{style:{display:"grid",height:`${c.getTotalSize()}px`,position:"relative"},children:o.map(i=>{const d=l[i.index];return a.jsx(ii,{columnVirtualizer:e,row:d,rowVirtualizer:c,virtualPaddingLeft:s,virtualPaddingRight:r,virtualRow:i},d.id)})})},di=g.memo(ui,(e,t)=>{const n=e.header.column,s=t.header.column;return!(n.getIsResizing()!==s.getIsResizing()||n.getSize()!==s.getSize()||e.label!==t.label)});function ui({header:e,table:t,label:n}){const s=t._getDefaultColumnDef(),r=g.useCallback(()=>{t.setColumnSizing(l=>{const c={...l};return delete c[e.column.id],c})},[e.column.id,t]);return a.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":`Resize ${n} column`,"aria-valuenow":e.column.getSize(),"aria-valuemin":s.minSize,"aria-valuemax":s.maxSize,tabIndex:0,className:W("after:-translate-x-1/2 -right-px absolute top-0 z-50 h-full w-0.5 cursor-ew-resize touch-none select-none bg-border transition-opacity after:absolute after:inset-y-0 after:left-1/2 after:h-full after:w-[18px] after:content-[''] hover:bg-primary focus:bg-primary focus:outline-none",e.column.getIsResizing()?"bg-primary":"opacity-0 hover:opacity-100"),onDoubleClick:r,onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler()})}const fi=()=>{const e=at(),{selectedDatabase:t}=Ve(),{mutateAsync:n}=ot({mutationFn:async({tableName:r,columnName:l,cascade:c})=>{const o=new URLSearchParams({db:t??"",cascade:c?"true":"false"});return(await Ue.delete(`/tables/${encodeURIComponent(r)}/columns/${encodeURIComponent(l)}`,{params:o})).data.data},onSuccess:async(r,l)=>{await Promise.all([e.invalidateQueries({queryKey:[M.CACHE_KEYS.TABLE_COLUMNS,l.tableName],exact:!1}),e.invalidateQueries({queryKey:[M.CACHE_KEYS.TABLE_DATA,l.tableName],exact:!1}),e.invalidateQueries({queryKey:[M.CACHE_KEYS.TABLES_LIST],exact:!1})])},onError:r=>{console.error("Error deleting column:",r)}});return{deleteColumn:async({tableName:r,columnName:l,cascade:c})=>De.promise(n({tableName:r,columnName:l,cascade:c,db:""}),{loading:"Deleting column...",success:o=>o||"Column deleted successfully",error:o=>o.message||"Failed to delete column"})}},hi=({columnVirtualizer:e,headerGroup:t,virtualPaddingLeft:n,virtualPaddingRight:s,table:r})=>{const{table:l}=Bt.useParams(),[c,o]=g.useState(!1),[i,d]=g.useState(null),[u,f]=g.useState(!1),{deleteColumn:m}=fi(),[,x]=P(M.COLUMN_NAME),[,y]=P(M.TABLE_STATE_KEYS.SORT),[,k]=P(M.TABLE_STATE_KEYS.ORDER),[,S]=P(M.TABLE_STATE_KEYS.CURSOR),[,v]=P(M.TABLE_STATE_KEYS.DIRECTION),w=e.getVirtualItems(),p=r.getState().columnSizingInfo.isResizingColumn,h=g.useCallback(N=>O=>{O===null?(x(null),y(null),k(null)):(x(N),y(N),k(O==="desc"?"desc":"asc")),S(null),v(null)},[x,y,k,S,v]),b=g.useCallback(N=>{d(N),f(!1),o(!0)},[]),C=g.useCallback(N=>{o(N),N||(d(null),f(!1))},[]),j=g.useCallback(async()=>{!i||!l||(await m({tableName:l,columnName:i,cascade:u}),o(!1),d(null),f(!1))},[i,l,m,u]),E=g.useCallback(()=>{o(!1),d(null),f(!1)},[]);return a.jsxs(a.Fragment,{children:[a.jsxs("tr",{className:W("flex w-fit bg-black border-b items-center justify-between text-sm data-[state=open]:bg-accent/40 [&_svg]:size-4",p&&"pointer-events-none"),children:[n?a.jsx("th",{style:{display:"flex",width:n}}):null,w.map(N=>{const O=t.headers[N.index],_=O.column.columnDef.meta?.isPrimaryKey,q=O.column.columnDef.meta?.isForeignKey,G=O.column.columnDef.meta?.dataTypeLabel;return a.jsx("th",{className:"h-full flex",style:{display:"flex",width:N.index===0?"40px":O.getSize()},children:a.jsx("div",{className:W("relative w-full h-full flex items-center justify-between gap-2 text-sm hover:bg-accent/20 data-[state=open]:bg-accent/40 [&_svg]:size-4","border-r border-zinc-800",O.column.getCanSort()?"cursor-pointer select-none":""),children:N.index===0?nt(O.column.columnDef.header,O.getContext()):a.jsxs(a.Fragment,{children:[a.jsxs(En,{children:[a.jsx(On,{asChild:!0,children:a.jsxs(R,{variant:"outline",className:"p-2 border-none w-full h-full bg-transparent! rounded-none justify-between",children:[a.jsxs("div",{className:"flex items-center gap-1",children:[_&&a.jsx(ur,{size:20,className:"text-primary"}),q&&a.jsx(Wn,{size:20,className:"text-primary"}),nt(O.column.columnDef.header,O.getContext())]}),a.jsxs("div",{className:"flex items-center gap-1",children:[G&&a.jsx("span",{className:"text-xs leading-none text-muted-foreground",children:G}),a.jsx("span",{className:"text-xs leading-none text-muted-foreground",children:{asc:a.jsx(An,{}),desc:a.jsx(fr,{})}[O.column.getIsSorted()]??null})]})]})}),a.jsxs(Mn,{className:"w-44",align:"start",children:[a.jsxs(sr,{children:[a.jsxs(Ne,{onClick:()=>h(O.column.id)("asc"),children:[a.jsx(hr,{}),"Sort ascending"]}),a.jsxs(Ne,{onClick:()=>h(O.column.id)("desc"),children:[a.jsx(mr,{}),"Sort descending"]}),O.column.getIsSorted()&&a.jsxs(Ne,{onClick:()=>h(O.column.id)(null),children:[a.jsx(yt,{}),"Remove sort"]})]}),a.jsx(rr,{}),a.jsxs(Ne,{variant:"destructive",onClick:()=>b(O.column.id),children:[a.jsx(gr,{}),"Delete column"]})]})]}),O.column.getCanResize()&&a.jsx(di,{header:O,table:r,label:O.column.id})]})})},O.id)}),s?a.jsx("th",{style:{display:"flex",width:s}}):null]},t.id),a.jsx(kr,{open:c,onOpenChange:C,children:a.jsxs(jr,{children:[a.jsxs(Nr,{children:[a.jsx(Dr,{children:"Delete Column"}),a.jsxs(Er,{children:['Are you sure you want to delete the column "',i,'"? This action cannot be undone and will permanently remove all data in this column.']})]}),a.jsxs("div",{className:"flex gap-2 py-2",children:[a.jsx(Pt,{id:"cascade-delete",checked:u,onCheckedChange:N=>f(N===!0)}),a.jsx(le,{htmlFor:"cascade-delete",className:"text-xs text-muted-foreground cursor-pointer",children:"Drop with CASCADE (also remove dependent indexes, constraints, and foreign key references)"})]}),a.jsxs(Or,{children:[a.jsx(Mr,{onClick:E,children:"Cancel"}),a.jsx(Tr,{variant:"destructive",onClick:j,children:"Delete"})]})]})})]})},mi=({columnVirtualizer:e,table:t,virtualPaddingLeft:n,virtualPaddingRight:s})=>a.jsx("thead",{className:"h-9 grid sticky top-0 z-10",children:t.getHeaderGroups().map(r=>a.jsx(hi,{columnVirtualizer:e,headerGroup:r,table:t,virtualPaddingLeft:n,virtualPaddingRight:s},r.id))}),gi=({table:e})=>{const t=e.getVisibleLeafColumns(),n=g.useRef(null),s=In({count:t.length,estimateSize:o=>t[o].getSize(),getScrollElement:()=>n.current,horizontal:!0,overscan:3}),r=s.getVirtualItems();let l,c;return s&&r?.length&&(l=r[0]?.start??0,c=s.getTotalSize()-(r[r.length-1]?.end??0)),a.jsx("div",{className:"w-full flex-1 overflow-auto",ref:n,style:{position:"relative"},children:a.jsxs("table",{style:{display:"grid"},children:[a.jsx(mi,{columnVirtualizer:s,table:e,virtualPaddingLeft:l,virtualPaddingRight:c}),a.jsx(ci,{columnVirtualizer:s,table:e,tableContainerRef:n,virtualPaddingLeft:l,virtualPaddingRight:c})]})})};function pi({className:e,...t}){return a.jsx("nav",{"aria-label":"pagination","data-slot":"pagination",className:W("mx-auto flex w-full justify-center",e),...t})}function xi({className:e,...t}){return a.jsx("ul",{"data-slot":"pagination-content",className:W("flex flex-row items-center gap-1",e),...t})}function vn({...e}){return a.jsx("li",{"data-slot":"pagination-item",...e})}const yi=({tableName:e})=>{const{sidebar:{isPinned:t,width:n}}=ar(),[s,r]=P(M.TABLE_STATE_KEYS.LIMIT),[,l]=P(M.TABLE_STATE_KEYS.CURSOR),[,c]=P(M.TABLE_STATE_KEYS.DIRECTION),{tableData:o}=wt({tableName:e}),i=o?.meta?.total??0,d=o?.data?.length??0,u=y=>{r(y),l(null),c(null)},f=()=>{o?.meta?.nextCursor&&(l(o.meta.nextCursor),c("asc"))},m=()=>{o?.meta?.prevCursor&&(l(o.meta.prevCursor),c("desc"))},x=()=>{l(null),c(null)};return a.jsxs("footer",{className:"fixed bottom-0 left-0 right-0 h-9 border-t border-zinc-800 flex items-center justify-between bg-black px-2 text-white",style:{marginLeft:t?`${n}px`:"0"},children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(le,{className:"text-xs text-zinc-400 whitespace-nowrap",children:"Rows per page"}),a.jsxs(de,{value:s?.toString()||"50",onValueChange:y=>{u(y)},children:[a.jsx(ue,{size:"sm",className:"h-6 text-xs px-2 border-none bg-transparent! shadow-none hover:bg-transparent! gap-2",children:a.jsx(fe,{placeholder:"Select number of results"})}),a.jsx(he,{className:"[&_*[role=option]]:ps-2 [&_*[role=option]]:pe-8 [&_*[role=option]>span]:start-auto [&_*[role=option]>span]:end-2 border-zinc-800",children:[5,10,25,50].map(y=>a.jsx(B,{value:y.toString(),children:y},y))})]})]}),a.jsx("div",{className:"flex items-center justify-center text-xs text-zinc-400",children:a.jsxs("p",{className:"whitespace-nowrap","aria-live":"polite",children:["Showing ",a.jsx("span",{className:"text-zinc-200",children:d})," of"," ",a.jsx("span",{className:"text-zinc-200",children:i})," rows"]})}),a.jsxs("div",{className:"flex items-center gap-0.5",children:[a.jsx(R,{size:"sm",variant:"ghost",className:"h-6 w-6 disabled:opacity-30",onClick:x,disabled:!o?.meta?.hasPreviousPage||i===0,"aria-label":"Go to first page",children:a.jsx(pr,{"aria-hidden":"true"})}),a.jsx(pi,{children:a.jsxs(xi,{className:"gap-0.5",children:[a.jsx(vn,{children:a.jsx(R,{size:"icon-sm",variant:"ghost",className:"h-6 w-6 disabled:opacity-30",onClick:m,disabled:!o?.meta?.hasPreviousPage||i===0,"aria-label":"Go to previous page",children:a.jsx(_n,{"aria-hidden":"true"})})}),a.jsx(vn,{children:a.jsx(R,{size:"icon-sm",variant:"ghost",className:"h-6 w-6 disabled:opacity-30",onClick:f,disabled:!o?.meta?.hasNextPage||i===0,"aria-label":"Go to next page",children:a.jsx(Rn,{"aria-hidden":"true"})})})]})})]})]})},bi=()=>({id:"select",accessorKey:"select",header:({table:e})=>a.jsx("div",{className:"w-full h-full flex items-center justify-center",children:a.jsx(Pt,{checked:e.getIsAllRowsSelected(),onCheckedChange:()=>e.toggleAllRowsSelected()})}),cell:({row:e})=>a.jsx("div",{className:"w-full h-full flex items-center justify-center",children:a.jsx(Pt,{checked:e.getIsSelected(),onCheckedChange:()=>e.toggleSelected()})}),size:20,enableSorting:!1}),Ci=({tableName:e})=>{const[t]=P(M.COLUMN_NAME),[n]=P(M.TABLE_STATE_KEYS.ORDER),{tableData:s,isLoadingTableData:r,errorTableData:l}=wt({tableName:e}),{tableCols:c,isLoadingTableCols:o,errorTableCols:i}=Ee({tableName:e}),[d,u]=g.useState({}),[f,m]=g.useState({}),[x,y]=g.useState(null),[k,S]=g.useState(null),v=g.useMemo(()=>bi(),[]),w=g.useMemo(()=>[v,...c?.map(I=>({accessorKey:I.columnName,header:I.columnName,meta:{variant:I.enumValues?"enum":I.dataType,isPrimaryKey:I.isPrimaryKey,isForeignKey:I.isForeignKey,referencedTable:I.referencedTable,referencedColumn:I.referencedColumn,enumValues:I.enumValues,dataTypeLabel:I.dataTypeLabel},size:(I.columnName.length+(I.dataTypeLabel?.length||0))*5+100,minSize:100,maxSize:500}))||[]],[c,v]);g.useEffect(()=>{u({})},[e]);const p=g.useMemo(()=>t&&n?[{id:t,desc:n==="desc"}]:[],[t,n]),h=g.useMemo(()=>s?.data||[],[s?.data]),b=g.useCallback((I,A)=>{y({rowIndex:I,columnId:A})},[]),C=g.useCallback((I,A)=>{S({rowIndex:I,columnId:A})},[]),j=g.useCallback((I,A)=>{S({rowIndex:I,columnId:A})},[]),E=g.useCallback(()=>{S(null)},[]),N=g.useCallback(I=>{console.log("Data update:",I)},[]),O=g.useCallback(()=>!1,[]),_=g.useMemo(()=>({focusedCell:x,editingCell:k,onCellClick:b,onCellDoubleClick:C,onCellEditingStart:j,onCellEditingStop:E,onDataUpdate:N,getIsCellSelected:O}),[x,k,b,C,j,E,N,O]),q=Yn({data:h,columns:w,defaultColumn:{cell:li,size:50,minSize:100,maxSize:500},getCoreRowModel:Pn(),getSortedRowModel:Rr(),state:{sorting:p,rowSelection:d,columnSizing:f},manualSorting:!1,enableRowSelection:!0,enableMultiRowSelection:!0,enableColumnResizing:!0,columnResizeMode:"onChange",onRowSelectionChange:u,onColumnSizingChange:m,meta:_});if(r||o)return a.jsx("div",{className:"size-full flex items-center justify-center",children:a.jsx(Dn,{size:"size-7"})});if(l||i){const I=l||i,A=I?.message||"",Q=A.includes("does not exist")||A.includes("404")||I?.status===404,qe=A.includes("Network Error")||A.includes("Failed to fetch");let Z="Something went wrong",ee=A||"An unexpected error occurred";return Q?(Z="Table not found",ee=A||`The table "${e}" does not exist or has been deleted`):qe&&(Z="Connection failed",ee="Unable to connect to the database server. Please check your connection."),a.jsx("div",{className:"size-full flex flex-col items-center justify-center",children:a.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-2",children:[a.jsx("div",{className:"text-sm font-medium",children:Z}),a.jsx("div",{className:"text-sm text-muted-foreground",children:ee})]})})}const G=!s||!s.data||s.data.length===0,Y=q.getSelectedRowModel().rows;return G?a.jsxs("div",{className:"size-full flex flex-col items-center justify-center",children:[a.jsx(wn,{selectedRows:Y,setRowSelection:u,tableName:e}),a.jsxs("div",{className:"text-sm text-muted-foreground flex-1 flex items-center justify-center",children:['No data available for "',e,'" table']})]}):a.jsxs("div",{className:"flex-1 w-full flex flex-col overflow-hidden",children:[a.jsx(wn,{selectedRows:Y,setRowSelection:u,tableName:e}),a.jsx(gi,{table:q}),a.jsx(yi,{tableName:e})]})};function Mi(){const{table:e}=Bt.useParams();return a.jsxs("main",{className:"flex-1 flex flex-col overflow-hidden",children:[a.jsx(Ci,{tableName:e}),a.jsx(Vl,{tableName:e}),a.jsx(Gl,{tableName:e}),a.jsx(Ll,{tableName:e}),a.jsx(Jl,{tableName:e}),a.jsx(ql,{tableName:e})]})}export{Mi as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{M as ln,N as an,O as Y,P as O,Q,R as un,S as y,T as tn,V as j,W as _,X as rn,Y as o,Z as sn,$ as on,a0 as fn}from"./mermaid.core-
|
|
1
|
+
import{M as ln,N as an,O as Y,P as O,Q,R as un,S as y,T as tn,V as j,W as _,X as rn,Y as o,Z as sn,$ as on,a0 as fn}from"./mermaid.core-CLOnqD9L.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,D,S,v,R,V,a){var E=D-l,i=S-h,n=V-v,d=a-R,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-R)-d*(l-v))/u,[l+u*E,h+u*i]}function H(l,h,D,S,v,R,V){var a=l-D,E=h-S,i=(V?R:-R)/j(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,W=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,A=m*m+g*g,T=v-R,P=u*c-f*s,I=(g<0?-1:1)*j(on(0,T*T*A-P*P)),M=(P*g-m*I)/A,N=(-P*m-g*I)/A,w=(P*g+m*I)/A,p=(-P*m+g*I)/A,x=M-W,e=N-t,r=w-W,X=p-t;return x*x+e*e>r*r+X*X&&(M=w,N=p),{cx:M,cy:N,x01:-n,y01:-d,x11:M*(v/T-1),y11:N*(v/T-1)}}function hn(){var l=cn,h=yn,D=Q(0),S=null,v=gn,R=dn,V=mn,a=null,E=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=R.apply(this,arguments)-un,W=rn(c-f),t=c>f;if(a||(a=n=E()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(W>tn-y)a.moveTo(s*Y(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*Y(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,A=f,T=c,P=W,I=W,M=V.apply(this,arguments)/2,N=M>y&&(S?+S.apply(this,arguments):j(u*u+s*s)),w=_(rn(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(N>y){var X=sn(N/u*O(M)),z=sn(N/s*O(M));(P-=X*2)>y?(X*=t?1:-1,A+=X,T-=X):(P=0,A=T=(f+c)/2),(I-=z*2)>y?(z*=t?1:-1,m+=z,g-=z):(I=0,m=g=(f+c)/2)}var Z=s*Y(m),$=s*O(m),B=u*Y(T),C=u*O(T);if(w>y){var F=s*Y(g),G=s*O(g),J=u*Y(A),K=u*O(A),q;if(W<an)if(q=pn(Z,$,J,K,F,G,B,C)){var L=Z-q[0],U=$-q[1],k=F-q[0],b=G-q[1],nn=1/O(fn((L*k+U*b)/(j(L*L+U*U)*j(k*k+b*b)))/2),en=j(q[0]*q[0]+q[1]*q[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=H(J,K,Z,$,s,x,t),r=H(F,G,B,C,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(Z,$),a.arc(0,0,s,m,g,!t)):a.moveTo(Z,$),!(u>y)||!(P>y)?a.lineTo(B,C):p>y?(e=H(B,C,F,G,u,-p,t),r=H(Z,$,J,K,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,A,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +R.apply(this,arguments))/2-an/2;return[Y(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:Q(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:Q(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:Q(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:Q(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:Q(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:Q(+n),i):R},i.padAngle=function(n){return arguments.length?(V=typeof n=="function"?n:Q(+n),i):V},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
|